0

我有 2 个使用 DirectX 9 渲染的网格和一个正在查看 0,0,0 的相机。一个网格位于 0,0,0,另一个位于 5,0,0。我如何将相机旋转 0,0,0 以始终查看两个网格但从新位置?我想按键盘上的箭头键并能够旋转相机

4

1 回答 1

2

从lookat函数构建相机矩阵。有 d3dx 函数可以构建适当的矩阵。

您要做的是设置相机,以便您可以让它绕着物体转一圈。假设一个以 2.5,0,0 为中心的半径为 10 的圆。我不确定您要围绕哪个轴旋转,但我假设 z(和 x):

// pseudo
cameraposition= vec3(sin(x)*10.0 + 2.5,0,cos(x)*10)
cameralookat= vec3(2.5,0,0)

有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/bb397804.aspx

于 2011-01-23T23:30:40.873 回答