summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Sams <rjsams@android.com>2010-06-18 15:52:30 -0700
committerJason Sams <rjsams@android.com>2010-06-18 15:52:30 -0700
commit94d075998772d7ef20c40473434aeb999892417a (patch)
tree956a9c0358df4853677001a070c79283dd26d620
parent7ade1be822ed05a143b059319dccd5e9f623b56d (diff)
downloadframeworks_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
-rw-r--r--libs/rs/java/Fountain/res/raw/fountain.rs20
-rw-r--r--libs/rs/java/Fountain/res/raw/fountain_bc.bcbin2768 -> 2996 bytes
-rw-r--r--libs/rs/java/Fountain/src/com/android/fountain/FountainRS.java10
-rw-r--r--libs/rs/java/Fountain/src/com/android/fountain/ScriptC_Fountain.java9
-rw-r--r--libs/rs/rsScriptC_LibGL.cpp5
5 files changed, 14 insertions, 30 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
index f90d8f1..66d50b3 100644
--- a/libs/rs/java/Fountain/res/raw/fountain_bc.bc
+++ b/libs/rs/java/Fountain/res/raw/fountain_bc.bc
Binary files differ
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);
}
diff --git a/libs/rs/rsScriptC_LibGL.cpp b/libs/rs/rsScriptC_LibGL.cpp
index f0de908..052e144 100644
--- a/libs/rs/rsScriptC_LibGL.cpp
+++ b/libs/rs/rsScriptC_LibGL.cpp
@@ -345,8 +345,6 @@ static ScriptCState::SymbolTable_t gSyms[] = {
{ "rsgGetWidth", (void *)&SC_getWidth },
{ "rsgGetHeight", (void *)&SC_getHeight },
- { "_Z18rsgUploadToTextureii", (void *)&SC_uploadToTexture2 },
- { "_Z18rsgUploadToTexturei", (void *)&SC_uploadToTexture },
{ "_Z18rsgUploadToTexture13rs_allocationi", (void *)&SC_uploadToTexture2 },
{ "_Z18rsgUploadToTexture13rs_allocation", (void *)&SC_uploadToTexture },
{ "rsgUploadToBufferObject", (void *)&SC_uploadToBufferObject },
@@ -358,8 +356,6 @@ static ScriptCState::SymbolTable_t gSyms[] = {
{ "rsgDrawSpriteScreenspace", (void *)&SC_drawSpriteScreenspace },
{ "_Z17rsgDrawSimpleMesh7rs_mesh", (void *)&SC_drawSimpleMesh },
{ "_Z17rsgDrawSimpleMesh7rs_meshii", (void *)&SC_drawSimpleMeshRange },
- { "_Z17rsgDrawSimpleMeshi", (void *)&SC_drawSimpleMesh },
- { "_Z17rsgDrawSimpleMeshiii", (void *)&SC_drawSimpleMeshRange },
{ "rsgClearColor", (void *)&SC_ClearColor },
{ "rsgClearDepth", (void *)&SC_ClearDepth },
@@ -370,7 +366,6 @@ static ScriptCState::SymbolTable_t gSyms[] = {
{ "updateSimpleMesh", (void *)&SC_updateSimpleMesh },
// misc
- //{ "pfClearColor", (void *)&SC_ClearColor },
{ "color", (void *)&SC_color },
{ NULL, NULL }