diff --git a/core/src/processing/opengl/PShader.java b/core/src/processing/opengl/PShader.java index 9b9b48105..b0ef40ac2 100644 --- a/core/src/processing/opengl/PShader.java +++ b/core/src/processing/opengl/PShader.java @@ -443,6 +443,26 @@ public class PShader implements PConstants { } + public void set(String name, boolean x) { + setUniformImpl(name, UniformValue.INT1, new int[] { (x)?1:0 }); + } + + + public void set(String name, boolean x, boolean y) { + setUniformImpl(name, UniformValue.INT2, new int[] { (x)?1:0, (y)?1:0 }); + } + + + public void set(String name, boolean x, boolean y, boolean z) { + setUniformImpl(name, UniformValue.INT3, new int[] { (x)?1:0, (y)?1:0, (z)?1:0 }); + } + + + public void set(String name, boolean x, boolean y, boolean z, boolean w) { + setUniformImpl(name, UniformValue.INT4, new int[] { (x)?1:0, (y)?1:0, (z)?1:0, (w)?1:0 }); + } + + public void set(String name, int[] vec) { set(name, vec, 1); } @@ -490,6 +510,20 @@ public class PShader implements PConstants { } } + public void set(String name, boolean[] vec) { + set(name, vec, 1); + } + + + public void set(String name, boolean[] boolvec, int ncoords) { + int[] vec = new int[boolvec.length]; + for (int i=0; i