summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Bug 1033: Guarantee atomicity of high-level GLAutoDrawable operations, ↵Sven Gothel2014-07-2717-445/+880
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | avoiding race conditions. GLAutoDrawable (API CHANGE) allowing atomic operations: - Add class API-doc chapter about 'GLAutoDrawable Locking' - Add method invoke(..) API-doc description about throwing IllegalStateException in case of a detected deadlock situation ahead (Note: Implemented in GLDrawableHelper.invoke(..) for all implementations) - Add new methods for proper multithread handling: - public RecursiveLock getUpstreamLock(); - public boolean isThreadGLCapable(); +++ GLEventListenerState/GLDrawableUtil: - Perform operation in a atomic fashion, i.e. lock GLAutoDrawable during whole operations: - GLDrawableUtil.swapGLContext(..) - GLDrawableUtil.swapGLContextAndAllGLEventListener(..) - GLEventListenerState.moveFrom(..) - GLEventListenerState.moveTo(..) - ReshapeGLEventListener: - Moved from GLEventListenerState.ReshapeGLEventListener -> GLDrawableUtil.ReshapeGLEventListener - Takes 'displayAfterReshape' case into account. +++ javax.media.opengl.Threading Clarifications: - Public 'enum Mode', i.e. Threading.Mode - Public getMode() - Clarified 'isOpenGLThread()': - Take 'singleThreaded' into account directly, i.e. always return 'true' if singleThreaded == false
* Bug 1024: Add fallback for native-jar-file location via classpathSven Gothel2014-07-1120-145/+267
| | | | Adapt to GlueGen commit f5c48efcf546ba4e08e197ccced6df83b57e1755
* Refine commit 808d95cd692ab666271a83c70e8509859586de72 LICENSE.txt: Add ↵Sven Gothel2014-07-101-0/+5
| | | | optional removal of oculusvr artifacts from official builds, if user dislikes.
* StereoClientRenderer: Fix API doc anchor linkSven Gothel2014-07-101-2/+1
|
* Refine 'GLSharedContextSetter' test cases: Use ↵Sven Gothel2014-07-109-25/+28
| | | | 'setSharedAutoDrawable(sharedAutoDrawable)' where possible; Fix/Refine API doc.
* Refine commit ec2d94ca26ddab8ec67135ebc5f2d0a43f6a4c25: Call ↵Sven Gothel2014-07-101-8/+1
| | | | 'areAllGLEventListenerInitialized()' directly from GLAutoDrawable
* Refine JOGL's LICENSE.txt: Distinguish between 'New BSD 2-Clause License' ↵Sven Gothel2014-07-101-10/+53
| | | | | | compatible and not-compatible materials! OculusVR RIFT SDK license is not compatible, but usable and optional! .. also refine A.7) Oculus VR Rift SDK Software License
* StereoDeviceRenderer/ClientRenderer: Add note about 'Correct Asymmetric FOV ↵Sven Gothel2014-07-102-0/+18
| | | | Rendering', using FovHVHalves - incl. references
* Bug 982: Adding test TGA file for confirmation - No bugSven Gothel2014-07-103-1/+15
|
* Bug 1031: Remove Deprecated Classes and Methods (JOGL)Sven Gothel2014-07-1037-1314/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed Deprecated Class: - com/jogamp/opengl/util/TGAWriter.java - Use TextureIO w/ .tga suffix - com/jogamp/opengl/util/awt/Screenshot.java - Use: - com.jogamp.opengl.util.GLReadBufferUtil, or - com.jogamp.opengl.util.awt.AWTGLReadBufferUtil The latter for reading into AWT BufferedImage See: TestBug461FBOSupersamplingSwingAWT, TestBug605FlippedImageAWT - javax/media/opengl/GLPbuffer.java - Use: caps.setPBuffer(true); final GLAutoDrawable pbuffer = GLDrawableFactory.getFactory( caps.getGLProfile() ).createOffscreenAutoDrawable(null, caps, null, 512, 512); - See: TestPBufferDeadlockAWT, .. Removed Deprecated Methods: - Constructor of AWT-GLCanvas, SWT-GLCanvas, AWT-GLJPanel with argument 'final GLContext shareWith' See GLSharedContextSetter, i.e. glCanvas.setSharedContext(..) ! - GLDrawableFactory.createOffscreenAutoDrawable(..) with argument 'final GLContext shareWith' See GLSharedContextSetter, i.e. offscreenAutoDrawable.setSharedContext(..) ! - GLDrawableFactory.createGLPbuffer(..), see above! - com.jogamp.opengl.util.av.AudioSink 'enqueueData(AudioDataFrame audioDataFrame)', use 'enqueueData(int, ByteBuffer, int)' - GLSharedContextSetter.areAllGLEventListenerInitialized(), migrated to GLAutoDrawable ! - GLBase's - glGetBoundBuffer(int), use getBoundBuffer(int) - glGetBufferSize(int), use getBufferStorage(int).getSize() - glIsVBOArrayBound(), use isVBOArrayBound() - glIsVBOElementArrayBound(), use isVBOElementArrayBound() - NEWT MouseEvent.BUTTON_NUMBER, use BUTTON_COUNT
* Bug 801: Add Graph pass-2 shader for VBAA 'odd' sample countSven Gothel2014-07-096-90/+188
|
* StereoDevice: Don't make inner class's method private due to wrapper ↵Sven Gothel2014-07-081-1/+1
| | | | generation (still, findbugs didn't report this)
* Findbugs: Comment on some issues (OK, they are) ; Remove dead branchesSven Gothel2014-07-084-7/+7
|
* Findbugs: Use static fields where possibleSven Gothel2014-07-086-7/+7
|
* Findbugs: Use inner static class where possibleSven Gothel2014-07-0823-79/+80
|
* Findbugs: Misc issues (Use private accessors of static fields; Use boolean ↵Sven Gothel2014-07-083-28/+30
| | | | operator; Avoid NPE
* Findbugs: Use 'float' division instead of integer for float resultsSven Gothel2014-07-083-3/+3
|
* Findbugs: Use AtomicInteger for synchronized increment accessSven Gothel2014-07-083-29/+38
|
* AnimatorBase: Use cached synchronized value instead of unsynchronized ↵Sven Gothel2014-07-081-1/+1
| | | | (sloppy left-over code)
* Findbugs: Misc minor issues (see below)Sven Gothel2014-07-0817-102/+79
| | | | | | | - remove duplicate code in branch - Use Type.valueOf(primitive) - Don't use array.toString() directly - remove dead code
* Findbugs: Add comments that FB warnings are of no concern ..Sven Gothel2014-07-086-7/+7
|
* Findbugs: Remove dead-code / unused [temp] storage and it's assignmentSven Gothel2014-07-0821-115/+133
|
* Findbugs: Remove branches where reference cannot be nullSven Gothel2014-07-0810-34/+37
|
* Findbugs: Use <NumberType>.valueOf(..) instead of 'new <NumberType>(..)'Sven Gothel2014-07-0814-51/+48
|
* Fix regression of commit 96d530e7127c89db9991080e6268c6e8430d0619: ↵Sven Gothel2014-07-081-1/+1
| | | | EGLDisplayUtil.eglCreateEGLGraphicsDevice(..) call w/ uninitialized 'surface'
* Findbugs: Add comment about intended setting of static field by instance method.Sven Gothel2014-07-083-3/+3
|
* Findbugs: Fix WindowImpl.getReconfigureFlags(..): Remove sloppy useless ↵Sven Gothel2014-07-081-6/+6
| | | | assignment-or, replace by plain or
* Findbugs: Add FIXME comment regarding float comparison (consider using ↵Sven Gothel2014-07-081-0/+2
| | | | FloatUtil.isEqual(ax, bx, epsilon), FloatUtil.isZero(bx, epsilon), ..)
* Findbugs: Use Integer.parseInt(string) for int values to avoid boxing and ↵Sven Gothel2014-07-083-6/+6
| | | | unboxing
* Findbugs: Remove redundant instanceof checksSven Gothel2014-07-084-17/+9
|
* Findbugs.static_final_immutable: Use final qualifier for static immutable ↵Sven Gothel2014-07-0816-66/+67
| | | | instances.
* GenericStereoDevice: Cast to float before operating division, requesting ↵Sven Gothel2014-07-081-3/+4
| | | | float. Base aspect-ratio on eyeTextureSize
* Findbugs.increment_volatile: Use AtomicInteger or add comment that operation ↵Sven Gothel2014-07-089-76/+82
| | | | is safe!
* Findbugs.switch-case: GLBuffers.bytesPerPixel(..) throw GLException for type ↵Sven Gothel2014-07-081-0/+3
| | | | BITMAP && format !COLOR_INDEX || !STENCIL_INDEX
* Findbugs.not-written.null: Fix referencing non-written fields (never written ↵Sven Gothel2014-07-0810-39/+63
| | | | | | | | | | | | | | | or due branching) - AWT TextRenderer: Add throw new InternalError("fontRenderContext never initialized!"); FIXME! - GLContextImpl.hasFBOImpl(): Fix serious NPE issue if extCache is null - GLDrawableFactoryImpl.createOffscreenDrawableImpl(..): - Fix NPE issue w/ null drawable - Fix resetting GammaRamp by ensuring originalGammaRamp will be set at 1st setGammaRamp(..) - AndroidGLMediaPlayerAPI14: Fix NPE: Use already resolved local referenced - EGLDrawableFactory: Fix NPE: Only operate on non null surface! - ALAudioSink.dequeueBuffer(..): Only resolve releasedBuffer elements if not null -
* Findbugs.synchronization: Fix double-check w/o volatile; Remove redundant ↵Sven Gothel2014-07-082-2/+2
| | | | synchronized from setter
* Findbugs.normal: Adding safeguard hashCode() implementation throwing ↵Sven Gothel2014-07-086-0/+25
| | | | | | InternalError("hashCode not designed") As long we don't use Object.hashCode() to idenitify the memory address, we can safeguard the code.
* Findbugs.minor: Fix 'array -> string', missing argumentSven Gothel2014-07-086-7/+10
|
* Bug 1021: Add GenericStereoDevice* Supporting custom configurations; Hook-in ↵Sven Gothel2014-07-0730-159/+2021
| | | | | | | | | | | | | | | | | | | | | | oculusvr-sdk java distortion-mesh calculation if available StereoDeviceFactory support new GenericStereoDeviceFactory, with it's GenericStereoDevice and GenericStereoDeviceRenderer. GenericStereoDevice maintains different configurations, triggered either by passing a GenericStereoDevice.Config instance directly or by the device-index parameter: - 0: monoscopi device: No post-processing - 1: stereoscopic device SBS: No post-processing - 2: stereoscopic device SBS + Lenses: Distortion post-processing (only available w/ oculusvr-sdk sub-module) Producing a 'GenericStereoDevice.Config' instance is self containing and may extend if supporting more device types like top-bottom, interlaced etc. StereoDemo01 handles all use-cases and may be used as a test-bed to add and experiment with stereoscopy, devices and settings.
* Merge remote-tracking branch 'github-mark/master' (Bug 1023/Bug 1024)Sven Gothel2014-07-0519-75/+79
|\ | | | | | | | | | | | | Conflicts: make/scripts/tests.sh (build.xml: Using <copy tofile=".."/> instead of producing new jar files via <jar> to keep identity)
| * Attempt to remove aliasing from native libraries.Mark Raynsford2014-06-3018-75/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Renamed: jogl-core.jar → jogl.jar nativewindow-core.jar → nativewindow.jar The build scripts have been edited to produce sets of natives for each "module" (as opposed to producing one set of natives and then have each module point to them via aliasing). Bug: 1023 Bug: 1024 Depends on 46faa59d439ef235d7691fc64d56eedc600ffa1a from gluegen.
| * Produce duplicate natives in the build, in preparation for removingMark Raynsford2014-06-261-0/+18
| | | | | | | | | | | | | | | | | | | | support for aliasing in native library loading. Specifically, produce: jogl-all-noawt-natives-${os_and_arch}.jar jogl-all-mobile-natives-${os_and_arch}.jar jogl-all-android-natives-${os_and_arch}.jar
* | Fix FloatUtil.makePerspective(..): The tan(fovy/2) shall be used, not ↵Sven Gothel2014-07-056-75/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | tan(fovy), fix callers; Simplify FloatUtil.makePerspective(..FovHVHalves..) Fix FloatUtil.makePerspective(..): The tan(fovy/2) shall be used, not tan(fovy), fix callers - This bug didn't hit (yet), since callers already performed the division (degree -> radian) by falsly claiming the passed value is in radian - where it was actually fov/2 in radians. Simplify FloatUtil.makePerspective(..FovHVHalves..) - Due to the fix above, it became pretty clear that the makeFrustum(..) method can be utilized. Simply apply all our tan-half-fov values on zNear.
* | Bug 1021: Make OVR access vendor agnostic: Package ↵Sven Gothel2014-07-0524-1395/+2845
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'com.jogamp.opengl.util.stereo' contains all public interfaces/classes Renamed interfaces: CustomRendererListener -> CustomGLEventListener StereoRendererListener -> StereoGLEventListener New vendor agnostic 'stuff' in com.jogamp.opengl.util.stereo: 1 - StereoDeviceFactory To create a vendor specific StereoDeviceFactory instance, which creates the StereoDevice. 2 - StereoDevice For vendor specific implementation. Can create StereoDeviceRenderer. 3 - StereoDeviceRenderer For vendor specific implementation. 4 - StereoClientRenderer Vendor agnostic client StereoGLEventListener renderer, using a StereoDeviceRenderer. Now supports multiple StereoGLEventListener, via add/remove. - MovieSBSStereo demo-able via StereoDemo01 can show SBS 3D movies.
* | build: Add oculusvr java-doc ; Add jogl-test-java-src.zip in 7z archiveSven Gothel2014-07-032-1/+3
| |
* | HowToBuild: Add 'libudev-devel' for oculusvr-sdk sub-module compilationSven Gothel2014-07-031-3/+5
| |
* | Bug 1021: Fix remaining build issues if sub-module oculusvr-sdk is missingSven Gothel2014-07-032-0/+2
| |
* | Code Clean-Up based on our Recommended Settings (jogamp-scripting ↵Sven Gothel2014-07-031068-19440/+19597
| | | | | | | | | | | | | | | | | | | | | | | | | | c47bc86ae2ee268a1f38c5580d11f93d7f8d6e74) - Change non static accesses to static members using declaring type - Change indirect accesses to static members to direct accesses (accesses through subtypes) - Add final modifier to private fields - Add final modifier to method parameters - Add final modifier to local variables - Remove unnecessary casts - Remove unnecessary '$NON-NLS$' tags - Remove trailing white spaces on all lines
* | FloatUtil.makePick(..): Refine API doc, incl. PMVMatrix.gluPickMatrix(..)Sven Gothel2014-07-032-17/+26
| |
* | Bug 1021: OVRSBSRenderer*: Add texture filtering parameter (bilinear/none), ↵Sven Gothel2014-07-033-57/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | adjust FBO texture params (alpha, filtering); Demo: Pass all parameters w/ arguments, use sane good defaults. Turns out that using bilinear texture filtering w/o multisampling is 'good enough' .. - OVRSBSRenderer*: - Add texture filtering parameter (bilinear/none) - Adjust FBO texture params (alpha, filtering) No alpha needed in FBO sink/target! - Demo: Pass all parameters w/ arguments, use sane good defaults.