More work on the renderscript sample

Change-Id: Ib1812bbaa38180ca63d6d53c9cc3aeeee4134725
This commit is contained in:
Alex Sakhartchouk
2010-08-24 11:37:33 -07:00
parent 7a9f6faa3c
commit d36f248eaf
8 changed files with 363 additions and 98 deletions

View File

@@ -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;
}