基本的openGL,顶点缓冲区和pyglet

基本的openGL,顶点缓冲区和pyglet,第1张

基本的openGL,顶点缓冲区和pyglet
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)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5673498.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存