summaryrefslogtreecommitdiffstats
path: root/tests/RenderScriptTests/SceneGraph/src/com/android/testapp/TestAppRS.java
diff options
context:
space:
mode:
authorAlex Sakhartchouk <alexst@google.com>2012-02-29 09:06:10 -0800
committerAlex Sakhartchouk <alexst@google.com>2012-02-29 09:06:10 -0800
commitb23b58ad343ccbf8835c7067698a60fc6bc1a870 (patch)
treec832571f92822473b69766308c01f48f320e6171 /tests/RenderScriptTests/SceneGraph/src/com/android/testapp/TestAppRS.java
parentf203b83d2fac1def48dfba23d7020a8c6b4abb70 (diff)
downloadframeworks_base-b23b58ad343ccbf8835c7067698a60fc6bc1a870.zip
frameworks_base-b23b58ad343ccbf8835c7067698a60fc6bc1a870.tar.gz
frameworks_base-b23b58ad343ccbf8835c7067698a60fc6bc1a870.tar.bz2
Enable AA in scenegraph. Minor shader work in sample.
Change-Id: Ifa81d2b19901002f901f25ac9dce5a4ca09fa363
Diffstat (limited to 'tests/RenderScriptTests/SceneGraph/src/com/android/testapp/TestAppRS.java')
-rw-r--r--tests/RenderScriptTests/SceneGraph/src/com/android/testapp/TestAppRS.java15
1 files changed, 14 insertions, 1 deletions
diff --git a/tests/RenderScriptTests/SceneGraph/src/com/android/testapp/TestAppRS.java b/tests/RenderScriptTests/SceneGraph/src/com/android/testapp/TestAppRS.java
index f159e85..3aa80f4 100644
--- a/tests/RenderScriptTests/SceneGraph/src/com/android/testapp/TestAppRS.java
+++ b/tests/RenderScriptTests/SceneGraph/src/com/android/testapp/TestAppRS.java
@@ -65,6 +65,7 @@ public class TestAppRS {
// Shaders
private FragmentShader mPaintF;
private FragmentShader mLightsF;
+ private FragmentShader mLightsDiffF;
private FragmentShader mAluminumF;
private FragmentShader mPlasticF;
private FragmentShader mDiffuseF;
@@ -173,6 +174,11 @@ public class TestAppRS {
fb.setShader(mRes, R.raw.plastic_lights);
mLightsF = fb.create();
+ fb = new FragmentShader.Builder(mRS);
+ fb.setObjectConst(lightParams.getAllocation().getType());
+ fb.setShader(mRes, R.raw.diffuse_lights);
+ mLightsDiffF = fb.create();
+
FullscreenBlur.initShaders(mRes, mRS);
}
@@ -203,6 +209,7 @@ public class TestAppRS {
private void addShadersToScene() {
mActiveScene.appendShader(mPaintF);
mActiveScene.appendShader(mLightsF);
+ mActiveScene.appendShader(mLightsDiffF);
mActiveScene.appendShader(mAluminumF);
mActiveScene.appendShader(mPlasticF);
mActiveScene.appendShader(mDiffuseF);
@@ -219,8 +226,12 @@ public class TestAppRS {
RenderState paint = new RenderState(mGenericV, mPaintF, null, null);
RenderState aluminum = new RenderState(mGenericV, mAluminumF, null, null);
RenderState lights = new RenderState(mGenericV, mLightsF, null, null);
+ RenderState diff_lights = new RenderState(mGenericV, mLightsDiffF, null, null);
+ RenderState diff_lights_no_cull = new RenderState(mGenericV, mLightsDiffF, null,
+ ProgramRaster.CULL_NONE(mRS));
RenderState glassTransp = new RenderState(mGenericV, mPaintF,
ProgramStore.BLEND_ALPHA_DEPTH_TEST(mRS), null);
+ RenderState texState = new RenderState(mGenericV, mTextureF, null, null);
initRenderPasses();
@@ -239,10 +250,12 @@ public class TestAppRS {
mActiveScene.assignRenderStateToMaterial(glassTransp, "^GlassLight");
mActiveScene.assignRenderStateToMaterial(lights, "^LightBlinn");
+ mActiveScene.assignRenderStateToMaterial(diff_lights, "^LightLambert");
+ mActiveScene.assignRenderStateToMaterial(diff_lights_no_cull, "^LightLambertNoCull");
+ mActiveScene.assignRenderStateToMaterial(texState, "^TextureOnly");
Renderable plane = (Renderable)mActiveScene.getRenderableByName("pPlaneShape1");
if (plane != null) {
- RenderState texState = new RenderState(mGenericV, mTextureF, null, null);
plane.setRenderState(texState);
plane.setVisible(!mUseBlur);
}