![]()  | 
  
    OGRE
    13.6
    
   Object-Oriented Graphics Rendering Engine 
   | 
 
This class defines the interface that must be implemented by shadow casters. More...
#include <OgreShadowCaster.h>
 Inheritance diagram for Ogre::ShadowCaster:Public Types | |
| typedef Ogre::ShadowRenderableList | ShadowRenderableList | 
| typedef VectorIterator< ShadowRenderableList > | ShadowRenderableListIterator | 
Public Member Functions | |
| virtual | ~ShadowCaster () | 
| virtual bool | getCastShadows (void) const =0 | 
| Returns whether or not this object currently casts a shadow.  More... | |
| virtual const AxisAlignedBox & | getDarkCapBounds (const Light &light, Real dirLightExtrusionDist) const =0 | 
| Gets the world space bounding box of the dark cap, as extruded using the light provided.  More... | |
| virtual EdgeData * | getEdgeList (void)=0 | 
| Returns details of the edges which might be used to determine a silhouette.  More... | |
| virtual const AxisAlignedBox & | getLightCapBounds (void) const =0 | 
| Gets the world space bounding box of the light cap.  More... | |
| virtual Real | getPointExtrusionDistance (const Light *l) const =0 | 
| Get the distance to extrude for a point/spot light.  More... | |
| virtual const ShadowRenderableList & | getShadowVolumeRenderableList (const Light *light, const HardwareIndexBufferPtr &indexBuffer, size_t &indexBufferUsedSize, float extrusionDistance, int flags=0)=0 | 
| Gets an list of the renderables required to render the shadow volume.  More... | |
| virtual const AxisAlignedBox & | getWorldBoundingBox (bool derive=false) const =0 | 
| Get the world bounding box of the caster.  More... | |
| bool | hasEdgeList () | 
| Returns whether the object has a valid edge list.  More... | |
Static Public Member Functions | |
| static void | clearShadowRenderableList (ShadowRenderableList &shadowRenderables) | 
| Common implementation of releasing shadow renderables.  More... | |
| static void | extrudeVertices (const HardwareVertexBufferSharedPtr &vertexBuffer, size_t originalVertexCount, const Vector4 &lightPos, Real extrudeDist) | 
| Utility method for extruding vertices based on a light.  More... | |
This class defines the interface that must be implemented by shadow casters.
      
  | 
  inlinevirtual | 
      
  | 
  pure virtual | 
Returns whether or not this object currently casts a shadow.
Implemented in Ogre::MovableObject.
      
  | 
  pure virtual | 
Returns details of the edges which might be used to determine a silhouette.
Implemented in Ogre::StaticGeometry::Region, Ogre::MovableObject, Ogre::ManualObject, and Ogre::Entity.
      
  | 
  inline | 
Returns whether the object has a valid edge list.
      
  | 
  pure virtual | 
Get the world bounding box of the caster.
Implemented in Ogre::PortalBase, Ogre::MovableObject, and Ogre::Entity.
      
  | 
  pure virtual | 
Gets the world space bounding box of the light cap.
Implemented in Ogre::MovableObject.
      
  | 
  pure virtual | 
Gets the world space bounding box of the dark cap, as extruded using the light provided.
Implemented in Ogre::MovableObject.
      
  | 
  pure virtual | 
Gets an list of the renderables required to render the shadow volume.
| light | The light to generate the shadow from. | 
| indexBuffer | The index buffer to build the renderables into, the current contents are assumed to be disposable. | 
| indexBufferUsedSize | If the rest of buffer is enough than it would be locked with HBL_NO_OVERWRITE semantic and indexBufferUsedSize would be increased, otherwise HBL_DISCARD would be used and indexBufferUsedSize would be reset. | 
| extrusionDistance | The distance to extrude the shadow volume. | 
| flags | Technique-specific flags, see ShadowRenderableFlags. | 
Implemented in Ogre::StaticGeometry::Region, Ogre::Entity, Ogre::MovableObject, and Ogre::ManualObject.
      
  | 
  static | 
Common implementation of releasing shadow renderables.
      
  | 
  static | 
Utility method for extruding vertices based on a light.
| vertexBuffer | The vertex buffer containing ONLY xyz position values, which must be originalVertexCount * 2 * 3 floats long. | 
| originalVertexCount | The count of the original number of vertices, i.e. the number in the mesh, not counting the doubling which has already been done (by VertexData::prepareForShadowVolume) to provide the extruded area of the buffer. | 
| lightPos | 4D light position in object space, when w=0.0f this represents a directional light. | 
| extrudeDist | The distance to extrude. | 
Get the distance to extrude for a point/spot light.
Implemented in Ogre::MovableObject.