旋转

这个在之前必须完成三角形或其他的图形。

 

在顶点函数里加入摄像机。

D3DXVECTOR3 position( 0.0f, 0.0f, -5..0f);  //这个是摄像机的坐标

D3DXVECTOR3 target( 0.0f, 0.0f, 0.0f);   //这个是摄像机的目标

D3DXVECTOR3 up( 0.0f, 1.0f, 0.0f);   //这个是以Y轴为向上方向(一般也以Y轴为上方向)

 

D3DXMATRIX V;

D3DXMatrixLookAtLH( &V, &position, &target, &up);   //LH为向左转,RH为身右转

 

Device->SetTransform( D3DTS_VIEW, &V);

 

//设置投影变换

MATRIX  proj;

 

D3DXMatrixPerspectivFovLH( &proj, D3DX_PI * 0.5, (float)Width/(float)Height, 1.0f, 1000.0f)  //LH为向左转,RH为身右转

视截体的Y方向的视域张角取为90度, 水平视域的张角由宽除高来决定,近平面的位置为1, 远平面的位置为1000

Device->SetTramsform( D3DTS_PROJECTION, &proj);

 

//设置渲染器状态

Device->SetRenderState( D3DRS_FILLMODE, D3DFILL_WIREFRAME);

 

个人觉得这上面的放在设置顶点那个函数为好,因为如果放在渲染函数里,每次渲染都要设置相机的位置这些,感觉更占内存。

 

把摄像机放好,就在渲染里设置旋转了。

 

D3DXMATRIX  Ry

D3DXMatrixRotation( Ry, 3.14f/4.0f);

 

Device->SetTransform( D3DTS_WORLD, &Ry);

 

 

 

注意:当要旋转时,顶点格式不能设为 RHW。不然无法渲染。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值