質問:
Go github.com/banthar/gl パッケージの使用http://www.opengl-tutorial.org/beginners-tutorials/tutorial-2-the-first-triangle/ のチュートリアル コードは、ウィンドウの作成と背景色の設定に成功しましたが、三角形の表示に失敗しました。同等の C コードでは三角形が表示されます。なぜですか?
答え:
エラーは、AttribPointer 関数に渡された引数が正しくないことが原因である可能性があります。この問題を解決するために次の調整が確認されました:
修正された Go コード:
package main import ( "github.com/banthar/gl" "github.com/go-gl/glfw/v3.2/glfw" "log" ) func main() { // ... ( GLFW window setup, GL initialization code) ... // Create vertex buffer gVertexBufferData := []float32{-1.0, -1.0, 0.0, 1.0, -1.0, 0.0, 0.0, 1.0, 0.0} vertexBuffer := gl.GenBuffer() vertexBuffer.Bind(gl.ARRAY_BUFFER) gl.BufferData(gl.ARRAY_BUFFER, len(gVertexBufferData)*4, gVertexBufferData, gl.STATIC_DRAW) for { // ... (Clear screen, enable/disable vertex attrib, draw triangle) ... vertexAttrib.AttribPointer( 3, // Size gl.FLOAT, // Type false, // Normalized? 0, // Stride nil) // Array buffer offset // ... (Continue drawing loop) ... } }
以上がウィンドウと背景のセットアップが成功したにもかかわらず、go-gl/glfw および github.com/banthar/gl を使用して三角形を表示できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。