aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/com/jogamp
Commit message (Collapse)AuthorAgeFilesLines
* ShaderState Switch Program: Only disable current program if no new one; ↵Sven Gothel2011-04-283-29/+36
| | | | Better toString formating
* ShaderState: Add 'ownUniform()/ownAttribute()'; rename glFunction -> ↵Sven Gothel2011-04-268-258/+344
| | | | | | | | | | | | | | function; switch program enh. ; Graph lifecycle Add 'ownUniform()/ownAttribute()' allowing to reset all bound uniforms/attributes, not just active ones plus handling the lifecycle of the owned attributes (destroy). This simplifies the lifecycle of all shader attributes. Rename glFunction -> function .. well, the GL attribute marks them GL related already Switch program enhancement. If switching to new program (unlinked), issue glBindAttributeLocation .. Graph lifecycle cleanup using the above ..
* ShaderState: 'Update' vertexAttribMap on enableSven Gothel2011-04-254-116/+145
| | | | | | | | | | | | | | | | | | ShaderProgram: - shaderCode's HashMap -> HashSet - adding HashSet for attached ShaderCode - link: allow relink, attachShader only if not yet attached - new add(gl, ShaderCode, ..) method, allowing compile/attach pre linkage - remove boxing of integer 'id', use generics style (warnings) - rename: glReplaceShader -> replaceShader, glUseProgram -> useProgram - fix: replaceShader - hashCode _is_ 'id' ShaderCode: - remove boxing of integer 'id', use generics style (warnings) - hashCode _is_ 'id' ShaderUtil: Use generics style (warnings), static names
* New FPSCounter, impl. by GLWindow and GLAnimatorControl (fps perf related ↵Sven Gothel2011-04-233-32/+45
| | | | | | | | | | | API change) - Don't fetch System.currentTimeMillis() by default and for every frame (performance) - Default behavior is FPSCounter switched off - Enable by frame interval, ie measure each 60 frames. - FPSCounterImpl is default impl. used by impl. FPSCounter class (reduce code/redundancy) - Might be promoted to GLAutoDrawable ?!
* Refactored graph: Reduce/remove data copy/recreation; Shader cleanupSven Gothel2011-04-238-179/+418
| | | | | | | | | | | | - Pass the current GL context object where it's required - Introduce RenderState (which has ShaderState) to acquire/change shader related data (Region) - Shader Cleanup: User import for common stuff; use req. version - Reduce/remove data copy/recreation in *Region implementation - UI/RIButton: Use defaults I like :)
* ShaderState: Validated impl./state-handling / Added commentsSven Gothel2011-04-221-221/+453
| | | | | | Capable of glBinAttribLocation(..) Proper state check (has program, linked program, ..) for attrib/uniform methods.
* FBObject: Add validation / API cleanupSven Gothel2011-04-221-42/+67
| | | | | | | | | Added validation of FB/render buffer creation using glGetError(), due to users trouble of determine the root cause of erroneous application behavior. This change shall help tackling bug: 492 and 495 https://jogamp.org/bugzilla/show_bug.cgi?id=492 https://jogamp.org/bugzilla/show_bug.cgi?id=495
* GLArrayData API and impl. changesSven Gothel2011-04-226-264/+292
| | | | | | | | | | | | | | | | | | | | | | +++ Remove GL parameter for - createFixed(..) - createGLSL(..) validation at client/server array data happens at 1st enableBuffer() call, no current context or profile required at creation time. Added ShaderState for createGLSL(..) clarifying dependency to the ShaderState, passing it down to the GLSLArrayHandler, which also removes the TLS GLContext.getCurrent() call. +++ Partially reverted ab48dac3f4419ceac51fdf059f310f0f0499c4d7 factory methods: removed added vboTarget parameter, since all createFixed and createGLSL are GL_ARRAY_BUFFER (VBO). Adding createData(..) factory method in GLArrayDataServer allowing diff vbo targets, ie GL_ELEMENT_ARRAY_BUFFER .. or none.
* reflect GLContext changes a5430cf16727fdc7bcfb17ef251018cc479d5f5dSven Gothel2011-04-221-7/+3
|
* Fix/Add: Locator (Handle JarURLConnection and ..)Sven Gothel2011-04-222-28/+76
| | | | | | | | | new: 'public static String getRelativeOf(URL baseLocation, String relativeFile)', capable of handling a JAR file/url. Using File based relative locator, allowing better utilization in code: old public static String getRelativeOf(String absoluteFileLocation, String relativeFile) new public static String getRelativeOf(File baseLocation, String relativeFile)
* Texture: Change method signatures: Pass GL context object if required ↵Sven Gothel2011-04-223-144/+121
| | | | | | | | | | | | | | (remove GLContext.getCurrentGL() usage. Using function signatures explicitly require the GL [current] instance clarifies that the context must be current. Removing GLContext.getCurrentGL() reduces TLS access of current thread and hence possible performance hits. The Texture class has been chosen for this conversion [not TextureIO yet], since the enable/bind methods maybe used within a rendering loop. User already 'complained' about lack of current GLContext clarity as well.
* Add com.jogamp.graph disclaimerSven Gothel2011-04-081-0/+33
|
* Fix TAB: Replace all TAB with 4 spacesSven Gothel2011-04-0820-1720/+1720
|
* Merge: merged with sgothelRami Santina2011-04-0812-188/+459
|\
| * Use common constants for shader attributes (needs to be completed)Sven Gothel2011-04-082-1/+14
| |
| * Fix: Cached GlyphString handlingSven Gothel2011-04-081-20/+62
| | | | | | | | | | | | | | | | | | - Destroy removed ones - Handle overwrite/update on same key - Clarified names (size/limit) - Handle cache limit unlimited (limit := -1) and no cache (limit := 0) - Default cache limit := 256 - Comments
| * Fix FBObject: Remove double stencil RB generation; Expose data (size, ..)Sven Gothel2011-04-081-13/+13
| |
| * FIX: Refactor GLArrayData and all it's implementations/sub-interfaces (VBO ↵Sven Gothel2011-04-088-154/+372
| | | | | | | | | | | | | | | | | | | | target, comments, names) VBO target: Allowing ELEMENT_VERTEX_ARRAY w/o corresponding GLSL/Fixed attribute Names: Clarified method named. Comments: Added and fixed comments
* | TextRenderer - createString exposed; Renderer - added scale();Rami Santina2011-04-082-1/+8
| | | | | | | | | | | | | | | | | | | | createString function is now public to be able to create a string without initializing textRenderer. Temp change, should be cleaned up. added missing scale transformation to renderer pmvmatrix; added glyphstring.getBounds() so not to use font.getStringBounds. since it Would be a redundant call.
* | Fix: AABBox setLow/setHigh call resize; removes possible call errorRami Santina2011-04-081-4/+4
| |
* | Added getBounds impl to region, returning AABBoxRami Santina2011-04-081-0/+3
|/
* Fix: shaderProgram.program(); glBindAttribLocation() call; ↵Sven Gothel2011-04-052-0/+10
| | | | | | | | | | | | dispose/disposeImpl sequence; Use shaderProgram.program() instead of shaderProgram.id() - the id() is just a unique sequence name. Call glBindAttribLocation() after program object init and before linkage. Chain call disposeImpl() properly to fix destruction sequence: TextRendererImpl01 -> TextRenderer -> GlyphString -> Region RegionRendererImpl01 -> RegionRenderer -> Region
* ShaderProgram: Add 'init(GL2ES2)', allowing GL program object creation ↵Sven Gothel2011-04-051-0/+21
| | | | | | before link stage. This is required to allow proper usage of 'glBindAttribLocation()'.
* Make FBObject more generic, split FBO/tex and depth/stencil attachements. ↵Sven Gothel2011-04-051-67/+174
| | | | Allow parametrization of each component.
* Rendered: +enable(GL, bool) ; dumpFontNames..Sven Gothel2011-04-011-0/+4
|
* Font Names: Expose name indices allowing user to pick all names ..Sven Gothel2011-04-012-6/+17
|
* Load fonts via File or URL .Sven Gothel2011-04-011-4/+33
|
* Font: +getName / +getAllNames / +isPrintableCharacterSven Gothel2011-04-011-0/+3
|
* Folded turtle2d into jogl foldersSven Gothel2011-04-0117-0/+2807
|
* ShaderCode: Remove redundant code (Use proper Locator variant)Sven Gothel2011-03-302-16/+5
|
* FPSAnimator: Poor attempt to wait for threads EOL after pause/stopSven Gothel2011-03-271-0/+6
|
* FPSAnimator: Avoid NPESven Gothel2011-03-251-6/+15
|
* Animator: Cleanup and better DEBUG infoSven Gothel2011-02-282-6/+9
|
* Clean/Fix: Threading CodeSven Gothel2011-02-261-1/+1
| | | | | | - Remove unsafe double checked locking - Annotate safe double checked locking (volatile) - use 'static final' if possible
* changes due to code cleanup in gluegen.Michael Bien2011-02-261-5/+4
| | | | | | - StringBuffer -> StringBuilder - ReflectionUtil.getBaseName -> class.getSimpleName() - cleanup imports, generics and @Override for all touched classes
* Remove CDCSven Gothel2011-02-096-2562/+0
|
* Move implementation private files from com.jogamp.<module>.impl. to ↵Sven Gothel2011-02-0915-18/+18
| | | | | | | | | | | | | | | jogamp.<module> (2/2) - edit files - com.jogamp.opengl.impl -> jogamp.opengl - com.jogamp.opengl.util.glsl.fixedfunc.impl -> jogamp.opengl.util.glsl.fixedfunc - com.jogamp.nativewindow.impl -> jogamp.nativewindow - com.jogamp.newt.impl -> jogamp.newt This sorts implementation details from the top level, ie skipping the public 'com', allowing a better seperation of public classes and implementation details and also reduces strings. This approach of public/private seperation is also used in the OpenJDK.
* Move implementation private files from com.jogamp.<module>.impl. to ↵Sven Gothel2011-02-08216-47713/+0
| | | | | | | | | | | | | | | jogamp.<module> (1/2) - rename task - com.jogamp.opengl.impl -> jogamp.opengl - com.jogamp.opengl.util.glsl.fixedfunc.impl -> jogamp.opengl.util.glsl.fixedfunc - com.jogamp.nativewindow.impl -> jogamp.nativewindow - com.jogamp.newt.impl -> jogamp.newt This sorts implementation details from the top level, ie skipping the public 'com', allowing a better seperation of public classes and implementation details and also reduces strings. This approach of public/private seperation is also used in the OpenJDK.
* Fix GLContext ProcAddressTable Caching: Add sw/hw accel bit to hash value ↵Sven Gothel2011-02-062-6/+12
| | | | due to possible diff function ptr of sw impl (NV/Win7)
* Fix bug #459 NV/Win7 PDF/caps selectionSven Gothel2011-02-052-8/+24
| | | | | | | | | | | | | Scenario - NV / Win7 driver version 266.58's - Caps: on-scr, rgba 8/8/8/0, accum-rgba 0/0/0/0, dp/st/ms: 16/8/0, dbl, mono The above 'wglChoosePixelFormatARB' impl returns an array of pixelformats, where the 1st entry is not hardware accelerated! This should be considered a bug in NV's driver, since the array should return a list ordered from 'best' to 'worst'. Workaround trying explicit hw acceleration 1st, then generic, then software.
* Fix bug #461 on NV/Win (caps selection)Sven Gothel2011-02-055-25/+28
| | | | | | Allows TestBug461OffscreenSupersamplingSwingAWT to pass on NV/Win7. Root cause was using the requested unfixed caps (onscreen, !pbuffer) instead of the fixed ones.
* Fix for Bug #452Sven Gothel2011-02-034-103/+104
| | | | | | | | | | | | | WindowsWGLGraphicsConfiguration.create(..) -> WindowsWGLGraphicsConfiguration.createFromCurrent(..) emphasizing that all resources are 'current' ie locked and available. This method is used for the external context/drawable creation only, called while they are current. Hence this method no more makeCurrent/release, which interfered with the current external context state. WindowsWGLGraphicsConfigurationFactory: Move surface locking to the right (common) place.
* Fix: X11: Allowing FBConfig w/o XVisualInfo for non onscreenSven Gothel2011-02-031-7/+15
|
* Merge remote branch 'wwalker/bug_463_gluScaleImage_memory' into pulledSven Gothel2011-02-021-1/+3
|\
| * Fix bug 463 where gluScaleImage consumes all memoryWade Walker2011-01-251-1/+3
| | | | | | | | | | | | | | | | Changes the Type_Widget.java constructor to allocate a normal buffer instead of a direct buffer. Apparently JVMs can't allocate small direct buffers efficiently, and since Type_Widget is called inside tight loops millions of times, we can't afford to do it this way. This commit restores it to how it was in JOGL 1.
* | Fixed bug 450 (unrendered right side of GLJPanel in Gears)wwalker2011-02-021-1/+1
| | | | | | | | | | | | | | | | This bug caused the right sides of GLJPanels not to render if the panel is wider than its height (all pixels with x > height would be black). Wrote a unit test to sense the problem by reading an unrendered pixel back out of the frame, then fixed the typo in GLDrawableFactoryImpl.java that caused the error.
* | Bugfix (Bug 464 - TextRenderer useVertexArray was ignored)Domokun2011-02-011-5/+5
| |
* | TextRenderer: Fix imports / Add jogamp licenseSven Gothel2011-02-012-5/+2
| |
* | Fixes the problem of high memory consumption in TextRenderer (single merged ↵Julien Gouesse2011-02-011-6/+39
| | | | | | | | w/o whitespace)
* | JOGL change of default GLProfile order: GL4bc, GL3bc, GL2, GL2GL3, GL4, GL3, ↵Sven Gothel2011-01-313-12/+5
| | | | | | | | GL2ES2, GLES2, GL2ES1, GLES1