0

現在、クアッド トライアングル ストリップを繰り返し処理し、それぞれを個別に描画することでパフォーマンスが非常に低下しているため、すべての長方形を 1 つのドロー コールにまとめたいと考えています。

周りを見回すと、これを行う最善の方法は、頂点を複製するオーバーヘッドを発生させ、GL_TRIANGLE_STRIP の代わりに GL_TRIANGLES を使用して、各長方形に 2 つの別々の三角形を描画することです。

問題は、各四角形が異なる色を持つ可能性があることです。プログラムで四角形の色を変更する必要があります。したがって、GL_TRIANGLES 呼び出しを 1 回使用するだけではうまくいきません。代わりに、頂点データにカラー データを何らかの方法でインデックス付けして、各四角形にカラーを関連付ける必要があるようです。これについてどうすればいいですか?

ありがとうございました!

4

1 に答える 1

2

頂点カラーリングを使用できます。

頂点はそれぞれ、位置、色、(複数の) テクスチャ、法線などを含む複数のデータ チャネルを持つことができます。

頂点をインターリーブして、位置と色を順番に直接含めることをお勧めします。色だけの別の配列を設定して、そのようにすることもできますが (色と位置を正しく並べることを確認してください)。

(これらのチュートリアルは iPhone 向けですが、OpenGL ES コードは Android でも正常に動作するはずです)

于 2013-04-05T04:03:09.613 に答える