summaryrefslogtreecommitdiffstats
path: root/graphics/java/android/renderscript/ProgramVertex.java
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/java/android/renderscript/ProgramVertex.java')
-rw-r--r--graphics/java/android/renderscript/ProgramVertex.java15
1 files changed, 12 insertions, 3 deletions
diff --git a/graphics/java/android/renderscript/ProgramVertex.java b/graphics/java/android/renderscript/ProgramVertex.java
index ba97d5b..e284984 100644
--- a/graphics/java/android/renderscript/ProgramVertex.java
+++ b/graphics/java/android/renderscript/ProgramVertex.java
@@ -46,6 +46,7 @@ public class ProgramVertex extends BaseObj {
Light[] mLights;
int mLightCount;
boolean mTextureMatrixEnable;
+ String mShader;
public Builder(RenderScript rs, Element in, Element out) {
@@ -60,6 +61,10 @@ public class ProgramVertex extends BaseObj {
mTextureMatrixEnable = enable;
}
+ public void setShader(String s) {
+ mShader = s;
+ }
+
public void addLight(Light l) throws IllegalStateException {
if(mLightCount >= MAX_LIGHT) {
throw new IllegalArgumentException("Max light count exceeded.");
@@ -80,10 +85,14 @@ public class ProgramVertex extends BaseObj {
outID = b.mOut.mID;
}
rs.nProgramVertexBegin(inID, outID);
- for(int ct=0; ct < b.mLightCount; ct++) {
- rs.nProgramVertexAddLight(b.mLights[ct].mID);
+ if (b.mShader != null) {
+ rs.nProgramVertexSetShader(b.mShader);
+ } else {
+ for(int ct=0; ct < b.mLightCount; ct++) {
+ rs.nProgramVertexAddLight(b.mLights[ct].mID);
+ }
+ rs.nProgramVertexSetTextureMatrixEnable(b.mTextureMatrixEnable);
}
- rs.nProgramVertexSetTextureMatrixEnable(b.mTextureMatrixEnable);
int id = rs.nProgramVertexCreate();
return new ProgramVertex(id, rs);
}