diff options
author | Sven Gothel <[email protected]> | 2014-03-25 06:41:21 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2014-03-25 06:41:21 +0100 |
commit | 923ca6e77c03d602f9a5a71713cf5d973451687b (patch) | |
tree | 834c99f5afef9717722a38ffbd432c4643b42c22 /src/jogl/classes/jogamp/graph/curve/opengl | |
parent | b71f91e67270958bdb2940615a83e4d1ccc9ca0a (diff) |
ShaderCode: Allow 'srcRoot' to be optional ; RegionRendererImpl01: Allos custom shader
Diffstat (limited to 'src/jogl/classes/jogamp/graph/curve/opengl')
-rw-r--r-- | src/jogl/classes/jogamp/graph/curve/opengl/RegionRendererImpl01.java | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/src/jogl/classes/jogamp/graph/curve/opengl/RegionRendererImpl01.java b/src/jogl/classes/jogamp/graph/curve/opengl/RegionRendererImpl01.java index 29483be58..1288910fb 100644 --- a/src/jogl/classes/jogamp/graph/curve/opengl/RegionRendererImpl01.java +++ b/src/jogl/classes/jogamp/graph/curve/opengl/RegionRendererImpl01.java @@ -31,6 +31,7 @@ import javax.media.opengl.GL2ES2; import javax.media.opengl.GLException; import jogamp.graph.curve.opengl.shader.AttributeNames; +import jogamp.opengl.Debug; import com.jogamp.graph.curve.opengl.RenderState; import com.jogamp.graph.curve.opengl.RegionRenderer; @@ -40,6 +41,12 @@ import com.jogamp.opengl.util.glsl.ShaderProgram; import com.jogamp.opengl.util.glsl.ShaderState; public class RegionRendererImpl01 extends RegionRenderer { + private static final String CUSTOM_FP, CUSTOM_VP; + static { + Debug.initSingleton(); + CUSTOM_VP = Debug.getProperty("jogl.debug.graph.curve.vp", false); + CUSTOM_FP = Debug.getProperty("jogl.debug.graph.curve.fp", false); + } public RegionRendererImpl01(final RenderState rs, final int renderModes, final GLCallback enableCallback, final GLCallback disableCallback) { super(rs, renderModes, enableCallback, disableCallback); @@ -48,11 +55,17 @@ public class RegionRendererImpl01 extends RegionRenderer { @Override protected final boolean initImpl(GL2ES2 gl) { final ShaderState st = getShaderState(); - - final ShaderCode rsVp = ShaderCode.create(gl, GL2ES2.GL_VERTEX_SHADER, RegionRendererImpl01.class, "shader", - "shader/bin", getVertexShaderName(), true); - final ShaderCode rsFp = ShaderCode.create(gl, GL2ES2.GL_FRAGMENT_SHADER, RegionRendererImpl01.class, "shader", - "shader/bin", getFragmentShaderName(), true); + final ShaderCode rsVp, rsFp; + if( null != CUSTOM_VP ) { + rsVp = ShaderCode.create(gl, GL2ES2.GL_VERTEX_SHADER, RegionRendererImpl01.class, null, null, CUSTOM_VP, true); + } else { + rsVp = ShaderCode.create(gl, GL2ES2.GL_VERTEX_SHADER, RegionRendererImpl01.class, "shader", "shader/bin", getVertexShaderName(), true); + } + if( null != CUSTOM_FP ) { + rsFp = ShaderCode.create(gl, GL2ES2.GL_FRAGMENT_SHADER, RegionRendererImpl01.class, null, null, CUSTOM_FP, true); + } else { + rsFp = ShaderCode.create(gl, GL2ES2.GL_FRAGMENT_SHADER, RegionRendererImpl01.class, "shader", "shader/bin", getFragmentShaderName(), true); + } rsVp.defaultShaderCustomization(gl, true, true); // rsFp.defaultShaderCustomization(gl, true, true); int pos = rsFp.addGLSLVersion(gl); |