| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Glyph/Typecast* ; Misc Cleanup
Commit c3621221b9a563495b4f54fe60e18e8db8cc57fb introduced
create an OutlineShape per Glyph from it's data w/o going through Path2D.
Misc Cleanup: Remove unused code/fields, use private/final where possible.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| | |
Signed-off-by: Harvey Harrison <[email protected]>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
GlyphShape and GlyphString use only OutlineShapes
|
|
|
|
|
| |
Implements more of John Pritchard <[email protected]> proposal
https://github.com/syntelos/jogl/commit/eadee0758babcddaa5eeaffbe046e1b09f9f550e
|
| |
|
|
|