Jogamp
users/mraynsford/jogl.git
5 years agoFIX JOGL's index.html - Reminder to myself: Always check web pages befor pushing... master origin/HEAD origin/master origin/pulled origin/rc
Sven Gothel [Thu, 5 Jul 2012 12:57:54 +0000 (14:57 +0200)]
FIX JOGL's index.html - Reminder to myself: Always check web pages befor pushing them :)

5 years agoGLContext adds FBO availability to profile mapping; Fix GL[Auto]Drawable/GLContext...
Sven Gothel [Thu, 5 Jul 2012 12:57:18 +0000 (14:57 +0200)]
GLContext adds FBO availability to profile mapping; Fix GL[Auto]Drawable/GLContext re-association (switch) incl. unit test.

- GLContext adds FBO availability to profile mapping

- GLContext added 'GLDrawable setGLDrawable(GLDrawable readWrite, boolean setWriteOnly)'
  allowing to set the write GLDrawable. This method enables switching context/drawable.

Fix GL[Auto]Drawable/GLContext re-association (switch) incl. unit test
  Commit eed8508ae1132e5f45f788e9cb3f3d5a1050ac70 impl. of GLAutoDrawable's setContext(..)
  enabled proper setting of the GLAutoDrawable context incl. updating the context's drawables.
  Test covers:
  - remove/set (GLContext, GLEventListener) of GL[Auto]Drawable
  - switch (GLContext, GLEventListener) of 2 GLAutoDrawables

5 years agoNEWT/KD Adapt to 'new' KD Window Creation API, use EGLConfig
Sven Gothel [Thu, 5 Jul 2012 12:32:48 +0000 (14:32 +0200)]
NEWT/KD Adapt to 'new' KD Window Creation API, use EGLConfig

5 years agoNativeWindow/Newt X11ErrorHandler enhancement / unification - don't throw exceptions...
Sven Gothel [Thu, 5 Jul 2012 12:32:00 +0000 (14:32 +0200)]
NativeWindow/Newt X11ErrorHandler enhancement / unification - don't throw exceptions. Handles also XAWT BadMatch X_SetInputFocus.

X11ErrorHandler code now dumps proper information about the opcode and error message and the running Java thread.

Having propery "nativewindow.debug.X11Util.XErrorStackDump" or "nativewindow.debug=all' set,
a stack trace is dumped.

Since the X11ErrorHandler may catch an XAWT error: BadMatch X_SetInputFocus,
we cannot throw an exception and better keep running.

5 years agoGLAutoDrawable* refinement of abstraction / generalization - API Change!
Sven Gothel [Wed, 4 Jul 2012 16:02:11 +0000 (18:02 +0200)]
GLAutoDrawable* refinement of abstraction / generalization - API Change!

- GLAutoDrawable (compat change - recompile):
  - 'void invoke(boolean wait, GLRunnable glRunnable)' -> 'boolean invoke(boolean wait, GLRunnable glRunnable)'
    Allows notifying caller whether the task has been executed or at least enqueued.

- GLAutoDrawable add 'GLEventListener removeGLEventListener(int index)'
  - This allow one to remove a specific GLEventListener and reusing it (return value).

- GLDrawableImpl remove 'destroy()' to favor 'setRealized(false)'
  - Using more common code of GLAutoDrawableBase, i.e. GLPbufferImpl can use defaultDestroyOp().
  - Removes redundancy of methods

- GLAutoDrawableBase/Delegate
  - better 'default' names to emphasize it's purpose, adding API doc

  - includes more generic functionality
    - defaultWindowDestroyNotify()
    - defaultDestroyOp()

  - TestGLAutoDrawableDelegateNEWT demonstrates a simple example w/ all window events handled.

- Fix TestParenting01cSwingAWT's threading use (gl disturbance thread)

5 years agoGLAutoDrawable: Refine API doc; Use new abstract impl. GLAutoDrawableBase (GLWindow...
Sven Gothel [Mon, 2 Jul 2012 17:42:52 +0000 (19:42 +0200)]
GLAutoDrawable: Refine API doc; Use new abstract impl. GLAutoDrawableBase (GLWindow, ..); Add new GLAutoDrawableDelegate.

- Refine API doc
  - 'void setContext(GLContext)' -> 'GLContext setContext(GLContext)'
  - Add note to createContext(GLContext) override

-Use new abstract impl. GLAutoDrawableBase, used by:
  - GLWindow
  - GLAutoDrawableDelegate
  - GLPbufferImpl

- Add new GLAutoDrawableDelegate incl. unit test

5 years agoTest case cleanup
Sven Gothel [Mon, 2 Jul 2012 17:24:16 +0000 (19:24 +0200)]
Test case cleanup

- Gears w/ 640x480 size and proper aspect ratio frustum
- query type of drawable.getNativeSurface() instead of auto-drawable itself
- RedSquareES2 allow setting no-rotation and aspect-ratio for frustum
- TestInitConcurrentNEWT: Don't use vsync

5 years agoFix Bug 597: XDisplayString(0) -> SIGSEGV; Handle n/a DISPLAY
Sven Gothel [Sat, 30 Jun 2012 13:44:55 +0000 (15:44 +0200)]
Fix Bug 597: XDisplayString(0) -> SIGSEGV; Handle n/a DISPLAY

It works now as follows:

Note: Remote connection tested using ssh to localhost or an actual remote
machine.

Test w/ proper X11 authentication, i.e. DISPLAY and xauth:

> cd projects/JOGL/jogl-bugs/597-headless/
> echo $DISPLAY
localhost:10.0

> xclock
'works'

T1.1 OK> java plop
jogamp.opengl.x11.glx.X11GLXDrawableFactory@f581593

T1.2 OK> java -Djava.awt.headless=true plop
jogamp.opengl.x11.glx.X11GLXDrawableFactory@6f34a7d8

+++

Test _without_ proper X11 authentication, i.e. DISPLAY and xauth:

> xclock
No protocol specified
No protocol specified
Error: Can't open display: :0.0

T2.1 OK> java plop
No protocol specified
No protocol specified
Exception in thread "main" java.lang.InternalError: Can't connect to X11 window
server using ':0.0' as the value of the DISPLAY variable.
   (Stack trace from:
        GLProfile.initProfilesForDefaultDevices(..) ->
        NativeWindowFactory.initSingleton(..) ->
        JAWTUtil.<clinit>->
        sun.awt.X11.XToolkit.<clinit> ->
        sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)

T2.2 OK> java -Djava.awt.headless=true plop
No protocol specified
No protocol specified
...
jogamp.opengl.x11.glx.X11GLXDrawableFactory@394a8cd1

5 years agoFix Bug #589 (JAWT Offscreen-Layer resize) and Offscreen-Layer setSwapInterval()...
Sven Gothel [Sat, 30 Jun 2012 03:14:34 +0000 (05:14 +0200)]
Fix Bug #589 (JAWT Offscreen-Layer resize) and Offscreen-Layer setSwapInterval() deadlock; Reuse JAWT instance; Cleanup

- Fixes
  - OSXUtil.CreateCALayer*(..): Pass layer target size (if known).
    This fixes Bug #589

  - MacOSXWindowSystemInterface-pbuffer.m:
     - ALL: displayLink NULL check

     - setSwapInterval(..): lock only for variable setting,
       could deadlock when start/stop CVDisplayLink

  - JAWTWindow.destroy(): use 'surfaceLock' instead of 'synchronized'

- Cleanup / Performance
  - JAWTWindow.lockSurface(): Reuse JAWT instance

  - MacOSXJAWTWindow: AttachJAWTSurfaceLayer0(..) -> SetJAWTRootSurfaceLayer0(..)
                      Reflects semantic better.

- DEBUG
  - JAWTWindow.updateBounds(..) notify of bounds change

5 years agoJAWTUtil/MacOSXWindowSystemInterface-pbuffer: Cleanup / More DEBUG info
Sven Gothel [Sat, 30 Jun 2012 01:39:33 +0000 (03:39 +0200)]
JAWTUtil/MacOSXWindowSystemInterface-pbuffer: Cleanup / More DEBUG info

JAWTUtil.getJAWT(..):
  - better local var names
  - one time init
  - add DEBUG trace
JAWTUtil.<init>:
  - add offscreenLayer info

MacOSXWindowSystemInterface-pbuffer.m:
  - remove warning: access of protected vars from outside class
  - better local var names
  - more DEBUG info (pbuffer texture)

5 years agoGLContextImpl/GLDrawableImpl: More fail-safe, cleanup, mark some methods final
Sven Gothel [Fri, 29 Jun 2012 02:15:21 +0000 (04:15 +0200)]
GLContextImpl/GLDrawableImpl: More fail-safe, cleanup, mark some methods final

GLContextImpl: Cleanup
  - release(): simplify the conditions
  - destroy(): allow locked twice before (destroy case)

GLDrawableImpl:
  - fail safe: swapBuffers
  - final methods: getFactoryImpl, toHexString, getGLProfile, getRequestedGLCapabilities,
                   getFactory, isRealized, lockSurface, unlockSurface

5 years agoNativeSurface.unlockSurface(): Change fail-fast policy to fail safe tolerant
Sven Gothel [Fri, 29 Jun 2012 02:09:48 +0000 (04:09 +0200)]
NativeSurface.unlockSurface(): Change fail-fast policy to fail safe tolerant

- This policy allows more simple destruction handling w/o validating on the top level.

- Hence 'unlockSurface()' shall not throw any exception.

- 'lockSurface()' keeps unchanges, clarified w/ explicit 'throws' declaration,
  ie will fail-fast.

5 years agoMinor cleanup
Sven Gothel [Fri, 29 Jun 2012 01:59:22 +0000 (03:59 +0200)]
Minor cleanup

5 years agoBug #589 - Enhance snapshot/textIO test: Add offscreen mode; Add AWT onscreen/offscre...
Sven Gothel [Thu, 28 Jun 2012 19:59:00 +0000 (21:59 +0200)]
Bug #589 - Enhance snapshot/textIO test: Add offscreen mode; Add AWT onscreen/offscreen-layer resize test.

5 years agoAWT/SWT GLCanvas: Remove volatile of context instance, use drawable instance's volati...
Sven Gothel [Thu, 28 Jun 2012 19:46:10 +0000 (21:46 +0200)]
AWT/SWT GLCanvas: Remove volatile of context instance, use drawable instance's volatile 'feature'

5 years agoNEWT GLWindow multithreading fix and annotations (see commit bc7503c77892a9e14b10e8b8...
Sven Gothel [Thu, 28 Jun 2012 19:39:37 +0000 (21:39 +0200)]
NEWT GLWindow multithreading fix and annotations (see commit bc7503c77892a9e14b10e8b8e9ce48b148c6fa4c).

NEWT GLWindow multithreading fix:
  - Add required locking of display(), otherwise a drawable/context destruction of another threads
    could lead to [still] use asynced data.

5 years agoSWT/AWT GLCanvas multithreading annotations (see commit 1a91ec5c8b6fd9d9db7bc115569c3...
Sven Gothel [Thu, 28 Jun 2012 19:32:48 +0000 (21:32 +0200)]
SWT/AWT GLCanvas multithreading annotations (see commit 1a91ec5c8b6fd9d9db7bc115569c369fe7b38e9b) ; AWT GLCanvas remove dead code.

5 years agoSWT GLCanvas: Fix destroy(), Remove local concurrency hack & out-of-process locking...
Sven Gothel [Thu, 28 Jun 2012 19:22:30 +0000 (21:22 +0200)]
SWT GLCanvas: Fix destroy(), Remove local concurrency hack & out-of-process locking ; Revise threading code; Proper name for SWT unit tests.

SWT GLCanvas:
  - Fix destroy()
    drawable.setRealized(false); is being called within dispose() method

  - Remove local concurrency hack
    [MT-0] The hack: 'final GLContext ctx = getContext(); a = null != ctx ? ctx.something() : 0;'
    is thread safe locally, however, w/o covering the hole use case of the caller
    it makes no sense to add thread safe code here - would be only an illusion.
    In case any of the methods are called outside of a locked state
    extra care should be added. Maybe we shall expose locking facilities to the user.
    However, since the user shall stick to the GLEventListener model while utilizing
    GLAutoDrawable implementations, she is safe due to the implicit locked state.

  - Removing out-of-process locking
    [MT-1] Claiming the recursive lock in the dispose/display/.. methods
    and _then_ issuing a complex off-thread GL task could lead to deadlock.
    The GL task could involve calling GLEventListener methods, which itself
    could try to manipulate the GLCanvas -> deadlock.
    Similar to [MT-0] we may need to either find a proper locking mechanism
    or simply ignore it and reduce functionality.
    TBH .. the number of scenarious of the mentioned deadlock are very limited
    and exotic.

  - Revise threading code
    [MT-2] Besides the other MT-* remarks, the logic whether to spawn off
    the GL task and determination which thread to use is too complex and redundant.
    (See isRenderThread(), runInGLThread() and runInDesignatedGLThread())

  - Proper name for SWT unit tests.
    Reflect the semantics.

5 years agoGLContext* TRACE_SWITCH: Add GLContext instance hash value to allow tracking.
Sven Gothel [Thu, 28 Jun 2012 18:56:25 +0000 (20:56 +0200)]
GLContext* TRACE_SWITCH: Add GLContext instance hash value to allow tracking.

5 years agoGLDrawable* cleanup: Add @Override, remove trailing whitespace, ..
Sven Gothel [Thu, 28 Jun 2012 16:37:55 +0000 (18:37 +0200)]
GLDrawable* cleanup: Add @Override, remove trailing whitespace, ..

5 years agoCapabilities cleanup: make most get*() final, impl. Comparable to CapabilitiesImmutab...
Sven Gothel [Wed, 27 Jun 2012 04:16:09 +0000 (06:16 +0200)]
Capabilities cleanup: make most get*() final, impl. Comparable to CapabilitiesImmutable, Misc ..

- Comparable<CapabilitiesImmutable> to CapabilitiesImmutable:
  "interface CapabilitiesImmutable extends VisualIDHolder, WriteCloneable" ->
  "interface CapabilitiesImmutable extends VisualIDHolder, WriteCloneable, Comparable<CapabilitiesImmutable>"

- CapabilitiesImmutable and GLCapabilitiesImmutable get-methods final (most)

- GLCapabilitiesImmutable.compareTo: add doubleBuffered (between stereo and samples)

Misc:
  - Add @Override
  - remove trailing whitespace,

5 years agoMisc cleanup: Add @Override, remove trailing whitespace
Sven Gothel [Wed, 27 Jun 2012 03:40:32 +0000 (05:40 +0200)]
Misc cleanup: Add @Override, remove trailing whitespace

5 years agoMisc cleanup: Add @Override, remove trailing whitespace
Sven Gothel [Wed, 27 Jun 2012 03:24:56 +0000 (05:24 +0200)]
Misc cleanup: Add @Override, remove trailing whitespace

5 years agoMisc cleanup: add @Override
Sven Gothel [Wed, 27 Jun 2012 03:06:07 +0000 (05:06 +0200)]
Misc cleanup: add @Override

5 years agoNativeSurface Cleanup (API Change) - Adapt to GlueGen Lock cleanup commit: 834b9e530e...
Sven Gothel [Wed, 27 Jun 2012 03:05:36 +0000 (05:05 +0200)]
NativeSurface Cleanup (API Change) - Adapt to GlueGen Lock cleanup commit: 834b9e530e652b7ff7c5e222720bce3ad2b11c5f

- adapt to GlueGen Lock cleanup
- remove isSurfaceLocked(), use 'null != getSurfaceLockOwner()' instead

Misc:

- remove unused priv./impl. methods
- add @Override

5 years agoNEWT WindowImpl.runOnEDTIfAvail(..): Run task from current thread if owning the windo...
Sven Gothel [Wed, 27 Jun 2012 00:49:18 +0000 (02:49 +0200)]
NEWT WindowImpl.runOnEDTIfAvail(..): Run task from current thread if owning the windowLock. Avoiding deadlock when cmds issued from within locked code path.

This allows e.g. GLEventListener::display(..) { .. glWindow.setSize(100, 100); .. }

5 years agoFix commit a393e45613d87101dbb13763df263c2f9291d2d0: jogl's cg native lib is jogl_cg...
Sven Gothel [Tue, 26 Jun 2012 21:47:29 +0000 (23:47 +0200)]
Fix commit a393e45613d87101dbb13763df263c2f9291d2d0: jogl's cg native lib is jogl_cg (jar packaging)

5 years agoComplete Bug #598 - Commit a393e45613d87101dbb13763df263c2f9291d2d0
Sven Gothel [Tue, 26 Jun 2012 10:36:58 +0000 (12:36 +0200)]
Complete Bug #598 - Commit a393e45613d87101dbb13763df263c2f9291d2d0

5 years agoImplement Bug #598 - JOGL ALL JAR File Change incl. it's Native Jar URL Derivation
Sven Gothel [Tue, 26 Jun 2012 08:44:08 +0000 (10:44 +0200)]
Implement Bug #598 - JOGL ALL JAR File Change incl. it's Native Jar URL Derivation

- Depends on GlueGen commit 9a71703904ebfec343fb2c7266343d37a2e4c3db

JAR file name changes:

ALL JARs:
 - jogl.all.jar                -> jogl-all.jar
 - jogl.all-noawt.jar          -> jogl-all-noawt.jar
 - jogl.all-mobile.jar         -> jogl-all-mobile.jar
 - jogl.all-android.jar        -> jogl-all-android.jar
 - jogl.all-android.apk        -> jogl-all-android.apk

Atomic JARs:
-  nativewindow.core.jar       -> nativewindow-core.jar
-  nativewindow.awt.jar        -> nativewindow-awt.jar
-  nativewindow.os.x11.jar     -> nativewindow-os-x11.jar
-  nativewindow.os.win.jar     -> nativewindow-os-win.jar
-  nativewindow.os.macosx.jar  -> nativewindow-os-osx.jar

-  jogl.core.jar               -> jogl-core.jar
-  jogl.sdk.jar                -> jogl-sdk.jar
-  jogl.glmobile.jar           -> jogl-glmobile.jar
-  jogl.glmobile.dbg.jar       -> jogl-glmobile-dbg.jar
-  jogl.util.jar               -> jogl-util.jar
-  jogl.glutess.jar            -> jogl-glutess.jar
-  jogl.glumipmap.jar          -> jogl-glumipmap.jar
-  jogl.util.fixedfuncemu.jar  -> jogl-util-fixedfuncemu.jar
-  jogl.awt.jar                -> jogl-awt.jar
-  jogl.swt.jar                -> jogl-swt.jar
-  jogl.util.awt.jar           -> jogl-util-awt.jar
-  jogl.os.x11.jar             -> jogl-os-x11.jar
-  jogl.os.win.jar             -> jogl-os-win.jar
-  jogl.os.osx.jar             -> jogl-os-osx.jar
-  jogl.os.android.jar         -> jogl-os-android.jar
-  jogl.gldesktop.jar          -> jogl-gldesktop.jar
-  jogl.gldesktop.dbg.jar      -> jogl-gldesktop-dbg.jar
-  jogl.glugldesktop.jar       -> jogl-glu-gldesktop.jar
-  jogl.util.gldesktop.jar     -> jogl-util-gldesktop.jar
-  jogl.omx.jar                -> jogl-omx.jar
-  jogl.cg.jar                 -> jogl-cg.jar

-  newt.core.jar               -> newt-core.jar
-  newt.ogl.jar                -> newt-ogl.jar
-  newt.awt.jar                -> newt-awt.jar
-  newt.event.jar              -> newt-event.jar
-  newt.driver.x11.jar         -> newt-driver-x11.jar
-  newt.driver.win.jar         -> newt-driver-win.jar
-  newt.driver.macosx.jar      -> newt-driver-osx.jar
-  newt.driver.android.jar     -> newt-driver-android.jar
-  newt.driver.kd.jar          -> newt-driver-kd.jar
-  newt.driver.intelgdl.jar    -> newt-driver-intelgdl.jar
-  newt.driver.broadcomegl.jar -> newt-driver-broadcomegl.jar

Test JARs:
 - jogl.test.jar               -> jogl-test.jar
 - jogl.test-android.jar       -> jogl-test-android.jar
 - jogl.test-android.apk       -> jogl-test-android.apk

5 years agotest script
Sven Gothel [Mon, 25 Jun 2012 20:09:11 +0000 (22:09 +0200)]
test script

5 years agoFix path derivation of J2RE_HOME and JAVA_HOME
Sven Gothel [Mon, 25 Jun 2012 20:09:00 +0000 (22:09 +0200)]
Fix path derivation of J2RE_HOME and JAVA_HOME

5 years agoAdd screenshot AWT version: TestGLReadBufferUtilTextureIOWrite01AWT
Sven Gothel [Mon, 25 Jun 2012 06:57:42 +0000 (08:57 +0200)]
Add screenshot AWT version: TestGLReadBufferUtilTextureIOWrite01AWT

5 years agoTests [Multisample, Offscreen, ..]: Add Snapshots and store them in current directory...
Sven Gothel [Mon, 25 Jun 2012 04:41:57 +0000 (06:41 +0200)]
Tests [Multisample, Offscreen, ..]: Add Snapshots and store them in current directory instead of tempdir, so they get archived (CI/jenkins).

Multisample/TestGLReadBufferUtilTextureIOWrite01NEWT: Add offscreen test

5 years agoJOGL CapabilitiesChooser-API and impl.: Cleanup using generics: 'List l' -> 'List...
Sven Gothel [Thu, 21 Jun 2012 18:14:46 +0000 (20:14 +0200)]
JOGL CapabilitiesChooser-API and impl.: Cleanup using generics: 'List l' -> 'List<? extends CapabilitiesImmutable> l'

5 years agoNEWT: Add virtual on-screen keyboard visibility interface methods incl. Android imple...
Sven Gothel [Thu, 21 Jun 2012 17:43:59 +0000 (19:43 +0200)]
NEWT: Add virtual on-screen keyboard visibility interface methods incl. Android implementation.

Note: Currently only w/ Android implementation.

Note: On Android there is no way to reliably be notified of the current keyboard state.
      It would be best, if your code does not rely on this information

Window adds:
  - setKeyboardVisible(boolean)
  - isKeyboardVisible() // unreliable on Android

5 years agoFix regression (commit a6e7b6cc08cea358c157320ff9d61d424c57e92b) of jogl.test-android... v2.0-rc9
Sven Gothel [Tue, 19 Jun 2012 03:23:28 +0000 (05:23 +0200)]
Fix regression (commit a6e7b6cc08cea358c157320ff9d61d424c57e92b) of jogl.test-android*.apk's manifest: Remove 'Trusted-Library: true'

5 years agoFix regression (commit a6e7b6cc08cea358c157320ff9d61d424c57e92b) of jogl.test.jar...
Sven Gothel [Tue, 19 Jun 2012 03:06:24 +0000 (05:06 +0200)]
Fix regression (commit a6e7b6cc08cea358c157320ff9d61d424c57e92b) of jogl.test.jar manifest: Remove 'Trusted-Library: true'

5 years agoFix regression of commit 54d0ff131097a2cd9a91a0c1dd84deb8b1f7d0ac in build-newt.xml...
Sven Gothel [Mon, 18 Jun 2012 23:43:12 +0000 (01:43 +0200)]
Fix regression of commit 54d0ff131097a2cd9a91a0c1dd84deb8b1f7d0ac in build-newt.xml: Trigger build-jars-native

5 years agoTextureIO TGA/PNG: Use RGB[9] for 1-3 channel data; PNGImage(PNGJ) add 1 channel...
Sven Gothel [Mon, 18 Jun 2012 01:42:13 +0000 (03:42 +0200)]
TextureIO TGA/PNG: Use RGB[9] for 1-3 channel data; PNGImage(PNGJ) add 1 channel (Luminance) read/write

5 years agoTexture Unit Tests: AWT/NEWT GL2/ES2 PNGJ/AWT-PNG-Loading and Rendering (TestPNGTextu...
Sven Gothel [Mon, 18 Jun 2012 01:39:39 +0000 (03:39 +0200)]
Texture Unit Tests: AWT/NEWT GL2/ES2 PNGJ/AWT-PNG-Loading and Rendering (TestPNGTextureFromFile[AWT/NEWT])

Properly test combinations of TextureIO usage w/
  - NEWT / AWT usage
  - GL2 / ES2 usage
  - PNG implementations: PNGJ (internal) and AWT
  - adding screenshots of result for later analysis

Misc:
  - IOUtil.getResource(..) usage
      CLASS.class.getClassLoader() -> this.getClass().getClassLoader()

5 years agoUnit Test: Cleanup TextureSequence Demo Code and Tests, adding AWT Test 'launcher'
Sven Gothel [Sun, 17 Jun 2012 16:21:59 +0000 (18:21 +0200)]
Unit Test: Cleanup TextureSequence Demo Code and Tests, adding AWT Test 'launcher'

5 years agoJOGL Texture Util Unit Test merge to 'com.jogamp.opengl.test.junit.jogl.util.texture'
Sven Gothel [Sun, 17 Jun 2012 15:28:20 +0000 (17:28 +0200)]
JOGL Texture Util Unit Test merge to 'com.jogamp.opengl.test.junit.jogl.util.texture'

5 years agoFix Bug 590: Wrong GL2 and GLES2 aliasing of GL_ARB_half_float_pixel/GL_ARB_half_floa...
Sven Gothel [Sat, 16 Jun 2012 19:27:21 +0000 (21:27 +0200)]
Fix Bug 590: Wrong GL2 and GLES2 aliasing of GL_ARB_half_float_pixel/GL_ARB_half_float_vertex and GL_OES_texture_half_float extensions

We mistakenly aliase the GL2 and GLES2 extensions:
   - GL_ARB_half_float_pixel
       - GL_HALF_FLOAT_ARB      0x140B
   - GL_ARB_half_float_vertex
       - GL_HALF_FLOAT          0x140B

   - GL_OES_texture_half_float extensions
       -  GL_HALF_FLOAT_OES 0x8D61

This also leads to adding GL_HALF_FLOAT_OES
to com.jogamp.opengl.util.GLBuffers.sizeof(..).

5 years agoAdapt to GlueGen commit 1468286bf569a493e4fdb887d5f3732f88c8cec3 (IOUtil.createTempFi...
Sven Gothel [Sat, 16 Jun 2012 03:33:45 +0000 (05:33 +0200)]
Adapt to GlueGen commit 1468286bf569a493e4fdb887d5f3732f88c8cec3 (IOUtil.createTempFile(..) change)

5 years agoFix Bug 583: Remove Android compile-time dependencies and exclude Android specific...
Sven Gothel [Fri, 15 Jun 2012 03:21:43 +0000 (05:21 +0200)]
Fix Bug 583: Remove Android compile-time dependencies and exclude Android specific classes for non Android platforms.

Adapt to GlueGen commits: b3c9951006f9bd863244f1db3d54ac7866d66f0a86c1df6fdca183454ff544857f4236b646c4730d

Ensure same Java JAR content regardless of build target (fix).

Separate Android compilation results: jogl.all-android.jar and jogl.test-android.jar
avoiding generating different content w/ non android builds.

Adding ${android.abi} to APK target name (jogl.all-android.apk -> jogl.all-android-armeabi-v7a.apk)
if not generic.

5 years agoGraph/Font Demo: Add simple 'one-file' demo/test 'TestTextRendererNEWT10' w/o GLEvent...
Sven Gothel [Wed, 16 May 2012 07:11:31 +0000 (09:11 +0200)]
Graph/Font Demo: Add simple 'one-file' demo/test 'TestTextRendererNEWT10' w/o GLEventListener

5 years agoUnit Test Util NEWTGLContext: Pass GLCapabilities instead of GLProfile, allowing...
Sven Gothel [Wed, 16 May 2012 07:01:29 +0000 (09:01 +0200)]
Unit Test Util NEWTGLContext: Pass GLCapabilities instead of GLProfile, allowing custom pixelformat caps.

5 years agoJava Source Files: dos -> unix format
Sven Gothel [Tue, 15 May 2012 16:04:11 +0000 (18:04 +0200)]
Java Source Files: dos -> unix format

5 years agoGraph/Font Demo: Add simple 'one-file' demo/test 'TestTextRendererNEWT00'
Sven Gothel [Tue, 15 May 2012 15:52:16 +0000 (17:52 +0200)]
Graph/Font Demo: Add simple 'one-file' demo/test 'TestTextRendererNEWT00'

.. also adding missing (c) of other graph unit test.

5 years agoClarify API Doc: GLRunnable and it's GLAutoDrawable::invoke(..)
Sven Gothel [Tue, 15 May 2012 15:49:16 +0000 (17:49 +0200)]
Clarify API Doc: GLRunnable and it's GLAutoDrawable::invoke(..)

5 years agoGPUTextRendererListenerBase01: Remove unused var.
Sven Gothel [Tue, 15 May 2012 15:48:41 +0000 (17:48 +0200)]
GPUTextRendererListenerBase01: Remove unused var.

5 years agograph/font: Add "public float getAdvanceWidth(int i, float pixelSize);"
Sven Gothel [Tue, 15 May 2012 15:48:15 +0000 (17:48 +0200)]
graph/font: Add "public float getAdvanceWidth(int i, float pixelSize);"

Font::getAdvancedWidth(..) allows applications to query a glyphs width
with a given pixel size, as it is being used for rendering.

5 years agoGraph/Glyph: Clarify public Font.Glyph and private FontInt.GlyphInt
Sven Gothel [Tue, 15 May 2012 14:55:21 +0000 (16:55 +0200)]
Graph/Glyph: Clarify public Font.Glyph and private FontInt.GlyphInt

5 years agoGLContext.destroy() error case: Lock hold > 1 - More explicit error message.
Sven Gothel [Mon, 14 May 2012 14:40:36 +0000 (16:40 +0200)]
GLContext.destroy() error case: Lock hold > 1 - More explicit error message.

5 years agoFix Bug 572: AWT-GLCanvas shall force setRealized(true) on AWT-EDT avoiding AWTTree...
Sven Gothel [Mon, 14 May 2012 14:34:49 +0000 (16:34 +0200)]
Fix Bug 572: AWT-GLCanvas shall force setRealized(true) on AWT-EDT avoiding AWTTree deadlock

5 years agoRefine commit be7cac1713b166ca6578c685ec8a7231a8429919:
Sven Gothel [Sun, 13 May 2012 20:51:30 +0000 (22:51 +0200)]
Refine commit be7cac1713b166ca6578c685ec8a7231a8429919:

Throw ClassNotFoundException in Display/Screen/Window factory if neither custom
nor default class is available.

Suppress Warning of non existing custom class (in non DEBUG mode),
rely on later ClassNotFoundException (see above).

5 years agoTestGLContextSurfaceLockNEWT: Add GLWindow destroy @ test end
Sven Gothel [Sun, 13 May 2012 20:17:34 +0000 (22:17 +0200)]
TestGLContextSurfaceLockNEWT: Add GLWindow destroy @ test end

5 years agoDemo/Test GearsES2: Supress reshape debug println
Sven Gothel [Sun, 13 May 2012 20:17:00 +0000 (22:17 +0200)]
Demo/Test GearsES2: Supress reshape debug println

5 years agoGLContext*: Remove '[set/is]Synchronized(..)' - Defaults to wait for locks: 1. Drawab...
Sven Gothel [Sun, 13 May 2012 18:00:21 +0000 (20:00 +0200)]
GLContext*: Remove '[set/is]Synchronized(..)' - Defaults to wait for locks: 1. Drawable, 2. GLContext

Remove deadlock situation where thread-1 (Animator Thread) holds the GLContext-Lock
and acquires the Surface-Lock, while thread-2 (UI/Main/EDT) holds the Surface-Lock
and attempts to create the GLContext and hence acquires the GLContext-Lock.

A GLContext-Lock and hence makeing the GLContext current requires to hold
the Surface-Lock. The prev. code acquired the locks in reverse order and
allowed the deadlock as described above.

This fix acquires the locks in the proper natural order
  1 - Surface-Lock
  2 - GLContext-Lock

This fix also renders the use of the non-synchronized behavior invalid,
since it is bogus not to wait for the GLContext lock where it waits for the
Surface lock. It also seems nonsense not to wait for any of both locks
and our code always waited for both (synchronized := true).

The GLContext [set/is]Synchronized(..) methods are removed
and waiting for the lock per default is the correct behavior.

5 years agoGLContext/Surface Deadlock: Add unit test, provoking deadlock w/ 2 threads, one holdi...
Sven Gothel [Sun, 13 May 2012 20:01:00 +0000 (22:01 +0200)]
GLContext/Surface Deadlock: Add unit test, provoking deadlock w/ 2 threads, one holding the surfaceLock acquiring ctxLock where ctx acquires the surfaceLock

5 years agoAdd unit tests for gluUnProject fix (commit cbc77718f01a8190e1a8aa0e9afdc2a3a3403358)
Sven Gothel [Sat, 12 May 2012 02:07:34 +0000 (04:07 +0200)]
Add unit tests for gluUnProject fix (commit cbc77718f01a8190e1a8aa0e9afdc2a3a3403358)

5 years agoFix regression of commit de2b129a56335262a44a05541a3ab2e35668cc6e: ProjectFloat Matri...
Sven Gothel [Fri, 11 May 2012 20:38:56 +0000 (22:38 +0200)]
Fix regression of commit de2b129a56335262a44a05541a3ab2e35668cc6e: ProjectFloat Matrix Multiplication of gluUnProject(..) impl.

ProjectFloat's previous gluMultMatricesf(..) used row-major order,
but the replacement multMatrixf(..) uses column-major order (like OpenGL, ..).

Note: The replaced 'gluMultMatrixVecf' by multMatrixVecf() already
      used column-major order.

Fix: Reverse the arguments of matrix multiplication
    m1 x m2 -> m2 x m1

Added proper API documentation in FloatUtil -> Column Major Order of Linear Matrix Layout

5 years agoAndroid: Bump version.code: 914010
Sven Gothel [Wed, 9 May 2012 16:49:04 +0000 (18:49 +0200)]
Android: Bump version.code: 914010

5 years agoAndroid: Bump version.code to 0914009
Sven Gothel [Wed, 9 May 2012 14:32:11 +0000 (16:32 +0200)]
Android: Bump version.code to 0914009

5 years agoAndroid: Add xhdpi icon
Sven Gothel [Wed, 9 May 2012 14:31:04 +0000 (16:31 +0200)]
Android: Add xhdpi icon

5 years agoAndroid: proper version.code and test manifest
Sven Gothel [Fri, 4 May 2012 13:31:50 +0000 (15:31 +0200)]
Android: proper version.code and test manifest

5 years agoAndroid: Cleanup Manifest, don't require touch .., Bump version.code: 4
Sven Gothel [Fri, 4 May 2012 05:04:32 +0000 (07:04 +0200)]
Android: Cleanup Manifest, don't require touch .., Bump version.code: 4

5 years agoBump Android version.code: 2
Sven Gothel [Fri, 4 May 2012 04:01:56 +0000 (06:01 +0200)]
Bump Android version.code: 2

5 years agoLauncherUtil: Allow no query in URI and no PKG in query (Align w/ GlueGen commit...
Sven Gothel [Fri, 4 May 2012 03:32:09 +0000 (05:32 +0200)]
LauncherUtil: Allow no query in URI and no PKG in query (Align w/ GlueGen commit a058e0a2f465a9bff3e32727edb55592f55c7b38)

5 years agoAndroid: Fix JOGL's (NEWT) Version activity: Use Launcher, show GL version
Sven Gothel [Fri, 4 May 2012 03:31:27 +0000 (05:31 +0200)]
Android: Fix JOGL's (NEWT) Version activity: Use Launcher, show GL version

5 years agoAdapt to GlueGen commit cc76889a6fe96cffb91c9a3aa7934878c0ecd97e: Use ClassLoader...
Sven Gothel [Fri, 4 May 2012 03:29:27 +0000 (05:29 +0200)]
Adapt to GlueGen commit cc76889a6fe96cffb91c9a3aa7934878c0ecd97e: Use ClassLoader to find JNI native libraries

5 years agoMinor cleanup ..
Sven Gothel [Fri, 4 May 2012 03:28:22 +0000 (05:28 +0200)]
Minor cleanup ..

5 years agoAPK version code = 1
Sven Gothel [Thu, 3 May 2012 04:16:51 +0000 (06:16 +0200)]
APK version code = 1

5 years agoReduce APK version name to 30 chars
Sven Gothel [Thu, 3 May 2012 04:13:38 +0000 (06:13 +0200)]
Reduce APK version name to 30 chars

5 years agoAndroid Unit Test (incomplete): Manually test new GlueGen's MainLauncher
Sven Gothel [Thu, 3 May 2012 03:03:31 +0000 (05:03 +0200)]
Android Unit Test (incomplete): Manually test new GlueGen's MainLauncher

5 years agoTest script: Add commented-out CLASSPATH and cmd-line args for Broadcom tests
Sven Gothel [Wed, 2 May 2012 12:11:00 +0000 (14:11 +0200)]
Test script: Add commented-out CLASSPATH and cmd-line args for Broadcom tests

5 years agoNEWT: Cleanup Broadcom/KD driver imports, add Jogamp (c)
Sven Gothel [Wed, 2 May 2012 12:09:40 +0000 (14:09 +0200)]
NEWT: Cleanup Broadcom/KD driver imports, add Jogamp (c)

5 years agoNewtFactory: Show failure in getCustomClass(..) - require both, packagename and classname
Sven Gothel [Wed, 2 May 2012 11:25:03 +0000 (13:25 +0200)]
NewtFactory: Show failure in getCustomClass(..) - require both, packagename and classname

5 years agoNEWT/OSX: Fix occasional crash 'free of non allocated object' - change window order... v2.0-rc8
Sven Gothel [Wed, 2 May 2012 01:28:29 +0000 (03:28 +0200)]
NEWT/OSX: Fix occasional crash 'free of non allocated object' - change window order on main-thread.

5 years agoTest MovieCube: Allow recreation - Video is still not visible after recreation (detac...
Sven Gothel [Tue, 1 May 2012 23:57:09 +0000 (01:57 +0200)]
Test MovieCube: Allow recreation - Video is still not visible after recreation (detach window) on OSX (FF, Safari)

5 years agoNEWT API Change 'WindowClosingProtocol': Use 'enum WindowClosingMode' instead of...
Sven Gothel [Tue, 1 May 2012 23:20:46 +0000 (01:20 +0200)]
NEWT API Change 'WindowClosingProtocol': Use 'enum WindowClosingMode' instead of static final int values.

5 years agoComplete commit c9faebb8f8f6be4c0de4919a516b4692742bc13c: Use 'enum ReparentOperation...
Sven Gothel [Tue, 1 May 2012 23:18:06 +0000 (01:18 +0200)]
Complete commit c9faebb8f8f6be4c0de4919a516b4692742bc13c: Use 'enum ReparentOperation' in test.

5 years agoNEWT: Revert static/locked action instances due to possible deadlocks; class Window...
Sven Gothel [Tue, 1 May 2012 22:52:58 +0000 (00:52 +0200)]
NEWT: Revert static/locked action instances due to possible deadlocks; class Window.ReparentAction -> enum Window.ReparentOperation

Revert static/locked action instances due to possible deadlocks
  - reverts commit: be59d561fd6ab8aa659e85cd962d38fffd1acb0a (partially)
  - reverts commit: 5742b1faa210401470032ef129e56a83c47fd046

  Even thought the idea of having no temp. objects is nice to have,
  using a static instance requires locking which introduces a deadlock
  in case the action is being issued from diff. threads.

class Window.ReparentAction -> enum Window.ReparentOperation (Minor API Change)
  Clarifies reparent operations using enums

5 years agoJOGLNewtAppletBase: Minor cleanup
Sven Gothel [Tue, 1 May 2012 07:26:05 +0000 (09:26 +0200)]
JOGLNewtAppletBase: Minor cleanup

5 years agoFix Bug 560 and NEWT window closing behavior in general for all platforms.
Sven Gothel [Tue, 1 May 2012 07:21:14 +0000 (09:21 +0200)]
Fix Bug 560 and NEWT window closing behavior in general for all platforms.

- NEWT/WindowImpl:
  - 'void windowDestroyNotify()' -> 'boolean windowDestroyNotify(boolean force)', allowing to signal a forced close,
    as well as replying whether the window has been closed. (called by native code)

  - destroy(): set states before releasing the window lock

- NEWT/X11: Pass windowDeleteAtom for reconfigure window, in case of reparenting child to top-level

- NEWT/OSX:
  - Add 'BOOL windowShouldClose()' impl., ie. having a chance to reject the close attempt
  - Common impl. for 'windowShouldClose' and 'windowWillClose' -> 'windowClosingImpl'
    utilizing new 'windowDestroyNotify' code (see above).
    Fixes bug 560.

- NEWT/JOGLNewtApplet1Run: Refine out-of browser window behavior for window-close button
  - default: move NEWT window back to browser parent
  - closeable: close NEWT window

- jogl-test-applets: Add NApplet-Closeable test (Applet out-of browser window is closable)

5 years agoNEWT/WindowImpl: Make all 'action' class instances final; Action's init() determines...
Sven Gothel [Tue, 1 May 2012 01:49:01 +0000 (03:49 +0200)]
NEWT/WindowImpl: Make all 'action' class instances final; Action's init() determines whether it shall be executed.

5 years agoGLProfile/EGLDrawableFactory: Detect ANGLE (Windows D3D ES2 Emulation) and disable...
Sven Gothel [Tue, 1 May 2012 01:26:01 +0000 (03:26 +0200)]
GLProfile/EGLDrawableFactory: Detect ANGLE (Windows D3D ES2 Emulation) and disable support per default.

We have to disable support for ANGLE, the D3D ES2 emulation on Windows provided w/ Firefox and Chrome.
When run in the mentioned browsers, the eglInitialize(..) implementation crashes.
This behavior can be overridden by explicitly enabling ANGLE on Windows by setting the property
'jogl.enable.ANGLE'.

EGLDrawableFactory:
  - destroy(): clear references and unregister factory, maybe triggered by GLProfile (ANGLE case)
  - getAvailableCapabilitiesImpl(): return empty list in case EGL/ES is n/a (ANGLE case)

5 years agoEGLGraphicsConfigurationFactory: Add 'unregisterFactory()' static entry allowing...
Sven Gothel [Tue, 1 May 2012 01:19:57 +0000 (03:19 +0200)]
EGLGraphicsConfigurationFactory: Add 'unregisterFactory()' static entry allowing to remove EGL/ES based factory

5 years agoBug 556: Newt Mouse Synthetic Drag Event: Clear state if mouse enters/leaves window.
Sven Gothel [Fri, 27 Apr 2012 01:53:41 +0000 (03:53 +0200)]
Bug 556: Newt Mouse Synthetic Drag Event: Clear state if mouse enters/leaves window.

Since we cannot guarantee to have the pressed button information when receiving
the mouse move event, we synthesize the dragged event (move while mouse button pressed).

To simplify the situation and have a compromise,
we clear the mouse pressed states when mouse
enters or leaves the window to remove the dragged events at re-entering.

This seems more sensible, since dragging after re-entering the mouse shall not be expected.

5 years agoBug 570: NEWT General/X11: Decouple setFullscreen() and setAlwaysOnTop(); Use window...
Sven Gothel [Fri, 27 Apr 2012 01:01:31 +0000 (03:01 +0200)]
Bug 570: NEWT General/X11: Decouple setFullscreen() and setAlwaysOnTop(); Use window-static instances for runnable actions

NEWT General/X11: Decouple setFullscreen() and setAlwaysOnTop()
  - X11 fullscreen/above: Don't assume 'always-on-top' if switch to fullscreen.

  - WindowImpl: Remove relation between 'always-on-top' and fullscreen
    when quering and switching.

Use window-static instances for runnable actions
  - Removes temp objects for EDT runnables
  - Uses synchronization on action instance to avoid concurrency

5 years agoTestGearsES2NEWT: fullscreen/above toggle print fullscreen/above state always
Sven Gothel [Fri, 27 Apr 2012 00:40:16 +0000 (02:40 +0200)]
TestGearsES2NEWT: fullscreen/above toggle print fullscreen/above state always

5 years agotest scripts
Sven Gothel [Fri, 27 Apr 2012 00:38:49 +0000 (02:38 +0200)]
test scripts

5 years agoFix Bug 571: X11 behavior, where the PRESSED button is not included in the native...
Sven Gothel [Thu, 26 Apr 2012 23:19:51 +0000 (01:19 +0200)]
Fix Bug 571: X11 behavior, where the PRESSED button is not included in the native mask.

5 years agoNEWT Input- Mouse-Event: Consitency of mouse button number; Add button -> button...
Sven Gothel [Thu, 26 Apr 2012 23:19:20 +0000 (01:19 +0200)]
NEWT Input- Mouse-Event: Consitency of mouse button number; Add button -> button-mask func.

5 years agoWWW: Cleanup some descriptions, text alignment
Sven Gothel [Thu, 26 Apr 2012 20:04:19 +0000 (22:04 +0200)]
WWW: Cleanup some descriptions, text alignment

5 years agoWWW: Add GeoGebra; Prio JOGL2 usage
Sven Gothel [Thu, 26 Apr 2012 19:46:52 +0000 (21:46 +0200)]
WWW: Add GeoGebra; Prio JOGL2 usage

5 years agoBug 577: Disable debug message XInitThreads() called (only enabled in native debug...
Sven Gothel [Thu, 26 Apr 2012 19:14:09 +0000 (21:14 +0200)]
Bug 577: Disable debug message XInitThreads() called (only enabled in native debug mode).

5 years agoUITest, fix exception message: Add 'not'. v2.0-rc7
Sven Gothel [Wed, 25 Apr 2012 12:00:07 +0000 (14:00 +0200)]
UITest, fix exception message: Add 'not'.

5 years agoUpdate JOGL www/index.html v2.0-rc6
Sven Gothel [Tue, 24 Apr 2012 18:59:11 +0000 (20:59 +0200)]
Update JOGL www/index.html

- add 'old' and 'discontinued'
- add GLG2D to current.

5 years agoNewt/AWT Event Factory: Add Mouse Wheel Event Conversion
Sven Gothel [Tue, 24 Apr 2012 17:00:15 +0000 (19:00 +0200)]
Newt/AWT Event Factory: Add Mouse Wheel Event Conversion

.. also reverse AWT rotation sign, since NEWT uses the reverse oriantation.

http://JogAmp.org git info: FAQ, tutorial and man pages.