D3D修改view矩阵与修改world矩阵的区别

修改view矩阵,例如:

D3DXMATRIX g_ViewMatrix;
float g_RotationAngle = 0.0f;

g_RotationAngle
+= 0.0002f;
if(g_RotationAngle >= 360)
g_RotationAngle
= 0.0f;
D3DXMATRIXA16 w;
D3DXMatrixRotationY(
&w, g_RotationAngle);

g_ViewMatrix
*= w;
g_D3DDevice
->SetTransform(D3DTS_VIEW, &g_ViewMatrix);

也就是眼睛摄像机的位置不停地绕着Y轴旋转,而物体的位置不变;可以看做成摄像机位置不变,物体绕着摄像机不停地旋转。

修改world矩阵:

D3DXMATRIX g_ViewMatrix;
float g_RotationAngle = 0.0f;

D3DXMATRIXA16 w;
D3DXMatrixRotationY(
&w, g_RotationAngle);
g_D3DDevice
->SetTransform(D3DTS_WORLD, &w);


g_RotationAngle
+= 0.0002f;
if(g_RotationAngle >= 360)
g_RotationAngle
= 0.0f;

   摄像及位置不变,物体绕着Y轴不停的旋转。

posted @ 2011-08-29 10:03  小 楼 一 夜 听 春 雨  阅读(562)  评论(0编辑  收藏  举报