diff options
author | Jason Sams <rjsams@android.com> | 2010-06-18 15:52:30 -0700 |
---|---|---|
committer | Jason Sams <rjsams@android.com> | 2010-06-18 15:52:30 -0700 |
commit | 94d075998772d7ef20c40473434aeb999892417a (patch) | |
tree | 956a9c0358df4853677001a070c79283dd26d620 /libs/rs/java | |
parent | 7ade1be822ed05a143b059319dccd5e9f623b56d (diff) | |
download | frameworks_base-94d075998772d7ef20c40473434aeb999892417a.zip frameworks_base-94d075998772d7ef20c40473434aeb999892417a.tar.gz frameworks_base-94d075998772d7ef20c40473434aeb999892417a.tar.bz2 |
Fountain example cleanup.
Remove compatability versions of rsg functions that took old 'i' types.
Change-Id: Icea268a37df5e212237299e094ba26c6f76468d7
Diffstat (limited to 'libs/rs/java')
-rw-r--r-- | libs/rs/java/Fountain/res/raw/fountain.rs | 20 | ||||
-rw-r--r-- | libs/rs/java/Fountain/res/raw/fountain_bc.bc | bin | 2768 -> 2996 bytes | |||
-rw-r--r-- | libs/rs/java/Fountain/src/com/android/fountain/FountainRS.java | 10 | ||||
-rw-r--r-- | libs/rs/java/Fountain/src/com/android/fountain/ScriptC_Fountain.java | 9 |
4 files changed, 14 insertions, 25 deletions
diff --git a/libs/rs/java/Fountain/res/raw/fountain.rs b/libs/rs/java/Fountain/res/raw/fountain.rs index c44a796..4b56b1b 100644 --- a/libs/rs/java/Fountain/res/raw/fountain.rs +++ b/libs/rs/java/Fountain/res/raw/fountain.rs @@ -9,7 +9,7 @@ static int newPart = 0; -float4 partColor; +static float4 partColor; rs_mesh partMesh; typedef struct __attribute__((packed, aligned(4))) Point { @@ -44,22 +44,18 @@ int root() { #pragma rs export_func(addParticles) -void addParticles(int rate, int x, int y) +void addParticles(int rate, float x, float y, int newColor) { - //rsDebug("partColor", partColor); - //rsDebug("partColor x", partColor.x); - //rsDebug("partColor y", partColor.y); - //rsDebug("partColor z", partColor.z); - //rsDebug("partColor w", partColor.w); - + if (newColor) { + partColor.x = rsRand(0.5f, 1.0f); + partColor.y = rsRand(1.0f); + partColor.z = rsRand(1.0f); + } float rMax = ((float)rate) * 0.005f; int size = rsAllocationGetDimX(rsGetAllocation(point)); + uchar4 c = rsPackColorTo8888(partColor); - uchar4 c = rsPackColorTo8888(partColor.x, partColor.y, partColor.z); - - //rsDebug("color ", ((int *)&c)[0]); Point_t * np = &point[newPart]; - float2 p = {x, y}; while (rate--) { float angle = rsRand(3.14f * 2.f); diff --git a/libs/rs/java/Fountain/res/raw/fountain_bc.bc b/libs/rs/java/Fountain/res/raw/fountain_bc.bc Binary files differindex f90d8f1..66d50b3 100644 --- a/libs/rs/java/Fountain/res/raw/fountain_bc.bc +++ b/libs/rs/java/Fountain/res/raw/fountain_bc.bc diff --git a/libs/rs/java/Fountain/src/com/android/fountain/FountainRS.java b/libs/rs/java/Fountain/src/com/android/fountain/FountainRS.java index 7a7866d..6f4737f 100644 --- a/libs/rs/java/Fountain/src/com/android/fountain/FountainRS.java +++ b/libs/rs/java/Fountain/src/com/android/fountain/FountainRS.java @@ -48,18 +48,10 @@ public class FountainRS { mRS.contextBindRootScript(mScript); } - Float4 tmpColor = new Float4(); boolean holdingColor = false; - java.util.Random mRand = new java.util.Random(); public void newTouchPosition(int x, int y, int rate) { if (rate > 0) { - if (!holdingColor) { - tmpColor.x = mRand.nextFloat() * 0.5f + 0.5f; - tmpColor.y = mRand.nextFloat(); - tmpColor.z = mRand.nextFloat(); - mScript.set_partColor(tmpColor); - } - mScript.invoke_addParticles(rate, x, y); + mScript.invoke_addParticles(rate, x, y, !holdingColor ? 1 : 0); holdingColor = true; } else { holdingColor = false; diff --git a/libs/rs/java/Fountain/src/com/android/fountain/ScriptC_Fountain.java b/libs/rs/java/Fountain/src/com/android/fountain/ScriptC_Fountain.java index 88062e8..66b5b98 100644 --- a/libs/rs/java/Fountain/src/com/android/fountain/ScriptC_Fountain.java +++ b/libs/rs/java/Fountain/src/com/android/fountain/ScriptC_Fountain.java @@ -63,11 +63,12 @@ public class ScriptC_Fountain extends ScriptC { } private final static int mExportFuncIdx_addParticles = 0; - public void invoke_addParticles(int rate, int x, int y) { - FieldPacker addParticles_fp = new FieldPacker(12); + public void invoke_addParticles(int rate, float x, float y, int newColor) { + FieldPacker addParticles_fp = new FieldPacker(16); addParticles_fp.addI32(rate); - addParticles_fp.addI32(x); - addParticles_fp.addI32(y); + addParticles_fp.addF32(x); + addParticles_fp.addF32(y); + addParticles_fp.addI32(newColor); invoke(mExportFuncIdx_addParticles, addParticles_fp); } |