我试图在调整窗口大小时调整显示内容的大小。这是我的代码:
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/