de.grogra.imp3d.glsl.material
Class GLSLMaterial
java.lang.Object
de.grogra.imp3d.glsl.utility.GLSLShader
de.grogra.imp3d.glsl.utility.GLSLManagedShader
de.grogra.imp3d.glsl.material.GLSLMaterial
- All Implemented Interfaces:
- GLSLOpenGLObject
- Direct Known Subclasses:
- GLSLPhong, GLSLRGBAShader, GLSLSideSwitchShader, GLSLSunSky
public abstract class GLSLMaterial
- extends GLSLManagedShader
Represents a class of Shaders that need to be recompiled for every property
change. (e.g GLSLPhong)
- Author:
- Konni Hartmann
|
Method Summary |
protected abstract Result[] |
getAllChannels(java.lang.Object sha)
|
protected java.lang.String[] |
getFragmentShader(java.lang.Object sha)
Generate the FragmentShaderCode by using the configuration of the Shader. |
boolean |
isOpaque(java.lang.Object s)
|
boolean |
mayDiscard(java.lang.Object s)
|
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 s)
|
protected void |
setupUniforms(javax.media.opengl.GL gl,
GLSLDisplay disp,
java.lang.Object s,
int shaderProgramNumber)
Function that loads uniforms of the represented Shader. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
GLSLMaterial
public GLSLMaterial()
getAllChannels
protected abstract Result[] getAllChannels(java.lang.Object sha)
getFragmentShader
protected java.lang.String[] getFragmentShader(java.lang.Object sha)
- Generate the FragmentShaderCode by using the configuration of the Shader.
- Specified by:
getFragmentShader in class GLSLShader
- Returns:
isOpaque
public boolean isOpaque(java.lang.Object s)
mayDiscard
public boolean mayDiscard(java.lang.Object s)
- Parameters:
s - GroImp Shader that acts as a base for this shader
- Returns:
- True, if fragments may be discarded by this shader
setupDynamicUniforms
protected void setupDynamicUniforms(javax.media.opengl.GL gl,
GLSLDisplay disp,
java.lang.Object data,
int shaderNo)
- Description copied from class:
GLSLShader
- Function that loads uniforms of the represented Shader.
- Overrides:
setupDynamicUniforms in class GLSLShader
disp - GLSLDisplay that tries using this shaderdata - The GroIMP-Shader-Object represented by this shader.
setupShader
protected void setupShader(javax.media.opengl.GL gl,
GLSLDisplay disp,
java.lang.Object s)
- Overrides:
setupShader in class GLSLShader
setupUniforms
protected void setupUniforms(javax.media.opengl.GL gl,
GLSLDisplay disp,
java.lang.Object s,
int shaderProgramNumber)
- Function that loads uniforms of the represented Shader.
Called by
setupShader(GL, GLSLDisplay, Object).
Use this to add special uniforms instead of overloading setupShader(GL, GLSLDisplay, Object).
Used by SideSwitchShader to initialize both shaders.
- Parameters:
gl - disp - GLSLDisplay that tries using this shaders - The GroIMP-Shader-Object represented by this shader.