COLLADA
ファイル形式用の簡単なリーダーを作成しましたが、問題なく動作するようです。これで、Blenderでエクスポートされた、エッジ分割および三角形分割されたキューブメッシュができたので、12個の三角形(面ごとに2個)、24個の頂点(面ごとに4個)、および36個のインデックス(面ごとに6個)が必要です。このメッシュには、通常のデータとUVマップもあります。
このCOLLADA
ファイルには、24の頂点、12の法線、および36のUVがあるため、法線は三角形ごとであり、UVはインデックスごとであると想定しています。三角形のpolylist
数は12で、これは正しいです。また、にvcount
は12個の「3」があるので、これも正しいです。現在、<p>
インデックスリストであるは108のエントリがあり、0、3、6などは頂点インデックス、1、4、7などは通常のインデックス、2、5、8などはUVインデックスです。
頂点の内部構造体があります。これは、位置(vec3
)、法線(vec3
)、およびUV座標(vec2
)で構成されています。メッシュを描画するために、OpenGLの頂点バッファーを使用し、インデックスの個別のリストを用意しています。
問題は、メッシュをロードした後、24個の頂点を持つべきではないということです。の108個のエントリは、<p>
36個の頂点に変換されます。ここでのインデックスの問題は何ですか?
ここでは本当に単純なものが欠けているかもしれませんが、それを見ることができません。
COLLADA
ファイルはこちらです。