de.grogra.imp3d.glsl.utility
public abstract class GLSLShader extends java.lang.Object implements GLSLOpenGLObject
| Constructor and Description |
|---|
GLSLShader(OpenGLState glState) |
| Modifier and Type | Method and Description |
|---|---|
void |
activateShader(OpenGLState glState,
GLSLDisplay disp,
java.lang.Object data)
Only public method.
|
void |
cleanup(OpenGLState glState,
boolean javaonly) |
void |
deleteShader(javax.media.opengl.GL gl,
boolean javaonly)
Remove OpenGL side of this shader
|
protected abstract java.lang.String[] |
getFragmentShader(java.lang.Object data) |
GLSLShader |
getInstance()
For "hardcompiled" Shaders this method should return a new instance
|
int |
getShaderProgramNumber()
Getter for Shader Programnumber
|
protected java.lang.String[] |
getVertexShader(java.lang.Object data) |
java.lang.Class |
instanceFor() |
boolean |
needsRecompilation(java.lang.Object data)
Return false if Shader depends only on Uniforms
|
protected static void |
printProgramInfoLog(javax.media.opengl.GL gl,
int program)
Same as
printShaderInfoLog only for Programs. |
protected void |
setupDynamicUniforms(javax.media.opengl.GL gl,
GLSLDisplay disp,
java.lang.Object data,
int shaderNo)
Function that loads uniforms of the represented Shader.
|
protected void |
setupShader(javax.media.opengl.GL gl,
GLSLDisplay disp,
java.lang.Object data) |
public GLSLShader(OpenGLState glState)
public void activateShader(OpenGLState glState, GLSLDisplay disp, java.lang.Object data)
gl - disp - sh - s - public void cleanup(OpenGLState glState, boolean javaonly)
cleanup in interface GLSLOpenGLObjectpublic void deleteShader(javax.media.opengl.GL gl,
boolean javaonly)
gl - protected abstract java.lang.String[] getFragmentShader(java.lang.Object data)
sh - public GLSLShader getInstance()
public int getShaderProgramNumber()
protected java.lang.String[] getVertexShader(java.lang.Object data)
sh - public java.lang.Class instanceFor()
public boolean needsRecompilation(java.lang.Object data)
s - Associated Shaderprotected static void printProgramInfoLog(javax.media.opengl.GL gl,
int program)
printShaderInfoLog only for Programs.gl - program - protected void setupDynamicUniforms(javax.media.opengl.GL gl,
GLSLDisplay disp,
java.lang.Object data,
int shaderNo)
gl - disp - GLSLDisplay that tries using this shaderdata - The GroIMP-Shader-Object represented by this shader.protected void setupShader(javax.media.opengl.GL gl,
GLSLDisplay disp,
java.lang.Object data)
gl - disp - s -