タグ付けされた質問 「vertex-buffer-object」

2
GL_STATIC_DRAW対GL_DYNAMIC_DRAW対GL_STREAM_DRAW:それは重要ですか?
OpenGLでバッファオブジェクト関数(glBufferData、glBufferSubData、そしておそらくいくつかの他)は、パラメータ持つusage可能性の高い実装歩留まりより良いパフォーマンスを助けるためのもの使用目的、のヒントとして文書による説明を。 使用法 データストアの予想される使用パターンを指定します。シンボル定数でなければなりませんGL_STREAM_DRAW、GL_STREAM_READ、GL_STREAM_COPY、GL_STATIC_DRAW、GL_STATIC_READ、GL_STATIC_COPY、GL_DYNAMIC_DRAW、GL_DYNAMIC_READ、またはGL_DYNAMIC_COPY。 [...] 使用法は、バッファオブジェクトのデータストアへのアクセス方法に関するGL実装へのヒントです。これにより、GL実装は、バッファーオブジェクトのパフォーマンスに大きな影響を与える可能性のあるよりインテリジェントな決定を行うことができます。ただし、データストアの実際の使用は制限されません。 wikiも同様にあいまいです。 結局のところ、これらはヒントにすぎません。作成後にSTATICバッファーを変更すること、またはSTREAMバッファーを変更しないことは、完全に正当なOpenGLコードです。 [...] これらは、慎重なプロファイリングでのみ回答できる質問です。そして、それでも、答えはその特定のハードウェアベンダーからの特定のドライバーバージョンに対してのみ正確になります。 結局のところ、このパラメーターはどの程度関連性がありますか?ドライバーは実際にそれを考慮に入れていますか?それを考慮に入れている場合、実際のパフォーマンスにどの程度影響を与えますか?共有するデータはありますか? 私は既存のAPIのいずれかとして実装されることを意図した薄いグラフィックAPI抽象化レイヤーを作成しました。このパラメーターを完全に無視して、公開された抽象化からそれを非表示にしたくなります。

2
インデックスバッファーとは何ですか?頂点バッファーとどのように関連していますか?
私はこのような頂点バッファーを持っています: 0.0, 0.0, 1.0, 0.0, 0.0, 0.6, 1.0, 0.6, 0.5, 1.0 次のインデックスバッファがあります。 0, 2, 2, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0, 3, 3, 1 私はgl.LINESWebGLを使用して描画したいことを知っています。これは、複数の分割された線分を意味します。 gl.drawElements(gl.LINES, 16, gl.UNSIGNED_SHORT, indexBuffer); WebGLの単一の描画呼び出しで複数の線分の描画を可能にするようです。 誰かELI5が私にできますか?インデックスバッファとは何ですか?それは頂点バッファとどのように関連していますか?プリミティブからインデックスバッファーを生成するにはどうすればよいですか?

3
頂点バッファオブジェクトがパフォーマンスを向上させるのはなぜですか?
私の基本的な理解から、頂点バッファーオブジェクトは次のように機能します(擬似コード)。 通常、正方形を描くと言いたい場合は、線の描画コマンドを発行できます。 line (0, 0) -> (1, 0) line (1, 0) -> (1, 1) line (1, 1) -> (0, 1) line (0, 1) -> (0, 0) VBOを使用すると、私が正しく理解していれば、頂点をVBOにロードします。 define VBO load (0,0) -> VBO load (1,0) -> VBO load (1,1) -> VBO load (0,1) -> VBO load (0,0) -> VBO その後、1つの描画コマンドを発行できます。 …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.