原文: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在這裏。