聲明: 本部落格文章原創均為個人原創 , 翻譯類文章均為個人業餘時間翻譯,著作權。轉載請註明出處:http://www.wjfxgame.com,另外本人的CSDN部落格:http://blog.csdn.net/ml3947
LWJGL,大家應該都聽說過。這是Java界兩大對OpenGL綁定的Java庫之一。另外一個就是大名鼎鼎的JOGL了,以前曾是被SUN所支援的“官方”的OpenGL綁定庫。
雖然本人目前工作轉移到Unity3D,而使用Unity3D確實是很方便。但是,它畢竟是一個商業性質的引擎,很多方面不盡人意,無法滿足自己的需求。而且由於封裝度比較高,也不利於自己的學習。而由於本人從大學以來,使用Java居多,最近又在玩大名鼎鼎的Minecraft(使用LWJGL開發),所以決定使用LWJGL來看看。
LWJGL庫使用了它自己的輕量級本地視窗,而且也有它自己的輸入系統。音效使用的Java對OpenAL的綁定庫。同時也提供對操作控制器等的API。
在LWJGL中,Display是一個很重要的類。它用來建立和控制渲染所有圖形元素的本地視窗。在Display中,有三個方法需要被注意。
- create()
- update()
- destroy()
Display.create()這個方法用來建立本地視窗。我們需要設定它的DisplayMode,用來指定顯示視窗的大小。DisplayMode需要在create之前設定。類似如下:
Display.setDisplayMode(new DisplayMode(width,height));Display.create();
LWJGL使用雙緩衝,任何圖形都將被繪製到螢幕外的緩衝裡。當調用Display.update()的時候,將會交換緩衝,然後讓圖形顯示在視窗中。通常這個方法在渲染的迴圈中,每一幀的時候調用。
當LWJGL銷毀的時候,將會調用Display.destroy()方法來進行清理和釋放資源。
另外,當我們點擊關閉本地視窗的按鈕的時候,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 herewhile (!Display.isCloseRequested()) {// render OpenGL hereDisplay.update();}Display.destroy();}public static void main(String[] argv) {DisplayExample displayExample = new DisplayExample();displayExample.start();}}
運行將會顯示一個800 x 600 的視窗。
轉載請註明出處: http://blog.csdn.net/ml3947。