diff options
author | Sven Gothel <[email protected]> | 2014-02-25 23:10:06 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2014-02-25 23:10:06 +0100 |
commit | d84812b6fb398c73cb3f339ab13d74b7e6822181 (patch) | |
tree | 00a915d49855938cfb5d98701d6e63bf4c6e1977 /src/jogl/classes/jogamp/graph/curve/opengl/RegionRendererImpl01.java | |
parent | 64bdefac9191334ace292683a6a7c4274bc3f72b (diff) |
Bug 802: Graph TextRenderer Performance Part-2 (fix artifacts, cleanup, incomplete)
- OutlineShape
- Add DIRTY_VERTICES bit in triangulation,
which in turn solves the rendering artifact issue.
- transformOutlines(..) -> protected
- Note: Always pick triangles first, then vertices.
The former renders vertices dirty.
- Region
- Make triangles / vertices accessible
- Add 'validateIndices()' to add indices for triangles,
code moved from the GLRegion* impl.
Shall be refined later!
- GLRegion
- Passing 'RegionRenderer' instead of RenderState ..
reducing argument numbers and aligning all related
'render' methods while giving association to the RegionRenderer.
- Renderer -> RegionRenderer,
dropping 'intermediate' RegionRenderer
- Dropping draw() in RegionRenderer, should be issued simply
by GLRegion in a unique fashion.
- Dropping RegionFactory
Too simple code as-is, simply invoke in Region.create(..)
- Overall:
- Add 'final' qualifier
- Remove overloaded methods
where rither default args can be used
or a followup method call completes the 'intention'.
Diffstat (limited to 'src/jogl/classes/jogamp/graph/curve/opengl/RegionRendererImpl01.java')
-rw-r--r-- | src/jogl/classes/jogamp/graph/curve/opengl/RegionRendererImpl01.java | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/src/jogl/classes/jogamp/graph/curve/opengl/RegionRendererImpl01.java b/src/jogl/classes/jogamp/graph/curve/opengl/RegionRendererImpl01.java index 51198fd75..c2762591a 100644 --- a/src/jogl/classes/jogamp/graph/curve/opengl/RegionRendererImpl01.java +++ b/src/jogl/classes/jogamp/graph/curve/opengl/RegionRendererImpl01.java @@ -32,23 +32,21 @@ import javax.media.opengl.GLException; import jogamp.graph.curve.opengl.shader.AttributeNames; -import com.jogamp.graph.curve.Region; -import com.jogamp.graph.curve.opengl.GLRegion; -import com.jogamp.graph.curve.opengl.RegionRenderer; import com.jogamp.graph.curve.opengl.RenderState; +import com.jogamp.graph.curve.opengl.RegionRenderer; import com.jogamp.opengl.GLExtensions; import com.jogamp.opengl.util.glsl.ShaderCode; import com.jogamp.opengl.util.glsl.ShaderProgram; import com.jogamp.opengl.util.glsl.ShaderState; public class RegionRendererImpl01 extends RegionRenderer { + public RegionRendererImpl01(RenderState rs, int renderModes) { super(rs, renderModes); - } @Override - protected boolean initShaderProgram(GL2ES2 gl) { + protected final boolean initImpl(GL2ES2 gl) { final ShaderState st = rs.getShaderState(); final ShaderCode rsVp = ShaderCode.create(gl, GL2ES2.GL_VERTEX_SHADER, RegionRendererImpl01.class, "shader", @@ -89,12 +87,7 @@ public class RegionRendererImpl01 extends RegionRenderer { } @Override - protected void destroyImpl(GL2ES2 gl) { - super.destroyImpl(gl); - } - - @Override - protected void drawImpl(GL2ES2 gl, Region region, int[] texSize) { - ((GLRegion)region).draw(gl, rs, vp_width, vp_height, texSize); + protected final void destroyImpl(GL2ES2 gl) { + // NOP .. all will be destroyed via RenderState } } |