实例工程文件如下:点击打开链接
在DirectX 中,坐标系主要分为三种,分别是:自身坐标系,世界坐标系,和摄像机坐标系
自身坐标系:一般情况下,游戏角色的自身坐标系的原点一般在两脚之间,自身坐标系的作用是用于改变角色形状的,比如你的胳膊相对于自身原点的坐标系改变,胳膊的位置长短什么的就肯定变了
世界坐标系:世界坐标系是物体相对于整个场景的坐标,他是用来确定的物体的位置的,一般物体的平移旋转都是对世界坐标的改变
摄像机坐标系:顾名思义,摄像机坐标系就是相对于摄像机的坐标,以摄像机所在的位置为原点
DirectX中,坐标系采用的是左手坐标系,就是向右为X轴的正方形,向上为Y轴的正方形,向屏幕里是Z轴的正方向,OpenGL里采用右手坐标系,这个不在我们讨论范围,所以在此不再赘述,总之,不同框架有其自己的坐标系规定,我们注意即可。
接下来是顶点,首先要弄明白的就是,顶点有哪些属性:1、基于世界坐标系的世界坐标 2、颜色、法线、贴图、纹理坐标等
下面介绍灵活顶点格式的概念:
灵活顶点格式 ( Flexible Vertex Format )FVF
我们着重介绍一下灵活顶点格式的坐标部分:
#define D3DFVF_CUSTOMVERTEX(D3DFVF_XYZRHW | D3DFVF_DIFFUSE)