LWJGL教程— 1.The Display

來源:互聯網
上載者:User

  聲明:   本部落格文章原創均為個人原創 , 翻譯類文章均為個人業餘時間翻譯,著作權。轉載請註明出處: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中,有三個方法需要被注意。

  1.   create()
  2.   update()
  3.   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。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.