UnstableChanges

Summary

  1. AnimatorBase.finishLifecycleAction(): Non blocking call shall return (details)
  2. FPSAnimator: Align code and pause/resume conditions w/ Animator, (details)
  3. FPSAnimator: Remove toString() override as accidently added in commit (details)
  4. Gears* Demos: Spin at same speed (0.5f tan per frame) ; GearsES2: Bring (details)
  5. GLJPanel: Allow reconfiguration of offscreen's GLCapabilitiesImmutable (details)
  6. Tests: Util NEWTGLContext: Utilize common createWindow(..) function, (details)
Commit 424066616b085b36d88a39d56a618ea57cebc9e9 by Sven Gothel
AnimatorBase.finishLifecycleAction(): Non blocking call shall return true, success - otherwise pause()/.. return value is inconsistent.

Caller of e.g. pause() running on the anim-thread or AWT-EDT (AWTAnimatorImpl)
will be non-blocking.

Before this change, a non-blocking simply did not wait until the 'hold' condition is reached
and returned its negated value.
This ofc is 'false', indicated unsuccessful operation.

Caller use the return value to determine whether the call actually paused (or ..)
the animator. Despite the non-blocking nature, the pause state was set, even if not reached.

Hence a resume() would be required to continue operation after a temporary pause.

+++

This change ignores the non-blocking nature's unmet condition.
finishLifecycleAction() returns !nok || !blocking,
i.e. either true for the reached condition (blocking) or true if non-blocking.
Blocking calls with unmet condition still return false.

+++

In case an animated GLAutoDrawableis being pulled after a non-blocking animator pause() call,
the GLAutoDrawable's implementation thread-safety must ensure proper operation.

+++
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/Animator.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
Commit fa0115efb3989c28af21fc5f570ae49723566107 by Sven Gothel
FPSAnimator: Align code and pause/resume conditions w/ Animator, simplifying review.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/FPSAnimator.java (diff)
Commit 6afc739fc2d5e4378508f2fcdac8f3951eee879c by Sven Gothel
FPSAnimator: Remove toString() override as accidently added in commit fa0115efb3989c28af21fc5f570ae49723566107
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/FPSAnimator.java (diff)
Commit 46a2de9a202c6c5e37bbf40fe2fde9b675f5e34e by Sven Gothel
Gears* Demos: Spin at same speed (0.5f tan per frame) ; GearsES2: Bring back default Z values, allow Z customization (StereoDemo01)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl2/Gears.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/stereo/StereoDemo01.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es1/GearsES1.java (diff)
Commit 026dd9a12058257483bbff1259dd89bf2040ddab by Sven Gothel
GLJPanel: Allow reconfiguration of offscreen's GLCapabilitiesImmutable

Offscreen's GLCapabilitiesImmutable reconfiguration will dispose a realized instance
and issues recreation via initializeBackendImpl() immedietly.

Implementation performs operation on AWT-EDT.

Tests:
  - TestGearsES2GLJPanelAWT:
      - Toggle MSAA via 'm'

  - TestGearsGLJPanelAWT:
      - Toggle MSAA via 'm'
      - Toggle Bitmap via 'b'
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl2/awt/TestGearsGLJPanelAWT.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2GLJPanelAWT.java (diff)
Commit 500ed18de822527acdd10f9295122ad3b3e7762b by Sven Gothel
Tests: Util NEWTGLContext: Utilize common createWindow(..) function, switch on-/offscreen via capabilities (Fixes TestTextRendererNEWTBugXXXX)

TestTextRendererNEWTBugXXXX used NEWTGLContext.createOffscreenWindow(..) which created an pbuffer based offscreen
not capable of ES2 rendering etc.

Offscreen tests use NEWTGLContext.createWindow(..) w/ caps.setOnscreen(false),
hence favor FBO instances.
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestMapBufferRead01NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/glsl/TestGLSLShaderState01NEWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT10.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWTBugXXXX.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestGPUMemSec01NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestFBOMRTNEWT01.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/glsl/TestGLSLShaderState02NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/glsl/TestTransformFeedbackVaryingsBug407NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/NEWTGLContext.java (diff)