LWJGL教程--- 1.The Display

声明: 本博客文章原创均为个人原创 , 翻译类文章均为个人业余时间翻译,版权所有。转载请注明出处: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 here
		
		while (!Display.isCloseRequested()) {
			
			// render OpenGL here
			
			Display.update();
		}
		
		Display.destroy();
	}
	
	public static void main(String[] argv) {
		DisplayExample displayExample = new DisplayExample();
		displayExample.start();
	}
}

运行将会显示一个800 x 600 的窗口。

转载请注明出处:http://blog.csdn.net/ml3947

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值