您的位置:首页 > 其它

Direct3D几何流水线由世界变换、观察变换、投影变换和视口变换几个部分组成。

2012-05-11 23:25 483 查看
Direct3D几何流水线由世界变换、观察变换、投影变换和视口变换几个部分组成。

一、坐标空间

1.1 局部坐标系

用于描述物体自身属性的独立坐标系,它相对于物体中心位置构成一个模型空间。在该模型空间,描述了物体的方向和构成物体的元素相对于物体中心的位置。

1.2 世界坐标系

用于建立一个描述其他坐标系所需要的参考框架,以便指定物体在该坐标系中的位置、方向及大小。其描述的空间称为世界空间,包含了所有的物体模型,并且这些物体模型被组合到一起而形成一个场景。

1.3 观察坐标系

用于指定观察三维空间中的物体的方向和位置,其原点指定了摄像机的位置。它定义了摄像机的屏幕可视区域,可产生观察物体“近大远小”的效果。

二、数学对象

2.1 向量

D3DXVECTOR3是Direct3D中的向量,当然也有D3DXVECTOR2和D3DXVECTOR4两种形式,并且重载了加减乘除、赋值等操作与求模、规格化、点积、叉积等运算。

2.2 矩阵

D3DMATRIX是Direct3D中的矩阵,表示4*4的矩阵,其许多操作可参见SDK帮助。

三、几何变换

3.1 世界变换

包括平移、旋转、缩放变换,相关函数有D3DXMatrixTranslation、D3DXMatrixRotation、D3DXMatrixSaling等,应用到设备采用SetTransform(D3DTS_WORLD, &matWorld)。

3.2 观察变换

指定虚拟摄像机的位置、观察点位置及正方向,相关函数有D3DXMatrixLookAtLH等,应用到设备采用SetTransform(D3DTS_VIEW,&matView)。

3.3 投影变换

将位于视截体内的物体模型映射到投影窗口中,相关函数有D3DXMatrixPerspectiFovLH等,应用到设备采用SetTransform(D3DTS_PROJECTION,&matProj)。

3.4 视口变换

将投影窗口中的图像转换到显示屏幕的程序窗口中,视口由D3DVIEWPORT9描述,通过调用SetViewport函数就可以自动完成视口变换。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: