これまでのところ、glDrawArraysのみを使用しており、インデックスバッファーとインデックス付き三角形の使用に移りたいと思います。テクスチャ座標、法線、頂点座標を使用して、やや複雑なオブジェクトを描画しています。このすべてのデータは、単一のインターリーブされた頂点バッファーに収集され、次のような呼び出しを使用して描画されます(すべてのserupが正しく実行されたと仮定)。
glVertexPointer( 3, GL_FLOAT, 22, (char*)m_vertexData );
glNormalPointer( GL_SHORT, 22, (char*)m_vertexData+(12) );
glTexCoordPointer( 2, GL_SHORT, 22, (char*)m_vertexData+(18) );
glDrawElements(GL_TRIANGLES, m_numTriangles, GL_UNSIGNED_SHORT, m_indexData );
これにより、m_indexDataを、標準の位置インデックス配列だけでなく、法線とテクスチャ座標のインデックスとインターリーブすることもできますか?または、頂点形式全体(POS、NOR、TEX)に適用される単一の線形リストを想定していますか?後者が当てはまる場合、異なるテクスチャ座標または法線を使用して同じ頂点をレンダリングするにはどうすればよいですか?
この質問は次のように言い換えることもできると思います。3つの個別のインデックス付きリスト(POS、NOR、TEX)があり、後者の2つを再配置して最初のリストと同じインデックスリストを共有できない場合、それをレンダリングする最良の方法は何ですか。