diff options
| author | Alex Sakhartchouk <alexst@google.com> | 2012-01-27 15:00:34 -0800 |
|---|---|---|
| committer | Alex Sakhartchouk <alexst@google.com> | 2012-01-27 15:00:34 -0800 |
| commit | 4bda82de0bca754f3ce387e9968170c5122241a9 (patch) | |
| tree | b4226b2d3d18b2b47e72e37f4eea5aeca4bb285c /tests/RenderScriptTests/SceneGraph/src/com/android/testapp/TestAppRS.java | |
| parent | a18d676edefbafc0b745ab98edab8f50b1c81c61 (diff) | |
| download | frameworks_base-4bda82de0bca754f3ce387e9968170c5122241a9.zip frameworks_base-4bda82de0bca754f3ce387e9968170c5122241a9.tar.gz frameworks_base-4bda82de0bca754f3ce387e9968170c5122241a9.tar.bz2 | |
Better constant names, removed unused code, general cleanup.
Change-Id: Iebf6d6c930c146e83d6963674d63ee322e831f3e
Diffstat (limited to 'tests/RenderScriptTests/SceneGraph/src/com/android/testapp/TestAppRS.java')
| -rw-r--r-- | tests/RenderScriptTests/SceneGraph/src/com/android/testapp/TestAppRS.java | 86 |
1 files changed, 34 insertions, 52 deletions
diff --git a/tests/RenderScriptTests/SceneGraph/src/com/android/testapp/TestAppRS.java b/tests/RenderScriptTests/SceneGraph/src/com/android/testapp/TestAppRS.java index e24b1a7..0892fdb 100644 --- a/tests/RenderScriptTests/SceneGraph/src/com/android/testapp/TestAppRS.java +++ b/tests/RenderScriptTests/SceneGraph/src/com/android/testapp/TestAppRS.java @@ -62,10 +62,6 @@ public class TestAppRS { private Resources mRes; private RenderScriptGL mRS; - ScriptField_FShaderParams_s mFsConst; - ScriptField_FShaderLightParams_s mFsConst2; - ScriptField_VShaderParams_s mVsConst; - // Shaders private FragmentShader mPaintF; private FragmentShader mLightsF; @@ -73,18 +69,10 @@ public class TestAppRS { private FragmentShader mPlasticF; private FragmentShader mDiffuseF; private FragmentShader mTextureF; - private VertexShader mPaintV; - - private Allocation mDefaultCube; - private TextureCube mEnvCube; - private TextureCube mDiffCube; + private VertexShader mGenericV; Scene mActiveScene; - public TestAppRS() { - mUseBlur = false; - } - // This is a part of the test app, it's used to tests multiple render passes and is toggled // on and off in the menu, off by default void toggleBlur() { @@ -103,6 +91,7 @@ public class TestAppRS { } public void init(RenderScriptGL rs, Resources res, int width, int height) { + mUseBlur = false; mRS = rs; mRes = res; mWidth = width; @@ -117,7 +106,9 @@ public class TestAppRS { mLoadingScreen = new TestAppLoadingScreen(mRS, mRes); // Initi renderscript stuff specific to the app. This will need to be abstracted out later. - initRS(); + FullscreenBlur.createRenderTargets(mRS, mWidth, mHeight); + initPaintShaders(); + mLoadingScreen.setRenderLoop(mSceneManager.getRenderLoop()); // Load a scene to render mSceneManager.loadModel(mFilePath + modelName, mLoadedCallback); @@ -126,14 +117,12 @@ public class TestAppRS { // When a new model file is selected from the UI, this function gets called to init everything void loadModel(String path) { mLoadingScreen.showLoadingScreen(true); - mActiveScene.destroyRS(mSceneManager); + mActiveScene.destroyRS(); mSceneManager.loadModel(path, mLoadedCallback); } public void onActionDown(float x, float y) { mTouchHandler.onActionDown(x, y); - - //mSceneManager.getRenderLoop().invoke_pick((int)x, (int)y); } public void onActionScale(float scale) { @@ -144,9 +133,9 @@ public class TestAppRS { mTouchHandler.onActionMove(x, y); } - FragmentShader createFromResource(int id, boolean addCubemap) { + FragmentShader createFromResource(int id, boolean addCubemap, Type constType) { FragmentShader.Builder fb = new FragmentShader.Builder(mRS); - fb.setShaderConst(mFsConst.getAllocation().getType()); + fb.setShaderConst(constType); fb.setShader(mRes, id); fb.addTexture(TextureType.TEXTURE_2D, "diffuse"); if (addCubemap) { @@ -161,30 +150,34 @@ public class TestAppRS { } private void initPaintShaders() { - ScriptField_VObjectParams_s objConst = new ScriptField_VObjectParams_s(mRS, 1); - ScriptField_VSParams_s shaderConst = new ScriptField_VSParams_s(mRS, 1); + ScriptField_ModelParams objConst = new ScriptField_ModelParams(mRS, 1); + ScriptField_ViewProjParams shaderConst = new ScriptField_ViewProjParams(mRS, 1); VertexShader.Builder vb = new VertexShader.Builder(mRS); - vb.addInput(ScriptField_VertexShaderInputs_s.createElement(mRS)); + vb.addInput(ScriptField_VertexShaderInputs.createElement(mRS)); vb.setShader(mRes, R.raw.shader2v); vb.setObjectConst(objConst.getAllocation().getType()); vb.setShaderConst(shaderConst.getAllocation().getType()); - mPaintV = vb.create(); + mGenericV = vb.create(); + + ScriptField_CameraParams fsConst = new ScriptField_CameraParams(mRS, 1); + ScriptField_LightParams fsConst2 = new ScriptField_LightParams(mRS, 1); - mFsConst = new ScriptField_FShaderParams_s(mRS, 1); - mFsConst2 = new ScriptField_FShaderLightParams_s(mRS, 1); + mPaintF = createFromResource(R.raw.paintf, true, fsConst.getAllocation().getType()); + // Assign a reflection map + TextureCube envCube = new TextureCube("sdcard/scenegraph/", "cube_env.png"); + mPaintF.appendSourceParams(new TextureParam("reflection", envCube)); - mPaintF = createFromResource(R.raw.paintf, true); - mPaintF.appendSourceParams(new TextureParam("reflection", mEnvCube)); - mAluminumF = createFromResource(R.raw.metal, true); - mAluminumF.appendSourceParams(new TextureParam("reflection", mDiffCube)); + mAluminumF = createFromResource(R.raw.metal, true, fsConst.getAllocation().getType()); + TextureCube diffCube = new TextureCube("sdcard/scenegraph/", "cube_spec.png"); + mAluminumF.appendSourceParams(new TextureParam("reflection", diffCube)); - mPlasticF = createFromResource(R.raw.plastic, false); - mDiffuseF = createFromResource(R.raw.diffuse, false); - mTextureF = createFromResource(R.raw.texture, false); + mPlasticF = createFromResource(R.raw.plastic, false, fsConst.getAllocation().getType()); + mDiffuseF = createFromResource(R.raw.diffuse, false, fsConst.getAllocation().getType()); + mTextureF = createFromResource(R.raw.texture, false, fsConst.getAllocation().getType()); FragmentShader.Builder fb = new FragmentShader.Builder(mRS); - fb.setObjectConst(mFsConst2.getAllocation().getType()); + fb.setObjectConst(fsConst2.getAllocation().getType()); fb.setShader(mRes, R.raw.plastic_lights); mLightsF = fb.create(); @@ -222,19 +215,19 @@ public class TestAppRS { mActiveScene.appendShader(mPlasticF); mActiveScene.appendShader(mDiffuseF); mActiveScene.appendShader(mTextureF); - mActiveScene.appendShader(mPaintV); + mActiveScene.appendShader(mGenericV); } public void prepareToRender(Scene s) { mSceneManager.setActiveScene(s); mActiveScene = s; addShadersToScene(); - RenderState plastic = new RenderState(mPaintV, mPlasticF, null, null); - RenderState diffuse = new RenderState(mPaintV, mDiffuseF, null, null); - RenderState paint = new RenderState(mPaintV, mPaintF, null, null); - RenderState aluminum = new RenderState(mPaintV, mAluminumF, null, null); - RenderState lights = new RenderState(mPaintV, mLightsF, null, null); - RenderState glassTransp = new RenderState(mPaintV, mPaintF, + RenderState plastic = new RenderState(mGenericV, mPlasticF, null, null); + RenderState diffuse = new RenderState(mGenericV, mDiffuseF, null, null); + 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 glassTransp = new RenderState(mGenericV, mPaintF, ProgramStore.BLEND_ALPHA_DEPTH_TEST(mRS), null); initRenderPasses(); @@ -257,7 +250,7 @@ public class TestAppRS { Renderable plane = (Renderable)mActiveScene.getRenderableByName("pPlaneShape1"); if (plane != null) { - RenderState texState = new RenderState(mPaintV, mTextureF, null, null); + RenderState texState = new RenderState(mGenericV, mTextureF, null, null); plane.setRenderState(texState); plane.setVisible(mRS, !mUseBlur); } @@ -271,15 +264,4 @@ public class TestAppRS { mLoadingScreen.showLoadingScreen(false); } - - private void initRS() { - - FullscreenBlur.createRenderTargets(mRS, mWidth, mHeight); - // Reflection maps from SD card - mEnvCube = new TextureCube("sdcard/scenegraph/", "cube_env.png"); - mDiffCube = new TextureCube("sdcard/scenegraph/", "cube_spec.png"); - initPaintShaders(); - - mLoadingScreen.setRenderLoop(mSceneManager.getRenderLoop()); - } } |
