diff options
author | Alex Sakhartchouk <alexst@google.com> | 2010-09-30 11:36:37 -0700 |
---|---|---|
committer | Alex Sakhartchouk <alexst@google.com> | 2010-09-30 11:36:37 -0700 |
commit | f5b3510c706ed1f7611760dff0c94f2111531c68 (patch) | |
tree | 05d2f7976a7ec1000a5ad0ee035151704da8a49c /libs/rs/java/Samples/src/com/android/samples/RsRenderStatesRS.java | |
parent | e224fabb2c59e9f1274c3569c04b91787824add0 (diff) | |
download | frameworks_base-f5b3510c706ed1f7611760dff0c94f2111531c68.zip frameworks_base-f5b3510c706ed1f7611760dff0c94f2111531c68.tar.gz frameworks_base-f5b3510c706ed1f7611760dff0c94f2111531c68.tar.bz2 |
Adding anisotropic filtering and related samples.
Change-Id: Idb173274417feb5e25bfd64c5e9fa2492a23a17e
Diffstat (limited to 'libs/rs/java/Samples/src/com/android/samples/RsRenderStatesRS.java')
-rw-r--r-- | libs/rs/java/Samples/src/com/android/samples/RsRenderStatesRS.java | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/libs/rs/java/Samples/src/com/android/samples/RsRenderStatesRS.java b/libs/rs/java/Samples/src/com/android/samples/RsRenderStatesRS.java index d4e83d3..a15c4a1 100644 --- a/libs/rs/java/Samples/src/com/android/samples/RsRenderStatesRS.java +++ b/libs/rs/java/Samples/src/com/android/samples/RsRenderStatesRS.java @@ -19,11 +19,12 @@ package com.android.samples; import java.io.Writer; import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; import android.renderscript.*; import android.renderscript.ProgramStore.DepthFunc; +import android.renderscript.Sampler.Value; import android.util.Log; -import android.graphics.BitmapFactory; -import android.graphics.Bitmap; public class RsRenderStatesRS { @@ -42,7 +43,7 @@ public class RsRenderStatesRS { mOptionsARGB.inScaled = false; mOptionsARGB.inPreferredConfig = Bitmap.Config.ARGB_8888; mMode = 0; - mMaxModes = 8; + mMaxModes = 9; initRS(); } @@ -53,6 +54,8 @@ public class RsRenderStatesRS { private Sampler mLinearWrap; private Sampler mMipLinearWrap; private Sampler mNearestClamp; + private Sampler mMipLinearAniso8; + private Sampler mMipLinearAniso15; private ProgramStore mProgStoreBlendNoneDepth; private ProgramStore mProgStoreBlendNone; @@ -74,10 +77,12 @@ public class RsRenderStatesRS { private ProgramRaster mCullBack; private ProgramRaster mCullFront; + private ProgramRaster mCullNone; private Allocation mTexTorus; private Allocation mTexOpaque; private Allocation mTexTransparent; + private Allocation mTexChecker; private Allocation mAllocPV; @@ -243,10 +248,12 @@ public class RsRenderStatesRS { mTexTorus = loadTextureRGB(R.drawable.torusmap); mTexOpaque = loadTextureRGB(R.drawable.data); mTexTransparent = loadTextureARGB(R.drawable.leaf); + mTexChecker = loadTextureRGB(R.drawable.checker); mScript.set_gTexTorus(mTexTorus); mScript.set_gTexOpaque(mTexOpaque); mScript.set_gTexTransparent(mTexTransparent); + mScript.set_gTexChecker(mTexChecker); } private void initFonts() { @@ -295,18 +302,32 @@ public class RsRenderStatesRS { mNearestClamp = Sampler.CLAMP_NEAREST(mRS); mMipLinearWrap = Sampler.WRAP_LINEAR_MIP_LINEAR(mRS); + bs = new Sampler.Builder(mRS); + bs.setMin(Sampler.Value.LINEAR_MIP_LINEAR); + bs.setMag(Sampler.Value.LINEAR); + bs.setWrapS(Sampler.Value.WRAP); + bs.setWrapT(Sampler.Value.WRAP); + bs.setAnisotropy(8.0f); + mMipLinearAniso8 = bs.create(); + bs.setAnisotropy(15.0f); + mMipLinearAniso15 = bs.create(); + mScript.set_gLinearClamp(mLinearClamp); mScript.set_gLinearWrap(mLinearWrap); mScript.set_gMipLinearWrap(mMipLinearWrap); + mScript.set_gMipLinearAniso8(mMipLinearAniso8); + mScript.set_gMipLinearAniso15(mMipLinearAniso15); mScript.set_gNearestClamp(mNearestClamp); } private void initProgramRaster() { mCullBack = ProgramRaster.CULL_BACK(mRS); mCullFront = ProgramRaster.CULL_FRONT(mRS); + mCullNone = ProgramRaster.CULL_NONE(mRS); mScript.set_gCullBack(mCullBack); mScript.set_gCullFront(mCullFront); + mScript.set_gCullNone(mCullNone); } private void initRS() { |