頂点配列で三角形ごとに 3 回その色を指定せずに、各三角形が同じ色を持つメッシュ (三角形で構成される) をレンダリングするにはどうすればよいですか。
2 つの三角形を描きたいとします。三角形 1 :
Vertex 1, position:(x1,y1) , color: (r1,g1,b1,a1)
Vertex 2, position:(x2,y2) , color: (r1,g1,b1,a1)
Vertex 3, position:(x3,y3) , color: (r1,g1,b1,a1)
三角形 2 :
Vertex 4, position:(x4,y4) , color: (r2,g2,b2,a2)
Vertex 5, position:(x5,y5) , color: (r2,g2,b2,a2)
Vertex 6, position:(x6,y6) , color: (r2,g2,b2,a2)
これは、2 つの頂点バッファーを作成することで実行できることがわかっています。
Vertex Buffer 1:
[x1, y1]
[x2, y2]
[x3, y3]
[x4, y4]
[x5, y5]
[x6, y6]
Vertex Buffer 2:
[r1, g1, b1, a1]
[r1, g1, b1, a1]
[r1, g1, b1, a1]
[r2, g2, b2, a2]
[r2, g2, b2, a2]
[r2, g2, b2, a2]
それらを異なる属性の場所にバインドし、通常の描画呼び出しを実行できるようになりました。
すべてのデータが一意であるため、頂点バッファー 1 は問題ありませんが、私の質問は、頂点バッファー 2 はそのようなスペースの無駄ではありませんか!? 何千もの三角形があり、このアプローチで各三角形ごとに 2 回色を複製するとどうなりますか。冗長な属性を格納するよりスマートな方法が必要です。私はそれを認識していません。誰か教えてください。