Skip to content
The Jenkins Controller is preparing for shutdown. No new builds can be started.
Success

Changes

Summary

  1. AWT/GL Printing WIP: Abstract AWT tile painting code out to (details)
  2. Complete commit 54dcdf1f53c9fc1f7124cf77bbf5aa952d42053a, exposing (details)
  3. Fix TileRenderer*: Allow general usage w/ any GL profile, only (details)
  4. TileRenderer*: Fix FBO MSAA use-case, i.e. call swapBuffers() before (details)
  5. TiledPrintingAWTBase: Fix scaling - Fit frame to page, add MSAA (details)
  6. Test: Don't resize frame, tweek print-matrix; AWTPrintLifecycle: Add (details)
  7. doc/Implementation/AWTPrinting: Update to match latest code (details)
  8. Aggregate and cleanup '.ps' and '.pdf' artifacts (printing tests) (details)
Commit 4b5e77961d1c660f3537f4041fc1a3ce47ef105c by Sven Gothel
AWT/GL Printing WIP: Abstract AWT tile painting code out to AWTTilePainter, reused w/ GLCanvas and GLJPanel
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
The file was addedsrc/jogl/classes/jogamp/opengl/awt/AWTTilePainter.java
Commit 42500210d8a8626ee6c3c1b169eaa9e5fbf85a21 by Sven Gothel
Complete commit 54dcdf1f53c9fc1f7124cf77bbf5aa952d42053a, exposing GL2ES3 in GLProfile (just a query, no new profile)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestPNGImage01NEWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/awt/AWTGLReadBufferUtil.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2GLJPanelsAWT.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLProfile.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestJPEGImage01NEWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/TextureIO.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.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/demos/es2/newt/TestElektronenMultipliziererNEWT.java (diff)
Commit 6fe3e99dab9721294a3bf72eaea77af33afc9481 by Sven Gothel
Fix TileRenderer*: Allow general usage w/ any GL profile, only image-buffer requires >= GL2ES3; Always set pack-alignment, Set glReadBuffer(..) >= GL2ES3

- Allow general usage w/ any GL profile, only image-buffer requires >= GL2ES3
  Due to GL2ES3.GL_PACK_ROW_LENGTH and image-width != tile-width

- Always set pack-alignment
  Forgot for tile-buffer

- Set glReadBuffer(..) >= GL2ES3
  Required if using FBO offscreen, i.e. MSAA mode.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/TileRenderer.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/RandomTileRenderer.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/TileRendererBase.java (diff)
Commit 4965923722fe44dfcf7eaff16cd5449707773123 by Sven Gothel
TileRenderer*: Fix FBO MSAA use-case, i.e. call swapBuffers() before endTile(); Enhance unit tests for MSAA, also add TileRendererBase.TileRendererNotify to GearsES2

GL[Auto]Drawable.swapBuffers() must be called before endTile().

This is especially important if using multisampling offscreen FBO drawables,
where swapBuffers() triggers the <i>downsampling</i> to the readable sampling sink.

Otherwise, we will be 'one tile behind' !
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl2/Gears.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/tile/TestTiledRendering2GL2NEWT.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/TileRenderer.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/tile/TestRandomTiledRendering3GL2AWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/tile/TestTiledRendering1GL2NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/tile/TestRandomTiledRendering2GL2NEWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/TileRendererBase.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/tile/TestTiledRendering2NEWT.java
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/RandomTileRenderer.java (diff)
Commit 9b5cee85c299e72735bebbfea5c23d3c71bc704e by Sven Gothel
TiledPrintingAWTBase: Fix scaling - Fit frame to page, add MSAA RenderingHints test; setupPrint(Graphics2D): Query RenderingHints to use MSAA rendering

- AWTPrintLifecycle.setupPrint(Graphics2D): Query RenderingHints to use MSAA rendering
  - Impl. in GLCanvas
  - TODO GLJPanel (would need a new offscreen buffer)

- TiledPrintingAWTBase:
  - Fix scaling - Fit frame to page
  - add MSAA RenderingHints test

- GLCanvas: Remove dumpStack() DEBUG output
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/AWTPrintLifecycle.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/tile/TestTiledPrintingGearsSwingAWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl2/awt/TestGearsAWT.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/tile/TestTiledPrintingGearsAWT.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLFBODrawableImpl.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/tile/TiledPrintingAWTBase.java (diff)
Commit 76048cd784ea6df32f19e97bb228e4ead880ea07 by Sven Gothel
Test: Don't resize frame, tweek print-matrix; AWTPrintLifecycle: Add scale and convenient AWT container traversal context; GLCanvas/GLJPanel properly handle existing MSAA and req. AA;

- Test: Don't resize frame, tweek print-matrix
  - Use scaleComp72 to scale the frame to fit on page,
    i.e. global print matrix

  - Use scaleGLMatXY = 72.0 / glDPI
    to locally scale on the GL drawable as being passed to AWTPrintLifecycle.setup(..)

  - Hence frame stays untouched/stable, no need for 'offscreen' print test,
    which is removed.

- AWTPrintLifecycle: Add scale and convenient AWT container traversal context
  Use a simple decoration for all AWTPrintLifecycle impl. components within a container:

    final AWTPrintLifecycle.Context ctx = AWTPrintLifecycle.Context.setupPrint(frame, g2d, scaleGLMatXY, scaleGLMatXY);
    try {
    } finally {
       ctx.releasePrint();
    }

- GLCanvas/GLJPanel properly handle existing MSAA and req. AA;
  - GLCanvas: Workaround bug where onscreen MSAA cannot switch to offscreen FBO,
              i.e. stay 'onscreen'
  - GLJPanel: Use new offscreen FBO if MSAA is requested and not yet used.

- GLJPanel.Offscreen.postGL(): always swapBufer(), was missing for !GLSL swapping

Results GLCanvas / GLJPanel:
  - Good scaling
  - Stable behavior / visibility
  - High DPI mode works
The file was modifiedsrc/jogl/classes/jogamp/opengl/awt/AWTTilePainter.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/AWTPrintLifecycle.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/tile/TestTiledPrintingGearsSwingAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/tile/TiledPrintingAWTBase.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/awt/AWTMisc.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/tile/TestTiledPrintingGearsAWT.java (diff)
Commit b42918e0271e66829cd630dedfe12a81e0281aec by Sven Gothel
doc/Implementation/AWTPrinting: Update to match latest code
The file was modifieddoc/Implementation/AWTPrinting.txt (diff)
Commit df0f31459ec65835cd9e1741dbbd2b9d10aa0cd6 by Sven Gothel
Aggregate and cleanup '.ps' and '.pdf' artifacts (printing tests)
The file was modifiedmake/build-test.xml (diff)