1
我是新来的opengl es 2.0在ios上,我想创建几个对象(从顶点制成)并分配每个不同的纹理,我发现我可以通过绑定然后绘制在这样的渲染功能:opengl es 2.0纹理正确的方式
内渲染():
glBindBuffer(GL_ARRAY_BUFFER, _vertexBuffer);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _indexBuffer);
glVertexAttribPointer(_positionSlot, 3, GL_FLOAT, GL_FALSE, sizeof(Vertex), 0);
glVertexAttribPointer(_colorSlot, 4, GL_FLOAT, GL_FALSE, sizeof(Vertex), (GLvoid*) (sizeof(float) * 3));
glVertexAttribPointer(_texCoordSlot, 2, GL_FLOAT, GL_FALSE, sizeof(Vertex), (GLvoid*) (sizeof(float) * 7));
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, _Texture1);
glUniform1i(_textureUniform, 0);
glDrawElements(GL_TRIANGLES, sizeof(Indices)/sizeof(Indices[0]), GL_UNSIGNED_BYTE, 0);
我重复以上的只有在glBindTexture改变_Texture1到_Texture2等每一个纹理代码..
之前,这一切我设置纹理如下:
glGenTextures(1, &texName);
glBindTexture(GL_TEXTURE_2D, texName);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, spriteData);
我想知道什么是正确的方式给纹理不同的顶点,如果它甚至在渲染功能内完成?
这似乎不是正确的做法。
(这里是完整的代码,如果我没有解释自己完全:http://codetidy.com/1709/)