summaryrefslogtreecommitdiffstats
path: root/src/jogl/classes
Commit message (Collapse)AuthorAgeFilesLines
* GLEmitter: Better use of priviledged block in generated ↵Sven Gothel2013-06-231-24/+20
| | | | GL*ProcAddressTable's isFunctionAvailableImpl(..), getAddressFor(..)
* Fix Regression of 889ba9488ca07b59fdcc378642a2dc20676d69a3: ↵Sven Gothel2013-06-231-1/+2
| | | | GLDebugMessageHandler GL Profile criteria for availability is wrong
* Fix Bug 761 (part 1/2): Move GLDrawableFactory.shutdownHook -> ↵Sven Gothel2013-06-232-70/+29
| | | | | | | | | | | | | | | | | | NativeWindowFactory.shutdownHook, the latter handles customShutdownHooks for NativeWindow, JOGL and NEWT. Unifying our shutdown mechanism is required to provide a controlled shutdown sequence. NativeWindowFactory is chosen to be the new central entry point, since it is the lowest denominator (common module). - Move GLDrawableFactory.shutdownHook -> NativeWindowFactory.shutdownHook Reverse the shutdown dependency for clarity and availability to all modules, i.e. NEWT may not know about JOGL. Remove the 'gamma' shutdown hook, instead simply call GLDrawableFactoryImpl.resetDisplayGamma() before destroy. NativeWindowFactory.shutdownHook handles customShutdownHooks for NativeWindow, JOGL and NEWT - Modules can register their shutdown runnable at head or tail of list. - Allows controlled shutdown across all modules.
* AnimatorBase.setModeBits(..): Only issue initImpl() if required - and throw ↵Sven Gothel2013-06-233-9/+13
| | | | 'is started' exception in such case; Cleanup brackets.
* Fix Bug 759: Add quirk GLNonCompliant for Mesa AMD GL >= 3.1 renderer.Juan Camilo Prada2013-06-212-3/+13
|
* GL*ProcAddressTable: Fix regressions: getField(..) -> getDeclaredField(..), ↵Sven Gothel2013-06-214-26/+40
| | | | incl. access check; Move getAddressFor() from ctx -> private dbg-handler (sec); FFMPEGMediaPlayer: Missed fetching func-ptr 'glTexSubImage2D'.
* Security: Apply security changes from GlueGenSven Gothel2013-06-2120-114/+174
| | | | | | | | | GlueGen related commits - 23341a2df2d2ea36784a16fa1db8bc7385351a12 - 2d8e25398e929f553c4524e9c57f083d90ba4e08 - 8cabcd2de8b46c42dffcaaf46ccc2dc4d092ebba - f69831574d4927d03d40c330d0b047d8c89622a4 - eb842815498f5926828b49c48fffce22fc9586a2
* GL ProcAddressTable: Align w/ GlueGen commit ↵Sven Gothel2013-06-211-17/+41
| | | | f69831574d4927d03d40c330d0b047d8c89622a4 (checkAllLinkPermission() ..)
* Add optional JOAL dependency, enabling JOAL usage for our 'av' package. ↵Sven Gothel2013-06-181-0/+19
| | | | | | | | | | | | | | | | | Note: May be relocated to external project later! Assumption: gluegen/ joal/ jogl/ For OpenAL / JOAL code: - use the package jogamp.opengl.openal (like jogamp.opengl.android) - will be build _before_ the other 2nd pass java files - do not expose OpenAL/JOAL APIs, if being used by other packages, since only this package is being compiled w/ JOAL jar files!
* GLDynamicLibraryBundleInfo.shallLinkGlobal(): Defaults to 'true' now, ↵Sven Gothel2013-06-184-34/+19
| | | | | | | | allowing to remove specialized values. - Windows always used global - The OpenGL library is always available by all processes system wide. - Tested on OSX (was using local, previously).
* Fix Bug 735: GLAutoDrawable must issue glViewport(..) even w/o ↵Sven Gothel2013-06-171-14/+21
| | | | | | | | | | | GLEventListener ; Optimize GLDrawableHelper's glViewportCall(..) GLAutoDrawable must issue glViewport(..) even w/o GLEventListener - Same behavior w/ or w/o GLEventListener requires to issue glViewport, always. Optimize GLDrawableHelper's glViewportCall(..) - 'private void init(..)' receives 'setViewport' argument to be passed to 'private void reshape(..)' allowing to only the the viewport once @ 'public void init(..)' and display.
* Fix Bug 753: Stuttering caused by lack of GL resource synchronization ↵Sven Gothel2013-06-171-1/+51
| | | | | | | | | | | | | | | | | | | | | between Java GL- and CALayer thread ; Simplify / Fix waitUntilRenderSignal(). Stuttering caused by lack of GL resource synchronization between Java GL- and CALayer thread + // Required(?) to finish previous GL rendering to give CALayer proper result, + // i.e. synchronize both threads each w/ their GLContext sharing same resources. + // + // FIXME: IMHO this synchronization should be implicitly performed via 'CGL.flushBuffer(contextHandle)' above, + // in case this will be determined a driver bug - use a QUIRK entry in GLRendererQuirks! + gl.glFinish(); Simplify / Fix waitUntilRenderSignal() - remove loop and 'ready' condition -> nonsense - if too later, i.e. lastWaitTime+TO < now, use now+TO as max. vsync waiting time Bug735 Tests: - Make vsync, wait and ECT (exclusive context thread) configurable via main args. - Inv2*, Inv3* and Inv4*: Fluent Animation - Works w/ ECT
* GLFBODrawableImpl: Fix swap criteria, i.e. don't swap in ↵Sven Gothel2013-06-172-10/+18
| | | | contextMadeCurrent(false) if already swapped by swapBuffersImpl(..), but always swap in swapBuffersImpl(..) if ctx is current and associated.
* ES3.0 GLContext: Handle ES3.0 GLSL Version Number - Static detection and ↵Sven Gothel2013-06-161-9/+22
| | | | 'es' suffix.
* MacOSXCGLContext: Use final qualifier for CGL.CGLLockContext(cglCtx) result.Sven Gothel2013-06-161-1/+1
|
* GLDrawableHelper Perf.: Branch into execGLRunnables(..) only if ↵Sven Gothel2013-06-161-17/+15
| | | | glRunnables.size()>0
* Fix Bug 745: NPE - QTT definition shall be allowd to _follow_ SOF (frame) - ↵Sven Gothel2013-06-141-19/+53
| | | | Reference QTT via QTT[] passed to frame, validate after parsing.
* Mitigate Bug 728: Java Web Start Shutdown: Exception ↵Sven Gothel2013-06-131-1/+9
| | | | | | | | | "java.lang.IllegalStateException: zip file closed" on OSX 10.8.3 and Java 1.7.0_17 OS version: Mac OS X 10.8.3 Java version: 1.7.0_17 Catch any occuring exception at GLDrawable shutdown, report them briefly and verbose w/ DEBUG enabled.
* Fix my sloppy commit f50caa5241b5eef286e8c10b74b5297e5821da2b: Didn't intend ↵Sven Gothel2013-06-121-2/+2
| | | | to take out the commented out 'final', but to enable the qualifier. Duh! Thank's to Harvey (again) for catching my odd work!
* VectorUtil, Quaternion: Use 'final' qualifier if possibleSven Gothel2013-06-122-53/+53
|
* Merge remote-tracking branch 'remotes/hharrison/pr743'Sven Gothel2013-06-121-204/+239
|\
| * Quaternion.java : fixed not clear assignmentPetr Skramovsky2013-06-051-2/+3
| |
| * new method for vector multiplication, new copy constructorPetr Skramovsky2013-06-051-0/+28
| |
| * fixed isIdentity method, deprecated isEmpty method (quaternion doesn't have ↵Petr Skramovsky2013-06-051-13/+39
| | | | | | | | such a property + method do same thing as isIdentity), new setIdentity method, default constructor sets this quaternion to identity, new fromAxis method/costructor
| * removed unnecessary castings, removed unnecessary methods for vector ↵Petr Skramovsky2013-06-051-58/+11
| | | | | | | | operations changed to VectorUtil instead
| * reformatted to same stylePetr Skramovsky2013-06-051-180/+207
| |
* | FontConstructor: Hide the exposed strings and add them in class API doc to ↵Sven Gothel2013-06-121-2/+10
| | | | | | | | | | | | | | | | minimize footprint. Review of Harvey. Since accessing the static final exposed strings would trigger static initialization, setting the properties this way would not work anyways (if not inlined ..). Well.
* | GLContext: Make 'deviceVersion' fields final. Reviewed by Harvey.Sven Gothel2013-06-121-2/+2
| |
* | Adapt to GlueGen commit 1a01dce6c42b398cdd68d405828774a3ab366456Sven Gothel2013-06-114-19/+23
| |
* | Fix Bug 748 - PMVMatrix gluProject and gluUnProject broken w/ backingArray ↵Sven Gothel2013-06-091-12/+12
| | | | | | | | | | | | | | | | | | (default) ; Also: Use FloatUtil in-place multMatrixf. PMVMatrix gluProject(..) and gluUnProject(..) don't pass their position (offset) to the multMatrixf operation - even though they are sliced. The API doc actually emphasizes this.
* | FloatUtil: Add in-place multMatrixf (since we mult line by line, we can ↵Sven Gothel2013-06-091-0/+51
| | | | | | | | multiply in place). Will be used by PMVMatrix.
* | Bug 747: Allow usage of IdentityHashMap w/ keys: ↵Sven Gothel2013-06-091-12/+16
|/ | | | | | AbstractGraphicsDevice.getUniqueID() and GLContext.getDeviceVersionAvailableKey() .. both value classes unique, long lived and rare.
* GLVersionNumber.createVendorVersion(): Only test match result and ↵Sven Gothel2013-05-315-50/+120
| | | | potentially continue matching if having a pattern-match (don't loop for-ever).
* Complete/Fix GLVersionNumber (81afec4e963ac4372dc2b604d6f91237b81ee6f2): Set ↵Sven Gothel2013-05-311-8/+8
| | | | | | 'valid' flag, always set major/minor and strEnd. Also: Add negative tests to unit test.
* GLVersionNumber: Fix vendor version parser; Adapt to GlueGen commit ↵Sven Gothel2013-05-312-86/+53
| | | | | | | | | | | | | | | 959d6d83ec26152343d538287c02eeebf0dcf238 Adapt to GlueGen commit 959d6d83ec26152343d538287c02eeebf0dcf238: - Use only RegExp and cache default (no wrapped whitespace tokenizer) - String match: Store end-of-match and flag defined components. - Remove manual parsing, utilize VersionNumber - No need to look further for 'updated' GL version, (probably the vendor version), since we utilize the ARB version number as set at creation. Fix vendor version parser: - Cut off GL version part of versionString (fixes case where GL version was interpreted as vendor version) - Loop through remaining string until a valid version number w/ major.minor has been found
* Fix regression of commit b2802021acf8aa9b363ebef383c8dc8c8079ffa4 (Bug 711): ↵Sven Gothel2013-05-187-8/+9
| | | | | | | | | | varying in/out mapping is different in vertex/fragment shader! Vertex shader: varying -> out Fragemnt shader: varying -> in NV GLSL compiler ignored in/out direction, where ATI GLSL compiler failed (could not find gcu_Weight, due to dead code).
* Fix Bug 736: Add GL.GL_UNSIGNED_INT and GL2ES2.GL_INT case in ↵Petr Skramovsky2013-05-171-0/+2
| | | | GLArrayDataWrapper.getBufferClass()
* GLPixelBuffer.dispose(): Set diposed:=true to allow isValid() to work ↵Sven Gothel2013-05-172-15/+9
| | | | properly; GLJPanel: Rely on GLPixelBuffer.requiresNewBuffer(..) for each frame, don't use local pixelBufferCheckSize (buggy w/ singleton)
* JOGL GLSL ShaderProgram/State: Release of an unlinked ShaderProgram shall ↵Sven Gothel2013-05-172-2/+4
| | | | not throw an exception -> avoid calling useProgram(.., false).
* GLSL version determination: Use static GLSL version mapping in case of GLES ↵Sven Gothel2013-05-171-1/+1
| | | | - Mesa 9.1* fails otherwise since it supports ES3/300 which is returned.
* Fix Bug 711: Align Graphs's Curve Shader programmatically to used GL/GLSL ↵Sven Gothel2013-05-1723-209/+122
| | | | version, following all other internal GLSL usage utilizing ShaderCode.
* Fix Bug 737: Add shader default precision for GLSL [1.30 .. 1.50[ - See GLSL ↵Sven Gothel2013-05-176-32/+138
| | | | Spec [1.30 - 1.40].
* Fix Bug 731: GLJPanel: Access global GLPixelBuffer via ↵Sven Gothel2013-05-093-34/+97
| | | | SingletonGLPixelBufferProvider, if provided - releasing prev. smaller GLPixelBuffer after resize.
* Fix regression of commit 0a7bf77b8c0765f8a53dc72a8edab8e0496938ff - ↵Sven Gothel2013-05-081-1/+1
| | | | | | | GLReadBufferUtil's GLPixelBuffer* usage. Ref GLJPanel SingleAWTGLPixelBufferProvider's screenshots. Ref GLJPanel SingleAWTGLPixelBufferProvider's screenshots: <http://jogamp.org/files/screenshots/gljpanels-singlebuffer/>
* Refactor: TextureData's PixelAttributes/PixelBufferProvider -> ↵Sven Gothel2013-05-087-295/+651
| | | | | | | | | | | | | | | | | | | | | | | GLPixelBuffer/.. and enhance usage; GLJPanel: Use GLPixelBuffer* API and SingleAWTGLPixelBufferProvider if possible. Refactor: TextureData's PixelAttributes/PixelBufferProvider -> GLPixelBuffer/.. and enhance usage - GLPixelBuffer, GLPixelAttributes and GLPixelBufferProvider have potential for wider audience, hence extract them to package 'com.jogamp.opengl.util'. - Using GLPixelBuffer, shall attempt to use pack/unpack row-stride, i.e. GL2GL3.GL_PACK_ROW_LENGTH, or GL2GL3.GL_UNPACK_ROW_LENGTH. See GLReadBufferUtil and GLJPanel - AWTGLPixelBuffer*: Attribute 'row-stride' allows reusing a bigger buffer than requested. GLJPanel: Use GLPixelBuffer* API and SingleAWTGLPixelBufferProvider if possible. - Use GLPixelBuffer API to remove redundancies - Attempts to use SingleAWTGLPixelBufferProvider to save JVM/CPU heap space for BuffereImage and IntBbuffer (readBack) Added unit new test demonstrating multiple overlapping GLJPanels reusing (or not) a singlton SingleAWTGLPixelBufferProvider.
* GLBuffers: Extract common methods: bytesPerPixel(..) and componentCount(.). ↵Sven Gothel2013-05-081-69/+163
| | | | Better namings for vars, i.e. compCount, .. etc
* Add TestGearsGLJPanelAWT, i.e. multiple JPanels w/ GLJPanel running GearsES2 ↵Sven Gothel2013-05-081-0/+1
| | | | | | in their own color. Note: JComponent will introduce flickering if using opaque rendering mode!
* GLJPanel: Use PixelBufferProvider AWTPixelBufferProviderInt; ↵Sven Gothel2013-05-084-27/+55
| | | | | | PixelBufferProvider: Add 'dispose()' to interface. Transition reusing AWT specific PixelBufferProvider to allow a later user provided PixelBufferProvider.
* Minor: Typo/Syntax in GLRendererQuirksSven Gothel2013-05-071-1/+1
|
* Fix GLX: X11GLXContext used wrong FBConfig n/a query; X11GLX*: If FBConfig ↵Sven Gothel2013-05-063-5/+22
| | | | is n/a force GLX (server) version down to 1.1 to avoid crashes w/ old GLX server (i.e. Mesa 4.*).