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)
[...]
追加メモ
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3