Xcode4.5のOpenGLESテンプレートで遊んでいます。Google Sketchupで立方体を描画し、colladaにエクスポートします。以下のように、頂点と通常のデータをXcodeのオープンGLテンプレートにコピーしました。
GLfloat gCubeVertexData[] =
{
// Data layout for each line below is:
// positionX, positionY, positionZ, normalX, normalY, normalZ,
// 0.5f, -0.5f, -0.5f, 1.0f, 0.0f, 0.0f,
// 0.5f, 0.5f, -0.5f, 1.0f, 0.0f, 0.0f,
// 0.5f, -0.5f, 0.5f, 1.0f, 0.0f, 0.0f,
// 0.5f, -0.5f, 0.5f, 1.0f, 0.0f, 0.0f,
// 0.5f, 0.5f, -0.5f, 1.0f, 0.0f, 0.0f,
// 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 0.0f,
//
// 0.5f, 0.5f, -0.5f, 0.0f, 1.0f, 0.0f,
// -0.5f, 0.5f, -0.5f, 0.0f, 1.0f, 0.0f,
// 0.5f, 0.5f, 0.5f, 0.0f, 1.0f, 0.0f,
// 0.5f, 0.5f, 0.5f, 0.0f, 1.0f, 0.0f,
// -0.5f, 0.5f, -0.5f, 0.0f, 1.0f, 0.0f,
// -0.5f, 0.5f, 0.5f, 0.0f, 1.0f, 0.0f,
//
// -0.5f, 0.5f, -0.5f, -1.0f, 0.0f, 0.0f,
// -0.5f, -0.5f, -0.5f, -1.0f, 0.0f, 0.0f,
// -0.5f, 0.5f, 0.5f, -1.0f, 0.0f, 0.0f,
// -0.5f, 0.5f, 0.5f, -1.0f, 0.0f, 0.0f,
// -0.5f, -0.5f, -0.5f, -1.0f, 0.0f, 0.0f,
// -0.5f, -0.5f, 0.5f, -1.0f, 0.0f, 0.0f,
//
// -0.5f, -0.5f, -0.5f, 0.0f, -1.0f, 0.0f,
// 0.5f, -0.5f, -0.5f, 0.0f, -1.0f, 0.0f,
// -0.5f, -0.5f, 0.5f, 0.0f, -1.0f, 0.0f,
// -0.5f, -0.5f, 0.5f, 0.0f, -1.0f, 0.0f,
// 0.5f, -0.5f, -0.5f, 0.0f, -1.0f, 0.0f,
// 0.5f, -0.5f, 0.5f, 0.0f, -1.0f, 0.0f,
//
// 0.5f, 0.5f, 0.5f, 0.0f, 0.0f, 1.0f,
// -0.5f, 0.5f, 0.5f, 0.0f, 0.0f, 1.0f,
// 0.5f, -0.5f, 0.5f, 0.0f, 0.0f, 1.0f,
// 0.5f, -0.5f, 0.5f, 0.0f, 0.0f, 1.0f,
// -0.5f, 0.5f, 0.5f, 0.0f, 0.0f, 1.0f,
// -0.5f, -0.5f, 0.5f, 0.0f, 0.0f, 1.0f,
//
// 0.5f, -0.5f, -0.5f, 0.0f, 0.0f, -1.0f,
// -0.5f, -0.5f, -0.5f, 0.0f, 0.0f, -1.0f,
// 0.5f, 0.5f, -0.5f, 0.0f, 0.0f, -1.0f,
// 0.5f, 0.5f, -0.5f, 0.0f, 0.0f, -1.0f,
// -0.5f, -0.5f, -0.5f, 0.0f, 0.0f, -1.0f,
// -0.5f, 0.5f, -0.5f, 0.0f, 0.0f, -1.0f
9.8425197/9.8425197, 9.8425197/9.8425197, 0.0000000/9.8425197, 0.0000000, 0.0000000, -1.0000000,
0.0000000/9.8425197, 0.0000000/9.8425197, 0.0000000/9.8425197, 0.0000000, 0.0000000, -1.0000000,
0.0000000/9.8425197, 9.8425197/9.8425197, 0.0000000/9.8425197, 0.0000000, 0.0000000, -1.0000000,
9.8425197/9.8425197, 0.0000000/9.8425197, 0.0000000/9.8425197, 0.0000000, 0.0000000, -1.0000000,
0.0000000/9.8425197, 9.8425197/9.8425197, 8.2677165/9.8425197, -1.0000000, 0.0000000, 0.0000000,
0.0000000/9.8425197, 0.0000000/9.8425197, 0.0000000/9.8425197, -1.0000000, 0.0000000, 0.0000000,
0.0000000/9.8425197, 0.0000000/9.8425197, 8.2677165/9.8425197, -1.0000000, 0.0000000, 0.0000000,
0.0000000/9.8425197, 9.8425197/9.8425197, 0.0000000/9.8425197, -1.0000000, 0.0000000, 0.0000000,
0.0000000/9.8425197, 9.8425197/9.8425197, 8.2677165/9.8425197, -0.0000000, 1.0000000, 0.0000000,
9.8425197/9.8425197, 9.8425197/9.8425197, 0.0000000/9.8425197, -0.0000000, 1.0000000, 0.0000000,
0.0000000/9.8425197, 9.8425197/9.8425197, 0.0000000/9.8425197, -0.0000000, 1.0000000, 0.0000000,
9.8425197/9.8425197, 9.8425197/9.8425197, 8.2677165/9.8425197, -0.0000000, 1.0000000, 0.0000000,
9.8425197/9.8425197, 9.8425197/9.8425197, 0.0000000/9.8425197, 1.0000000, 0.0000000, 0.0000000,
9.8425197/9.8425197, 0.0000000/9.8425197, 8.2677165/9.8425197, 1.0000000, 0.0000000, 0.0000000,
9.8425197/9.8425197, 0.0000000/9.8425197, 0.0000000/9.8425197, 1.0000000, 0.0000000, 0.0000000,
9.8425197/9.8425197, 9.8425197/9.8425197, 8.2677165/9.8425197, 1.0000000, 0.0000000, 0.0000000,
9.8425197/9.8425197, 0.0000000/9.8425197, 8.2677165/9.8425197, -0.0000000, -1.0000000, -0.0000000,
0.0000000/9.8425197, 0.0000000/9.8425197, 0.0000000/9.8425197, -0.0000000, -1.0000000, -0.0000000,
9.8425197/9.8425197, 0.0000000/9.8425197, 0.0000000/9.8425197, -0.0000000, -1.0000000, -0.0000000,
0.0000000/9.8425197, 0.0000000/9.8425197, 8.2677165/9.8425197, -0.0000000, -1.0000000, -0.0000000,
9.8425197/9.8425197, 0.0000000/9.8425197, 8.2677165/9.8425197, 0.0000000, 0.0000000, 1.0000000,
0.0000000/9.8425197, 9.8425197/9.8425197, 8.2677165/9.8425197, 0.0000000, 0.0000000, 1.0000000,
0.0000000/9.8425197, 0.0000000/9.8425197, 8.2677165/9.8425197, 0.0000000, 0.0000000, 1.0000000,
9.8425197/9.8425197, 9.8425197/9.8425197, 8.2677165/9.8425197, 0.0000000, 0.0000000, 1.0000000
};
実行すると、下にレンダリングされた立方体があるため、何かが正しくありません。
=======
法線を使用している場合、3Dオブジェクトをレンダリングするためにインデックスを提供する必要はないようです。しかし、私の場合、頂点データまたは通常のデータのいずれかに異常があるようです... Colladaでこの2つのデータがどのように配置されているかを知っている人はいますか?ドキュメントを読みましたが、答えが見つかりませんでした...ありがとう