問題タブ [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.

0 投票する
1 に答える
2064 参照

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 にバインドされているかをどのように知ることができ、このバインドがどのように確立されるのでしょうか。

0 投票する
0 に答える
369 参照

opengl - OpenGL 頂点配列オブジェクトが頂点バッファーのバインドに失敗する

https://learnopengl.com/でOpenGL を学習しています。そのサイトと、この問題を解決しようとしている間のインターネットでの私の調査から、頂点配列オブジェクトは でバインドできるため、便利であることがわかりましたglBindVertexArray

  1. 関連する属性が設定されます。
  2. GL_ARRAY_BUFFER にバインドされたバッファは自動的にバインドされます。
  3. 関連する GL_ELEMENT_ARRAY_BUFFER も自動的にバインドされます。

したがって、次のセットアップ コードは、頂点配列オブジェクトがバインドされると自動的にバインドされる独自の配列バッファーを持つ 2 つの頂点配列オブジェクトをセットアップすることを期待します。これは基本的に同じコードの 2 つのコピーであることに注意してください。また、これは C によく似た Zig のコード スニペットです。

長方形を描画する関数があります。

glBindBufferafterを明示的に呼び出すとglBindVertexArray、関数は正常に機能しますが、削除するとGL_INVALID_OPERATION in glBufferData(no buffer bound). glBindVertexArrayただし、呼び出しが適切なバッファーをバインドすることを期待しています。

ヘルプ!