現在、次のコードで三角形を使用してシーンをレンダリングしています。
glBindVertexArrayOES(_mVertexArrayObjectTriangles);
glBindBuffer(GL_ARRAY_BUFFER, _mVertexPositionNormalTriangles);
glDrawElements(GL_TRIANGLES, _mCRBuffer->GetIndexTriangleData()->size(), GL_UNSIGNED_INT, 0);
glBindBuffer(GL_ARRAY_BUFFER, 0);
glBindVertexArrayOES(0);
_mVertexArrayObjectTriangles は、三角形を介してレンダリングされる要素を保持する頂点配列オブジェクトです
_mVertexPositionNormalTriangles は頂点と頂点法線の配列です
_mCRBuffer->GetIndexTriangleData() は、頂点配列へのインデックスの配列です。これは、各三角形をエンコードする整数の単純な配列です (a、b、c、a、b、d は 2 つの三角形 abc と abd をエンコードします)。
すべて正常に動作しますが、三角形の代わりに三角形ファンを使用してプリミティブをレンダリングしたいと考えています。次のようなものを使用して描画される三角形ファンの配列 (つまり、それ以上) を設定するにはどうすればよいですか?
glDrawElements(GL_TRIANGLE_FAN, ....
インデックス配列を設定して、レンダリング用の三角形ファンのセットにインデックスを付ける方法を教えてください (三角形の代わりに)。頂点自体を変更する必要はありません。三角形の代わりに三角形ファンを使用してレンダリングするためのインデックスだけです。
インデックス配列の設定方法を含め、三角形ストリップ (ここ)を使用した良い例を見つけることができますが、三角形ファンには何もありません。