将相机旋转到模型的中心

时间:2011-01-23 16:29:19

标签: c++ direct3d9

我有2个用DirectX 9渲染的网格和一个看着0,0,0的摄像头。一个网格位于0,0,0,另一个位于5,0,0。如何围绕0,0,0旋转相机以始终查看两个网格,但是从新位置?我想按下键盘上的箭头键,然后可以旋转相机

1 个答案:

答案 0 :(得分:2)

从外观功能构建相机矩阵。有d3dx函数可以构建一个合适的矩阵。

您要做的是设置相机,以便让它围绕物体绕圈。假设半径为10的圆以2.5,0,0为中心。我不确定您想要旋转哪个轴,但我假设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