Cheetah3D再び
次はBlenderの話を書こうと思っていたのですが、再びCheetah3Dに戻って来ました。Cheetah3Dに面白い機能を見つけたからです。
Blenderと同様にCheetah3Dも様々なフォーマットでデータをExportする事が出来るのですが、その中の”.h”へのExportが気になったからです。
試しにExportを実行して見ると、下記のようなヘッダファイルが出力されます。3Dモデルにもよるのですが、かなり巨大なヘッダファイルです。
嬉しいのが、その使い方まで書いてあります。
まずは構成ですがまず、NAME_vertex,NAME_indexの2つの2次元配列。
そしてNAME_vertexcountとNAME_polygoncountがそれぞれの配列の個数。
NAMEの部分はそれぞれメッシュのの名前が自動的に割り当てられます。
おまけにどのようにしてこの配列を使って描画すれば良いかまで書いてあります。
// You can draw the mesh the following way: // glEnableClientState(GL_INDEX_ARRAY); // glEnableClientState(GL_NORMAL_ARRAY); // glEnableClientState(GL_VERTEX_ARRAY); // glEnableClientState(GL_TEXTURE_COORD_ARRAY); // glInterleavedArrays(GL_T2F_N3F_V3F,0,NAME_vertex); // glDrawElements(GL_TRIANGLES,NAME_polygoncount*3,GL_UNSIGNED_INT,NAME_index);
glVertexPointer(3, GL_FLOAT, sizeof(vertexStruct), &NAME_vertex[0][5]); glTexCoordPointer(2, GL_FLOAT, sizeof(vertexStruct), &NAME_vertex[0][0]); glNormalPointer(GL_FLOAT, sizeof(vertexStruct), &NAME_vertex[0][2]); glDrawElements(GL_TRIANGLES,NAME_polygoncount*3,GL _UNSIGNED_SHORT,NAME_index);
Leave a Reply