Bug 904

Summary: GLJPanel: Allow user to skip isGLOriented() based vertical flip of offscreen backend
Product: [JogAmp] Jogl Reporter: Sven Gothel <sgothel>
Component: awtAssignee: Sven Gothel <sgothel>
Status: RESOLVED FIXED    
Severity: enhancement    
Priority: ---    
Version: 2   
Hardware: All   
OS: all   
Type: --- SCM Refs:
ef43f6afc7bdb8d157f1110e3bf8f688c7c9fb50 0302b5f91189a8b2c1e22f5a299f1ea81e599b1e 0db2635c337c59a149f601ef8d72b26ead4353b1 990b25adf6e0b6ab5c79d8ca43bc327fb93a755e f8c2a90129736844a12b76d658cb339a7c36cd9a
Workaround: ---
Bug Depends on:    
Bug Blocks: 905    
Attachments: TestPerf001GLJPanelInit02AWT (log of 3rd consecutive run - file cache)

Description Sven Gothel 2013-11-13 20:37:32 CET

    
Comment 1 Sven Gothel 2013-11-14 13:53:33 CET
ef43f6afc7bdb8d157f1110e3bf8f688c7c9fb50:

    Add new GLJPanel method 'setSkipGLOrientationVerticalFlip(..)':
    
      /**
       * Set skipping {@link #isGLOriented()} based vertical flip,
       * which usually is required by the offscreen backend,
       * see details about <a href="#verticalFlip">vertical flip</a>
       * and <a href="#fboGLSLVerticalFlip">FBO / GLSL vertical flip</a>.
       * <p>
       * If set to <code>true</code>, user needs to flip the OpenGL rendered scene
       * <i>if {@link #isGLOriented()} == true</i>, e.g. via the PMV matrix.<br/>
       * See constraints of {@link #isGLOriented()}.
       * </p>
       */
      public final void setSkipGLOrientationVerticalFlip(boolean v) {
    
    GearsES2: Handles 'flipVerticalInGLOrientation'
    
    Unit test 'TestPerf001GLJPanelInit02AWT' validates and measures performance.
Comment 2 Sven Gothel 2013-11-14 14:02:20 CET
Created attachment 541 [details]
TestPerf001GLJPanelInit02AWT (log of 3rd consecutive run - file cache)
Comment 3 Sven Gothel 2013-11-14 14:58:25 CET
0302b5f91189a8b2c1e22f5a299f1ea81e599b1e
  Property 'jogl.gljpanel.noverticalflip' will set the skipGLOrientationVerticalFlip default to true,
  intended for perf. testing of existing applications.
Comment 4 Sven Gothel 2013-12-10 21:26:11 CET
990b25adf6e0b6ab5c79d8ca43bc327fb93a755e
    'User Vertical Flip' for GLJPanel shall be performed via PROJECTION matrix scaling 
    instead of MODELVIEW rotation to simplify workflow, and to remove artifacts w/ tiled printing.
Comment 5 Sven Gothel 2013-12-10 21:29:16 CET
f8c2a90129736844a12b76d658cb339a7c36cd9a
   'User Vertical Flip' for GLJPanel w/o vertical flip must be considered in AWTTilePainter: 
         'Origin of GL image is still on Bottom'