admin 管理员组文章数量: 887021
旋转
这个在之前必须完成三角形或其他的图形。
在顶点函数里加入摄像机。
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。不然无法渲染。
本文标签: 旋转
版权声明:本文标题:旋转 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1687456277h104582.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论