当前位置: 首页 > 工具软件 > D3View > 使用案例 >

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

子车才捷
2023-12-01

修改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轴不停的旋转。

 类似资料: