我正在尝试在调整窗口大小时调整显示内容。这是我的代码:
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();
}
当我使用它时,窗口的内容不会调整大小,只会向原点移动。有没有办法让内容实际调整大小?
答案 0 :(得分:1)
重绘场景。 OpenGL不是场景图。它“仅仅”是您在操作系统提供的纸张上绘制的铅笔。一旦你画了一些东西,OpenGL就不记得了。
BTW:你既不应该在窗口调整大小处理程序中设置视口大小,也不应该设置投影矩阵。您可以在绘图功能中进行准备,就像清除帧缓冲区一样。