問題タブ [vertex-array-object]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
opengl - VBO はどのように VAO にアタッチされますか
VAO は Vertex Array Object で、VBO は Vertex Buffer Object です。VAO と VBO の作成とバインド/バインド解除の呼び出しには、以下に示す一般的な形式があります。
私はインターネット上のいくつかのチュートリアルに従いました.VBOはVAOにバインドされていると言われていますが、上記のコードでは、VBOとVAOの間で「接続」または「バインディング」がどのように確立されるかわかりません? つまり、どの VBO がどの VAO にバインドされているか、また VBO が複数の VAO にバインドされている場合はどうすればよいのでしょうか?
したがって、基本的な質問は次のとおりです。VBO が VAO にバインドされているとはどういう意味ですか。どの VBO がどの VAO にバインドされているかをどのように知ることができ、このバインドがどのように確立されるのでしょうか。
opengl - OpenGL 頂点配列オブジェクトが頂点バッファーのバインドに失敗する
https://learnopengl.com/でOpenGL を学習しています。そのサイトと、この問題を解決しようとしている間のインターネットでの私の調査から、頂点配列オブジェクトは でバインドできるため、便利であることがわかりましたglBindVertexArray
。
- 関連する属性が設定されます。
- GL_ARRAY_BUFFER にバインドされたバッファは自動的にバインドされます。
- 関連する GL_ELEMENT_ARRAY_BUFFER も自動的にバインドされます。
したがって、次のセットアップ コードは、頂点配列オブジェクトがバインドされると自動的にバインドされる独自の配列バッファーを持つ 2 つの頂点配列オブジェクトをセットアップすることを期待します。これは基本的に同じコードの 2 つのコピーであることに注意してください。また、これは C によく似た Zig のコード スニペットです。
長方形を描画する関数があります。
glBindBuffer
afterを明示的に呼び出すとglBindVertexArray
、関数は正常に機能しますが、削除するとGL_INVALID_OPERATION in glBufferData(no buffer bound)
. glBindVertexArray
ただし、呼び出しが適切なバッファーをバインドすることを期待しています。
ヘルプ!