2012-01-28 23 views
3

VBOとIBOを使用するコードがあります。私のジオメトリを解析するときに、三角形の頂点とインデックス配列を作成し、次にglDrawElementsGL_TRIANGLESと呼んでください。OpenGL頂点バッファ:インデックスバッファなしで移動できますか?

インデックスバッファ内でプリミティブリスタートを知らせることができることについては、hereについて、そのページの約半分を読みました。これは良いですが、私はそれが完全にインデックスバッファを先送りする可能性がある場合は、特定の頂点値(最初の属性のゼロ値が無限であるように)を送信してプリミティブな再起動を通知するのだろうか?

次に、私はGL_TRIANGLE_FANと描画する前に、1つのバッファをGPUに送るだけで、凸多角形の集合を描くことができます。

答えて

4

は明らかなように、そのページに次のように述べています

非インデックス付きのレンダリングでこれを使用することは技術的に合法です。これはあなたに有用な結果をもたらさないので、これを行うべきではありません。

プリミティブリスタートはインデックス付きレンダリング用です。頂点属性の値に基づいてプリミティブを再起動する方法はありません。

6

インデックスバッファを使用しない場合は、glDrawArraysを使用できます。頂点バッファからプリミティブをレンダリングします。インスタンス化と組み合わせると、インデックスバッファなしで複数の三角形のファンを描くことができます。

メッシュの三角形が頂点を共有する場合、パフォーマンス上の理由から、インデックスバッファを使用する必要があります。

+0

もう1人が私の質問に直接答えましたが、回答が適切な代替方法を提供しています。私は両方を受け入れることができたらいいと思う。 –

関連する問題