1

頂点配列 (頂点バッファー オブジェクトに入れられる) を使用してレンダリングする必要がある GL_POLYGONS がたくさんあります。

インデックス作成と glDrawElements() を使用しています。

冗長な頂点を使用して GL_TRIANGLE_STRIPS をバッチ処理できることを認識しているため、レンダリング中にそれらがリンクされます。

GL_POLYGONで同様のことが可能ですか?

可能であれば、各ポリゴンのインデックスを指定して、ループ内で glDrawElements() を呼び出すことは避けたいと思います。

(これは OpenGL ES 用ではありません。ラップトップで OpenGL を使用しています。)

編集#1:

以下のティムの回答(プリミティブ再起動)が機能することをここに追加したいと思いますが、このモードを有効にすることを忘れないでください-理解するのに時間がかかりました。すなわち:

// enable primitive restart
glEnable(GL_PRIMITIVE_RESTART);
4

1 に答える 1

2

glMultiDrawElements1 回の描画呼び出しで複数のポリゴンを描画する場合に使用できます。インデックスへのポインターの配列を渡すだけです。

または、より高いバージョンの OpenGL をターゲットにしている場合は、 と呼ばれるものを使用glPrimitiveRestartIndexできます。これにより、現在のプリミティブを再起動する特別なインデックス値を指定できます。したがって、「特別な」インデックスを定義すると、そのインデックスを配列に挿入するたびに、ポリゴンが次のインデックスで再開されます。ただし、これは OpenGL 3+ のコアにすぎません。

于 2012-08-16T06:40:00.277 に答える