summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'freebsd-fixes' of http://github.com/rothwell/joglMichael Bien2010-07-183-16/+76
|\
| * Set up compiler and linker for newt. JOGL builds and passes all tests.Mark Rothwell2010-06-261-4/+34
| |
| * Prepend /usr/local/lib to freebsd X11 linkerMark Rothwell2010-06-261-4/+4
| |
| * Prepend /usr/local/lib for X11 librariesMark Rothwell2010-06-261-4/+4
| |
| * Use correct compiler setup for nativewindowMark Rothwell2010-06-261-2/+6
| |
| * But /usr/local/include IS necessary on the default FreeBSD setupMark Rothwell2010-06-261-0/+6
| |
| * Correct compiler config (not amd64 specific)Mark Rothwell2010-06-261-1/+1
| |
| * Remove /usr/X11R6 from newt, tooMark Rothwell2010-06-261-5/+0
| |
| * FreeBSD does not use /usr/X11R6 anymore (it became a symlink to /usr/local ↵Mark Rothwell2010-06-262-11/+0
| | | | | | | | quite a while ago)
| * Split and use new linker definitions for FreeBSD (nativewindow)Mark Rothwell2010-06-261-5/+23
| |
| * Split and use new linker definitions for FreeBSDMark Rothwell2010-06-261-2/+20
| |
* | updated ElflightEngine www content.Michael Bien2010-07-124-8/+7
| |
* | Fix file modesSven Gothel2010-07-07329-0/+0
| |
* | GLAutoDrawable: setAnimator/getAnimator/invoke/display changes; NEWT: Adding ↵Sven Gothel2010-07-0725-184/+239
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | native repaint; Fix reparent/fullscreen New: NEWT Native Repaint ========================= Support for native repaint, which shall call display() in case no animator is running. GLAutoDrawable invoke(GLRunnable) impl. handles case if invoked on animator thread, or no animator thread is running (issueing a display() call). The impl resides in GLDrawableHelper. The Animator un-/registers itself at the GLAutoDrawable via setAnimator. New: NEWT AWT/NEWT Parenting Focus Handling ============================================ Introducing Window.FocusRunnable, to be registered at the NEWT Window, which will be executed before the native focus claim. Window.FocusRunnable's run method returns a boolean, which determines whether the native implementation shall proceed claiming the native focus. This API focus hook is necessary to allow an optional underlying windowing toolkit, ie AWT (see usage NewtCanvasAWT), to make the focus traversal transparent. Fix: GLEventListener / GLDrawableHelper ======================================== GLEventListener's init() and glViewport()/reshape() method must be called before the 1st display() and after a dispose() call. It could miss the 1st display() call if added after the setVisible(true) call - due to the native repainting. The impl resides in GLDrawableHelper. Fix: Misc NEWT ============== Window reparent issues a resize() and display() call, if it is visible. native Window uses direct send.*Event for input events (again), instead of enqueueing it for performance. Window impl all status change native event Java callbacks, instead of having duplicated code in all implementations. Fullscreen, reposition at zero. Reparent/Fullscreen repaint if visible. Native reparent/fullscreen, fix glitches on Windows (visibility while reparenting)
* | Merge branch 'master' of github.com:mbien/joglSven Gothel2010-07-0226-116/+13
|\ \
| * | cleaned up www and doc folders.Michael Bien2010-06-2826-116/+13
| |/ | | | | | | | | - removed all jars in www/webstart - deprecated some documents and readmes... feel free to remove some of them if no objections
* | Merge branch 'master' of github.com:sgothel/joglSven Gothel2010-06-2618-31/+40
|\|
| * Provide a classloader for all reflection driven classloading ops.Michael Bien2010-06-1715-26/+35
| | | | | | | | | | - attempt to solve some issues in module systems - all classes are now loaded with the same classloader which loads GLProfile
| * use ${javacdebuglevel}.Michael Bien2010-06-172-3/+3
| |
| * Merge branch 'master' of github.com:sgothel/joglMichael Bien2010-06-1626-123/+1517
| |\
| * | updated webpage, JOGL symbols.Michael Bien2010-06-151-2/+2
| | |
* | | GLAutoDrawable: setAnimator/getAnimator/invoke/display changes; NEWT: Adding ↵Sven Gothel2010-06-261-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | native repaint; NewtCanvasAWT focus fix Support for native repaint, which shall call display() in case no animator is running. GLAutoDrawable invoke(GLRunnable) impl. handles case if invoked on animator thread, or no animator thread is running (issueing a display() call). The impl resides in GLDrawableHelper. GLEventListener's init() and glViewport()/reshape() method must be called before the 1st display() and after a dispose() call. It could miss the 1st display() call if added after the setVisible(true) call - due to the native repainting. The impl resides in GLDrawableHelper. The Animator un-/registers itself at the GLAutoDrawable via setAnimator. NEWT Window reparent always issues a resize() and display() call. NEWT native Window uses direct send.*Event for input events (again), instead of enqueueing it for performance. NEWT Window implements all status change and Java native event callbacks, instead of having duplicated code in all implementations. NewtCanvasAWT if the Newt window is focused, the AWT/Swing component[s] will loose the focus.
* | | GLAutoDrawable: setAnimator/getAnimator/invoke/display changes; NEWT: Adding ↵Sven Gothel2010-06-2655-711/+1538
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | native repaint; NewtCanvasAWT focus fix Support for native repaint, which shall call display() in case no animator is running. GLAutoDrawable invoke(GLRunnable) impl. handles case if invoked on animator thread, or no animator thread is running (issueing a display() call). The impl resides in GLDrawableHelper. GLEventListener's init() and glViewport()/reshape() method must be called before the 1st display() and after a dispose() call. It could miss the 1st display() call if added after the setVisible(true) call - due to the native repainting. The impl resides in GLDrawableHelper. The Animator un-/registers itself at the GLAutoDrawable via setAnimator. NEWT Window reparent always issues a resize() and display() call. NEWT native Window uses direct send.*Event for input events (again), instead of enqueueing it for performance. NEWT Window implements all status change and Java native event callbacks, instead of having duplicated code in all implementations. NewtCanvasAWT if the Newt window is focused, the AWT/Swing component[s] will loose the focus.
* | | Cleanup enqueueEvent and remove PaintEvent and it's ListenerSven Gothel2010-06-1715-250/+57
| |/ |/|
* | JOGL.GLAutoDrawable:Sven Gothel2010-06-1622-87/+983
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add: 'public void addGLEventListener(int index, GLEventListener listener)' Fixes previous GLWindow addition, ie public in interface and common impl. behavior. - Add: 'public void invoke(boolean wait, GLRunnable glRunnable)' - Change: 'public void display()' semantics, in regards to the GLRunnable queue New: GLRunnable, invoke() at GLAutoDrawable Allows injection of GL commands from other threads, executed after the GLEventListener's display() notifyier by the GLAutoDrawable. NEWT: - Fix EDTUTil.invokeAndWait() and Display.enqueueAndWait() impl., where we only wait for the single action/event to be processed now. JUnit: NEWT Parenting - Added test cases for Swing (JFrame, JPanel and COntainer) with NewtCanvasAWT - Added thread calling 'invoke(true, GLRunnable)' - start Animator ASAP
* | NEWT Add: add<type>Listener(int index, <type>Listener l) ; ↵Sven Gothel2010-06-112-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | get<type>Listener(int index) ; NEWTEvent attachments NEWT Add: add<type>Listener(int index, <type>Listener l) ; get<type>Listener(int index) ; NEWTEvent attachments for listener to listener communication via object passing. This methodology is similar to the 'Atom' attachment of native systems. It is preferred to a 'consume()/isConsumed()' pattern, since it is less flexible and would 'endanger' system events. TODO: <type>Listener[] get<type>Listeners() doesn't work and was always buggy.
* | Merge branch 'master' of github.com:mbien/joglSven Gothel2010-06-1117-1683/+915
|\|
| * refactored GLProfile. Removed Clonable (Profiles are unique), added ↵Michael Bien2010-06-101-34/+33
| | | | | | | | hashCode(), extracted initializer.
| * Merge branch 'master' of github.com:sgothel/joglMichael Bien2010-06-10174-4798/+3871
| |\
| * | continued with jackpot code transformations.Michael Bien2010-06-089-1053/+125
| | | | | | | | | | | | | | | - added buildscript to test transformed results - added more renaming transformations
| * | forked TestAWT01GLn into TestSwingAWT01GLn.Michael Bien2010-06-082-70/+205
| | | | | | | | | | | | | | | | | | | | | | | | Revert "swing on edt only, awt off edt. cleaned up the test a bit." This reverts commit dcc946e925ec73740e2985e5febf5fbb732ad1d9. Revert "added JFrame and Window runs to testAWT01GLn testcase + EDT fixes." This reverts commit 5cde948df47ecf435eda95b846a1b5c7afd6f5f9.
| * | cleaned up jackpot scripts, updated download locations.Michael Bien2010-06-032-7/+17
| | |
| * | added junit debug test nb ide bindings.Michael Bien2010-06-032-2/+120
| | |
| * | updated paths in netbeans project.xml.Michael Bien2010-06-031-2/+8
| | |
| * | fixed Linux bullet list on HowToBuild www page.Michael Bien2010-06-021-25/+24
| | |
| * | XHTML cleanup and final JogAmplification for jogl main www page.Michael Bien2010-06-021-562/+424
| | |
| * | Merge branch 'master' of github.com:sgothel/joglMichael Bien2010-06-023-12/+37
| |\ \
| * \ \ Merge branch 'master' of github.com:sgothel/joglMichael Bien2010-06-0233-662/+651
| |\ \ \
| * | | | exclude inner classes as tests to prevent junit from executing anonymous ↵Michael Bien2010-06-011-0/+3
| | | | | | | | | | | | | | | | | | | | inner classes.
| * | | | swing on edt only, awt off edt. cleaned up the test a bit.Michael Bien2010-06-011-31/+30
| | | | |
| * | | | added JFrame and Window runs to testAWT01GLn testcase + EDT fixes.Michael Bien2010-06-011-34/+63
| | | | |
| * | | | Merge branch 'master' of github.com:sgothel/joglMichael Bien2010-05-2861-1273/+2974
| |\ \ \ \
* | | | | | NEWT Add: add<type>Listener(int index, <type>Listener l) ; ↵Sven Gothel2010-06-118-36/+527
| |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | get<type>Listener(int index) ; NEWTEvent attachments NEWT Add: add<type>Listener(int index, <type>Listener l) ; get<type>Listener(int index) ; NEWTEvent attachments for listener to listener communication via object passing. This methodology is similar to the 'Atom' attachment of native systems. It is preferred to a 'consume()/isConsumed()' pattern, since it is less flexible and would 'endanger' system events. TODO: <type>Listener[] get<type>Listeners() doesn't work and was always buggy.
* | | | | Fix: Locking/Threading; Common IntIntHashMap and Buffers; Fix: ↵Sven Gothel2010-06-10168-4419/+3379
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | glMap*Buffer*; GLX/WGL/CgGL: All runtime dynamic; Misc .. TODO: Compile and test on MacOSX .. Fix: ===== Multithreading/Locking: See jogl/doc/Implementation/MultiThreading.txt - Locking layer is not platform agnostic, ie GLContextImpl, GLDrawableImpl, .. and NEWT: Window/Display - No more use of JAWT global lock necessary, removed. - No need for X11 Display lock, on the contrary, this made the NV driver hang. - Use common window/surface lock - All NativeWindow surfaceLock's are recursive now glMapBuffer: If size is 0, don't do cont with the native call. glMapBufferRange: Fix capacity. glNamedBufferDataEXT: Track the size. glMapNamedBufferEXT: Manual impl. - use the tracked size glXGetVisualFromFBConfig, glXChooseFBConfig, glXChooseVisual: Instead of ignoring and implement a renamed version (*Copied), we just use ManualImplementation for the proper copy-result code. DesktopGLDynamicLookupHelper: Initialize _hasGLBinding* attributes in the determing loadGLJNILibrary() method, which is called by super(). Otherwise static init will overwrite them after the super() call. X11GLXDrawableFactory: Don't release anything at shutdown (removed sharedContext.destroy()), since this caused a freeze/SEGV sometimes. Fixed NEWT's reparentWindow() functionality incl NewtCanvasAWT usage. - Native: if not visible, don't focus, etc - NewtCanvasAWT: Use the container size to start with - Run the command on the EDT Using GlueGen's new DynamicLibraryBundle utility: - X11, Windows and MacOSX OpenGL adapted to DynamicLibraryBundleInfo. - X11GLXDynamicLookupHelper -> X11GLXDynamicLibraryBundleInfo - Remove all path from lib names. - GL order: libGL.so.1, libGL.so, GL - shallLinkGlobal: true -> to server some 'old' DRI systems -> http://dri.sourceforge.net/doc/DRIuserguide.html - shallLookupGlobal: false - Try both : glXGetProcAddressARB and glXGetProcAddress - Using bootstrap: GLX.glXGetProcAddress(long glxGetProcAddressHandle, String glFuncName) Found the issue with LIBGL_DRIVERS_PATH, ie if not set no valid GL instance can be found (ie ATI fglrx/DRI). This may happen if using a differen user than the desktop user for whom the env var is set within some /etc/X11/Xsession.d/ script. Enhancements: ============= GLBufferSizeTracker: Use IntIntHashMap and add DirectState size tracking. GLBufferStateTracker: Use IntIntHashMap. GLStateTracker: Use IntIntHashMap. GLDynamicLookupHelper: More generic (global loading/lookup and GetProcAddress function name list), remove redundant code. FIXME: MacOSXCGLDynamicLookupHelper: - Not tested - Not using NSImage lookup anymore as recommended by OSX API Doc, so dlsym is used always (to be tested) WindowsWGLDynamicLookupHelper: - Not tested GLX/WGL/CgGL is all runtime-dynamic as now, ie loaded and looked-up at runtime, no compile time dependencies to GL anymore, nor a need to specify CgGL. Split up WGL in GDI and WGL, to allow proper dynamic runtime linkage of OpenGL32 while using static binding to GDI32 NEWT events generated by native code are enqueued and not send directly. This should ease locking mechanisms .. if any are necessary. NEWT: More platform specific code moved to *Impl method, simplifying the generic code of the superclass and impl protocol. Cleanup: ========= Replace all InternalBufferUtil's with com.jogamp.common.nio.Buffers Removed all InternalBufferUtil's from repository Removed GLContextImpl notion of 'optimized' surface locking, where the surface gets unlocked during makeCurrent/release. This just makes no sense and would impact multithreading in a horrible way.
* | | | | JOGL: Unify library loading (impl and binding), incl. lookup ; ↵Sven Gothel2010-06-0438-765/+863
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GLAutoDrawable: dispose() calls only with created context. - Using the EGL approach of DynamicLookupHelper, now generalized in abstract GLDynamicLookupHelper, DesktopGLDynamicLookupHelper and EGLGLDynamicLookupHelper. The implementation of these are self contained. - Sharing common code. - Unifying implementation and binding loading, as well as the function lookup within the impl libs. - Removed DRIHack, since its no more required due to the new DesktopGLDynamicLookupHelper. - Removed compile time link to GL and GLU libs - Removed redundant library OS functions from X11/WGL bindings, GlueGen's common code is being used now. - GLAutoDrawable: dispose() calls only with created context. This cleans up stack traces in case of eventual bugs, where context creation is not successful.
* | | | | JOGL: Sanity check in GLDrawableHelper (Context creation and initAction) ; ↵Sven Gothel2010-06-025-0/+15
| |_|_|/ |/| | | | | | | | | | | Add Platform info in test
* | | | NEWT/MacOSX: Use Reflectionutil and a common runOnMainThread methodSven Gothel2010-06-023-12/+37
| |_|/ |/| |
* | | NEWT/MacOSX: First Changes towards general NEWT/AWT solution (incomplete).Sven Gothel2010-06-023-148/+116
| | | | | | | | | | | | | | | | | | | | | | | | - Excluding MacOSX build from CDC build - If MainThread is not running, use AWT's EDT thread - Execute most MacWindow tasks directly.
* | | NEWT: Simplified LockingSven Gothel2010-06-0214-152/+210
| | | | | | | | | | | | | | | | | | | | | | | | | | | - Using Display.getEDTUtil() and Display.runCreateAndDestroyOnEDT() to determine the NEWT EDT behavior, which may be specialized by the implementation. - AWTWrapper and Newt/AWT Parenting deadlock fix. - Misc fixes in test cases
* | | JOGL: Unified GLContext native handleSven Gothel2010-06-0215-361/+324
| | | | | | | | | | | | | | | - All GLContext implementations are using the contextHandle of the super class. - GLContext.getHandle() exposes contextHandle for API cross access