【LWJGL2 WIKI】【基礎篇】基礎1:顯示

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

Credit

Tutorial Credit - Ninja Cave

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章