我是 OpenGL-ES 的新手,并且已经开始阅读 Buck 的Learning OpenGL ES for iOS书籍。
第 2 章介绍了用纯色绘制三角形,第 3 章继续使用纹理。
作为个人学习练习,我正在尝试更改示例代码以绘制两个三角形;一个有质感,一个有质感。
似乎是一个非常基本的练习,但作为一个 OpenGL-ES 初学者- 被证明是棘手的。
到目前为止,我已经尝试了多种方法。
首先,我准备用 绘制GLKVertexAttribPosition
,然后GLKVertexAttribTexCoord0
。然后我用三角形 1 绘制我的顶点缓冲区。
接下来,我尝试了几件事,包括:
glDisableVertexAttribArray(GLKVertexAttribTexCoord0);
和
GLuint name = self.textureInfo0.name;
glDeleteTextures(1, &name);
在绘制颜色属性之前:
[self.vertexBuffer prepareToDrawWithAttrib:GLKVertexAttribColor
numberOfCoordinates:3
attribOffset:offsetof(SceneVertex, colours)
shouldEnable:YES];
您可以在屏幕截图中看到左下三角形的纹理与顶点颜色属性混合。构成正方形的直角三角形完全是黑色的。
请注意,prepareToDrawWithAttrib
方法调用是主要调用该glVertexAttribPointer
方法的 Buck 实用程序类。
重要的是要注意我在这里使用的是GLKit,所以没有着色器或任何类似的东西。
这是屏幕截图:
任何想法都非常感谢。