aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderProgram.java
diff options
context:
space:
mode:
authorSven Gothel <sgothel@jausoft.com>2023-03-15 03:31:49 +0100
committerSven Gothel <sgothel@jausoft.com>2023-03-15 03:31:49 +0100
commit6ab750aa0b3b3d5be8c8f3a6388faea9149c5765 (patch)
tree227510fc8caaf50595ab6c07daa5352fa88a5ee6 /src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderProgram.java
parentc01a4ad712cfa2d1f8746daf161d9052c8acfccd (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.java21
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!