终于把基本的框架搭完了,开始加一些零零碎碎的东西。材质方面,要在支持base color texture的基础上,再支持normal texture。
没什么难度,基本是在原来写的东西上,修修改改让代码复用性更强一点。
简单记录一下踩的坑。
多纹理加载设计1
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, texture0);
glUniform1i(textureUniformLocation0, 0);
glActiveTexture(GL_TEXTURE1);
glBindTexture(GL_TEXTURE_2D, texture1);
glUniform1i(textureUniformLocation1, 1);
从上面这段教程代码中不难发现,glActiveTexture的参数和glUniform1i函数的第二个参数有一个一一对应的关系。因此第一次改写的时候,使用了如下代码:
class Program:
...
@property
def id(self):
return self.program
def use(self):
glUseProgram(self.pro