Microsoft DirectX 8.0 (Visual Basic) |
次のファイルは、4 本の赤い辺と 2 本の緑の辺を持つ単純なキューブを定義する。このファイルでは、オプションの情報を使って、Mesh テンプレートで定義されたデータ オブジェクトに情報を追加している。
Material RedMaterial { 1.000000;0.000000;0.000000;1.000000;; // R = 0.0, G = 1.0, B = 0.0 0.000000; 0.000000;0.000000;0.000000;; 0.000000;0.000000;0.000000;; } Material GreenMaterial { 0.000000;1.000000;0.000000;1.000000;; // R = 0.0, G = 1.0, B = 0.0 0.000000; 0.000000;0.000000;0.000000;; 0.000000;0.000000;0.000000;; } // 8 つの頂点と 12 の面 (三角形) を持つメッシュを定義する。 // メッシュ内のオプションのデータ オブジェクトを使って、 // マテリアル、法線、およびテクスチャ座標を指定する。 Mesh CubeMesh { 8; // 8 個の頂点。 1.000000;1.000000;-1.000000;, // 頂点 0。 -1.000000;1.000000;-1.000000;, // 頂点 1。 -1.000000;1.000000;1.000000;, // 同様に続く。 1.000000;1.000000;1.000000;, 1.000000;-1.000000;-1.000000;, -1.000000;-1.000000;-1.000000;, -1.000000;-1.000000;1.000000;, 1.000000;-1.000000;1.000000;; 12; // 12 個の面。 3;0,1,2;, // 面 0 には 3 個の頂点がある。 3;0,2,3;, // 同様に続く。 3;0,4,5;, 3;0,5,1;, 3;1,5,6;, 3;1,6,2;, 3;2,6,7;, 3;2,7,3;, 3;3,7,4;, 3;3,4,0;, 3;4,7,6;, 3;4,6,5;; // すべての必須データが定義された。ここで、ファイル フォーマットの // 階層構造的性質を使ってオプションのデータを定義する。 MeshMaterialList { 2; // 使用されるマテリアルの数。 12; // 各面のマテリアル。 0, // 面 0 は最初のマテリアルを使用する。 0, 0, 0, 0, 0, 0, 0, 1, // 面 8 は 2 番目のマテリアルを使用する。 1, 1, 1;; {RedMaterial} // マテリアル 0 および 1 の {GreenMaterial} // 定義への参照。 } MeshNormals { 8; // 8 個の法線を定義する。 0.333333;0.666667;-0.666667;, -0.816497;0.408248;-0.408248;, -0.333333;0.666667;0.666667;, 0.816497;0.408248;0.408248;, 0.666667;-0.666667;-0.333333;, -0.408248;-0.408248;-0.816497;, -0.666667;-0.666667;0.333333;, 0.408248;-0.408248;0.816497;; 12; // 12 個の面に対して法線を定義する。 3;0,1,2;, 3;0,2,3;, 3;0,4,5;, 3;0,5,1;, 3;1,5,6;, 3;1,6,2;, 3;2,6,7;, 3;2,7,3;, 3;3,7,4;, 3;3,4,0;, 3;4,7,6;, 3;4,6,5;; } MeshTextureCoords { 8; // 各頂点に対してテクスチャ座標を定義する。 0.000000;1.000000; 1.000000;1.000000; 0.000000;1.000000; 1.000000;1.000000; 0.000000;0.000000; 1.000000;0.000000; 0.000000;0.000000; 1.000000;0.000000;; } }