diff options
author | Alex Sakhartchouk <alexst@google.com> | 2010-08-24 11:37:33 -0700 |
---|---|---|
committer | Alex Sakhartchouk <alexst@google.com> | 2010-08-24 14:00:58 -0700 |
commit | d36f248eaf06c569010649902df653da1a9e2acc (patch) | |
tree | ddfc7d8fc104f7fc91a58b83333d77263faa6fd2 /graphics/java/android/renderscript/ProgramRaster.java | |
parent | 7a9f6faa3c1a058d27548a329df464f2eaf1f7d1 (diff) |
More work on the renderscript sample
Change-Id: Ib1812bbaa38180ca63d6d53c9cc3aeeee4134725
Diffstat (limited to 'graphics/java/android/renderscript/ProgramRaster.java')
-rw-r--r-- | graphics/java/android/renderscript/ProgramRaster.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/graphics/java/android/renderscript/ProgramRaster.java b/graphics/java/android/renderscript/ProgramRaster.java index 08065cf3e7f9..fd89b6ec5929 100644 --- a/graphics/java/android/renderscript/ProgramRaster.java +++ b/graphics/java/android/renderscript/ProgramRaster.java @@ -67,17 +67,46 @@ public class ProgramRaster extends BaseObj { mRS.nProgramRasterSetCullMode(mID, m.mID); } + public static ProgramRaster CULL_BACK(RenderScript rs) { + if(rs.mProgramRaster_CULL_BACK == null) { + ProgramRaster.Builder builder = new ProgramRaster.Builder(rs); + builder.setCullMode(CullMode.BACK); + rs.mProgramRaster_CULL_BACK = builder.create(); + } + return rs.mProgramRaster_CULL_BACK; + } + + public static ProgramRaster CULL_FRONT(RenderScript rs) { + if(rs.mProgramRaster_CULL_FRONT == null) { + ProgramRaster.Builder builder = new ProgramRaster.Builder(rs); + builder.setCullMode(CullMode.FRONT); + rs.mProgramRaster_CULL_FRONT = builder.create(); + } + return rs.mProgramRaster_CULL_FRONT; + } + + public static ProgramRaster CULL_NONE(RenderScript rs) { + if(rs.mProgramRaster_CULL_NONE == null) { + ProgramRaster.Builder builder = new ProgramRaster.Builder(rs); + builder.setCullMode(CullMode.NONE); + rs.mProgramRaster_CULL_NONE = builder.create(); + } + return rs.mProgramRaster_CULL_NONE; + } + public static class Builder { RenderScript mRS; boolean mPointSprite; boolean mPointSmooth; boolean mLineSmooth; + CullMode mCullMode; public Builder(RenderScript rs) { mRS = rs; mPointSmooth = false; mLineSmooth = false; mPointSprite = false; + mCullMode = CullMode.BACK; } public Builder setPointSpriteEnable(boolean enable) { @@ -95,9 +124,15 @@ public class ProgramRaster extends BaseObj { return this; } + public Builder setCullMode(CullMode m) { + mCullMode = m; + return this; + } + static synchronized ProgramRaster internalCreate(RenderScript rs, Builder b) { int id = rs.nProgramRasterCreate(b.mPointSmooth, b.mLineSmooth, b.mPointSprite); ProgramRaster pr = new ProgramRaster(id, rs); + pr.setCullMode(b.mCullMode); return pr; } |