Inheritance diagram for OgreDepthShadowRecieverRenderTechnique:
Public Member Functions | |
OgreDepthShadowRecieverRenderTechnique (int maxlights, String shadowVertexProgram, String shadowFragmentProgram, Pass *pass, OgreRenderable *parentRenderable, OgreTechniqueGroup *parentTechniqueGroup) | |
Constructor. | |
~OgreDepthShadowRecieverRenderTechnique () | |
Destructor. | |
virtual void | update (unsigned long frameNum) |
Updates the resources in the given frame. | |
Protected Attributes | |
int | maxlights |
the maximum number of light sources to recieve shadow from | |
String | shadowVertexProgram |
the vertex program to be used in the shadowing passes | |
String | shadowFragmentProgram |
the fragment program to be used in the shadowing passes | |
std::vector< Pass * > | passes |
This technique defines that the object will recieve shadows with the help of depth shadow maps. Each lightsource can have a depth map assigned to it. These are going to be refreshed only if shadow recievers are visible. It is the shadow reciever technique's resposibility to refresh them.
The shadows from each light are calculated in separate passes. Each pass will modulate the shaded image, so thes should be the last passes (but before caustic passes). The given Pass* parameter n the constructor defines the pass after which new shadow recieving passes will be added by the technique.
|
Constructor.
|
|
Updates the resources in the given frame. A RenderTechnique is usually need some resources from several runs, so these runs will be updated.
Reimplemented from RenderTechnique. |
|
the maximum number of light sources to recieve shadow from During update the nearest light sources will be found and used. |
|
new passes created by this technique |
|
the fragment program to be used in the shadowing passes It should have one pass and the depth map of a light will be bound to the first sampler unit. |