Go 中的 OpenGL 顶点缓冲区问题
在尝试在 Go 中使用 OpenGL 显示三角形时,用户遇到了顶点缓冲区问题缓冲区无法渲染形状。 Go 代码源自教程,但与 C 代码不同的是,它没有产生任何输出。
问题原因
问题的根本原因位于传递给 vertexAttrib.AttribPointer() 的参数中。具体来说,用户错误地将 (void*)0 指定为数组缓冲区偏移量。这导致应用程序无法找到顶点数据。
解决方案
为了纠正问题,用户切换到 banthar 绑定的工作分支并进行以下调整:
<code class="go">vertexAttrib.AttribPointer( 3, // size gl.FLOAT, //type false, // normalized? 0, // stride nil) // array buffer offset</code>
<code class="go">data := []float32{0, 1, 0, -1, -1, 0, 1, -1, 0} [...] gl.BufferData(gl.ARRAY_BUFFER, len(data)*4, data, gl.STATIC_DRAW) [...]</code>
附加说明
以上是为什么我的 OpenGL 三角形无法在 Go 中渲染?调查顶点缓冲区问题。的详细内容。更多信息请关注PHP中文网其他相关文章!