再看一下配置时运行的Test程序:
一般来说,一个LWJGL的程序主要有三个步骤:创建、执行、销毁。
在程序中,构造函数实现了创建,execute()方法实现了执行与销毁。但是当代码过多过长时,我们应该将各步骤分离,使得代码易于理解。
在Test的构造函数中,我们分别使用了Display的三个方法:setTitle()、create()、setVSyncEnabled()。
在OpenGL中,我们可以使用glutCreateWindow()实现窗口的创建和窗口命名,而在LWJGL中,gl和glu分别有相关的类GL11和GLU类与之对应,但是不存在GLUT类。在LWJGL中,创建窗口的方法是一静态方法Display.create(),窗口标题命名则是Display.setTitle()。
Display.setVSyncEnabled()这一方法是设置垂直刷新的同步显示(true为同步显示,false为忽略同步),在相关的LWJGL源码注释里提到,这一方法只针对windows平台起作用。你可以删除这一句代码,运行时并不会出错。但如果在windows平台下运行时出现画面有撕裂现象,则加入这一方法。
在程序的执行阶段,使用while循环实现窗体的更新。当窗口请求关闭时,while循环才结束;否则将不断地对窗口执行update()操作。
程序的销毁阶段,则是对窗口执行destroy()。
创建、执行与销毁三个步骤并不仅仅只针对窗体而言,对于输入设备亦有相关的操作,在此并不进行讨论。