原文:http://wiki.lwjgl.org/wiki/LWJGL_Basics_1_%28The_Display%29
Introduction 介绍
LWJGL库使用自带的轻量级本地窗口(即所谓的Display)并有自己的输入系统。提供快速少量的内容描画,低延迟输入,为现代游戏开发提供一个稳定的基础。
The LWJGL Display
Display类是LWJGL最重要的类,它创建并控制本地窗口,所有的图形都在其中渲染。
Display类有三个方法值得一提:
- create()
- update()
- destory()
Display.create()
此方法创建本地Display窗口。为了设定尺寸,必须设定DisplayMode。为了简便本教程先不考虑全屏。DisplayMode需在Display.create()之前设置,像以下这样指定宽高:
Display.setDisplayMode(new DisplayMode(width,height));
Display.create();
这将会创建指定尺寸的本地Display窗口。现在开始就可以调用OpenGL方法描画了。
还需要有一个基本的循环来更新显示内容。
Display.update()
LWJGL使用双缓冲机制,所有东西将被画在一个屏幕之外的缓冲区里。当调用 Display.update()时,将交换缓冲区使之前画的东西可见。通常此方法将在渲染循环里每帧调用一次。此方法也将处理键盘和鼠标操作。
Display.destroy()
此方法销毁本地Display窗口,并用它来释放所有使用的资源。
Example 例子
当点击窗口右上角叉按钮时,Display.isCloseRequested()方法返回true。本例中,它用来退出渲染循环。
import org.lwjgl.LWJGLException;
import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.DisplayMode;
public class DisplayExample {
public void start() {
try {
Display.setDisplayMode(new DisplayMode(800,600));
Display.create();
} catch (LWJGLException e) {
e.printStackTrace();
System.exit(0);
}
// init OpenGL here
while (!Display.isCloseRequested()) {
// render OpenGL here
Display.update();
}
Display.destroy();
}
public static void main(String[] argv) {
DisplayExample displayExample = new DisplayExample();
displayExample.start();
}
}
完整的LWJGL Display API的javadoc在这里。