菜鸟DirectX之渲染流水线

专家说DirectX渲染流水线分为以下几步

局部坐标系->世界坐标系->观察坐标系->投影->视口变换->光栅化。

对我来说就是几个函数

一 局部坐标系到世界坐标系的变换

1.平移

函数 D3DXMatrixTranslation

比如 想把物体沿x轴平移十个单位 可以这样

D3DMATRIX mTrans;

D3DMatrixTranslation(&mTrans,10,0,0)

2 旋转

函数 D3DMatrixRotationX, D3DMatrixRotationY, D3DMatrixRotationZ

顾名思义 这三个函数分别是沿X,Y,Z轴进行旋转

比如想把物体沿X轴旋转45度 可以这样

D3DMATRIX mTrans;

float angle = 45*(2.0f*D3DX_PI)/360.0f;

D3DMatrixRotationX(&mTrans,angle)

g_pd3dDevice->SetTransform(D3DTS_WORLD,&mTrans)

3 缩放

函数 D3DXMatrixScaling

比如想把物体沿X轴放大五倍 可以这样

D3DMATRIX mTrans;

D3DXMatrixScaling(&mTrans,5.0f,1.0f,1.0f);

g_pd3dDevice->SetTransform(D3DTS_WORLD,&mTrans)

二 世界坐标系到观察坐标系

函数 D3DXMatrixLookAtLH

三 投影

函数 D3DXMatrixPerspectiveForLH

四 视口变换

填充一个 D3DVIEWPORT9的结构体 

比如 

D3DVIEWPORT9 vp = {0,0,800,600,0,1}

g_pd3dDevice->SetViewport(&vp);

五 光栅化

个人理解所谓的光栅化就是调用绘制函数时进行的 比如DrawPrimitive

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值