我有 2 个使用 DirectX 9 渲染的网格和一个正在查看 0,0,0 的相机。一个网格位于 0,0,0,另一个位于 5,0,0。我如何将相机旋转 0,0,0 以始终查看两个网格但从新位置?我想按键盘上的箭头键并能够旋转相机
问问题
1262 次
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 回答