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

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-06
  • 2022-12-23
  • 2021-12-19
  • 2021-12-09
  • 2021-11-29
猜你喜欢
  • 2021-07-05
  • 2021-07-29
  • 2021-07-25
  • 2022-12-23
  • 2021-07-10
  • 2021-11-30
相关资源
相似解决方案