pyopengl全解析-9
程序员文章站
2022-03-26 08:49:31
...
pyopengl-9
前言
第一个项目PyOpenGL就很大——复现mc
开始
知识点
github
其中用到的PyOpenGL知识有一个没讲——半透明
所以就讲一讲半透明好了,又别的问题在评论区里留言,我来回答哈。
半透明主要就是这几行代码
- 加载材质时将
替换成glTexEnvf(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE, GL_DECAL)
glTexEnvf(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE, GL_REPLACE)
- 画之前加入
glClearDepth(1.0) glEnable(GL_BLEND) glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
- 画之后加入
glDisable(GL_BLEND)
即可。
别的都是之前讲过的:
- 拾取:pyopengl全解析7
- 事件处理:pyopengl全解析4
- camera摄像机:pyopengl全解析3
- 立方体绘制:pyopengl全解析2
Map
、Window
、Config
类中没有OpenGL,只是一些炒鸡简单的操作。
使用
第一步:编辑MinecraftStandardModMinecraft.mcMod
MinecraftStandardModMinecraft.mcMod
是标准mod的文件,已经创建好,打开后将内容删去,填入json。
格式:
{
"<方块名>":{
"texture":{
"front":"<前面的贴图>",
"back":" <后面的贴图>",
"left":"<左面的贴图>",
"right":"右面的贴图",
"top":"顶面的贴图",
"bottom":"底面的贴图"
},
"use":"<可否使用,yes/no,可不写此项>",
"transparent":"<是否透明,yes/no,可不写此项>",
"entity":"<是否为实体,yes/no,可不写此项>",
}
}
另:写mod也请使用如上方法,请新建文件,例如abc.mcMod
添加文件
将需要在mc运行时执行的python文件放在excute
文件夹中,在excute
文件夹中的python文件可以调用api
以达到控制游戏。
第二步:运行
mac/linux用户
直接在任何目录下执行:
chmod 777 /the/dir/to/mc-main/MinecraftForge
/the/dir/to/mc-main/MinecraftForge
即可
windows用户
运行/the/dir/to/mc-main/MinecraftForge.bat
本人不懂bat,在网上边学边写,有可能不对,请自行修改。
作者
hit-road
拜拜,下课!
回到顶部
上一篇: 实例化