diff options
author | Sven Gothel <sgothel@jausoft.com> | 2023-03-15 03:31:49 +0100 |
---|---|---|
committer | Sven Gothel <sgothel@jausoft.com> | 2023-03-15 03:31:49 +0100 |
commit | 6ab750aa0b3b3d5be8c8f3a6388faea9149c5765 (patch) | |
tree | 227510fc8caaf50595ab6c07daa5352fa88a5ee6 /src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderProgram.java | |
parent | c01a4ad712cfa2d1f8746daf161d9052c8acfccd (diff) |
opengl/util/glsl/Shader*: Mark classes and fields final, rename dump{Shader->}Source(), refine string output.
Diffstat (limited to 'src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderProgram.java')
-rw-r--r-- | src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderProgram.java | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderProgram.java b/src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderProgram.java index 63455ba51..82486a213 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderProgram.java +++ b/src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderProgram.java @@ -36,7 +36,7 @@ import java.util.HashSet; import java.util.Iterator; import java.io.PrintStream; -public class ShaderProgram { +public final class ShaderProgram { public ShaderProgram() { id = getNextID(); @@ -282,9 +282,13 @@ public class ShaderProgram { sb = new StringBuilder(); } sb.append("ShaderProgram[id=").append(id); - sb.append(", linked="+programLinked+", inUse="+programInUse+", program: "+shaderProgram+","); - for(final Iterator<ShaderCode> iter=allShaderCode.iterator(); iter.hasNext(); ) { - sb.append(Platform.getNewline()).append(" ").append(iter.next()); + sb.append(", linked="+programLinked+", inUse="+programInUse+", program: "+shaderProgram+", "+allShaderCode.size()+" code: "); + if( 0 < allShaderCode.size() ) { + for(final Iterator<ShaderCode> iter=allShaderCode.iterator(); iter.hasNext(); ) { + sb.append(Platform.getNewline()).append(" ").append(iter.next()); + } + } else { + sb.append("none"); } sb.append("]"); return sb; @@ -316,6 +320,15 @@ public class ShaderProgram { programInUse = false; } + public void dumpSource(final PrintStream out) { + out.println(); + out.println(toString()); + for(final Iterator<ShaderCode> iter=allShaderCode.iterator(); iter.hasNext(); ) { + iter.next().dumpSource(out); + } + out.println(); + } + private boolean programLinked = false; private boolean programInUse = false; private int shaderProgram = 0; // non zero is valid! |