これまでのところ、私はglDrawArraysを使用しており、インデックスバッファとインデックス付きの三角形を使用しています。私は、テクスチャ座標、法線、および頂点座標で幾分複雑なオブジェクトを描画しています。このすべてのデータが単一のインターリーブ頂点バッファに集められ、(すべてのserupが正しく行われていると仮定)に類似の呼び出しを使用して描画されます。OpenGL glDrawElements with interleaved buffers
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)に適用されるinidicesの1つの線形リストを仮定していますか?後者が真の場合、異なるテクスチャ座標または法線を持つ同じ頂点をどのようにレンダリングすることが可能ですか?
私は3つの別々のインデックス付きリスト(POS、NOR、TEX)を持っていて、後者の2つを最初のインデックスリストと同じインデックスリストを共有するように並べ替えることができない場合は、それをレンダリングする。
だけを確認するために、glDrawElementsで使用される指標は、あなたの全体の頂点フォーマットに適用されますそのメッシュに頂点が出現するたびに、それと同じ法線とテクスチャの線がなければなりませんか?特定の3Dアプリケーションは、特定の頂点位置が異なるノーマル&テクスチャ座標を持つモデルをエクスポートするため質問します – DavidG
2つの異なるセットの法線とテクスチャ座標を持つメッシュに同じ頂点を表示するには、頂点を2度追加する必要があります配列に。 OpenGLについては、2つの異なる頂点が関係しています。 – shoosh