public ShaderVar divide(Float value1, ShaderVar var2) { return divide(new RFloat(Float.toString(value1)), var2); }
public ShaderVar subtract(float value1, ShaderVar var2) { return subtract(new RFloat(Float.toString(value1)), var2); }
public ShaderVar castMat4(float value) { return castMat4(new RFloat(Float.toString(value))); }
public ShaderVar castMat3(float value) { return castMat3(new RFloat(value)); }
/** * Add a constant * * @param name * @param value * @return */ protected ShaderVar addConst(String name, float value) { return addConst(name, new RFloat(value)); }
public ShaderVar b() { ShaderVar v = new RFloat(); v.setName(this.mName + ".b"); v.mInitialized = true; return v; }
public ShaderVar g() { ShaderVar v = new RFloat(); v.setName(this.mName + ".g"); v.mInitialized = true; return v; }
public ShaderVar t() { ShaderVar v = new RFloat(); v.setName(this.mName + ".t"); v.mInitialized = true; return v; }
public ShaderVar y() { ShaderVar v = new RFloat(); v.setName(this.mName + ".y"); v.mInitialized = true; return v; }
public ShaderVar far() { ShaderVar v = new RFloat(); v.setName(this.mName + ".far"); v.mInitialized = true; return v; }
public ShaderVar diff() { ShaderVar v = new RFloat(); v.setName(this.mName + ".diff"); v.mInitialized = true; return v; } }
public ShaderVar near() { ShaderVar v = new RFloat(); v.setName(this.mName + ".near"); v.mInitialized = true; return v; }
@Override public void main() { RVec2 gTextureCoord = (RVec2) getGlobal(DefaultShaderVar.G_TEXTURE_COORD); RFloat tileSizeX = new RFloat("tileSizeX"); tileSizeX.assign(1.f / mNumTiles[0]); RFloat tileSizeY = new RFloat("tileSizeY"); tileSizeY.assign(1.f / mNumTiles[1]); RFloat texSOffset = new RFloat("texSOffset", gTextureCoord.s().multiply(tileSizeX)); RFloat texTOffset = new RFloat("texTOffset", gTextureCoord.t().multiply(tileSizeY)); gTextureCoord.s().assign(mod(muCurrentFrame, muNumTiles.x()).multiply(tileSizeX).add(texSOffset)); gTextureCoord.t().assign(tileSizeY.multiply(floor(muCurrentFrame.divide(muNumTiles.y()))).add(texTOffset)); }
public ShaderVar a() { ShaderVar v = new RFloat(); v.setName(this.mName + ".a"); v.mInitialized = true; return v; }
public ShaderVar w() { ShaderVar v = new RFloat(); v.setName(this.mName + ".w"); v.mInitialized = true; return v; }
public ShaderVar z() { ShaderVar v = new RFloat(); v.setName(this.mName + ".z"); v.mInitialized = true; return v; }
public ShaderVar r() { ShaderVar v = new RFloat(); v.setName(this.mName + ".r"); v.mInitialized = true; return v; }
public ShaderVar s() { ShaderVar v = new RFloat(); v.setName(this.mName + ".s"); v.mInitialized = true; return v; }
public ShaderVar x() { ShaderVar v = new RFloat(); v.setName(this.mName + ".x"); v.mInitialized = true; return v; }