Go OpenGL Triangle が非表示のままになるのはなぜですか?

Patricia Arquette
リリース: 2024-10-26 05:55:30
オリジナル
378 人が閲覧しました

 Why Does My Go OpenGL Triangle Remain Invisible?

Go で OpenGL 頂点バッファーが三角形を表示できない

Go で OpenGL を使用して単純な三角形を作成するチュートリアルを複製しようとしました。ある人は、形状を表示するための頂点バッファーを取得する際に困難に遭遇しました。ウィンドウが開き、背景が青色に変わる間、三角形は表示されないままでした。

提供されるコード スニペットには、頂点バッファーの作成と、glDrawArrays を使用した三角形の描画が含まれます。ただし、動作するコードの C バージョンでは、AttribPointer 関数は配列バッファー オフセットを指定するためにパラメーター (void*)0 を受け取りますが、Go バージョンでは、指定されたオフセット引数によってアプリケーションがクラッシュし、nil はクラッシュしません。

更新されたソリューションには、banthar バインディングの作業ブランチを使用し、AttribPointer と BufferData への呼び出しを次のように変更することが含まれていました。

<code class="go">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)</code>
ログイン後にコピー

バイト単位でサイズを渡すことで、 BufferData を使用し、AttribPointer で配列バッファー オフセットを nil に設定すると、問題は解決され、三角形が正常に表示されました。

以上がGo OpenGL Triangle が非表示のままになるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!