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;;
}
}