diff options
author | Jason Sams <rjsams@android.com> | 2009-08-04 16:58:20 -0700 |
---|---|---|
committer | Jason Sams <rjsams@android.com> | 2009-08-04 17:05:43 -0700 |
commit | 22534176fb5c1257130ef4ee589739ca42766a32 (patch) | |
tree | d7efb4494b65e4769203b9a879646c7407d63cc9 /libs/rs/java/Film | |
parent | 959b7bd96b18f84510e8af72d7a439140edb5169 (diff) | |
download | frameworks_base-22534176fb5c1257130ef4ee589739ca42766a32.zip frameworks_base-22534176fb5c1257130ef4ee589739ca42766a32.tar.gz frameworks_base-22534176fb5c1257130ef4ee589739ca42766a32.tar.bz2 |
Split ProgramFragment and ProgramStore from RenderScript.java. Update Element and Type to new cached builder for easier app developement.
Diffstat (limited to 'libs/rs/java/Film')
-rw-r--r-- | libs/rs/java/Film/res/raw/filmstrip.c | 21 | ||||
-rw-r--r-- | libs/rs/java/Film/src/com/android/film/FilmRS.java | 51 |
2 files changed, 36 insertions, 36 deletions
diff --git a/libs/rs/java/Film/res/raw/filmstrip.c b/libs/rs/java/Film/res/raw/filmstrip.c index ac694ab..e9c7f28 100644 --- a/libs/rs/java/Film/res/raw/filmstrip.c +++ b/libs/rs/java/Film/res/raw/filmstrip.c @@ -3,7 +3,7 @@ #pragma version(1) #pragma stateVertex(PVBackground) #pragma stateFragment(PFBackground) -#pragma stateFragmentStore(PFSBackground) +#pragma stateFragmentStore(PSBackground) /* typedef struct FilmScriptUserEnvRec { @@ -29,16 +29,15 @@ typedef struct FilmScriptUserEnvRec { int main(int index) { - int f1,f2,f3,f4, f5,f6,f7,f8, f9,f10,f11,f12, f13,f14,f15,f16; - int g1,g2,g3,g4, g5,g6,g7,g8, g9,g10,g11,g12, g13,g14,g15,g16; + float mat1[16]; float trans = loadF(1, POS_TRANSLATE); float rot = loadF(1, POS_ROTATE); - matrixLoadScale(&f16, 2.f, 2.f, 2.f); - matrixTranslate(&f16, 0.f, 0.f, trans); - matrixRotate(&f16, 90.f, 0.f, 0.f, 1.f); - matrixRotate(&f16, rot, 1.f, 0.f, 0.f); - storeMatrix(3, 0, &f16); + matrixLoadScale(mat1, 2.f, 2.f, 2.f); + matrixTranslate(mat1, 0.f, 0.f, trans); + matrixRotate(mat1, 90.f, 0.f, 0.f, 1.f); + matrixRotate(mat1, rot, 1.f, 0.f, 0.f); + storeMatrix(3, 0, mat1); //materialDiffuse(con, 0.0f, 0.0f, 0.0f, 1.0f); //materialSpecular(con, 0.5f, 0.5f, 0.5f, 0.5f); @@ -47,7 +46,7 @@ int main(int index) // Start of images. - bindProgramFragmentStore(NAMED_PFSImages); + bindProgramFragmentStore(NAMED_PSImages); bindProgramFragment(NAMED_PFImages); bindProgramVertex(NAMED_PVImages); @@ -108,8 +107,8 @@ int main(int index) } bindTexture(NAMED_PFImages, 0, loadI32(0, imgId - 1)); - matrixLoadTranslate(&f16, -pos - loadF(5, triangleOffsetsCount / 2), 0, 0); - vpLoadTextureMatrix(&f16); + matrixLoadTranslate(mat1, -pos - loadF(5, triangleOffsetsCount / 2), 0, 0); + vpLoadTextureMatrix(mat1); drawTriangleMeshRange(NAMED_mesh, loadI32(4, start), loadI32(4, end) - loadI32(4, start)); } } diff --git a/libs/rs/java/Film/src/com/android/film/FilmRS.java b/libs/rs/java/Film/src/com/android/film/FilmRS.java index a9eaead..760beb8 100644 --- a/libs/rs/java/Film/src/com/android/film/FilmRS.java +++ b/libs/rs/java/Film/src/com/android/film/FilmRS.java @@ -31,6 +31,8 @@ import android.renderscript.Allocation; import android.renderscript.Dimension; import android.renderscript.ScriptC; import android.renderscript.Script; +import android.renderscript.ProgramFragment; +import android.renderscript.ProgramStore; public class FilmRS { private final int POS_TRANSLATE = 0; @@ -73,10 +75,10 @@ public class FilmRS { private Element mElementVertex; private Element mElementIndex; private RenderScript.Sampler mSampler; - private RenderScript.ProgramFragmentStore mPFSBackground; - private RenderScript.ProgramFragmentStore mPFSImages; - private RenderScript.ProgramFragment mPFBackground; - private RenderScript.ProgramFragment mPFImages; + private ProgramStore mPSBackground; + private ProgramStore mPSImages; + private ProgramFragment mPFBackground; + private ProgramFragment mPFImages; private RenderScript.ProgramVertex mPVBackground; private RenderScript.ProgramVertex mPVImages; private ProgramVertexAlloc mPVA; @@ -99,21 +101,21 @@ public class FilmRS { private int[] mBufferState; private void initPFS() { - mRS.programFragmentStoreBegin(null, null); - mRS.programFragmentStoreDepthFunc(RenderScript.DepthFunc.LESS); - mRS.programFragmentStoreDitherEnable(true); - mRS.programFragmentStoreDepthMask(true); - mPFSBackground = mRS.programFragmentStoreCreate(); - mPFSBackground.setName("PFSBackground"); - - mRS.programFragmentStoreBegin(null, null); - mRS.programFragmentStoreDepthFunc(RenderScript.DepthFunc.EQUAL); - mRS.programFragmentStoreDitherEnable(false); - mRS.programFragmentStoreDepthMask(false); - mRS.programFragmentStoreBlendFunc(RenderScript.BlendSrcFunc.ONE, - RenderScript.BlendDstFunc.ONE); - mPFSImages = mRS.programFragmentStoreCreate(); - mPFSImages.setName("PFSImages"); + ProgramStore.Builder b = new ProgramStore.Builder(mRS, null, null); + + b.setDepthFunc(ProgramStore.DepthFunc.LESS); + b.setDitherEnable(true); + b.setDepthMask(true); + mPSBackground = b.create(); + mPSBackground.setName("PSBackground"); + + b.setDepthFunc(ProgramStore.DepthFunc.EQUAL); + b.setDitherEnable(false); + b.setDepthMask(false); + b.setBlendFunc(ProgramStore.BlendSrcFunc.ONE, + ProgramStore.BlendDstFunc.ONE); + mPSImages = b.create(); + mPSImages.setName("PSImages"); } private void initPF() { @@ -128,15 +130,14 @@ public class FilmRS { RenderScript.SamplerValue.WRAP); mSampler = mRS.samplerCreate(); + ProgramFragment.Builder b = new ProgramFragment.Builder(mRS, null, null); - mRS.programFragmentBegin(null, null); - mPFBackground = mRS.programFragmentCreate(); + mPFBackground = b.create(); mPFBackground.setName("PFBackground"); - mRS.programFragmentBegin(null, null); - mRS.programFragmentSetTexEnable(0, true); - mRS.programFragmentSetTexEnvMode(0, RenderScript.EnvMode.REPLACE); - mPFImages = mRS.programFragmentCreate(); + b.setTexEnable(true, 0); + b.setTexEnvMode(ProgramFragment.EnvMode.REPLACE, 0); + mPFImages = b.create(); mPFImages.bindSampler(mSampler, 0); mPFImages.setName("PFImages"); } |