欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

pyopengl全解析-9

程序员文章站 2022-03-26 08:49:31
...

前言

第一个项目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)
    

即可。
别的都是之前讲过的:

MapWindowConfig类中没有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

拜拜,下课!
回到顶部