summaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/jogamp/graph/curve/text
Commit message (Collapse)AuthorAgeFilesLines
* Bug 802: Graph TextRenderer Performance Part-1 (incomplete, rendering artifacts)Sven Gothel2014-02-242-346/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Strategy Change: - Font.Glyph itself holds it's OutlineShape with it's default scaling. Triangulation is done only once per glyph! - A CharSequence produces a Region by translating and scaling each Glyphs's OutlineShape. This removes the need for re-triangulate - see above. See: TextRendererUtil - The indices of re-added Triangles are offset to the new vertices (FIXME, seems not be be accurate yet). - OutlineShape's vertices and triangles are reused if 'clean'. - Simplified code - Reduced copies API Changes: - OutlineShape, Region, ...: See above - Removed TextRenderer, GlyphShape and GlyphString: Redundant - Added TextRendererUtil to produce the Region from CharSequence Result: - Over 600 fps while changing text for each frame. Previously only ~60fps max. TODO: - Region shall not hold the triangles itself, but the indices instead. This will remove the need to swizzle w/ vertices in the Region Renderer impl and easies reusage of OutlineShapes.
* Merge branch 'master' into stash_glyphcacheSven Gothel2014-02-232-20/+20
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: make/scripts/tests.sh src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java src/jogl/classes/com/jogamp/graph/curve/Region.java src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java src/jogl/classes/com/jogamp/graph/curve/opengl/Renderer.java src/jogl/classes/com/jogamp/graph/curve/opengl/TextRenderer.java src/jogl/classes/com/jogamp/graph/font/Font.java src/jogl/classes/com/jogamp/opengl/math/VectorUtil.java src/jogl/classes/jogamp/graph/curve/text/GlyphShape.java src/jogl/classes/jogamp/graph/curve/text/GlyphString.java src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java src/jogl/classes/jogamp/graph/font/typecast/TypecastRenderer.java
| * jogl: remove all trailing whitespaceHarvey Harrison2013-10-172-39/+39
| | | | | | | | Signed-off-by: Harvey Harrison <[email protected]>
| * Reorganize math code into: com.jogamp.opengl.math and ↵Sven Gothel2012-11-112-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | com.jogamp.opengl.math.geom packages Note: WIP - We may relocate / reorg math package. Public relocations: com.jogamp.opengl.util -> com.jogamp.opengl.math - FixedPoint - FloatUtil com.jogamp.graph.math -> com.jogamp.opengl.math - Quaternion - VectorUtil com.jogamp.graph.geom -> com.jogamp.opengl.math.geom - AABBox VectorUtil: Introducing Vert2fImmutable and Vert3fImmutable interfaces, allowing graph Vertex instances to be used 'graph' agnostic and to document 2d/3d use-cases.
* | Bug 801: Graph TextRenderer Cleanup Part-1a (unclean)Sven Gothel2014-02-232-57/+91
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remark: This commit is unclean and requires 'Part-1b' due to merging this commit after more than 2 years! Graph: - Use List<OutlineShape> instead of array allowing more flexible memory managment. - GLRegion -> Region promotion: - Region create(List<OutlineShape> outlineShapes, int renderModes) - Region create(OutlineShape outlineShape, int renderModes) - Region additions - void addOutlineShape(OutlineShape shape) - void addOutlineShapes(List<OutlineShape> shapes) - RegionRenderer - draw(..) remove 'position', redundant - - Deprecate 'TextRenderer' and 'GlyphString' Use Region.create(Font.getOutlineShapes(...)) + RegionRenderer instead. - FontInt -> Font promotion (make public) - getOutlineShape and getOutlineShapes - Font.Glyph additions - 'getID(), hashCode()' - 'float getScale(float pixelSize)' - GlyphShape - Add reference to Glyph allowing GlyphString to access the font metrics for translation and scaling - Experimental pre-scale/translation in GlyphString using default font size and it's metrics
* Min. Graph Parameter type change: texSize/width/.. for multipass-renderer: ↵Sven Gothel2012-02-251-3/+10
| | | | | | | | | | 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.
* minor editSven Gothel2011-11-091-1/+1
|
* Add Factory for triangulation with base Interface; misc cleanupRami Santina2011-06-051-1/+1
| | | | | | | | | CDTriangulation moved to impl (jogamp.graph), where additional triangulations or a wrapper to GLU triangulation can be added to triangulator. TWO_PASS_RENDERING renamed to VBAA (algorithm name) misc comments cleanups
* Font and TypecastRender generate array of OutlineShapes instead of Path2DRami Santina2011-06-022-80/+24
| | | | GlyphShape and GlyphString use only OutlineShapes
* Remove implicit for loops reduces temp objectsRami Santina2011-05-211-0/+1
|
* Fix: glyph outline orientation with the removal of inversionRami Santina2011-05-101-1/+2
|
* Loop: Fix invert; GlyphString/createRegion: Remove unnecessary on-the-fly ↵Sven Gothel2011-05-091-6/+5
| | | | object creation
* Graph/GLyph*: Add static factory method for non Renderer creation,Sven Gothel2011-05-082-34/+83
| | | | separating text->OutlineShape and OutlineShape->Region step.
* Graph / Text: Use CharSequence as char/string interface to text renderingSven Gothel2011-05-061-5/+5
| | | | | Implements more of John Pritchard <[email protected]> proposal https://github.com/syntelos/jogl/commit/eadee0758babcddaa5eeaffbe046e1b09f9f550e
* GlyphShape: Use switch block for PathIterator - adding default (exception)Sven Gothel2011-05-061-24/+28
| | | | | 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-061-28/+7
| | | | | | | | | | | | | | | | | | | | | 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-051-1/+1
| | | | <[email protected]> https://github.com/syntelos/jogl/commit/05a7ec92d30e1e688b1eb7cc317cad83a0e8fd60#L0R59)
* Added nonuniform weight impl; misc enhancements/cleanupsRami Santina2011-05-022-14/+14
| | | | | | | | | | 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)
* ShaderState: Add 'ownUniform()/ownAttribute()'; rename glFunction -> ↵Sven Gothel2011-04-261-2/+3
| | | | | | | | | | | | | | 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 ..
* Refactored graph: Reduce/remove data copy/recreation; Shader cleanupSven Gothel2011-04-231-19/+17
| | | | | | | | | | | | - 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 :)
* Fix TAB: Replace all TAB with 4 spacesSven Gothel2011-04-082-229/+229
|
* TextRenderer - createString exposed; Renderer - added scale();Rami Santina2011-04-081-0/+5
| | | | | | | | | | 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.
* Folded turtle2d into jogl foldersSven Gothel2011-04-012-0/+324