summaryrefslogtreecommitdiffstats
path: root/src/jogl
Commit message (Collapse)AuthorAgeFilesLines
* Fix: glyph outline orientation with the removal of inversionRami Santina2011-05-103-3/+17
|
* Loop: Fix invert; GlyphString/createRegion: Remove unnecessary on-the-fly ↵Sven Gothel2011-05-093-26/+50
| | | | object creation
* TypecastRenderer: Avoid -y direction and later y-flipping / FIXME: math must ↵Sven Gothel2011-05-081-17/+17
| | | | be updated .. Rami ?
* Graph: whitespace ..Sven Gothel2011-05-081-3/+2
|
* Graph/GLyph*: Add static factory method for non Renderer creation,Sven Gothel2011-05-082-34/+83
| | | | separating text->OutlineShape and OutlineShape->Region step.
* Graph VBORegion*: Lazy GL alloc of resources at update(GL, ..) not constructorSven Gothel2011-05-082-233/+141
|
* JOGL/ShaderCode: Dump proper GLSL source w/ line numbers if GLSLCode debug ↵Sven Gothel2011-05-081-7/+21
| | | | prop is set
* Graph/JOGL: Avoid NPESven Gothel2011-05-082-2/+8
|
* Graph/Font: use StringBuilderSven Gothel2011-05-085-21/+54
|
* Graph: RenderState (interface -> abstract) missing commit of ↵Sven Gothel2011-05-081-14/+65
| | | | e122b2f92b2302362569cdc9a67efd5750f46eb1
* Graph: OutlineShape fix, cleanupSven Gothel2011-05-081-36/+75
| | | | | | | | | OutlineShape: - add clear() - safe addEmptyOutline() - fix addOutline(..) - add addOutlineShape(OutlineShape) -
* Graph: GLSL fix, Adding renderModes bits instead of dedicated booleans, ↵Sven Gothel2011-05-0820-487/+479
| | | | | | | | | | | | | | | | | | | | | Region/GLRegion, .. GLSL fix: - allowing #version tag - add uniform textureSize (ES2) - fix int/float conversion Region/GLRegion: - non OpenGL Region and GL related GLRegion split Region/Renderer renderModes bits (def. in Region) - user creates a Renderer* impl .. and derive Region*'s from outline, possibly from a different code path. - to avoid mode explosion, a bit field is being used for now - Renderer: remove flushCache(), since non caching impl. is intended, or caching by an external user transparent object.
* Merge remote-tracking branch 'rsantina/graph'Sven Gothel2011-05-073-8/+9
|\
| * Cleanup nonuniform impl(method params and comments)Rami Santina2011-05-033-8/+9
| |
* | Graph / Text: Use CharSequence as char/string interface to text renderingSven Gothel2011-05-065-13/+13
| | | | | | | | | | Implements more of John Pritchard <[email protected]> proposal https://github.com/syntelos/jogl/commit/eadee0758babcddaa5eeaffbe046e1b09f9f550e
* | Graph: more clone() cleanup.Sven Gothel2011-05-063-4/+4
| | | | | | | | | | - throw InternalError() for CloneNotSupportedException case, which never happens - AffineTransform clone() uses covariant return type as well, ie AffineTransform
* | GlyphShape: Use switch block for PathIterator - adding default (exception)Sven Gothel2011-05-063-96/+109
| | | | | | | | | | Implements more of John Pritchard <[email protected]> proposal https://github.com/syntelos/jogl/commit/05a7ec92d30e1e688b1eb7cc317cad83a0e8fd60
* | Graph: More std. functionality (equals, clone) / Better in-place ↵Sven Gothel2011-05-069-255/+492
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | transformation (cubic -> quadratic) Impl. more of John Pritchard <[email protected]> proposal https://github.com/syntelos/jogl/commit/05a7ec92d30e1e688b1eb7cc317cad83a0e8fd60 +++ More std. functionality (equals, deep clone) of AABBox, Vertex, Outline and OutlineShape. Simplify Vertex: - Remove 2 component constructor - Add on-curve in Vertex.Factory / Constructor - Adding equals(Object) - Remove Comparable/compareTo, since we only can make an equals statement Outline/OutlineShape: Handle dirty flag for boundary (new set/remove operation) OutlineShape: Better in-place transformation (cubic -> quadratic)
* | Merging OutlineShape.VerticesState enum type (John Pritchard ↵Sven Gothel2011-05-053-9/+28
|/ | | | <[email protected]> https://github.com/syntelos/jogl/commit/05a7ec92d30e1e688b1eb7cc317cad83a0e8fd60#L0R59)
* Refactor getOutline --> getPaths (actual behaviour)Rami Santina2011-05-023-4/+6
|
* Added nonuniform weight impl; misc enhancements/cleanupsRami Santina2011-05-0216-110/+197
| | | | | | | | | | Seperate texcoords from shaprness Added NonUniform weight shader impl for region impl only (not text) Refactor p1y --> weight (equiv to nurbs weight) cleanup shader uniforms (rename/remove unneeded) Enhanced blending of text GPURegionNewtDemo01 - added weight W/Q to manipulate weight refactor r2t --> vbaa (matching algorithm name)
* Fix GLDebugMessages synchronous setting ↵Sven Gothel2011-04-291-7/+9
| | | | 39a8ca392d7302831f5689979c4ce89145b732af, only set if ARB
* GLContext GLDebugMessages: Add synchronous status/dumpStack; Remove length ↵Sven Gothel2011-04-284-26/+96
| | | | | | | | in aliased glDebugMessageInsert. - GLDebugMessages add synchronous status - defaults to true - GLContext/GLDebugMessages add dumpStack() if jogl.debug.DebugGL is set - Remove param length in aliased glDebugMessageInsert.
* ShaderState Switch Program: Only disable current program if no new one; ↵Sven Gothel2011-04-283-29/+36
| | | | Better toString formating
* Utilize general validation of fbcfg (further validation w/ query), refines ↵Sven Gothel2011-04-283-4/+8
| | | | f50f40e0fb2789537ecc19f8eaff439b24294a65
* Merged pull request #35 from WadeWalker/2011-04-12-fix-bug-493.Sven Gothel2011-04-271-1/+15
|\ | | | | Fix problem with external context on CentOS 5.5 inside VMWare
| * Fix problem with external context on CentOS 5.5 inside VMWareWade Walker2011-04-121-1/+15
| | | | | | | | | | | | | | | | This fixes a problem that's analogous to one we've had on Windows; apparently querying OS-specific info like hardware device contexts or framebuffer configuration IDs from external GL contexts doesn't always work properly, especially on 32-bit OSes and from within virtual machines.
* | ShaderState: Add 'ownUniform()/ownAttribute()'; rename glFunction -> ↵Sven Gothel2011-04-2616-377/+470
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | graph/glsl: AMD need vertice attrib location 0 ..Sven Gothel2011-04-251-3/+3
| |
* | FPSCounter def to 5*60 frames (each 5s at 60Hz) ; Test: each 1sSven Gothel2011-04-251-1/+1
| |
* | GLContextImpl.createContextARB(..): Use impl. GLProfile to determine ↵Sven Gothel2011-04-251-6/+7
| | | | | | | | | | | | requested context .. this fixes the bug where [GL2ES2/GL4bc] didn't fetch GL4bc, but a GL2 old context.
* | jogl.debug.DebugGL enables new DebugMessage/Output featureSven Gothel2011-04-242-5/+12
| |
* | Graph: Fix AMD shader complain (version) ; No Attributes in fragment program ↵Sven Gothel2011-04-243-5/+12
| | | | | | | | ; Disable FPS draw at start
* | GLDrawableHelper: listener's locking cleaned ; Fix generics (warnings) ..Sven Gothel2011-04-241-43/+14
| | | | | | | | | | | | | | GLDrawableHelper always locked access to it's listeners, hence no copy is required for add/remove a listener. Writeout generics (warnings)
* | Misc cleanup, strings etcSven Gothel2011-04-241-1/+1
| |
* | Add unified support for GL_ARB_debug_output and GL_AMD_debug_output.Sven Gothel2011-04-2415-30/+1145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If GL_ARB_debug_output is not available, but GL_AMD_debug_output exist, fallback to the latter, offering generic aliased methods translating the delta (AMD category <-> ARB source/type). Generic aliased methods reside in GLContext* Enable/Disable via GLContext and GLAutoDrawable. To enable the GLDebugOutput feature GLContext.enableGLDebugMessage(true) or GLContext.setContextCreationFlags(GLContext.CTX_OPTION_DEBUG) shall be called _before_ context creation via GLContext.makeCurrent()! In case GLAutoDrawable is being used, GLAutoDrawable.setContextCreationFlags(GLContext.CTX_OPTION_DEBUG) shall be issued before context creation via GLContext.makeCurrent()!. After context creation, the GLDebugOutput feature may be enabled or disabled at any time using this method. Verify both unit tests for usability.
* | New FPSCounter, impl. by GLWindow and GLAnimatorControl (fps perf related ↵Sven Gothel2011-04-236-73/+300
| | | | | | | | | | | | | | | | | | | | | | 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 ?!
* | GLContextImpl: GLContextLock -> RecursiveLockSven Gothel2011-04-236-212/+70
| | | | | | | | | | | | | | | | | | RecursiveLock maintains a queue of waiting Threads, ensuring the longest waiting thread will be notified at unlock. Delete GLContextLock. Cleanup HashMap generics style.
* | Refactored graph: Reduce/remove data copy/recreation; Shader cleanupSven Gothel2011-04-2323-630/+937
| | | | | | | | | | | | | | | | | | | | | | | | - 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-228-280/+315
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +++ 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.
* | NEWT GLWindow: Remove context current check for swapBuffer() callSven Gothel2011-04-221-0/+1
| | | | | | | | | | | | | | The spec doesn't require a current context for a swap buffer call, however, if required .. as user shall encapsulate it by himself, or use the GLEventListener model. Motivation: Reduce TLS GLContext.getCurrent() calls.
* | GLBufferSizeTracker/GLBufferStateTracker: Remove RedundancySven Gothel2011-04-222-31/+3
| | | | | | | | | | | | | | GLBufferStateTracker.isBoundBufferObjectKnown() is redundant, since it's 'get' method added it if not yet known. GLBufferSizeTracker removed above mentioned call, fallback to std GL query, no exception.
* | reflect GLContext changes a5430cf16727fdc7bcfb17ef251018cc479d5f5dSven Gothel2011-04-221-7/+3
| |
* | Fix/Add: Locator (Handle JarURLConnection and ..)Sven Gothel2011-04-223-31/+77
| | | | | | | | | | | | | | | | | | 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)
* | Fix GLProfile: Order of profiles Hi -> LowSven Gothel2011-04-221-54/+52
| | | | | | | | | | | | | | Ensure returning the highest profile always: all old: GL4bc, GL3bc, GL2, GL2GL3, GL4, GL3, GL2ES2, GLES2, GL2ES1, GLES1 all new: GL4bc, GL3bc, GL2, GL4, GL3, GL2GL3, GLES2, GL2ES2, GLES1, GL2ES1
* | GLContext changes:Sven Gothel2011-04-221-12/+32
| | | | | | | | | | | | | | | | | | | | | | change: putAttachedObject(String) -> attachObject(String) putAttachedObject(int) -> attachObject(int) new: validateCurrent() the 'int' mapped/attached objects are using the IntIntHashMap now
* | 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.