如何在 OpenGL (lwjgl) 中修复 "cropping" 形状?

How to fix "cropping" shapes in OpenGL (lwjgl)?

我正在做一个关于 OpenGL 3D 的项目。我有几个数字,当我旋转相机(场景)时,数字似乎超出了它(或超出了视口)

正常情况:

裁剪图:

如何增加可视区域?或者在这种情况下可以做什么?

现在我正在尝试:

        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
        glDepthFunc(GL_LEQUAL);
        glfwPollEvents();
        glPushMatrix();
        glEnable(GL_BLEND);
        glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
        GL11.glViewport(0, 0, width, height);
        GL11.glMatrixMode(GL11.GL_PROJECTION);
        glLoadIdentity();

但是没有带来结果。

物体似乎被当时正射投影的近平面裁剪了。更改近平面以解决问题。 正交投影矩阵由glOrtho.

设置

默认投影矩阵是Identity matrix。这和你做的一样

GL11.glOrtho(-1, 1, -1, 1, 1, -1);

增加近平面和远平面的距离来解决问题。例如:

GL11.glMatrixMode(GL11.GL_PROJECTION);
glLoadIdentity();
GL11.glOrtho(-1, 1, -1, 1, 10, -10);