aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/com/jogamp/opengl/util
Commit message (Collapse)AuthorAgeFilesLines
* Reuse Gluegen's Bitfield.Util for 'PowerOf2' computationSven Gothel2019-12-311-30/+6
| | | | See gluegen commit 178c7b9d40e06a04790542241912ca21d2c7b92f
* Bug 1390: Fix GLPixelBuffer.GLPixelAttributes::convert(GL, int, boolean) ↵Sven Gothel2019-09-051-7/+17
| | | | | | | | | | | | | | | | | | | | | | | | | failure on unsupported GL data format/type GLPixelBuffer.GLPixelAttributes::convert(GL, int, boolean) failed on unsupported GL data format/type On Mesa/AMD for GLPBuffer chosen GLCaps used rgba 10/10/10/2 and the GLContext set default values: GL_IMPLEMENTATION_COLOR_READ_FORMAT: 0x1908 GL_RGBA GL_IMPLEMENTATION_COLOR_READ_TYPE: 0x8368 GL_UNSIGNED_INT_2_10_10_10_REV GLPixelBuffer.GLPixelAttributes::getPixelFormat(int format, int type) currently does not handle the type GL_UNSIGNED_INT_2_10_10_10_REV and hence returned a null PixelFormat. Therefor the ctor GLPixelAttributes failed and threw the exception: "Caught GLException: Could not find PixelFormat for format and/or type: PixelAttributes[fmt 0x1908, type 0x8368, null]" This fix has the GLContext default values pre-validated in the convert(..) method and to use default GL_RGBA and GL_UNSIGNED_BYTE fallback values if not supported. This is most important to be future proof. Later we may shall add these 32bit coding 2+10+10+10 and its reverse.
* Bug 1101: Add missing disposal of Pipelined_QuadRenderer's VBOsSven Gothel2019-08-201-3/+15
| | | | Original author is 'Tof'
* Bug 1381: Keep host PixelFormat functional using requested immutable ↵Sven Gothel2019-05-132-13/+34
| | | | alphaRequested + add appropriate API doc
* Bug 1366 - Use String.format((Locale)null, "..." ..) avoiding Locale output ↵Sven Gothel2019-03-301-1/+2
| | | | for System related Operations
* ShaderCode: Fixed constant usage (GL3 -> GL3ES3)Sven Gothel2019-03-261-15/+15
|
* Bug 1283: Remove shader include filename quotes if exists at start and end onlySven Gothel2019-03-261-1/+9
|
* Removing also all the double quotesGiuseppe Barbieri2016-01-291-1/+1
| | | https://jogamp.org/bugzilla/show_bug.cgi?id=1283
* Remove deprectated classes and methodsSven Gothel2015-10-156-211/+38
|
* Bug 1239: Fix GLMediaPlayer.CameraInputScheme API doc; ↵Sven Gothel2015-10-051-6/+13
| | | | GLMediaPlayerImpl.updateAttributes avoid div-by-zero (fps inf)
* Bug 1237: Adopt GlueGen's clarification of IOUtil.getResource(..), commit ↵Sven Gothel2015-10-033-6/+6
| | | | | | | | d78bb1be0a6290cb94918b21865a023c01825048 - Skip relative lookup for IOUtil.ClassResources using 'asset' only (from JAR file) - Tested w/ jar file and build-dir, see scripts/tests.sh 'USE_BUILDDIR'
* Bug 1241 - Util's Texture.coords (image coordinates) not updated properlySven Gothel2015-10-021-22/+29
| | | | | | | | | Adding 'imageTarget', i.e. GL target for this texture or its sub-components if cubemap The imageTarget preserves the used 2D image type for the 2D Texture coordinates. Note: 'Texture.updateImage(final GL gl, final TextureData data, final int targetOverride)' needs an overhaul targeted for 2.4.0.
* Bug 1234 - GLReadBufferUtil.readPixelsImpl(..) not using [xy] offset in ↵Sven Gothel2015-09-281-2/+2
| | | | | | | | | | | | | readTexture.updateSubImage(..) The passed inX and inY x/y offset for readPixel -> [textureData] buffer, must be passed to readTexture.updateSubImage(..)'s destination offset. I.e. the buffer's content starting at beginning is filled via glReadPixels w/ offset applied. Hence the texture update must pass the offset as the destination offset, i.e. to be used for glTexSubImage2D's offset.
* Bug 1226 - GLPixelBuffer.GLPixelAttributes.getPixelFormat() doesn't handle ↵Sven Gothel2015-09-261-0/+4
| | | | glDataType GL_UNSIGNED_INT_8_8_8_8_REV
* Bug 1211: Hardening Condition-Wait from Spurious-Wakeups and unintended ↵Sven Gothel2015-09-153-15/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | InterruptedException(s) Below is an updated list of Condition-Wait classifications as described in Bug 1211. This list includes recent changes on GlueGen regarding this Bug 1211. A followup commit will address the unit tests. - Noncancelable + Persistent-Wait - GLMediaPlayerImpl.StreamWorker thread (changed) - pauses thread in case of intr - Cancelable + Persistent-Wait: - LFRingbuffer.getImpl(..) - LFRingbuffer.waitForFreeSlots(int) - SyncedRingbuffer.getImpl(..) - SyncedRingbuffer.waitForFreeSlots(int) - FunctionTask.invokeOnNewThread(..) (changed) - RunnableTask.invokeOnNewThread(..) (changed) - SharedResourceRunner.run() - SharedResourceRunner.doAndWait() (changed) - SharedResourceRunner.start() (changed) - SharedResourceRunner.stop() (changed) - GLMediaPlayerImpl.StreamWorker ctor (changed) - GLMediaPlayerImpl caller thread actions do*() (changed) - AndroidGLMediaPlayerAPI14.getNextTextureImpl(..) (changed) - DisplayImpl.enqueueEvent(..) (changed) -> Persistent-Wait -> Cancels wait and NEWTEvent -> dispatchMessage(NEWTEventTask): always notifyCaller! - GLDrawableHelper.invoke(..) (changed) - DefaultEDTUtil.waitUntilIdle() (changed) - DefaultEDTUtil.waitUntilStopped() (changed) - DefaultEDTUtil.invokeImpl(..) (changed) - DefaultEDTUtil.NEDT.run(..) (changed) - AWTEDTUtil.waitUntilStopped(..) (changed) - AWTEDTUtil.invokeImpl(..) (changed) - AWTEDTUtil.NEDT.run(..) (changed) - SWTEDTUtil.invokeImpl(..) (changed) - SWTEDTUtil.waitUntilStopped(..) (changed) - SWTEDTUtil.NEDT.run(..) (changed) - GLWorkerThread.invokeAndWait(..) - GLWorkerThread.start() (changed) - GLWorkerThread.WorkerRunnable.run() (changed) - Animator.run() (changed) - AnimatorBase.finishLifecycleAction() (changed) - OSXUtil.RunOnMainThread(..) (changed) - SingletonInstanceServerSocket.Server.shutdown() (changed) - SingletonInstanceServerSocket.Server.start() (changed) - com.jogamp.audio.windows.waveout.Mixer.shutdown() (changed) - Extending/Using InterruptSource.Thread (changed) - DefaultEDTUtil.NEDT - AWTEDTUtil.NEDT - SWTEDTUtil.NEDT - GLWorkerThread.thread - Mixer.FillerThread - Mixer.MixerThread - Using InterruptSource.Thread (changed) - TempFileCache - LauncherTempFileCache - Animator.thread - SingletonInstanceServerSocket.Server.serverThread Deprecated: - FunctionTask.invoke(..) (changed) -> on current thread, no wait -> deprecated - RunnableTask.invoke(..) (changed) -> on current thread, no wait -> deprecated
* *AnimatorImpl: Catch concurrent pulling of GLAutoDrawable instancesSven Gothel2015-08-292-24/+37
| | | | | | | | | | | | | | | It may happen that an GLAutoDrawable is being pulled concurrently from the animators list, in which case an IndexOutOfBoundsException might be thrown. Example: [junit] *** AWTRobotUtil: UncaughtException (this Thread main-AWTAnimator#00) : Thread <main-AWTAnimator#00>, java.lang.IndexOutOfBoundsException: Index: 1, Size: 1 [junit] java.lang.IndexOutOfBoundsException: Index: 1, Size: 1 [junit] at java.util.ArrayList.rangeCheck(ArrayList.java:653) [junit] at java.util.ArrayList.get(ArrayList.java:429) [junit] at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:68) [junit] at com.jogamp.opengl.util.AnimatorBase.display(AnimatorBase.java:451) [junit] at com.jogamp.opengl.util.Animator$MainLoop.run(Animator.java:198) [junit] at java.lang.Thread.run(Thread.java:745)
* Improves a bit the documentation of ImageTypeJulien Gouesse2015-08-191-5/+5
|
* Improves a bit the documentation of ImageType and adds .ico and .cur into itJulien Gouesse2015-08-191-23/+68
|
* PNGPixelRect: Avoid redundant wrapping of InputStream into BufferedInputStreamSven Gothel2015-08-191-1/+2
|
* Bug 1042: ImageIOUtil -> ImageType + ImageType.Util ; Fix implementation and ↵Sven Gothel2015-08-198-1505/+1736
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | test. - ImageIOUtil -> ImageType + ImageType.Util - ImageType.Util.getFileSuffix(..): - Fix byte type conversion, i.e. 'b == (byte)0x89', cast is required to avoid byte -> int conversion. Note: signed byte -128 - +128 - Parse in O(1), i.e. lexicographical parsing - FIXME: We seem to have at least three type collisions, validate! - ImageType: - Complete T_* w/ API doc -> FIXME/TODO missing type references! - ImageType instancing via InputStream or manual type definition. - TextureData - Contains optional source ImageType - TextureProvider: - Deprecate newTextureData(..) variants other than InputStream simplifying TextureIO. - TextureProvider.SupportsImageTypes: - Added interface, allowing mapping ImageType -> provider - Tested standalone ImageType (TestImageTypeNEWT) and via TextureIO (TestTextureIONEWT) utilizing list of all test data (ImageTstFiles), i.e. PNG, JPG, TGA and DDS.
* Bug 1042: ImageIOUtil: Use unique public static final const String identifiersSven Gothel2015-08-182-154/+1065
|
* Bug 1042: ImageIOUtil: Left-Align branches for readabilitySven Gothel2015-08-181-100/+100
|
* Bug 1193: ShaderCode: Add SUFFIX_COMPUTE_SOURCE/SUFFIX_COMPUTE_BINARY; Add ↵Sven Gothel2015-08-181-3/+22
| | | | @since 2.3.2 tag
* Updates the documentation of the class ShaderCode concerning the compute shadersJulien Gouesse2015-08-131-11/+13
|
* Adds the compute shaders into the list of supported shaders for ShaderCodeJulien Gouesse2015-08-131-0/+9
|
* Deprecates SGIImage.isSGIImage() and DDSImage.isDDSImage(), see the bug ↵Julien Gouesse2015-08-092-7/+14
| | | | report 1042
* Calls ImageIOUtil in TextureIO to detect the image format of a stream, see ↵Julien Gouesse2015-08-091-4/+7
| | | | the bug report 1042
* Documents ImageIOUtil, see the bug report 1042Julien Gouesse2015-08-091-0/+17
|
* Detection of the image format, first version (work in progress), see the bug ↵Julien Gouesse2015-08-091-0/+428
| | | | report 1042
* StereoDevice (Generic/OVR): Add knowledge about LocationSensorParameter and ↵Sven Gothel2015-07-202-0/+68
| | | | allow reset origin of location-sensor
* Clarify code in stereo/ovr: Comments, states, names, formatting.Sven Gothel2015-07-202-3/+3
|
* Refine Frustum definition: Adding Frustum.FovDesc; Clarify makeFrustum ↵Sven Gothel2015-07-201-3/+5
| | | | argument constraints -> Exceptions
* ShaderCode: Add 'create' variations w/ custom shader file suffixes as well ↵Sven Gothel2015-07-191-19/+303
| | | | as w/ Uri usage
* Fix javadoc typo: </count> -> </code>Sven Gothel2015-07-181-4/+4
|
* Bug 1151 - Working OculusVR SDK 0.5.0.1 on GNU/Linux w/ Positional Tracker (DK2)Sven Gothel2015-07-188-46/+153
| | | | | | | | | | | | | | | | | | | | | | | | | Note: The ovrd server must run, otherwise no device is being detected. General Stereo API Changes: - EyePose -> ViewerPose - We only use the viewer pose and derive the pupile position via EyeParameter. - Hence we reduce complexity. - A single ViewerPose will be maintained by StereoDeviceRenderer - position is in meter, allowing StereoGLEventListener to scale device independent. - StereoDevice receives knowledge of certain sensors, to be queried and used for start-sensors. OVR: - Simply apply the above general changes - Build: Remove [more] unused API entries for SDK rendering
* Bug 1116: Add ShutdownHook for all factories and devices to ↵Sven Gothel2015-03-273-8/+105
| | | | StereoDeviceFactory using NativeWindowFactory
* Bug 1116: Oculus SDK 0.4.4: Add extra DK1 detection; Add call to ↵Sven Gothel2015-03-272-0/+10
| | | | | | | | | | | | | | ovr_Shutdown() and ovrHmd_Destroy(hmdDesc). Add extra DK1 detection - SDK 0.4.4 w/ DK1 (Linux): ovrHmd_Detect() returns zero! - In such case: Try creating one device, which works for DK1 on Linux Add call to ovr_Shutdown() and ovrHmd_Destroy(hmdDesc). - Add StereoDeviceFactory.shutdown() and call ovr_Shutdown() for in OVRStereoDeviceFactory.shutdown(). - Call ovrHmd_Destroy(hmdDesc) in OVRStereoDevice.dispose().
* Bug 1116 - Add OculusVR DK2 Support - Part-1 (DK2 on DK1 SDK w/o Eye Tracker)Sven Gothel2015-03-218-19/+466
| | | | | | | | | | | | | | | | | - DK2's screen on X11 (at least) starts in rotated mode, detect and apply MonitorDevice rotation via NEWT's OpenGL StereoDeviceUtil - Move StereoDevice.Config -> StereoDeviceConfig - Expose generic StereoDevice to public: GenericStereoDeviceConfig + GenericStereoDeviceFactory - GenericStereoDeviceFactory exposes public GenericStereoDeviceConfig creation for mono, sbs-stereo and lense-sbs-stereo w/ diff. parameters. - Pass eye surface/texture size for each eye from device to renderer, instead of assuming unified values. - Unify GenericStereoDevice.createRenderer(..) and OVRStereoDevice.createRenderer(..) code
* Bug 1135 - Cleanup: Class ownership change of static GL enumeratesSven Gothel2015-03-069-29/+28
| | | | GLBufferStateTracker now also supports GL4.GL_QUERY_BUFFER
* Fix typo: PixelFormat.Composition.[componenCount() -> componentCount()]Sven Gothel2015-02-162-3/+3
| | | | .. thx to Julien Gouesse's review.
* Bug 682 - Relocating javax.media.opengl.* -> com.jogamp.opengl.* (Part 1)Sven Gothel2015-02-0257-240/+240
| | | | | | | | | sed -i 's/javax\.media\.opengl/com\.jogamp\.opengl/g' `grep -Rl "javax\.media\.opengl" src` sed -i 's/javax\.media\.nativewindow/com\.jogamp\.nativewindow/g' `grep -Rl "javax\.media\.nativewindow" src` sed -i 's/javax\/media\//com\/jogamp\//g' `grep -Rl "javax/media/" src` sed -i 's/javax\/media\//com\/jogamp\//g' `grep -Rl "javax/media/" doc` Manually edited all occurences within make/**
* Bug 1126: Adobt GlueGen commit 7db9df61142694965b50f2e0553d4c9e5668439bSven Gothel2015-02-021-1/+1
|
* Bug 1107 - Refine PixelFormat, GLPixelBuffer and ↵Sven Gothel2014-12-067-224/+518
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DirectDataBufferInt/BufferedImageInt - PixelFormat Refine definition allowing complete format conversion by its attributes instead of static 'knowledge'. - PixelFormat has_a *new* PixelFormat.Composition - PixelFormat.Composition contains all pixel component layout information as required for inspection and conversion. Component names are enumerated via PixelFormat.CType. - PixelFormatUtil.convert(..) utilizes generic conversion based on PixelFormat.Composition rather static type mapping. However, a int32 RGBA static conversion is still supported for performance. Utilizes Bitstream for varying pixel component bit-width. - Complete w/ hashCode() and equals(..) - GLPixelBuffer - Take 'pack' mode into account when determine GLPixelAttributes, i.e. on GLES pack=true (e.g. glReadPixel) only RGBA is guaranteed to work. Hence querying GLPixelAttributes requires the GLProfile, PixelFormat and pack mode. - Complete GLPixelAttributes conversions from PixelFormat or GL format/data-type, while taking GL data-type into account, as well as pack-mode. - Complete w/ hashCode() and equals(..) - SingletonGLPixelBufferProvider queries singleton GLPixelBuffer via - PixelFormat.Composition hostPixelComp, - GLPixelAttributes pixelAttributes, - boolean pack which comprise a unique key, allowing the implementation to utilize a hash map. This is implemented in AWTSingletonGLPixelBufferProvider. This allows distinct singleton GLPixelBuffer for different host PixelFormat (conversion) and GLPixelAttributes (depending on GLProfile). - Removes field 'componentCount' which was 'hacked in' to pass information about an optional host memory layout. Implementations utilizing conversion, e.g. AWTGLPixelBuffer, can implement GLPixelBufferProvider's 'PixelFormat.Composition getHostPixelComp(final GLProfile glp, final int componentCount)' and manage such implementation details, see use-case GLJPanel. - DirectDataBufferInt/BufferedImageInt: Expose underlying NIO ByteBuffer - AWTMisc.createCursor(..) uses DirectDataBufferInt.BufferedImageInt exposed NIO ByteBuffer, allowing to use generic PixelFormatUtil.convert(..).
* Use ExceptionUtils.dumpStack(..) instead of Thread.dumpStack()Sven Gothel2014-10-264-10/+16
|
* GLContext.Version* VersionNumber Constants: Clarify names, avoiding ↵Sven Gothel2014-10-252-2/+2
| | | | mis-interpretation alike Version130 -> [ 1.3.0 | 1.30.0 ] ?
* FloatUtil.makeFrustum(..): Add throws GLException API doc / Add GLException ↵Sven Gothel2014-10-251-2/+9
| | | | | | | | | | | | | if zNear == zFar throws GLException with GL_INVALID_VALUE if zNear is <= 0, or zFar < 0, or if left == right, or bottom == top, or zNear == zFar Add note on callers: - FloatUtil.makePerspective(..) - Matrix4.* - PMVMatrix.* - ProjectFloat.*
* Fix GLContext.Version* regression: Use Version1_1 and Version1_2 for 1.1 and ↵Sven Gothel2014-10-122-16/+16
| | | | | | | | | | | | | | | 1.2 (Version110 and Version120 are for 1.10 and 1.20 GLSL) Following commit introduced the wrong version usage, where a comparison w/ 1.1 and 1.2 was intended. Commit 6363fccee219ce238b0b2ded39c116e2bc8613d5 GLBuffers.sizeof(..): Add support for ES3, reading supported glPixelStorei states Commit 73a4d809f92126228b64a3bded75686db806be64 Don't utilize glPixelStorei's PACK/UNPACK IMAGE_HEIGHT and SKIP_IMAGES for Desktop GL < 1.2, avoiding GL-Error Commit f358c49418e95c622d50eb29f53c60dc4dbdee5b Bug 1047 - jogamp.opengl.glu.mipmap.Mipmap now uses already parsed GL version number and GL profile selection
* ShaderCode: Fix link to create(..) methodSven Gothel2014-10-081-3/+3
|
* AnimatorBase thread-name: Add instance sequence numberSven Gothel2014-10-071-2/+5
|
* Bug 1078: Add Fallback in AWTPrintLifecycle.setupPrint(): Use Onscreen GLAD ↵Sven Gothel2014-09-301-1/+1
| | | | | | | | | | | | | | | | | | | if Offscreen-GLAD Realization throws an Exception (Stability) - GLDrawableFactoryImpl: createOffscreenDrawable(..) and createDummyAutoDrawable(..) Temporary catch exception during setRealized(true) of newly created GLDrawable, to unrealize the instance before propagating the exception. This handling removes a memory leak in case the exception of this method is handled and application continues to operate, e.g. as in AWTPrintLifecycle.setupPrint(). The underlying drawable gets unrealized, since it's setRealized(boolean) implementation toggles its realize-state before delegating the realize-operation. Hence this is functional. - AWTPrintLifecycle.setupPrint() Stability Catch exception thrown by factory.createOffscreenAutoDrawable(..)'s setRealize(true) to continue operation w/ onscreen GLAD.