Go 中的OpenGL 頂點緩衝區問題
在Go 中嘗試使用OpenGL 顯示三角形時,使用者遇到了頂點緩衝區問題緩衝區無法渲染形狀。 Go 程式碼源自於教程,但與 C 程式碼不同的是,它沒有產生任何輸出。
問題原因
問題的根本原因位於傳遞給 vertexAttrib.AttribPointer() 的參數中。具體來說,使用者錯誤地將 (void*)0 指定為數組緩衝區偏移量。這導致應用程式無法找到頂點資料。
解決方案
解決方案vertexAttrib.AttribPointer(
3, // size
gl.FLOAT, //type
false, // normalized?
0, // stride
nil) // array buffer offset
data := []float32{0, 1, 0, -1, -1, 0, 1, -1, 0}
[...]
gl.BufferData(gl.ARRAY_BUFFER, len(data)*4, data, gl.STATIC_DRAW)
[...]
資料:= []float32{0, 1, 0, -1, -1, 0, 1, -1, 0} [...] gl.BufferData(gl.ARRAY_BUFFER, len(資料)*4, 資料, gl.STATIC_DRAW) [...]
glGetError 呼叫沒有回傳任何錯誤,表示問題源自於不正確的參數值。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3