de.grogra.imp3d.glsl.light.shadow
Class GLSLShadowCube

java.lang.Object
  extended by de.grogra.imp3d.glsl.utility.GLSLTexture
      extended by de.grogra.imp3d.glsl.utility.TextureRenderTarget
          extended by de.grogra.imp3d.glsl.light.shadow.GLSLShadowMap
              extended by de.grogra.imp3d.glsl.light.shadow.GLSLShadowCube
All Implemented Interfaces:
FBOAttachment, GLSLOpenGLObject

public class GLSLShadowCube
extends GLSLShadowMap

Implements a textureCube to be used in point light shadow generation and rendering. The scene is rendered for each face of the cube resulting in 6 passes for each point light.

Author:
Konni Hartman

Field Summary
 
Fields inherited from class de.grogra.imp3d.glsl.light.shadow.GLSLShadowMap
GRAPH_STAMP, invalid
 
Fields inherited from class de.grogra.imp3d.glsl.utility.TextureRenderTarget
DEPTHUB, RGBA16F, RGBA16US, RGBA32F, RGBA8UB
 
Fields inherited from class de.grogra.imp3d.glsl.utility.GLSLTexture
height, index, internalFormat, texType, type, width
 
Constructor Summary
GLSLShadowCube()
           
 
Method Summary
 boolean create(javax.media.opengl.GL gl)
           
 boolean create(javax.media.opengl.GL gl, int width, int height)
           
 void fill(GLSLDisplay disp, OpenGLState glState)
           
 java.lang.Class<?> getDefaultLightType()
           
 GLSLShadowMap getInstance()
           
 Matrix4d getLightToView()
           
 int getSize()
           
 void setupTextureMatrices(OpenGLState glState, Matrix4d ViewToWorld, LightPos light)
           
 
Methods inherited from class de.grogra.imp3d.glsl.light.shadow.GLSLShadowMap
delete, getLightToView, getViewToClip, renderCachedScene, setCamDir, setCamPos, setInvalid, setLightTransf
 
Methods inherited from class de.grogra.imp3d.glsl.utility.TextureRenderTarget
attachToFbo, bindTo, create, create, resize, toString
 
Methods inherited from class de.grogra.imp3d.glsl.utility.GLSLTexture
bindTo, cleanup, delete, estimateSizeInByte, getHeight, getIndex, getTexType, getType, getWidth
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface de.grogra.imp3d.glsl.utility.FBOAttachment
estimateSizeInByte
 

Constructor Detail

GLSLShadowCube

public GLSLShadowCube()
Method Detail

create

public boolean create(javax.media.opengl.GL gl)
Specified by:
create in class GLSLShadowMap

create

public boolean create(javax.media.opengl.GL gl,
                      int width,
                      int height)
Specified by:
create in class GLSLShadowMap

fill

public void fill(GLSLDisplay disp,
                 OpenGLState glState)
Specified by:
fill in class GLSLShadowMap

getDefaultLightType

public java.lang.Class<?> getDefaultLightType()
Specified by:
getDefaultLightType in class GLSLShadowMap

getInstance

public GLSLShadowMap getInstance()
Specified by:
getInstance in class GLSLShadowMap

getLightToView

public Matrix4d getLightToView()
Overrides:
getLightToView in class GLSLShadowMap

getSize

public int getSize()
Specified by:
getSize in class GLSLShadowMap

setupTextureMatrices

public void setupTextureMatrices(OpenGLState glState,
                                 Matrix4d ViewToWorld,
                                 LightPos light)
Specified by:
setupTextureMatrices in class GLSLShadowMap