directx 9设置相机

时间:2010-11-05 18:07:02

标签: c++ winapi visual-c++ directx-9

这是基本问题。我已经设置了camra而不是如何设置它但我应该将它设置为什么值。是否有任何应用程序可以帮助您设置camra像你设置它,它给你的价值或你可以解释这些值代表什么,以及如何缩放它们。

D3DXMatrixLookAtLH(&matView,
    &D3DXVECTOR3 (value, value, value),    // the camera position
    &D3DXVECTOR3 (value, value, value),      // the look-at position
    &D3DXVECTOR3 (value, value, value));

1 个答案:

答案 0 :(得分:1)

D3DXMatrixLookAtLH功能正在生成相机矩阵,该矩阵存储在matView中。 之后,该函数获得三个向量:

  • 位置
  • 查找在

这三个载体代表:

  • 相机的位置 - 相机的位置。例如,它可以是(0,0,0)。 (这些是世界上你的x,y和z坐标。)
  • 观察点 - 这是您的相机所看到的位置。它由您的位置+您的(通常)标准化视图方向组成。所以当你站在(0,0,0)并且想要向下看负z轴时,你的观察点是(0,0,-1)。如果站在(1,2,3)并向下看负x轴,则为(0,2,3)
  • 向上向量指向 - 通常这是(0,1,0)。

如果你现在四处走动,而不环顾四周,位置和观察向量会改变以反映你的新位置。 如果你站着不动环顾四周,只会看到更改的观察点。 只有在滚动相机时,向上矢量才会改变。

有很多不错的相机教程,它们向您展示如何在使用相机查看时更改这三个矢量 - 例如this one