From 94d075998772d7ef20c40473434aeb999892417a Mon Sep 17 00:00:00 2001 From: Jason Sams Date: Fri, 18 Jun 2010 15:52:30 -0700 Subject: [PATCH] Fountain example cleanup. Remove compatability versions of rsg functions that took old 'i' types. Change-Id: Icea268a37df5e212237299e094ba26c6f76468d7 --- libs/rs/java/Fountain/res/raw/fountain.rs | 20 +++++++----------- libs/rs/java/Fountain/res/raw/fountain_bc.bc | Bin 2768 -> 2996 bytes .../src/com/android/fountain/FountainRS.java | 10 +-------- .../android/fountain/ScriptC_Fountain.java | 9 ++++---- libs/rs/rsScriptC_LibGL.cpp | 5 ----- 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 c44a796a6a89e..4b56b1b925f3c 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 f90d8f1456e40ba11eb514225c8a7478bb588b17..66d50b35a7bee71c04b15263160fe0227650c4b5 100644 GIT binary patch delta 2291 zcmXw44OA0X7Jf-4lL03%kbuLFFafl*4eo>lh)Z0PfDmki2xzJ3c47pf6^QkR`qzXc zfIk5PL4~T_u-cx}v(^QnsIA+R0E@InMetauS%Q-F;*Aos)ZS-h1=i z@7?#^nW3=mg#p?O?~f83fS;NI?3}o!hDGn2>1=??0guy<$74RRm*$2HrDYR_bf;R8 zNzmC=m+p;-9fpjhr^GJp;p$Anm&AuI;i4Oh0h+qi=kJ-3_k*7IwZ zb@Zh>c+2&)V^u3srf~&}@Tt%k&U)*`jAi3}iI;ilm+dMi_8r5&nc0$}A-efqL^ByK z?wAXjoeX+HPe<@}x7NR#DA;GMuXYLcJmc>f6nvOiAExbDO*!&_onODa#jf&a{Qj~% zU5ZUJ{W5fp3bss{gB}t=Z*r?_5@(GX<#v0h`VSbv9;}{U_mb0~56Pf;H8@hn;RZjV zgJ;#jvvWZ|(>`KIt>bal8=QUVko{mE_jJqvXHl;vW`=RBL0>ZK*hJWql|1&;Mhbv^ z(2I~PDO;rl0Jv8mF_w0|714>W10wy!Hq#emQh04Nls)@3(DX|;n_`g z{62ZxBRuOnpfK|Ql>&Z2D}g=aJs&n+KcUE@4b<|m2tH|de~Bt!ple!7>H|P`%N(p$bE|Huhm0P zcuIB{DFFJR7a_V=Hw=&#b%=q^0ygS^#e`6pZ7wa#GyTiw)h6Wh*cB;BSY$l)6b?G& z@WDP|8-jM>S{gNl`Euw*+1yrBA}`s6#v^iI?L07<5ZQ>(SFGq3k1z`>2f!5K%TYuJ zFpWmxEhfrIi~>*^;OOH1C3VgL%vIFGqD*tBAljem&_shS;U-GpWoHJXT~I<+xA`Zg z(Za!(mN!lX(G?ec&G2HU$bVUZnn&gh*_XF2rqDM)xr=Y|Oi$V+;ZByq$5rgT4+vQe ze)wOHS|Z+j*%zE}FpJ}txon9#d&p@+AfUrTP9jeP{J_sBMIh723Cq<)Imy~WV110P zaCQ5zwO$?|tLAu?@+fB!KOKNbYo`sh`3|&)0Y>Eu?w+b!=iw<@OXx#ylTI=Luo5SE zVFIc6oVqZ!j2@>Jgp>Z{=zb}qBuZiRvI_P7?f(upK@Huyc$4IINOxAI)&c2T*NPjH zm(|>rK0PWR~FEu{A!!g2t$PsGV<$S$lnKgrbiuTYN(- zX`l()V@fUNkjWdKve2V{E1`tOZP%wWOEsC^%+{-3!{Jk6nCwDMl1^TzzL(aY(zZ$h zuKt@ zH3R1+KUz1HC%8G93w6Ev1Zy`IFMvH#Lf1_y*6u&Ss{WHPz03k-A6v6&(V+HOjhrcE zGfiI5go);7dY+Tl?vCuKiXXU#GVqMp7Za0?wr1tnk1YBUyGFM5Y zgU1085cs|Zaw*1O(JSM1D>0p2|8)~A&XXniu>EJz4}QCVB{?fG3tZb-5$l*#96d_f zMha6ZUWc>nWMv{-sfH6PCCbC1cdmF1S2^NL`O4N)>}x0uCSiw>f+vFh)v4HzD%YbUDMB->zuH23p>G>c67zq8rHfr^YZr24T^C;!1G%AsWCSEn(r zL)nl-d+9T3g``)jTQ`*1>`OujR-{W@Dz$^^Qt>*pS?TU_xQ#IhoV-ZZ#pAPIvfu~(+Wzq6B8A? II|8Zy1D*~On*aa+ delta 2039 zcmXw)4^R`?9mn5hm(2z?Bq0d|LU2PAb8WcWmGH-t(|sez1l7W_2$NKC?MGO zntvOx11K1Eauw&WQj49=l~Y7)r_%&b(E|a4ip4)5pg8SKt$3&2v@?CHcRTaGzhBS)v0?DQsprvMb;NF9OH7lT?1LAoP#Qn3uX zE~B_2rqzT^O>AEEmN6=K^?s}{C-Jj=6mbbBaIgw&4&r9%6wnK#N+hQxaN5fvK+i>C zW|=#H|6Epn6|U9lQzA2t^@@YjoUN?lH#z6DqLgqT1ptt_eT4+HfXzAEX5k%>b@*e2 zfOk}f%TMuRK%l)U&dWQXX=O-{@eaLm&WZpy%&EPa8Xllv7n$4nL#T(X--n9Y^+TwY zr$hjt0GOf);ByM1 zl=RyqV(>ihQ^Xy&Ao{*mbJvw%&9qUH<);ygPRY}!knN7oqv3J zV0L9B?YB=40>6EB7^qr^d_k;d4qtO%ls%@^UvmQbeTpmrg{*M6(G%NgHV(7+t^!${ zlfhDZJ{Hq{TLGHZgX<=`#K3t298vcnq_sP!1_6g^P+c-4u9+1LiFdOirEqW8ITB@r zm+;Rqqc^x>R8e9ndvRdl}h8Bn2h-M`V3#4O;3TqJ& zIJ?wToHy#5=`YF~E&k^%UYBE7%=I9%`3#&qb@2(*g^P>4UbsW%=%(`-=7TTPIogaZ zrN>1KBXOX@qL(4Fachkte?dORz7s~1`>Io#<*(c!@{yUyFW$D9VGezI{C%ix4s{+h z_m1a4{o->_l+m#w1Kr7Z1DOqW-KF8o@2U+bO(qo+qqYAoDr_t1qgU|B?XEGV&!uLE#HAR1j@$@@7>ElrTH;571{Ym`WSf5^MU|K0u^vP{u#V4oeY$ zu*aOL9({g=KJ4TY@XR%p^aR*rCmqrfWXQ!IMLBGbis`AnFSfRq3(rc|Pm-4*3bl`K z?JeP)#*wNGup9$+6V#V>Gw)Yhpf-MD^#n3^+8{d917nm)fvDE}bl>Zre^ss;S7_U4 zsk>Avqh z=u`)_;H$l%v=T^Ys0>c=y@<9z8q~Rv!Rsr6RhkjYO9;fT0TIrqIE@lQ`j-<@`SMZ| z9Cq$F4{5!+&1K9A%RUBsLLVM-@DZ2OYbfsqO}1?XH)}i^q>%Y5wxe~H^^S>hf zEti4gsZ6ylzwE14-rSZoMp9%^9J+yMnY;f?T;;`|g9zjx5P1i^eX2U4ry9W5d1)#Kk@6S?d z$-6N}Z(jA9p~q5q`Sug>vBs1uG`^#KjPVCgFUE5Gg^%K6@dq+PFwA&$qIcFy($B|EvAmrlN2n9Cl8oI`vCwaMG5$?L xt~CaUZlT95ey;9c9nVv^I{(mr#xHP2uQsovJGn&%x{&|? 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 7a7866d2efeec..6f4737f789b40 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 88062e8c51bb6..66b5b98b89b41 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 f0de908799cdd..052e14471c3f0 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 }