glDrawArrays(GL_POINTS, 0, 1)
指示绘制1点,在您的教程中,1是3:
glDrawArrays(GL_POINTS, 0, 3)
还要注意,顶点的第4个(w)分量应为1,而不是0:
vertexPositions = [0.0, 0.0, 0.0, 1.0, 0.25, 0.0, 0.0, 1.0, 1.75, 1.75, 0.0, 1.0]
或者,您可以删除w组件,
vertexPositions = [0.0, 0.0, 0.0, 0.25, 0.0, 0.0, 1.75, 1.75, 0.0]
并将以下调用更改为:
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, 0)
另一件事,我不是pyglet的专家,但是glBufferData可能像C语言一样,以字节为单位,而不是以元素为单位。每个float为4个字节,您可以尝试:
glBufferData(GL_ARRAY_BUFFER, len(vertexPositionsGl)*4, vertexPositionsGl, GL_STATIC_DRAW)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)