From: <eli...@us...> - 2006-10-20 10:42:56
|
Revision: 2584 http://svn.sourceforge.net/java-game-lib/?rev=2584&view=rev Author: elias_naur Date: 2006-10-20 03:42:43 -0700 (Fri, 20 Oct 2006) Log Message: ----------- Don't repaint() from a separate thread in AWT demos. This results in a smoother rendering. Modified Paths: -------------- trunk/LWJGL/src/java/org/lwjgl/opengl/LinuxAWTGLCanvasPeerInfo.java trunk/LWJGL/src/java/org/lwjgl/test/opengl/awt/AWTGears.java trunk/LWJGL/src/java/org/lwjgl/test/opengl/awt/AWTTest.java Modified: trunk/LWJGL/src/java/org/lwjgl/opengl/LinuxAWTGLCanvasPeerInfo.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/opengl/LinuxAWTGLCanvasPeerInfo.java 2006-10-11 20:26:35 UTC (rev 2583) +++ trunk/LWJGL/src/java/org/lwjgl/opengl/LinuxAWTGLCanvasPeerInfo.java 2006-10-20 10:42:43 UTC (rev 2584) @@ -51,12 +51,12 @@ } protected void doLockAndInitHandle() throws LWJGLException { - int screen = -1; - try { + int screen = 0;//-1; +/* try { screen = LinuxCanvasImplementation.getScreenFromDevice(canvas.getGraphicsConfiguration().getDevice()); } catch (LWJGLException e) { LWJGLUtil.log("Got exception while trying to determine screen: " + e); - } + }*/ nInitHandle(screen, awt_surface.lockAndGetHandle(canvas), getHandle()); } private static native void nInitHandle(int screen, ByteBuffer surface_buffer, ByteBuffer peer_info_handle) throws LWJGLException; Modified: trunk/LWJGL/src/java/org/lwjgl/test/opengl/awt/AWTGears.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/test/opengl/awt/AWTGears.java 2006-10-11 20:26:35 UTC (rev 2583) +++ trunk/LWJGL/src/java/org/lwjgl/test/opengl/awt/AWTGears.java 2006-10-20 10:42:43 UTC (rev 2584) @@ -116,6 +116,7 @@ GL11.glPopMatrix(); swapBuffers(); + repaint(); } catch (LWJGLException e) { throw new RuntimeException(e); } @@ -139,17 +140,6 @@ }); setResizable(true); setVisible(true); - - new Thread() { - { - setDaemon(true); - } - public void run() { - for (;;) { - canvas0.repaint(); - } - } - }.start(); } private void setup() { Modified: trunk/LWJGL/src/java/org/lwjgl/test/opengl/awt/AWTTest.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/test/opengl/awt/AWTTest.java 2006-10-11 20:26:35 UTC (rev 2583) +++ trunk/LWJGL/src/java/org/lwjgl/test/opengl/awt/AWTTest.java 2006-10-20 10:42:43 UTC (rev 2584) @@ -53,7 +53,7 @@ /** AWT GL canvas */ private AWTGLCanvas canvas0, canvas1; - private float angle; + private volatile float angle; /** * C'tor @@ -80,6 +80,7 @@ GL11.glRectf(-50.0f, -50.0f, 50.0f, 50.0f); GL11.glPopMatrix(); swapBuffers(); + repaint(); } catch (LWJGLException e) { throw new RuntimeException(e); } @@ -89,6 +90,7 @@ add(canvas1 = new AWTGLCanvas() { public void paintGL() { try { + angle += 1.0f; makeCurrent(); GL11.glViewport(0, 0, getWidth(), getHeight()); GL11.glClearColor(0.0f, 1.0f, 0.0f, 1.0f); @@ -103,6 +105,7 @@ GL11.glRectf(-50.0f, -50.0f, 50.0f, 50.0f); GL11.glPopMatrix(); swapBuffers(); + repaint(); } catch (LWJGLException e) { throw new RuntimeException(e); } @@ -117,24 +120,6 @@ }); setResizable(true); setVisible(true); - - new Thread() { - { - setDaemon(true); - } - public void run() { - for (;;) { - angle += 1.0f; - canvas0.repaint(); - canvas1.repaint(); - try { - sleep(20); - } catch (InterruptedException e) { - break; - } - } - } - }.start(); } public static void main(String[] args) throws LWJGLException { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |