c - 移动相机 gluLookAt

标签 c opengl glu

通过这条指令 gluLookAt:

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

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

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

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

right = u * dir (normalized)

p = p - right
l = l - right

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

最佳答案

你必须减少 p1 l1。

p 指定视点的位置,l 指定引用点的位置。

关于c - 移动相机 gluLookAt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17023795/

相关文章:

c - opengl中的半圆柱体/封闭圆柱体

xcode - 在OS X 10.8上设置SDL

c++ - OpenGL-点云的变色方案

opengl - cmake 不使用 QtOpenGL 链接 libGLU

c - 使用 execv(C 语言)从 linux 命令提示符运行命令

opengl - 栅格化点/像素网格的快速方法

python - 如何使用 VBO 和 Pyglet 更新数据

c - 从文件中读取姓名和号码并修改

c - 递归函数代码::blocks 与 Visual Studio 2008

c++ - 如何关闭代码块中的所有自动更正/自动完成功能?