FileDocCategorySizeDatePackage
FountainRS.javaAPI DocAndroid 5.1 API2324Thu Mar 12 22:22:44 GMT 2015com.example.android.rs.fountain

FountainRS

public class FountainRS extends Object

Fields Summary
public static final int
PART_COUNT
private android.content.res.Resources
mRes
private RenderScriptGL
mRS
private ScriptC_fountain
mScript
boolean[]
holdingColor
Constructors Summary
public FountainRS()


      
    
Methods Summary
public voidinit(RenderScriptGL rs, android.content.res.Resources res)

        mRS = rs;
        mRes = res;

        ProgramFragmentFixedFunction.Builder pfb = new ProgramFragmentFixedFunction.Builder(rs);
        pfb.setVaryingColor(true);
        rs.bindProgramFragment(pfb.create());

        ScriptField_Point points = new ScriptField_Point(mRS, PART_COUNT);//
 //                                                        Allocation.USAGE_GRAPHICS_VERTEX);

        Mesh.AllocationBuilder smb = new Mesh.AllocationBuilder(mRS);
        smb.addVertexAllocation(points.getAllocation());
        smb.addIndexSetType(Mesh.Primitive.POINT);
        Mesh sm = smb.create();

        mScript = new ScriptC_fountain(mRS, mRes, R.raw.fountain);
        mScript.set_partMesh(sm);
        mScript.bind_point(points);
        mRS.bindRootScript(mScript);
    
public voidnewTouchPosition(float x, float y, float pressure, int id)

              
        if (id >= holdingColor.length) {
            return;
        }
        int rate = (int)(pressure * pressure * 500.f);
        if (rate > 500) {
            rate = 500;
        }
        if (rate > 0) {
            mScript.invoke_addParticles(rate, x, y, id, !holdingColor[id]);
            holdingColor[id] = true;
        } else {
            holdingColor[id] = false;
        }