OpenGL项目实战I
环境配置与窗口测试
此项目基于 ThinMatrix 的视频教程展开
- 下载 LWJGL2 与 Slick-Utils
创建lib文件夹,下创建两个子文件夹 jars 和 natives
- 将LWJGL压缩包jar文件夹中的 lwjgl.jar 与 lwjgl_util.jar 复制到 jars 文件夹
- 将LWJGL压缩包native文件夹中所以的dll文件复制到 natives 文件夹
- 将 slick-util.jar 复制到 jars 文件夹
将lib文件夹复制到项目路径下,在IDE中添加依赖(我这里用到Intellij IDEA),包括jars文件夹下的三个jar包与natives整个文件夹
新建package renderEngine 其下创建 DisplayManager.java
package renderEngine; import org.lwjgl.LWJGLException; import org.lwjgl.opengl.*; public class DisplayManager { private static final int WIDTH = 1280; private static final int HEIGHT = 720; private static final int FPS_CAP = 120; // 封顶帧数 public static void creatDisplay() { ContextAttribs attribs = new ContextAttribs(3,2); attribs.withForwardCompatible(true); attribs.withProfileCore(true); try { Display.setDisplayMode(new DisplayMode(WIDTH,HEIGHT)); Display.create(new PixelFormat(), attribs); Display.setTitle("3D GAME TEST"); } catch (LWJGLException e) { e.printStackTrace(); } GL11.glViewport(0,0,WIDTH,HEIGHT); } public static void updateDisplay() { Display.sync(FPS_CAP); Display.update(); } public static void closeDisplay() { Display.destroy(); } }
新建package engineTest ,其下创建 MainGameLoop.java 运行后若能正常启动窗口则配置完成
package engineTest; import org.lwjgl.opengl.Display; import renderEngine.DisplayManager; public class MainGameLoop { public static void main(String[] args) { DisplayManager.creatDisplay(); while(!Display.isCloseRequested()) { // game logic // render DisplayManager.updateDisplay(); } DisplayManager.closeDisplay(); } }
(下接OpenGL项目实战II)
OpenGL项目实战I
https://baifabaiquan.cn/2021/03/15/OpenGL项目实战I/