package android.opengl.OpenGLES10;
import java.util.ArrayList;
public class Uniform3f extends UniformBase
{
protected Vector3f value = new Vector3f();
public Uniform3f(float x, float y, float z)
{
super(-1);
this.value = new Vector3f(x, y, z);
}
public Uniform3f(Vector3f value)
{
super(-1);
this.value.copyFrom(value);
}
public Uniform3f()
{
super(-1);
}
public void setValue(Vector3f val)
{
uploaded = false;
value.copyFrom(val);
}
public Vector3f getValue()
{
return value;
}
@Override
public void upload(ShaderProgram program)
{
if (!uploaded)
{
program.setUniform3fv(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;
}
}