import static org.lwjgl.opengl.GL11.*; //--------------------------------------------------------------- // ゲームループ提供 public abstract class GameEngine { private GLWindow glWindow = new GLWindow(); //--------------------------------------------------------------- //--------------------------------------------------------------- // 初期化 protected void init() { } //--------------------------------------------------------------- // ゲームループ protected void update(long window) { } //--------------------------------------------------------------- // 破棄処理 protected void destroy() { } //--------------------------------------------------------------- //--------------------------------------------------------------- // 実行系の本体 protected void run() { // 初期化 glWindow.init(); init(); // メインループ while (!glWindow.windowShouldClose()) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // バッファのクリア update(glWindow.getWindow()); glWindow.swapWindow(); } // 終了処理 destroy(); // デストラクタ glWindow.destroyWindow(); // ウィンドウの破棄 } //--------------------------------------------------------------- }