de.grogra.imp3d.glsl.light
Class GLSLLightShader

java.lang.Object
  extended by de.grogra.imp3d.glsl.utility.GLSLShader
      extended by de.grogra.imp3d.glsl.utility.GLSLManagedShader
          extended by de.grogra.imp3d.glsl.light.GLSLLightShader
All Implemented Interfaces:
GLSLOpenGLObject
Direct Known Subclasses:
GLSLAreaLight, GLSLDirectionalLight, GLSLPointLight, GLSLSkyReflectionLight, GLSLSpotLight

public abstract class GLSLLightShader
extends GLSLManagedShader

Convention: If ambient is set to less than -1.0 the pixel should not be lit, only its diffuse color will be used to render it.

Author:
Konni Hartmann

Field Summary
protected  Spectrum3f spec
          Used for working with radiant power
static java.lang.String[] stdV
           
 
Fields inherited from class de.grogra.imp3d.glsl.utility.GLSLManagedShader
config
 
Constructor Summary
GLSLLightShader()
           
 
Method Summary
 boolean canDisplayShadows()
           
 java.lang.String getLightFunction()
          Sets middle part of a light shader (after properties have been extracted from deferred-shading-textures
 LightShaderConfiguration getLightShaderConfig()
           
protected  java.lang.String[] getVertexShader(java.lang.Object sh)
           
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)
           
 java.lang.String toString()
           
 
Methods inherited from class de.grogra.imp3d.glsl.utility.GLSLManagedShader
deleteShader, getConfig, getMaterial_stamp, setConfig, setMaterial_stamp
 
Methods inherited from class de.grogra.imp3d.glsl.utility.GLSLShader
activateShader, cleanup, getFragmentShader, getInstance, getShaderProgramNumber, instanceFor, needsRecompilation, printProgramInfoLog
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

spec

protected Spectrum3f spec
Used for working with radiant power


stdV

public static final java.lang.String[] stdV
Constructor Detail

GLSLLightShader

public GLSLLightShader()
Method Detail

canDisplayShadows

public boolean canDisplayShadows()

getLightFunction

public java.lang.String getLightFunction()
Sets middle part of a light shader (after properties have been extracted from deferred-shading-textures

Returns:

getLightShaderConfig

public LightShaderConfiguration getLightShaderConfig()

getVertexShader

protected java.lang.String[] getVertexShader(java.lang.Object sh)
Overrides:
getVertexShader in class GLSLShader
Returns:

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 shader
data - The GroIMP-Shader-Object represented by this shader.

setupShader

protected void setupShader(javax.media.opengl.GL gl,
                           GLSLDisplay disp,
                           java.lang.Object data)
Overrides:
setupShader in class GLSLShader

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object