移动相机gluLookAt

时间:2013-06-10 12:23:31

标签: c opengl glu

使用此指令gluLookAt:

gluLookAt( p1, p2, p3, l1, l2, l3, u1, u2, u3 );

如何将相机向左移动一个单位,保持观察同一点的方向?

显然我不能只做p1-1,因为它在全球空间中移动1,但我需要在相机空间中移动相机,只需要上面说明的信息。

在搜索中发现我可以找到正确的向量并执行此操作:

right = u * dir (normalized)

p = p - right
l = l - right

但我无法理解为什么,或者即使这样有效......

3 个答案:

答案 0 :(得分:1)

你必须减少p1 l1。

p 指定眼点的位置, l 指定参考点的位置。

答案 1 :(得分:0)

如果要修改相机的位置,则应使用目标的坐标进行相同的更改。

答案 2 :(得分:0)

您的问题是否与围绕y轴顺时针旋转一个单位的问题相同?