From 9af031ee77ed5952a4a4fad93d568772b1e0558f Mon Sep 17 00:00:00 2001 From: Brian Matzon Date: Sat, 3 May 2003 19:48:14 +0000 Subject: [PATCH] formatting and usage --- .../test/opengl/FullScreenWindowedTest.java | 461 +++++++++--------- 1 file changed, 232 insertions(+), 229 deletions(-) diff --git a/src/java/org/lwjgl/test/opengl/FullScreenWindowedTest.java b/src/java/org/lwjgl/test/opengl/FullScreenWindowedTest.java index 3850dfe5..d6c7f7af 100644 --- a/src/java/org/lwjgl/test/opengl/FullScreenWindowedTest.java +++ b/src/java/org/lwjgl/test/opengl/FullScreenWindowedTest.java @@ -46,39 +46,39 @@ import org.lwjgl.vector.Vector2f; */ public class FullScreenWindowedTest { - /** Intended deiplay mode */ - private DisplayMode mode; - + /** Intended deiplay mode */ + private DisplayMode mode; + /** GL instance */ - private GL gl; - + private GL gl; + /** GLU instance */ private GLU glu; - + /** our quad moving around */ private Vector2f quadPosition; - - /** our quadVelocity */ - private Vector2f quadVelocity; - - /** angle of quad */ - private float angle; - - /** degrees to rotate per frame */ - private float angleRotation = 1.0f; - - /** Max speed of all changable attributes */ - private static final float MAX_SPEED = 20.0f; - - /** - * Creates a FullScreenWindowedTest - */ + + /** our quadVelocity */ + private Vector2f quadVelocity; + + /** angle of quad */ + private float angle; + + /** degrees to rotate per frame */ + private float angleRotation = 1.0f; + + /** Max speed of all changable attributes */ + private static final float MAX_SPEED = 20.0f; + + /** + * Creates a FullScreenWindowedTest + */ public FullScreenWindowedTest() { } - /** - * Executes the test - */ + /** + * Executes the test + */ public void execute() { initialize(); @@ -87,215 +87,215 @@ public class FullScreenWindowedTest { cleanup(); } - /** - * Initializes the test - */ + /** + * Initializes the test + */ private void initialize() { try { - //find displaymode + //find displaymode mode = findDisplayMode(800, 600, 16); // start of in windowed mode gl = new GL("Test", 50, 50, mode.width, mode.height, mode.bpp, 0, 0, 0); - gl.create(); - glu = new GLU(gl); - - glInit(); - + gl.create(); + glu = new GLU(gl); + + glInit(); + Keyboard.create(); - - quadPosition = new Vector2f(100f, 100f); - quadVelocity = new Vector2f(1.0f, 1.0f); + + quadPosition = new Vector2f(100f, 100f); + quadVelocity = new Vector2f(1.0f, 1.0f); } catch (Exception e) { e.printStackTrace(); } } - /** - * Runs the main loop of the "test" - */ + /** + * Runs the main loop of the "test" + */ private void mainLoop() { - while(!Keyboard.isKeyDown(Keyboard.KEY_ESCAPE) && !gl.isCloseRequested()) { - // allow subsystem to get a chance to run too - gl.tick(); + while (!Keyboard.isKeyDown(Keyboard.KEY_ESCAPE) + && !gl.isCloseRequested()) { + // allow subsystem to get a chance to run too + gl.tick(); - if(!gl.isMinimized()) { - // check keyboard input - processKeyboard(); + if (!gl.isMinimized()) { + // check keyboard input + processKeyboard(); - // do "game" logic, and render it - logic(); - render(); + // do "game" logic, and render it + logic(); + render(); - // paint window - gl.paint(); - } else { - - // no need to render/paint if nothing has changed (ie. window dragged over) - if(gl.isDirty()) { - render(); - gl.paint(); - } + // paint window + gl.paint(); + } else { - // don't waste cpu time, sleep more - try { - Thread.sleep(100); - } catch(InterruptedException inte) { - } - } - } + // no need to render/paint if nothing has changed (ie. window dragged over) + if (gl.isDirty()) { + render(); + gl.paint(); + } + + // don't waste cpu time, sleep more + try { + Thread.sleep(100); + } catch (InterruptedException inte) { + } + } + } } - /** - * Performs the logic - */ - private void logic() { - angle += angleRotation; - if (angle > 90.0f) { - angle = 0.0f; - } - - quadPosition.x += quadVelocity.x; - quadPosition.y += quadVelocity.y; + /** + * Performs the logic + */ + private void logic() { + angle += angleRotation; + if (angle > 90.0f) { + angle = 0.0f; + } - //check colision with vertical border border - if(quadPosition.x + 50 >= mode.width || quadPosition.x-50 <= 0) { - quadVelocity.x *= -1; - } - - //check collision with horizontal border - if(quadPosition.y + 50 >= mode.height || quadPosition.y-50 <= 0) { - quadVelocity.y *= -1; - } - } - - private void render() { - //clear background - gl.clear(GL.COLOR_BUFFER_BIT); + quadPosition.x += quadVelocity.x; + quadPosition.y += quadVelocity.y; - // draw white quad - gl.pushMatrix(); - { - gl.translatef(quadPosition.x, quadPosition.y, 0); - gl.rotated(angle, 0.0f, 0.0f, 1.0f); - gl.color3f(1.0f, 1.0f, 1.0f); - gl.begin(GL.QUADS); - { - gl.vertex2i(-50, -50); - gl.vertex2i(50, -50); - gl.vertex2i(50, 50); - gl.vertex2i(-50, 50); - } - gl.end(); - } - gl.popMatrix(); - } - - /** - * Processes keyboard input - */ - private void processKeyboard() { - Keyboard.poll(); + //check colision with vertical border border + if (quadPosition.x + 50 >= mode.width || quadPosition.x - 50 <= 0) { + quadVelocity.x *= -1; + } - //check for fullscreen key - if(Keyboard.isKeyDown(Keyboard.KEY_F)) { + //check collision with horizontal border + if (quadPosition.y + 50 >= mode.height || quadPosition.y - 50 <= 0) { + quadVelocity.y *= -1; + } + } - try { - gl.destroy(); + private void render() { + //clear background + gl.clear(GL.COLOR_BUFFER_BIT); - Display.setDisplayMode(mode); - gl = new GL("Test", mode.bpp, 0, 0 ,0); - gl.create(); - glu = new GLU(gl); - - glInit(); - - Keyboard.destroy(); - Keyboard.create(); - } catch(Exception e) { - e.printStackTrace(); - } - } - - //check for window key - if(Keyboard.isKeyDown(Keyboard.KEY_W)) { - try { - gl.destroy(); + // draw white quad + gl.pushMatrix(); + { + gl.translatef(quadPosition.x, quadPosition.y, 0); + gl.rotated(angle, 0.0f, 0.0f, 1.0f); + gl.color3f(1.0f, 1.0f, 1.0f); + gl.begin(GL.QUADS); + { + gl.vertex2i(-50, -50); + gl.vertex2i(50, -50); + gl.vertex2i(50, 50); + gl.vertex2i(-50, 50); + } + gl.end(); + } + gl.popMatrix(); + } - Display.resetDisplayMode(); - gl = new GL("Test", 50, 50, mode.width, mode.height, mode.bpp, 0, 0 ,0); - gl.create(); - glu = new GLU(gl); - - glInit(); - - Keyboard.destroy(); - Keyboard.create(); - } catch(Exception e) { - e.printStackTrace(); - } - } - - //check for speed changes - if(Keyboard.isKeyDown(Keyboard.KEY_UP)) { - quadVelocity.y += 0.1f; - } - if(Keyboard.isKeyDown(Keyboard.KEY_DOWN)) { - quadVelocity.y -= 0.1f; - } - if(Keyboard.isKeyDown(Keyboard.KEY_RIGHT)) { - quadVelocity.x += 0.1f; - } - if(Keyboard.isKeyDown(Keyboard.KEY_LEFT)) { - quadVelocity.x -= 0.1f; - } - - if(Keyboard.isKeyDown(Keyboard.KEY_ADD)) { - angleRotation += 0.1f; - } - if(Keyboard.isKeyDown(Keyboard.KEY_SUBTRACT)) { - angleRotation -= 0.1f; - } - - - //throttle - if(quadVelocity.x < -MAX_SPEED) { - quadVelocity.x = -MAX_SPEED; - } - if(quadVelocity.x > MAX_SPEED) { - quadVelocity.x = MAX_SPEED; - } - if(quadVelocity.y < -MAX_SPEED) { - quadVelocity.y = -MAX_SPEED; - } - if(quadVelocity.y > MAX_SPEED) { - quadVelocity.y = MAX_SPEED; - } - - if(angleRotation < 0.0f) { - angleRotation = 0.0f; - } - if(angleRotation > MAX_SPEED) { - angleRotation = MAX_SPEED; - } - } + /** + * Processes keyboard input + */ + private void processKeyboard() { + Keyboard.poll(); - /** - * Cleans up the test - */ + //check for fullscreen key + if (Keyboard.isKeyDown(Keyboard.KEY_F)) { + + try { + gl.destroy(); + + Display.setDisplayMode(mode); + gl = new GL("Test", mode.bpp, 0, 0, 0); + gl.create(); + glu = new GLU(gl); + + glInit(); + + Keyboard.destroy(); + Keyboard.create(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + //check for window key + if (Keyboard.isKeyDown(Keyboard.KEY_W)) { + try { + gl.destroy(); + + Display.resetDisplayMode(); + gl = new GL("Test", 50, 50, mode.width, mode.height, mode.bpp, 0, 0, 0); + gl.create(); + glu = new GLU(gl); + + glInit(); + + Keyboard.destroy(); + Keyboard.create(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + //check for speed changes + if (Keyboard.isKeyDown(Keyboard.KEY_UP)) { + quadVelocity.y += 0.1f; + } + if (Keyboard.isKeyDown(Keyboard.KEY_DOWN)) { + quadVelocity.y -= 0.1f; + } + if (Keyboard.isKeyDown(Keyboard.KEY_RIGHT)) { + quadVelocity.x += 0.1f; + } + if (Keyboard.isKeyDown(Keyboard.KEY_LEFT)) { + quadVelocity.x -= 0.1f; + } + + if (Keyboard.isKeyDown(Keyboard.KEY_ADD)) { + angleRotation += 0.1f; + } + if (Keyboard.isKeyDown(Keyboard.KEY_SUBTRACT)) { + angleRotation -= 0.1f; + } + + //throttle + if (quadVelocity.x < -MAX_SPEED) { + quadVelocity.x = -MAX_SPEED; + } + if (quadVelocity.x > MAX_SPEED) { + quadVelocity.x = MAX_SPEED; + } + if (quadVelocity.y < -MAX_SPEED) { + quadVelocity.y = -MAX_SPEED; + } + if (quadVelocity.y > MAX_SPEED) { + quadVelocity.y = MAX_SPEED; + } + + if (angleRotation < 0.0f) { + angleRotation = 0.0f; + } + if (angleRotation > MAX_SPEED) { + angleRotation = MAX_SPEED; + } + } + + /** + * Cleans up the test + */ private void cleanup() { gl.destroy(); Keyboard.destroy(); } - /** - * Retrieves a displaymode, if one such is available - * - * @param width Required width - * @param height Required height - * @param bpp Minimum required bits per pixel - * @return - */ + /** + * Retrieves a displaymode, if one such is available + * + * @param width Required width + * @param height Required height + * @param bpp Minimum required bits per pixel + * @return + */ private DisplayMode findDisplayMode(int width, int height, int bpp) { DisplayMode[] modes = Display.getAvailableDisplayModes(); for (int i = 0; i < modes.length; i++) { @@ -305,36 +305,39 @@ public class FullScreenWindowedTest { return modes[i]; } } - return null; + return null; } - - /** - * Initializes OGL - */ - private void glInit() { - // Go into orthographic projection mode. - gl.determineAvailableExtensions(); - gl.matrixMode(GL.PROJECTION); - gl.loadIdentity(); - glu.ortho2D(0, mode.width, 0, mode.height); - gl.matrixMode(GL.MODELVIEW); - gl.loadIdentity(); - gl.viewport(0, 0, mode.width, mode.height); - //set clear color to black - gl.clearColor(0.0f, 0.0f, 0.0f, 0.0f); - - //sync frame (only works on windows) - if (GL.WGL_EXT_swap_control) { - GL.wglSwapIntervalEXT(1); - } - } + /** + * Initializes OGL + */ + private void glInit() { + // Go into orthographic projection mode. + gl.determineAvailableExtensions(); + gl.matrixMode(GL.PROJECTION); + gl.loadIdentity(); + glu.ortho2D(0, mode.width, 0, mode.height); + gl.matrixMode(GL.MODELVIEW); + gl.loadIdentity(); + gl.viewport(0, 0, mode.width, mode.height); - /** - * Test entry point - */ + //set clear color to black + gl.clearColor(0.0f, 0.0f, 0.0f, 0.0f); + + //sync frame (only works on windows) + if (GL.WGL_EXT_swap_control) { + GL.wglSwapIntervalEXT(1); + } + } + + /** + * Test entry point + */ public static void main(String[] args) { - System.out.println("Change between fullscreen and windowed mode, by pressing F and W respectively"); + System.out.println( + "Change between fullscreen and windowed mode, by pressing F and W respectively"); + System.out.println( + "Move quad using arrowkeys, and change rotation using +/-"); FullScreenWindowedTest fswTest = new FullScreenWindowedTest(); fswTest.execute(); }