public void run(){ initInThread(); do { listener.update(); if (frameRate > 0) { sync(frameRate); } } while (!needClose.get()); deinitInThread(); logger.fine("NullContext destroyed."); }
protected void runLoop(){ if (!created.get()) { throw new IllegalStateException(); } listener.update(); checkGLError(); renderer.postFrame(); int frameRate = settings.getFrameRate(); if (frameRate >= 1) { //FIXME } }
private void updateInThread(){ // Check if throttle required boolean needThrottle = true; for (AwtPanel panel : panels){ if (panel.isActiveDrawing()){ needThrottle = false; break; } } if (lastThrottleState != needThrottle){ lastThrottleState = needThrottle; if (lastThrottleState){ System.out.println("OGL: Throttling update loop."); }else{ System.out.println("OGL: Ceased throttling update loop."); } } if (needThrottle) { try { Thread.sleep(100); } catch (InterruptedException ex) { } } listener.update(); for (AwtPanel panel : panels){ panel.onFrameEnd(); } }
listener.update(); if (autoFlush) { renderer.postFrame();
@Override public void display(GLAutoDrawable glad) { if (!created.get() && renderer != null){ listener.destroy(); logger.fine("Canvas destroyed."); super.internalDestroy(); return; } int newWidth = Math.max(canvas.getWidth(), 1); int newHeight = Math.max(canvas.getHeight(), 1); if (width != newWidth || height != newHeight) { width = newWidth; height = newHeight; if (listener != null) { listener.reshape(width, height); } } boolean flush = autoFlush.get(); if (flush && !wasAnimating){ animator.start(); wasAnimating = true; }else if (!flush && wasAnimating){ animator.stop(); wasAnimating = false; } listener.update(); renderer.postFrame(); }
@Override public void display(GLAutoDrawable glad) { if (!created.get() && renderer != null){ listener.destroy(); logger.fine("Canvas destroyed."); super.internalDestroy(); return; } int newWidth = Math.max(canvas.getWidth(), 1); int newHeight = Math.max(canvas.getHeight(), 1); if (width != newWidth || height != newHeight) { width = newWidth; height = newHeight; if (listener != null) { listener.reshape(width, height); } } boolean flush = autoFlush.get(); if (flush && !wasAnimating){ animator.start(); wasAnimating = true; }else if (!flush && wasAnimating){ animator.stop(); wasAnimating = false; } listener.update(); renderer.postFrame(); }
throw new IllegalStateException(); listener.update();
listener.update();
listener.update();
listener.update(); renderer.postFrame();
listener.update(); renderer.postFrame();
protected void runLoop(){ if (!created.get()) { throw new IllegalStateException(); } if (pbuffer.isBufferLost()) { pbuffer.destroy(); try { pbuffer = new Pbuffer(width, height, pixelFormat, null); pbuffer.makeCurrent(); // Context MUST be reset here to avoid invalid objects! renderer.invalidateState(); } catch (LWJGLException ex) { listener.handleError("Failed to restore pbuffer content", ex); } } listener.update(); assert checkGLError(); renderer.postFrame(); // Need to flush GL commands // to see any result on the pbuffer's front buffer. GL11.glFlush(); int frameRate = settings.getFrameRate(); if (frameRate >= 1) { Display.sync(frameRate); } }
public void run(){ initInThread(); do { listener.update(); if (frameRate > 0) { sync(frameRate); } } while (!needClose.get()); deinitInThread(); logger.fine("NullContext destroyed."); }
protected void runLoop(){ if (!created.get()) { throw new IllegalStateException(); } listener.update(); checkGLError(); renderer.postFrame(); int frameRate = settings.getFrameRate(); if (frameRate >= 1) { //FIXME } }
public void run(){ initInThread(); while (!needClose.get()){ listener.update(); if (frameRate > 0) sync(frameRate); } deinitInThread(); logger.info("NullContext destroyed."); }
private void updateInThread(){ // Check if throttle required boolean needThrottle = true; for (AwtPanel panel : panels){ if (panel.isActiveDrawing()){ needThrottle = false; break; } } if (lastThrottleState != needThrottle){ lastThrottleState = needThrottle; if (lastThrottleState){ System.out.println("OGL: Throttling update loop."); }else{ System.out.println("OGL: Ceased throttling update loop."); } } if (needThrottle) { try { Thread.sleep(100); } catch (InterruptedException ex) { } } listener.update(); for (AwtPanel panel : panels){ panel.onFrameEnd(); } }
if (!alreadyDestroying) listener.update();
@Override public void display(GLAutoDrawable glad) { if (!created.get() && renderer != null){ listener.destroy(); logger.fine("Canvas destroyed."); super.internalDestroy(); return; } int newWidth = Math.max(canvas.getWidth(), 1); int newHeight = Math.max(canvas.getHeight(), 1); if (width != newWidth || height != newHeight) { width = newWidth; height = newHeight; if (listener != null) { listener.reshape(width, height); } } boolean flush = autoFlush.get(); if (flush && !wasAnimating){ animator.start(); wasAnimating = true; }else if (!flush && wasAnimating){ animator.stop(); wasAnimating = false; } listener.update(); renderer.postFrame(); }
@Override public void display(GLAutoDrawable glad) { if (!created.get() && renderer != null){ listener.destroy(); logger.fine("Canvas destroyed."); super.internalDestroy(); return; } int newWidth = Math.max(canvas.getWidth(), 1); int newHeight = Math.max(canvas.getHeight(), 1); if (width != newWidth || height != newHeight) { width = newWidth; height = newHeight; if (listener != null) { listener.reshape(width, height); } } boolean flush = autoFlush.get(); if (flush && !wasAnimating){ animator.start(); wasAnimating = true; }else if (!flush && wasAnimating){ animator.stop(); wasAnimating = false; } listener.update(); renderer.postFrame(); }
protected void runLoop(){ if (!created.get()) { throw new IllegalStateException(); } if (pbuffer.isBufferLost()) { pbuffer.destroy(); try { pbuffer = new Pbuffer(width, height, pixelFormat, null); pbuffer.makeCurrent(); // Context MUST be reset here to avoid invalid objects! renderer.invalidateState(); } catch (LWJGLException ex) { listener.handleError("Failed to restore pbuffer content", ex); } } listener.update(); checkGLError(); renderer.postFrame(); // Need to flush GL commands // to see any result on the pbuffer's front buffer. GL11.glFlush(); int frameRate = settings.getFrameRate(); if (frameRate >= 1) { Display.sync(frameRate); } }