問題タブ [vertex-buffer-objects]

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 投票する
0 に答える
233 参照

opengl - UseVertexBufferObject が有効になっている場合にのみ、開いているシーン グラフがレンダリングされるのはなぜですか?

仕事で OpenSceneGraph (Qt Gui にインターフェース) を使用してプログラムを作成しましたが、すべて問題ありませんでした。プログラムを家に持ち帰った (つまり、ソース コードを家に持ち帰り、自宅でコンパイルした) ため、オプションを設定しない限りシーンsetUseVertexBufferObjects(true)は表示されません。このように設定されていません (つまり、オブジェクトはカリングされていません)。モデルはレンダリング時に間違いなくビューアー カメラの子であり、カリングにつながるノード マスクも使用しません。少なくとも 1 つのオブジェクトの位置をカメラのビュー内に再設定したので、視錐台のカリングにはなりません。

私のシェーダーは を使用#version330しており、職場で使用しているグラフィック カードは NVidia Quadro 4000 (と思います) であり、自宅で使用しているグラフィック カードは Radeon HD 5870 であるため、ハードウェアに問題はありません。

OpenSceneGraph のインストールは新しいものなので、明らかにここで間違いを犯した可能性がありますが、どの設定がこの「動作」につながるかはわかりません。

では、なぜこのようなことが起こるのでしょうか?

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