FountainRSpublic 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 void | init(RenderScriptGL rs, android.content.res.Resources res, int width, int height)
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 void | newTouchPosition(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;
}
|
|