package android.opengl.OpenGLES10; import java.util.ArrayList; public class Uniform4f extends UniformBase { protected Vector4f value = new Vector4f(); public Uniform4f(float x, float y, float z, float w) { super(-1); this.value = new Vector4f(x, y, z, w); } public Uniform4f(Vector4f value) { super(-1); this.value.copyFrom(value); } public Uniform4f() { super(-1); } public void setValue(Vector4f val) { uploaded = false; value.copyFrom(val); } public Vector4f getValue() { return value; } @Override public void upload(ShaderProgram program) { if (!uploaded) { program.setUniform4fv(location, 1, value.v); uploaded = true; } } @Override public ArrayList<ShaderFile > getAdditionalRequiredShaderFiles() { ArrayList<ShaderFile > shaderFiles = new ArrayList<ShaderFile >(); for (int i = 0; i < this.additionalRequiredShaderFiles.size(); i++) { if (this.father == null || ((Uniform<Boolean>)(this.father)).getValue()) { shaderFiles.add(this.additionalRequiredShaderFiles.get(i).getValue()); } } return shaderFiles; } }