diff options
Diffstat (limited to 'src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java')
-rw-r--r-- | src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java | 32 |
1 files changed, 15 insertions, 17 deletions
diff --git a/src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java b/src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java index 9fef381f4..54deb9e4b 100644 --- a/src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java +++ b/src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java @@ -50,10 +50,15 @@ import com.jogamp.graph.curve.Region; /** * OpenGL {@link Region} renderer - * <p> - * All OpenGL related operations regarding {@link Region}s - * are passed through an instance of this class. - * </p> + * + * All {@link Region} rendering operations utilize a RegionRenderer. + * + * The RegionRenderer owns its {@link RenderState}, a composition. + * + * The RegionRenderer manages and own all used {@link ShaderProgram}s, a composition. + * + * At its {@link #destroy(GL2ES2) destruction}, all {@link ShaderProgram}s and its {@link RenderState} + * will be destroyed and released. */ public class RegionRenderer { protected static final boolean DEBUG = Region.DEBUG; @@ -223,9 +228,12 @@ public class RegionRenderer { initialized = true; } - /** Deletes all {@link ShaderProgram}s and nullifies its references. */ - public final void clearShader(final GL2ES2 gl) { + /** Deletes all {@link ShaderProgram}s and nullifies its references including {@link RenderState#destroy(GL2ES2)}. */ + public final void destroy(final GL2ES2 gl) { if(!initialized){ + if(DEBUG_INSTANCE) { + System.err.println("TextRenderer: Not initialized!"); + } return; } for(final Iterator<IntObjectHashMap.Entry> i = shaderPrograms.iterator(); i.hasNext(); ) { @@ -233,17 +241,7 @@ public class RegionRenderer { sp.destroy(gl); } shaderPrograms.clear(); - rs.destroy(gl); - } - - public final void destroy(final GL2ES2 gl) { - if(!initialized){ - if(DEBUG_INSTANCE) { - System.err.println("TextRenderer: Not initialized!"); - } - return; - } - clearShader(gl); + rs.destroy(); initialized = false; } |