private boolean gameLoop() { updateFPS(); double deltaTime = this.getDelta(); if (!game.Input(deltaTime, mouse, keyboard)) { // If the Input fails, return false return false; } if (!game.Update(deltaTime)) { // If the Update fails, return false return false; } renderer.glSetup3D(); GL11.glPushMatrix(); { // Temp translate to see guide GL11.glTranslatef(0.0f, -3.0f, -10.0f); AxisGuide.draw3DAxisGuide(); if (!game.Render3D(deltaTime)) { // If the Render fails, return false return false; } } GL11.glPopMatrix(); renderer.glSetup2D(); GL11.glPushMatrix(); { if (!game.Render2D(deltaTime)) { // If the Render fails, return false return false; } } GL11.glPopMatrix(); if (debugMenu) { GL11.glPushMatrix(); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GL11.glTranslatef(0.0f, 0.0f, -1.0f); int YtoDraw = 0; // Render debug information debugFont.drawString(0, YtoDraw, "Debug Menu", Color.white); YtoDraw += debugFont.getLineHeight(); debugFont.drawString(0, YtoDraw, " - FPS: " + FPS + " (" + frameCount + ")", Color.white); YtoDraw += debugFont.getLineHeight(); debugFont.drawString(0, YtoDraw, " - Mouse X: " + this.mouse.getX(), Color.white); YtoDraw += debugFont.getLineHeight(); debugFont.drawString(0, YtoDraw, " - Mouse Y: " + this.mouse.getY(), Color.white); GL11.glDisable(GL11.GL_BLEND); GL11.glPopMatrix(); } this.display.Update(); return true; }