调整窗口大小时,我试图调整显示内容的大小。这是我的代码:

        if (Display.wasResized()) {
            this.width = Display.getWidth();
            this.height = Display.getHeight();

            GL11.glViewport(0, 0, this.width, this.height);
            GL11.glLoadIdentity();
            GL11.glMatrixMode(GL11.GL_PROJECTION);
            GL11.glLoadIdentity();
            GL11.glOrtho(0.0f, this.width, 0.0f, this.height, 1.0f, -1.0f);
            GL11.glMatrixMode(GL11.GL_MODELVIEW);
            GL11.glLoadIdentity();
        }


当我使用此选项时,窗口的内容不会调整大小,只会移向原点。有什么方法可以使内容实际调整大小?

最佳答案

重画场景。 OpenGL不是场景图。它只是“铅笔”,您可以用它在操作系统提供的纸张上绘图。一旦绘制了某些内容,OpenGL就不会记住它。

顺便说一句:您既不应在窗口调整大小处理程序中设置视口大小,也不应设置投影矩阵。您可以在作图功能时做准备,就像清除帧缓冲区一样。

关于java - 使用lwjgl调整窗口内容的大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17367651/

10-12 04:15