【发布时间】:2020-02-24 01:26:22
【问题描述】:
在 OpenGL ES(或者在我的情况下,WebGL)中,我看不到将顶点和颜色缓冲区背靠背绑定然后调用 drawArrays 是如何工作的。例如,这里有一些示例代码供您理解:
vertexBuffer = glCreateBuffer();
glBindBuffer(GL_ARRAY_BUFFER, vertextBuffer);
glBufferData(GL_ARRAY_BUFFER, vertices, GL_STATIC_DRAW);
colorBuffer = glCreateBuffer();
glBindBuffer(GL_ARRAY_BUFFER, colorBuffer);
glBufferData(GL_ARRAY_BUFFER, colors, GL_STATIC_DRAW);
glDrawArrays(GL_TRIANGLES, 0, numberOfVertices);
如果我首先将 GL_ARRAY_BUFFER 绑定到顶点 bufferData,然后再绑定一些颜色,那么幕后发生了什么?在我看来,应该忽略顶点信息,因为我在它之后将颜色信息绑定到 GL_ARRAY_BUFFER。
【问题讨论】:
-
实际上,如果这是您的全部代码,那么它不起作用,因为您没有设置任何顶点数组指针。
-
是的,关于 opengl 我缺少的一点是顶点属性的分配,@derhass 解释了这一点。对不起这个不好的例子(现在我知道我误解了什么)。