一个简单.X文件的定义
来源:互联网 发布:海岛奇兵烟雾升级数据 编辑:程序博客网 时间:2024/05/21 11:31
xof 0302txt 0064 //xof告诉程序加载的文件是.x文件,0302表示使用的是DirectX3.2版本,txt表示数据是以文件形式存储的。
Header { //0064定义了浮点数的倍数为64位
1;
0;
1;
}
Material RedMaterial { //第一块材料
1.000000;0.000000;0.000000;1.000000;; // R = 1.0, G = 0.0, B = 0.0,A=1.0
0.000000; //镜面反射指数
0.000000;0.000000;0.000000;; //镜面反射着色
0.000000;0.000000;0.000000;; //自发光着色
TextureFilename { "Tex1.jpg"; } //纹理文件名
}
Material GreenMaterial { //第二块材料
0.000000;1.000000;0.000000;1.000000;; // R = 0.0, G = 1.0, B = 0.0,A=1.0
0.000000;
0.000000;0.000000;0.000000;;
0.000000;0.000000;0.000000;;
TextureFilename { "Tex2.jpg"; } //纹理文件名
}
Frame CubeFrame { //框架
FrameTransformMatrix { //初始位置矩阵
1.000000, 0.000000, 0.000000, 0.000000,
0.000000, 1.000000, 0.000000, 0.000000,
0.000000, 0.000000, 1.000000, 0.000000,
0.001000, 0.001000, 0.001000, 1.000000;;
}
Mesh Cube { //网格
8; //8个顶点,以下为8个顶点的坐标
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;,
-1.000000;-1.000000;1.000000;,
1.000000;-1.000000;1.000000;;
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;;
//网格材质列表
MeshMaterialList {
2; //使用材质的数量:2块材质
12; //为12顶点指定材质
0, //为前6个面使用第一块材质
0,
0,
0,
0,
0,
1, //为后面的6个面使用第二块材质
1,
1,
1,
1,
1;;
{RedMaterial} //第一块材质,引用前面定义的RedMaterial材质
{GreenMaterial} //第二块材质,引用前面定义的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; //定义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;;
}
}
}
AnimationSet AnimationSet0 { //动画集
Animation Animation0 { //动画
{CubeFrame} //引用上面的立方体框架,表示下面的动画是针对立方体框架的
AnimationKey { //动画键 沿Y轴旋转网格
0; // 动画键keyType可取的值是0,1,2,4。
// 0表示旋转键,在.X文件中,用一个四元数来实现模型的旋转,旋转值使用4个分量w,x,y,z来存储,
//也就是说,此时变换数组的大小是4。
//1表示缩放键,变换数组的大小是3,它们分别对应x,y,z轴的缩放值。
//2表示平移键,变换数组的大小是3,它们分别对应x,y,z轴的平移值。
//4表示变换矩阵键。
10; // 9 keys到第10帧回到第1帧
1000; 4; 0.000000, 0.15643448, 0.000000, 0.98768836;;,
2000; 4; 0.000000, 0.30901700, 0.000000, 0.95105654;;,
3000; 4; 0.000000, 0.45399046, 0.000000, 0.89100653;;,
4000; 4; 0.000000, 0.58778530, 0.000000, 0.80901694;;,
5000; 4; 0.000000, 0.70710671, 0.000000, 0.70710683;;,
6000; 4; 0.000000, 0.80901694, 0.000000, 0.58778530;;,
7000; 4; 0.000000, 0.89100653, 0.000000, 0.45399052;;,
8000; 4; 0.000000, 0.95105654, 0.000000, 0.30901697;;,
9000; 4; 0.000000, 0.98768836, 0.000000, 0.15643449;;,
10000; 4; 0.000000, 1.0000000, 0.000000, 0.00000000;;;
}
}
}
- 一个简单.X文件的定义
- 微软游戏X文件的定义
- 随机生成指定的字符(定义一个简单但很实用的头文件)
- 定义一个最简单的委托
- 一个简单的javascript类定义例子
- 如何定义一个简单的Concurrent Program
- 8.2 定义一个简单的泛型类
- mysql定义一个简单的存储过程
- 一个简单的目录节点类定义
- grub.conf文件的简单定义
- cocos2d-x 一个简单的游戏界面
- Cocos2d-X开发一个简单的小游戏
- 定义一个带 X 号关闭按钮的输入框
- XDR-.x文件的简单使用
- 一个简单的文件管理程序
- 一个简单的文件管理器
- 一个最简单的图的接口的定义
- [JavaScript]类之一---一个简单的javascript类定义例子
- 把电子书《高质量C++编程指南》看完了
- DynaValidatorForm验证
- 深入理解Direct3D9
- D3DPRESENT_PARAMETERS结构体
- DirectX Graphics 入门
- 一个简单.X文件的定义
- 改变D3D中的渲染状态
- 3G上网费玄机
- Effective Java Item5-在可以重用对象的时候避免创建对象
- 在Mysql中用 LONGTEXT 类型存储大文件(二进制也可以) (修改+调试+整理)
- How do I get into graphics?
- Java 连接Oracle
- java swing 仿tencent 系统消息(自动上升)
- 最简单的入侵方法—知道对方IP就能入侵别人的电脑