summaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/com
Commit message (Collapse)AuthorAgeFilesLines
* NativeWindow public-spec to public-impl reorg ↵Sven Gothel2012-03-061-1/+1
| | | | (javax.media.nativewindow.<impl> -> com.jogamp.nativewindow.<impl>) 2/3
* Fix GLWindow/SWT-GLCanvas: set context synchronized ; Misc ChangesSven Gothel2012-03-051-1/+2
| | | | | | | | | | | | Fix GLWindow/SWT-GLCanvas: set context synchronized - GLWindow fix commit a0177c8a1048683e5d43f4712f8f9e37091d4e85. Removed explicit recursive surface lock requires recursive context locking, otherwise concurrent rendering fails. The implicit recursive surface lock within context makeCurrent() is applied after the context lock itself. Misc Changes - Fix TestPBufferDeadlockAWT, which was not using the unique profile string reference
* Fix GLArrayDataServer.destroy(GL): vboName was cleared by super class before ↵Sven Gothel2012-03-051-3/+6
| | | | deletion
* JoglVersion: Avoid NPE if no caps are available.Sven Gothel2012-02-251-3/+5
|
* Min. Graph Parameter type change: texSize/width/.. for multipass-renderer: ↵Sven Gothel2012-02-253-11/+15
| | | | | | | | | | int -> int[] "texWidth desired texture width for multipass-rendering. The actual used texture-width is written back when mp rendering is enabled, otherwise the store is untouched." This allows the 'backend' to correct the texSize, ie in regards to GL_MAX_TEXTURE_SIZE .. etc. Without this write-back, it would re-create the FBO for every frame.
* 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
|
* FontSet (graph): get*(..) throws IOException - Proper passing and handling ↵Sven Gothel2012-02-221-2/+4
| | | | of IOException
* 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
* GLGLuegen: Enhance debug/analysis code and API commentsSven Gothel2012-02-154-41/+94
| | | | | | | | | | | | | - Use Gluegen.debug() setting - BuildStaticGLInfo.getExtension(name) returns a set of all extension where name occurs - GLConfiguration.shouldIgnoreExtension() reflects all extensions, inclusive the renames one and gives a warning in case the symbol belongs to multiple extension - in debug mode! - API comment: List all extensions, incl. the one from the renames, this allows having a proper list to which extensions the define/function belongs to.
* Enhance ExtensionAvailabilityCache ; Expose extension count in GLContext ↵Sven Gothel2012-02-131-12/+12
| | | | | | | | | | | | | | (and clean up) - GLContext - Expose isFunctionAvailable(), isExtensionAvailable(), getPlatformExtensionCount(), getGLExtensionCount() - sort methods a bit ExtensionAvailabilityCache: - Favor StringBuilder instead of StringBuffer (faster) - Resuse set's - Hold dedicated counts of extensions, platform and GL
* OpenGL ES/EGL OverhaulSven Gothel2012-02-134-16/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
|
* Merge pull request #43 from krisher/masterSven Gothel2012-01-191-2/+15
|\ | | | | Fixed SWT threading policy violation when using worker mode for JOGL threading.
| * Fix for use of SWT GLCanvas in headless mode (or with threading in worker ↵Dan Krisher2012-01-111-2/+15
| | | | | | | | mode). See discussion in Bugzilla #484
* | Minor Edits: Add GL_RENDERER to JoglVersion dump; Fix typo in PMVMatrix.Sven Gothel2012-01-142-4/+6
|/
* Add 'AWT' in JOGL's SWT GLCanvas test case, since impl. still needs AWT ↵Sven Gothel2012-01-091-0/+4
| | | | threading (-> FIXME)
* minor edits / clarify SWT test descripionSven Gothel2012-01-091-1/+0
|
* SWT GLCanvas: Adapt to latest JOGL changes (init, destroy, ..), Align main() ↵Sven Gothel2012-01-091-57/+60
| | | | | | entry w/ AWT GLCanvas functionality. -
* SWT GLCanvas: Java 1.5 clean (No @override for interfaces); Add license ↵Sven Gothel2012-01-091-0/+549
| | | | header; Remove dummy comments
* 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
|
* CgDynamicLibraryBundleInfo: Add TempJarCache usage for atomic native jar (of ↵Sven Gothel2011-12-181-0/+18
| | | | | | | atomic java JAR) - GLProfile, NWJNILibLoader, NEWTJNILibLoader: Issue Platform.initSingleton() upfront within priviledge block.
* NativeSurface's getGraphicsConfiguration() returns the native (delegated) ↵Sven Gothel2011-11-231-1/+1
| | | | | | | | | | | AbstractGraphicsConfiguration, if delegation is used. This change restricts the usage of AbstractGraphicsConfiguration's getNativeGraphicsConfiguration() to NativeSurface implementations and hence reduces complexity. NativeSurface implementations are adapted and access to it's AbstractGraphicsConfiguration is controlled via get/set method avoiding flawed usage (read/write), since read access shall return the delegated AbstractGraphicsConfiguration, if used.
* 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
|
* Graph Shader Simplification, 'a'/'b' redefined; GraphUI 2-pass demo;Sven Gothel2011-10-041-4/+3
| | | | | | | | | | | | | | | | | | | | | | | Graph Shader Simplification - remove enable factor and 2nd 'discard' branch - use build-in 'max'/'clamp' functions, supposed to be faster Graph Shader 'a'/'b' redefined - 'a' is 1-pass shader only - 'b' is 2-pass incl. (1st pass + 2nd pass) - Works well on ARM Mali-400 MP (Galaxy S2). - Doesn't work on NV tegra2 (P1202: Texture's gl states do not match with shader's), however 2-pass on mobile seems to be overkill for now. We may create a workaround (switch shader ..). GraphUI 2-pass demo; - Propagate renderModes and texSize to UIShape's render(..) - TODO: Remove GL dependency in UIShape, maybe use a callback or visitor model - Adding GarpUI 2-pass launcher (Android and Standalone)
* Graph: Reflect shader name change in impl. TODO: Use/switch to 2nd pass shaderSven Gothel2011-10-021-1/+4
|
* Adapt to GlueGen's Lock ChangeSet: e4baba27507ce78e64a150ec6f69fb96f5721a34 ↵Sven Gothel2011-09-273-19/+19
| | | | ; Use generics
* NEWT/Reparenting: Give Composite WM some slack, sleep(100); Minor edits/fixesSven Gothel2011-09-161-1/+0
|
* Graph Fonts: Decorate w/ PrivilegedAction if requiredSven Gothel2011-09-151-16/+1
|
* 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
|
* DynamicLibraryBundle*: Use generics for better spec - following gluegen ↵Sven Gothel2011-08-311-10/+14
| | | | commit cfb9e118e020707842e6b5136b07f5ab149540c1
* 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-306-107/+90
| | | | | | | | | 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