aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes
Commit message (Collapse)AuthorAgeFilesLines
* StringBuffer -> StringBuilderSven Gothel2013-07-155-10/+10
|
* Add Support for GL 4.3 (Bug 716) and ES 3.0 (Bug 717)Sven Gothel2013-07-1520-363/+851
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ES3 / GL4.3: - Update all EGL, GLX, WGL and GL (desktop and mobile) khronos headers to latest version. - GL3/gl3* -> GL/glcorearb* - Explicitly preserve ES2_compatibility and ES3_compatibility in header, most extension grouping was removed in new headers. - Always load all GLHeader to ensure proper extension association across all profiles. - Unified method signatures - Added GL_EXT_map_buffer_range to core - Using common 'glMapBufferImpl(..)' for all glMapBuffer(..) and glMapBufferRange(..) impl. - Init necessary fields of GL instances via 'finalizeInit()' called by reflection, if exist. This allows removing initialization checks, i.e. for all buffer validations. - BuildStaticGLInfo: Can handle new GL header structure, i.e. one CPP extenstion block incl. define + funcs. - GLJavaMethodBindingEmitter: Simply print the - No GL duplication due to new intermediate interfaces, see below - OO lineare inheritance (Added GL2ES3, GL3ES3 and GL4ES3 intemediates): GLBase - GL - GL2ES2 - GLES2 GLBase - GL - GL2ES2 - GL2GL3 - [ GL2, GL3 ] GLBase - GL - GL2ES2 - GL2ES3 - GL3ES3 - [ GL3 ] GLBase - GL - GL2ES2 - GL2ES3 - GL3ES3 - GL4ES3 - [ GLES3, GL4, .. ] - Expose 'usable' intermediate interfaces GL3ES3 and GL4ES3 in GLBase/GLProfile/GLContext via is*() and get*(). - GLContext*: - isGL3core() is true if [ GL4, GL3, GLES3 ] (added GLES3) - Added ctxProfile argument to allow handling ES versions: - getMaxMajor(..), getMaxMinor(..), isValidGLVersion(..) and decrementGLVersion(..) - mapGLVersions(..) prepared for ES ARB/KHR validation - EGLContext checks ES3 (via old ctx's GL_VERSION) - ExtensionAvailabilityCache adds GL_ES_Version_X_Y for ES. - Prelim tests w/ Mesa 9.1.3 GL Version 3.0 (ES profile, ES2 compat, ES3 compat, FBO, hardware) - OpenGL ES 3.0 Mesa 9.1.3 [GL 3.0.0, vendor 9.1.3 (Mesa 9.1.3)] - TODO: - Use KHR_create_context in EGLContext.createContextARBImpl(..) - More tests (Mobile, ..) +++ Misc: - GLContext*: - Complete glAllocateMemoryNV w/ glFreeMemoryNV.
* PNGJ: Bump to git sha1 a0b1101ba2d37de39428ed55c8189502e24a3125 of ↵Sven Gothel2013-07-093-1336/+1438
| | | | | | https://code.google.com/p/pngj Part 2/2 - Started w/ 51427b92a2d9cd3fc619854e26536c9c6adad947 Missed rejected patches ..
* Workaround NVidia driver 325.8 returning 4.3-compat for any compat request, ↵Sven Gothel2013-07-051-3/+10
| | | | | | i.e. allowing 4.3 and 4.4 for GL version validation. 4.4 b/c it may come up soon.
* NEWT: Using WeakReferences for global cache of Display, Screen and Window ↵Sven Gothel2013-07-041-4/+2
| | | | | | | | | | | | | instances; Removing ref. at API destroy() is wrong ; Allow GC to clear .. - Removing ref. at API destroy() is wrong - Since all instances can be recreated, removing ref at destroy() is simply wrong. - Keep weak references until GC collects, i.e. user does not claim them anymore. - Safe for Display, since it holds it's EDT thread. - Window/Screen .. if user abandons reference .. nothing we can do here. - Allow GC to clear .. No need to hold ref loonger than user.
* Refine 9c7ab101cf5261db3ef6160c0aa1906ffcce188b: Don't print extensions .. ↵Sven Gothel2013-07-041-8/+16
| | | | too much
* Use JoglVersion.getGLStrings(..) in 'famous' tests, removes redundancy .. ↵Sven Gothel2013-07-041-0/+2
| | | | Gears* RedSquare*
* Remove deprecated methods.Sven Gothel2013-07-044-42/+4
| | | | | | | | | - Quaternion.isEmpty() - Texture.dispose(GL) - GLContext.getGLVersionMajor() / ..Minor() - GLContextImpl.bindPbufferToTexture() / releasePbufferFromTexture() - MouseEvent.getWheelRotation() -
* GLRendererQuirks.GLNonCompliant: Recoverd a bit of known knowledge .. in API ↵Sven Gothel2013-07-031-0/+8
| | | | doc.
* Merge remote-tracking branch 'mraynsford/mark'Sven Gothel2013-07-032-20/+10
|\
| * Remove redundant check around Mesa quirk (that check has already occurred ↵Mark Raynsford2013-07-031-9/+6
| | | | | | | | via isDriverMesa)
| * Merge branch 'master' of ssh://jogamp.org/srv/scm/jogl into markMark Raynsford2013-07-0327-189/+368
| |\
| * | Bug 759:Mark Raynsford2013-07-022-13/+6
| | | | | | | | | | | | | | | | | | | | | Currently, the compatibility context on Mesa >= 9.1.3 seems to be very broken. The core contexts, however, seem to be quite stable. This commit both reduces and widens the scope of the current Mesa quirk to include only Compatibility contexts on OpenGL > 3 || 3.n where n >= 1.
* | | Revise commit 4c34f5980bddcdc84b10cb3bcbb96b365b9d471e (Bug 767): TAB, BS ↵Sven Gothel2013-07-031-5/+8
| |/ |/| | | | | | | | | | | | | | | and CR/ENTER are printable for NEWT KeyEvent and font handling. Fix regression. - Original behavior was treating CR/ENTER them as printable, lets keep it this way. - KeyEvent: Query these 3 whitespaces upfront, no need to incl. them in 'nonPrintableKeys'. - Fix regression: Native VK_ENTER was not change in commit 4c34f5980bddcdc84b10cb3bcbb96b365b9d471e.
* | GLJPanel: Add remark about FBO / GLSL texture-unit usage in API doc; Add API ↵Sven Gothel2013-07-031-4/+61
| | | | | | | | | | | | | | entry to set/get texture unit (default 0). Allowing a user to set a specific texture-unit and to query the used texture-unit, allows one to avoid a collision w/ own texture programming .. i.e. removes the burden to setup all params etc.
* | Texture: Add 'Order of Texture Commansa' and their semantics to API doc .. ↵Sven Gothel2013-07-031-12/+27
| | | | | | | | due to lot's of confusions.
* | GLContext: Rename 2-digit VersionNumber statics aligning w/ all 3-digit ↵Sven Gothel2013-07-034-15/+15
| | | | | | | | names, e.g. Version31 -> Version310. ; Trim GLVersionNumber string.
* | PNGJ: Bump to git sha1 a0b1101ba2d37de39428ed55c8189502e24a3125 of ↵Sven Gothel2013-07-0220-157/+263
| | | | | | | | https://code.google.com/p/pngj/
* | Bug 724: Add manual unit test, incr. PNGImage verbosity.Sven Gothel2013-07-021-1/+2
|/
* Quaternion: Fix float type - double epsilon slipped through review, where we ↵Sven Gothel2013-06-301-2/+2
| | | | like to compare float values - remove 64bit conversion.
* 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.