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 Triangle が Go でレンダリングされないのはなぜですか?頂点バッファの問題を調査しています。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。