public class ShaderProgram
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
protected java.util.HashMap<java.lang.String,java.lang.Integer> |
mAttributeLocations |
protected boolean |
mCompiled |
protected IShaderSource |
mFragmentShaderSource |
protected int |
mProgramID |
protected java.util.HashMap<java.lang.String,java.lang.Integer> |
mUniformLocations |
protected IShaderSource |
mVertexShaderSource |
| Constructor and Description |
|---|
ShaderProgram(IShaderSource pVertexShaderSource,
IShaderSource pFragmentShaderSource) |
ShaderProgram(java.lang.String pVertexShaderSource,
java.lang.String pFragmentShaderSource) |
| Modifier and Type | Method and Description |
|---|---|
void |
bind(GLState pGLState,
VertexBufferObjectAttributes pVertexBufferObjectAttributes) |
protected void |
compile(GLState pGLState) |
void |
delete(GLState pGLState) |
int |
getAttributeLocation(java.lang.String pAttributeName) |
int |
getAttributeLocationOptional(java.lang.String pAttributeName) |
int |
getUniformLocation(java.lang.String pUniformName) |
int |
getUniformLocationOptional(java.lang.String pUniformName) |
boolean |
isCompiled() |
protected void |
link(GLState pGLState) |
void |
setCompiled(boolean pCompiled) |
void |
setTexture(java.lang.String pUniformName,
int pTexture) |
void |
setTextureOptional(java.lang.String pUniformName,
int pTexture) |
void |
setUniform(java.lang.String pUniformName,
float pX) |
void |
setUniform(java.lang.String pUniformName,
float[] pGLMatrix) |
void |
setUniform(java.lang.String pUniformName,
float pX,
float pY) |
void |
setUniform(java.lang.String pUniformName,
float pX,
float pY,
float pZ) |
void |
setUniform(java.lang.String pUniformName,
float pX,
float pY,
float pZ,
float pW) |
void |
setUniformOptional(java.lang.String pUniformName,
float pX) |
void |
setUniformOptional(java.lang.String pUniformName,
float[] pGLMatrix) |
void |
setUniformOptional(java.lang.String pUniformName,
float pX,
float pY) |
void |
setUniformOptional(java.lang.String pUniformName,
float pX,
float pY,
float pZ) |
void |
setUniformOptional(java.lang.String pUniformName,
float pX,
float pY,
float pZ,
float pW) |
void |
unbind(GLState pGLState) |
protected final IShaderSource mVertexShaderSource
protected final IShaderSource mFragmentShaderSource
protected int mProgramID
protected boolean mCompiled
protected final java.util.HashMap<java.lang.String,java.lang.Integer> mUniformLocations
protected final java.util.HashMap<java.lang.String,java.lang.Integer> mAttributeLocations
public ShaderProgram(java.lang.String pVertexShaderSource,
java.lang.String pFragmentShaderSource)
public ShaderProgram(IShaderSource pVertexShaderSource, IShaderSource pFragmentShaderSource)
public boolean isCompiled()
public void setCompiled(boolean pCompiled)
public int getAttributeLocation(java.lang.String pAttributeName)
public int getAttributeLocationOptional(java.lang.String pAttributeName)
public int getUniformLocation(java.lang.String pUniformName)
public int getUniformLocationOptional(java.lang.String pUniformName)
public void bind(GLState pGLState, VertexBufferObjectAttributes pVertexBufferObjectAttributes) throws ShaderProgramException
ShaderProgramExceptionpublic void unbind(GLState pGLState) throws ShaderProgramException
ShaderProgramExceptionpublic void delete(GLState pGLState)
protected void compile(GLState pGLState) throws ShaderProgramException
ShaderProgramExceptionprotected void link(GLState pGLState) throws ShaderProgramLinkException
ShaderProgramLinkExceptionpublic void setUniform(java.lang.String pUniformName,
float[] pGLMatrix)
public void setUniformOptional(java.lang.String pUniformName,
float[] pGLMatrix)
public void setUniform(java.lang.String pUniformName,
float pX)
public void setUniformOptional(java.lang.String pUniformName,
float pX)
public void setUniform(java.lang.String pUniformName,
float pX,
float pY)
public void setUniformOptional(java.lang.String pUniformName,
float pX,
float pY)
public void setUniform(java.lang.String pUniformName,
float pX,
float pY,
float pZ)
public void setUniformOptional(java.lang.String pUniformName,
float pX,
float pY,
float pZ)
public void setUniform(java.lang.String pUniformName,
float pX,
float pY,
float pZ,
float pW)
public void setUniformOptional(java.lang.String pUniformName,
float pX,
float pY,
float pZ,
float pW)
public void setTexture(java.lang.String pUniformName,
int pTexture)
pUniformName - pTexture - the index of the Texture to use. Similar to GLES20.GL_TEXTURE0, GLES20.GL_TEXTURE1, ... except that it is 0 based.public void setTextureOptional(java.lang.String pUniformName,
int pTexture)
pUniformName - pTexture - the index of the Texture to use. Similar to GLES20.GL_TEXTURE0, GLES20.GL_TEXTURE1, ... except that it is 0 based.