Adding set(boolean) methods + fix w in set(int) method

This commit is contained in:
Amnon Owed
2013-07-26 12:57:14 +02:00
parent 141458db5c
commit 2ce80c3f67

View File

@@ -264,7 +264,7 @@ public class PShader {
* @param w fourth component of the variable to modify. The variable has to be declared with an array/vector type in the shader (i.e.: int[4], vec4)
*/
public void set(String name, int x, int y, int z, int w) {
setUniformImpl(name, UniformValue.INT4, new int[] { x, y, z });
setUniformImpl(name, UniformValue.INT4, new int[] { x, y, z, w });
}
@@ -296,6 +296,26 @@ public class PShader {
}
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);
}
@@ -343,6 +363,20 @@ public class PShader {
}
}
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<boolvec.length; i++) {
vec[i] = (boolvec[i])?1:0;
}
set(name, vec, ncoords);
}
/**
* @param mat matrix of values
*/