java - 使用 lwjgl 调整窗口内容的大小

标签 java opengl lwjgl window-resize

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

        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就不会记住它。

顺便说一句:您不应在窗口调整大小处理程序中设置视口(viewport)大小或投影矩阵。您可以将其作为绘图函数中的准备工作,就像清除帧缓冲区一样。

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

相关文章:

java - Java中的链表有快速的concat方法吗?

java - 为什么我无法让标签显示文本字段中的文本?

java - 我正在尝试使用 GLU.gluPerspective(),但它给了我静态引用错误

java - OpenGL Ortho中相同顶点之间的这些像素间隙的来源是什么?如何消除它们?

java - Opengl 多种纹理混合颜色

java - 获取组件类型的数组Class

Java 在字符串中找到某个字符后插入空格

qt - 相对于对象 Axis 的 OpenGL 旋转

c++ - 显示列表和 OpenGL 状态

c++ - OpenGL 在 2 个纹理之间切换