我是OpenGL的新手,并试图创建一个简单的迷宫,我可以使用第一人称视角进行遍历。我有迷宫渲染,一切都很好。但我的第一人称相机视角最终变成了第三人称相机。相机围绕相机前方的某个点旋转。
我的实际轮换和翻译代码
void camera(){
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glRotatef(pitch, 1, 0, 0);
glRotatef(yaw, 0, 1, 0);
glTranslatef(player.x, player.y, player.z);
}
这也是渲染中发生的第一次翻译和旋转。 谢谢你的帮助。
答案 0 :(得分:1)
需要反转相机变换,以便将相机位置(在这种情况下是播放器的位置)移动到原点:
glTranslatef(-player.x, -player.y, -player.z);
答案 1 :(得分:0)
我建议你建立你的迷宫,不管它,然后使用gluLookAt()来获得你的第一人称视角。你现在正在做的是站着不动,把迷宫移到你身边。你正在努力做到这一点。