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

 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函数就可以自动完成视口变换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值