1
我在开放式GL中有一个立方体。我通过乘以旋转矩阵来旋转立方体。如下所示,我还使用gluLookAt让相机在x轴上绕着立方体旋转。openGL - 使用gluLookAt在对象上方和下方旋转
case 'j':
eyeX = 10*cos(angle);
eyeZ = 10*sin(angle);
centerX = -cos(angle);
centerZ = -sin(angle);
angle -= 0.1;
break;
case'l':
eyeX = 10*cos(angle);
eyeZ = 10*sin(angle);
centerX = -cos(angle);
centerZ = -sin(angle);
angle += 0.1;
break;
其中
gluLookAt(eyeX, eyeY, eyeZ, centerX, centerY, centerZ, 0.0, 1.0, 0.0);
我所用越来越相机上面旋转和盘旋立方体它在y轴下方挣扎。
谢谢。我完全理解你的意思我只是无法理解openGL和C++。你推荐glTranslate glRotate和glTranslate吗?我如何获得世界位置和相机位置? –
世界坐标中的cam pos是您在gluLookAt中输入的eyeX,Y,Z。你可以通过你想要的任何方式进行旋转和翻译(给出的正确性);但我可以推荐你跳过弃用的“glTranform/Rotate/Scale”东西,并转移到基于现代Shader/Buffer/Uniform的GL,并使用[glm](http://glm.g-truc.net/0.9.5/) index.html)用于剩余的CPU端代数。 –