aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/com/jogamp/opengl/util
Commit message (Collapse)AuthorAgeFilesLines
* TextureIO/TGA: Only use current GLContext if available, allowing pre-GL ↵Sven Gothel2012-04-064-46/+54
| | | | usage; writeFile() restricted to GL2GL3, not GL2.
* PMVMatrix: Add convenient ProjectFloat calls of gluLookAt, gluProject, ↵Sven Gothel2012-04-062-52/+192
| | | | gluUnProject and gluPickMatrix
* GLArrayData*: toString(): Dump the vboOffset in decimalSven Gothel2012-04-032-2/+2
|
* Texture: Ignore enable/disable for GL_TEXTURE_EXTERNAL_OES; TextureCoords: ↵Sven Gothel2012-04-032-4/+53
| | | | Add convenience coord transfer method to buffer.
* ProjectFloat: Promote to public, exposing general matrix/vector math, custom ↵Sven Gothel2012-04-022-92/+1197
| | | | instancing using sliced nio-buffer/primitive-array
* Adapt to GlueGen IO resource changes URL -> URLConnection for effeciency; ↵Sven Gothel2012-03-173-75/+322
| | | | | | | | | | API doc enhancements; Minor edits - API doc added/enhanced: - ShaderCode - ShaderUtil - NewtBaseActivity: Clarify method / var names
* Adapt to gluegen Properties/Security commits ↵Sven Gothel2012-03-134-13/+10
| | | | f4ac27e177f6deb444280d3b375e7d343e38bd080 and eedb4b530fb83fc59a26962bcf7847a1404092a0
* ShaderState: Use a HashMap instead of a HashSet for enabled attribute ↵Sven Gothel2012-03-101-17/+19
| | | | states, reducing fluctuating memory.
* Stabilize open InputStream's / Closeable's: Decorate w/ try-finally and ↵Sven Gothel2012-03-101-30/+39
| | | | | | close within the latter See gluegen commit 24f8694a188b4a5255d4ac4f8b49982bd8ad3228
* Fix GLArrayDataServer.destroy(GL): vboName was cleared by super class before ↵Sven Gothel2012-03-051-3/+6
| | | | deletion
* TextureIO (TGA/NetPbm): Allow GL_BGR[A] and use GL_BGRA if available ; Fix ↵Sven Gothel2012-02-224-61/+76
| | | | | | | | | | | | | NetPbmTextureWriter ; Added unit tests - Allow GL_BGR[A] usage (TGA / NetPbm) - Use GL_BGRA if available (TGA), utilize GLContext.isTextureFormatBGRA8888Available() - Fix NetPbmTextureWriter - Maintain 'auto' magic mode for 'spi' role in TextureIO (was overwritten) - Use FileChannel for nio buffer streaming, instead of array copy
* Fix GLReadBufferUtil for ES platforms: RGB read format may not be supported. ↵Sven Gothel2012-02-221-13/+44
| | | | Use GL_IMPLEMENTATION_COLOR_READ_FORMAT/TYPE query
* FBObject: Meaningfull error message if TexImage2D fails.Sven Gothel2012-02-221-10/+17
|
* Minor GL/GLContext additions / cleanups (GL_BGRA, isNPOTTextureAvailable())Sven Gothel2012-02-222-4/+4
| | | | | | | | - Subsume GL_EXT_texture_format_BGRA8888 -> GL, Added GLContext.isTextureFormatBGRA8888Available() - Movied generic isNPOTTextureAvailable() from GL -> GLContext, used by GL (desktop), added simplified impl. in GLES1/GLES2 (false/true)
* Fix commit fb7165e690546359dee92dd60b04be69f141c87e; Clarify ↵Sven Gothel2012-02-201-29/+9
| | | | ShaderState.attachShaderProgram(..)
* Cleanup ShaderCode/Program/StateSven Gothel2012-02-193-32/+62
| | | | | | - Add multiple sources for create ShaderCode - Add Shaderstate attachShaderProgram w/ enable flag - Clarify doc
* OpenGL ES/EGL OverhaulSven Gothel2012-02-131-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - GLProfile properly detects native EGL/ES1/ES2 on the 'desktop' device factory. This allows usage of Mesa's EGL/ES or Imageon's PVR emulation, etc. - GLProfile drops getDefaultDesktopDevice() and getDefaultEGLDevice() since both are aligned by getDefaultDevice(). - Fix GL_ARB_ES2_compatibility detection and utilize resulting isGLES2Compatible() where possible. This allows ES2 compatible desktop profiles to use core ES2 functionality (glShaderBinary() .. etc) even with a GL2ES2 desktop implementation. - EGLDrawable: If createSurface(..) fails (BAD_NATIVE_WINDOW) w/ surfaceHandle it uses windowHandle if available and differs. This allows the ANGLE impl. to work. - Properly order of EGL/ES library lookup: ES2: libGLESv2.so.2, libGLESv2.so, GLES20, GLESv2_CM EGL: libEGL.so.1, libEGL.so, EGL - *DynamicLookupHelper reference will be null if it's library is not complete (all tool libs, all glue libs and a ProcAddressFunc lookup function - if named). - Enhance GL version string (incl. ES2 compatible, hw/sw, ..) - GLBase: Fix docs and remove redundancies - Prepared (disabled) DesktopES2DynamicLibraryBundleInfo to be used for a real EGL/ES2 implementation within the desktop GL lib (AMD). Sadly it currenly crashed within eglGetDisplay(EGL_DEFAULT_DISPLAY), hence it's disabled.
* javac - setup encoding to UTF-8Sven Gothel2012-01-231-4/+4
|
* Minor Edits: Add GL_RENDERER to JoglVersion dump; Fix typo in PMVMatrix.Sven Gothel2012-01-141-1/+1
|
* Animator*: Clarify debug outputSven Gothel2012-01-072-6/+8
|
* GLBuffer: Add NV_texture_shader HILO format and HILO16 typev2.0-rc5rc_fiveSven Gothel2011-12-191-8/+24
|
* Animator timeout/refinementSven Gothel2011-11-114-21/+22
| | | | | | | - AnimatorImpl: evaluate double negation if(!skipWaitForCompletion(Thread)) -> if(blockUntilDone(Thread)) - Simplify finishLifecycleAction() and reduce timeout
* Animator: Limit wait for condition in finishLifecycleAction() via timeoutSven Gothel2011-11-101-4/+9
| | | | | | | | | | | | While impl. recreation for offscreen surfaces @ WindowImpl.setSize(), commit 51ad6992e068f25d86d2c9e085bd7ec6f49d2432, it appears Animator deadlocks in some cases. finishLifecycleAction() [blocks until pause() .. is accomplished] queries whether we are even able to wait using skipWaitForCompletion(). The latter method can only query if we are on the animation thread or AWT-EDT, etc, but not if we have traversed through a 3rd party thread, eg NEWT EDT. This patches limits the wait with a timeout of 20frames @ 60Hz (20*16ms).
* OSX: SharedResource add knowledge of NPOT-, RECT- and Float-Texture ↵Sven Gothel2011-11-081-0/+13
| | | | | | features, used by pbuffer drawable before a current context. - Also extract getNextPowerOf2() -> GLBuffers (remove redundancy)
* JOGL: GLBase Add 'isNPOTTextureAvailable()' for convenienceSven Gothel2011-11-081-3/+1
|
* GLArrayData<VBO>: Add GLArrayHandlerFlat ; Update VBO name to interleaved ↵Sven Gothel2011-10-071-7/+9
| | | | | | | subarrays - Add GLArrayHandlerFlat gives better distinction of semantics - update sub-array VBO name, if parent's interleaved array initializes it.
* Clarify/Fix GLArrayDataEditable:padding() - no use case yet .. wellSven Gothel2011-10-072-5/+6
|
* PMVMatrix: Defaults from direct NIO -> array-backed non-direct NIO: Reduced ↵Sven Gothel2011-10-071-177/+248
| | | | | | | | | | | | | cycles 45% -> 5% (from GearsES2 100%) - NIO direct access from Java is expensive - default is now array-backed non-direct NIO, which guarantees array useage for Java computation (especially the inverse calculation) - only update Mvi and Mvit if requested in the first place - moved all local matrices to float[]
* ShaderUtils: Use glShaderSource variant w/ NIO only argsSven Gothel2011-10-061-3/+5
|
* Workaround Android 3.0 Dalvik Issue 16434Sven Gothel2011-10-051-32/+46
|
* Adapt to GlueGen's Lock ChangeSet: e4baba27507ce78e64a150ec6f69fb96f5721a34 ↵Sven Gothel2011-09-273-19/+19
| | | | ; Use generics
* Minor edits: generics, test scriptSven Gothel2011-09-141-8/+7
|
* Minor edits/cleanup: unused var, finalSven Gothel2011-09-071-1/+1
|
* GLArrayDataWrapper: Allow vboTarget '0' -> no VBOSven Gothel2011-09-021-1/+1
|
* GLSL ShaderState: verbose = DEBUG ? true : falseSven Gothel2011-09-011-1/+1
|
* ShaderState Usage/Test: Add setShaderState(GL) for pre-use attachment to the ↵Sven Gothel2011-08-302-6/+29
| | | | | | | | | | | GL context ; GLArrayDataClient-GLSL: Check if ShaderState is attached. ShaderState Usage/Test: Add setShaderState(GL) for pre-use attachment to the GL context - test cases utilize ShaderState before useProgram() was invoked, hence we need an API entry to attach the ShaderState explictly GLArrayDataClient-GLSL: Check if ShaderState is attached. - catch error case of non bound ShaderState to GL context
* GLSL DataArray/Handler: Remove ShaderState state and pass it through: ↵Sven Gothel2011-08-305-104/+82
| | | | | | | | | ShaderState.getShaderState(gl) This removes the dependency of a GLSL GLDataArray object to a specific ShaderState and enables sharing of this VBO data, i.e. via a shared context. Test: TestSharedContextVBOES2NEWT
* API Change GLArrayDataWrapper/GLArrayDataServer: Add vboTarget to wrapper ↵Sven Gothel2011-08-223-23/+68
| | | | | | cstr and add interleaved seg. vboTarget is required in case of interleaved segments to allow eg. interleaved indices.
* Fix regression of commit 6c346d98f04e2355210960fe9ffde47432f04d62, where ↵Sven Gothel2011-08-223-39/+86
| | | | VBO/attribute binding wasn't updated (VBO data written, shader change/switch attribute on same location) ; Optimized interleaved GLSL VBO binding, hence split up GLArrayHandler syncData/enableState
* Misc Rename/Reloc; GLArrayData*/PMVMatrix enhancments; Test fixes/adds ↵Sven Gothel2011-08-2210-379/+210
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (GearsES1/ES2) rename/reloc: - javax.media.nativewindow.util: DimensionReadOnly -> DimensionImmutable PointReadOnly -> PointImmutable RectangleReadOnly -> RectangleImmutable unified 'immutable' name as used within jogamp already - remove array handler from public API com.jogamp.opengl.util.GL*ArrayHandler -> jogamp.opengl.util.GL*ArrayHandler - GLArrayData: Clarify method names getComponentNumber() -> getComponentCount() getComponentSize() -> getComponentSizeInBytes() getElementNumber() -> getElementCount() getByteSize() -> getSizeInBytes() - FixedFuncPipeline: Moved def. array names to GLPointerFuncUtil enhancement: - GLArrayDataServer: Add support for interleaved arrays/VBO - GLArrayData*.createFixed(..) remove 'name' argument (non sense for fixed function) - PMVMatrix: - one nio buffer - removed 'Pmv' multiplied matrix - removed 2x2 cut down 'Mvi' normal matrix (use 4x4 Mvi) - tests: - RedSquare -> RedSquareES1/RedSquareES2 - Gears ES1 fixed + ES2 added. Both work properly and share common Gears VBO construction - Added TestMapBuffer01NEWT, testing glMapBuffer
* Cont. fix 'Allow VBO/Texture Name (int) < 0'Sven Gothel2011-08-011-2/+2
| | | | | | | | Refines spec GLArrayData and it's implementations. see commit 76f7552c4a219b116e86949f271e613ba0f6f160 see commit 4d33a2df1e991ab75817dcb44061d88d3c499cdb see commit 2dbd16fc3edf29b39ba37a11b9fbf1b2aad75c45
* Cont. fix 'Allow VBO/Texture Name (int) < 0'Sven Gothel2011-08-013-16/+16
| | | | | | | Refines spec GLArrayData and it's implementations. see commit 4d33a2df1e991ab75817dcb44061d88d3c499cdb see commit 2dbd16fc3edf29b39ba37a11b9fbf1b2aad75c45
* VBO and Texture Names: Allos (int) < 0 - unusual valid names for some GL impl.Sven Gothel2011-08-013-13/+15
| | | | Turns out some GL impl. use VBO names like 0xa2d67443, which is (int) < 0.
* FixedFuncUtil: Name/Fix getFixedFuncImpl() -> wrapFixedFuncEmul()Sven Gothel2011-07-311-8/+10
| | | | | | | Fix wrapFixedFuncEmul(): - only wrap if ES2 and (!ES1 || force) - return same profile if ES1 - otherwise throw exception
* Simplify and fix GL2GL3 usage (save/restore)Sven Gothel2011-06-091-28/+56
|
* GLBuffers fix ; GL imageSizeInBytes fix / unit tests.Sven Gothel2011-06-091-21/+391
| | | | | | | | | | - Moved implementation of prev GL imageSizeInBytes(..) -> GLBuffers.sizeof() for all GL profiles - GLBuffers.*: Added missing formats and types (GL2.1, GL3.3 and GL4.1) - GLBuffers.sizeof(): Fail fast if format/type is unhandled, or alignment invalid - Added unit test for GLBuffers.sizeof()
* Locator moved to GlueGen's IOUtil (gluegen ↵Sven Gothel2011-06-083-185/+9
| | | | a87c56c95099de5b6cbc9bd8bf6f1924a3dd6387)
* Locator Util: Clarify API doc a bitSven Gothel2011-06-081-14/+14
|
* import cleanupSven Gothel2011-06-071-1/+0
|
* Using GlueGen IOUtil (dropped StreamUtil, FileUtil); Public GLReadBufferUtil ↵Sven Gothel2011-06-0711-274/+362
| | | | | | | | (screenshot etc) and GLPixelStorageModes - Using GlueGen IOUtil, dropping StreamUtil and FileUtil - Public (util) GLReadBufferUtil for screenshots and slow r2t (AWT less), as well as GLPixelStorageModes