Visual c++ 带gluLookAt的FPS武器

Visual c++ 带gluLookAt的FPS武器,visual-c++,opengl,glut,glulookat,Visual C++,Opengl,Glut,Glulookat,我正在开发一个类似3D迷宫的游戏,只是为了学习(当然也是为了好玩)。我已经做了迷宫,我可以以第一人称模式在墙壁之间移动。我唯一的问题是,我想要一些武器作为我的第一人称视角(比如FPS游戏)。要在迷宫中移动,我使用gluLookAt。 代码片段: void RenderScene(void) { glLoadIdentity(); gluLookAt(x, 1.0f, z,x + lx, 1.0f, z + lz,0.0f, 1.0f, 0.0f); 我试着用我的立方体

我正在开发一个类似3D迷宫的游戏,只是为了学习(当然也是为了好玩)。我已经做了迷宫,我可以以第一人称模式在墙壁之间移动。我唯一的问题是,我想要一些武器作为我的第一人称视角(比如FPS游戏)。要在迷宫中移动,我使用
gluLookAt
。 代码片段:

void RenderScene(void)
{
    glLoadIdentity();    
    gluLookAt(x, 1.0f, z,x + lx, 1.0f, z + lz,0.0f, 1.0f, 0.0f);

我试着用我的立方体做这个(立方体现在是“武器”)

这样立方体就可以完美地前后移动,但当我向左或向右转弯时,它就保持在原来的位置。
有人能帮我转弯吗?

最后,我解决了这个问题!我没有按照正确的顺序进行转换。如果将来有人需要,我会分享我的代码

gluLookAt(x, 1.0f, z,
        x + lx, 1.0f, z + lz,
        0.0f, 1.0f, 0.0f);

    glPushMatrix();

    glTranslatef(x + lx, -0.5f, z + lz);
    glRotatef(-angle* 57.2957795, 0.0f, 1.0f, 0.0f); 
    glTranslatef(0.0f, 0.0f, 5.0f); // offset
    drawCube(2);
glPopMatrix();
glPushMatrix();
glTranslatef(0.0f, 0.0f, 5.0f);
    glTranslatef(x + lx, -0.5f, z + lz);
    glRotatef(angle, 0.0f, 0.0f, 1.0f);
    drawCube(2);
    glPopMatrix();
gluLookAt(x, 1.0f, z,
        x + lx, 1.0f, z + lz,
        0.0f, 1.0f, 0.0f);

    glPushMatrix();

    glTranslatef(x + lx, -0.5f, z + lz);
    glRotatef(-angle* 57.2957795, 0.0f, 1.0f, 0.0f); 
    glTranslatef(0.0f, 0.0f, 5.0f); // offset
    drawCube(2);
glPopMatrix();