【发布时间】:2020-05-16 22:12:21
【问题描述】:
所以基本上,通过使用左、右、上和下键,我需要实现this animation,可能使用gluLookAt。
我已经尝试了所有方法,但我无法让它完全像这样移动。你有什么建议吗?这是我当前的相机移动功能。
void specialKeys(int key, int x, int y) {
switch (key) {
case GLUT_KEY_DOWN:
ex -= 0.04;
break;
case GLUT_KEY_UP:
ex += 0.04;
break;
case GLUT_KEY_LEFT:
ey += 0.05;
cy -= 0.05;
std::cout << ex << " " << cx << " " << uy << std::endl;
break;
case GLUT_KEY_RIGHT:
ey -= 0.05;
cy += 0.05;
std::cout << ex << " " << cx << " " << uy << std::endl;
break;
default:
break;
}
glutPostRedisplay();
}
其余代码可以在前面的问题Why does my wired sphere turn into ellipsoid when translating and changing camera angle?和Issues with animation - translation, projection OpenGL/C++中找到。
我的gluLookAt 是:
gluLookAt(ex + 0.0, ey + 0.0, ez*ex - 5.5, cx, cy, -1.0 + cz, -1.0, 0.0, 0.0);
不知何故,当元素向右翻译时,我的向上和向下键没有做他们应该做的事情。我认为我走在正确的道路上,但我已经为此工作了两天,但无法解决它。
【问题讨论】:
-
参考动画也包含相机移动,不是吗?
-
我相信确实如此,但我们没有得到任何具体说明,只有这个 gif 来复制它。
标签: c++ opengl glut opengl-compat glu