QT OpenGL 没有完全渲染立方体?

QT OpenGL not fully rendering cube?

我正在尝试创建和显示一个 3D 正方形,但由于某种原因,当我渲染它时,它的一部分丢失了:

void DrawCube::drawCubes(int amount){ 



      glBegin(GL_POLYGON);
        glVertex3f( 1.0, -1.0,  1);
        glVertex3f( 1.0, -1.0, -1);
        glVertex3f( 1.0,  1.0, -1);
        glVertex3f( 1.0,  1.0,  1);
        glEnd();


      glBegin(GL_POLYGON);
        glVertex3f(-1.0, -1.0, -1);
        glVertex3f( 1.0, -1.0, -1);
        glVertex3f( 1.0,  1.0, -1);
        glVertex3f(-1.0,  1.0, -1);
      glEnd();


      glBegin(GL_POLYGON);
        glVertex3f(-1.0, -1.0, 1);
        glVertex3f( 1.0, -1.0, 1);
        glVertex3f( 1.0,  1.0, 1);
        glVertex3f(-1.0,  1.0, 1);
      glEnd();


      glBegin(GL_POLYGON);
        glVertex3f( -1.0, -1.0,  1);
        glVertex3f( -1.0, -1.0, -1);
        glVertex3f( -1.0,  1.0, -1);
        glVertex3f( -1.0,  1.0,  1);
      glEnd();
  }

}

我不是在寻找只给我代码的答案,而是在寻找导致这种情况的原因的解释。谢谢。

立方体似乎被投影的远平面裁剪了。当您将投影矩阵设置为 glOrtho.
时,增加到远平面的距离 请注意,投影矩阵定义了一个视图体积(参见 3D projection)。所有在查看体积之外的几何体都被剪裁。