summaryrefslogtreecommitdiffstats
path: root/libs/rs/java/Film
diff options
context:
space:
mode:
authorJason Sams <rjsams@android.com>2009-08-04 16:58:20 -0700
committerJason Sams <rjsams@android.com>2009-08-04 17:05:43 -0700
commit22534176fb5c1257130ef4ee589739ca42766a32 (patch)
treed7efb4494b65e4769203b9a879646c7407d63cc9 /libs/rs/java/Film
parent959b7bd96b18f84510e8af72d7a439140edb5169 (diff)
downloadframeworks_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.c21
-rw-r--r--libs/rs/java/Film/src/com/android/film/FilmRS.java51
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");
}