Public Member Functions |
virtual void | init (ThisClass *st, osgUtil::CullVisitor *cv) |
virtual osg::BoundingBox | computeShadowReceivingCoarseBounds () |
virtual void | cullShadowReceivingScene () |
virtual void | aimShadowCastingCamera (const osg::BoundingSphere &bounds, const osg::Light *light, const osg::Vec4 &worldLightPos, const osg::Vec3 &worldLightDir, const osg::Vec3 &worldLightUp=osg::Vec3(0, 1, 0)) |
virtual void | aimShadowCastingCamera (const osg::Light *light, const osg::Vec4 &worldLightPos, const osg::Vec3 &worldLightDir, const osg::Vec3 &worldLightUp=osg::Vec3(0, 1, 0)) |
virtual void | frameShadowCastingCamera (const osg::Camera *cameraMain, osg::Camera *cameraShadow, int pass=1) |
void | cutScenePolytope (const osg::Matrix &matrix, const osg::Matrix &inverse, const osg::BoundingBox &bb=osg::BoundingBox(-1,-1,-1, 1, 1, 1)) |
osg::BoundingBox | computeScenePolytopeBounds (const osg::Matrix &m=*(osg::Matrix *)(NULL)) |
Static Public Member Functions |
static void | trimProjection (osg::Matrixd &projection, osg::BoundingBox subrange, unsigned int trimMask=(1|2|4|8|16|32)) |
static void | clampProjection (osg::Matrixd &projection, float n=0, float f=FLT_MAX) |
static void | extendProjection (osg::Matrixd &projection, osg::Viewport *viewport, const osg::Vec2 &margin) |
Public Attributes |
osg::Matrix * | _modellingSpaceToWorldPtr |
float * | _maxFarPlanePtr |
float * | _minLightMarginPtr |
int | _frameShadowCastingCameraPasses |
ConvexPolyhedron | _sceneReceivingShadowPolytope |
std::vector< osg::Vec3d > | _sceneReceivingShadowPolytopePoints |
osg::Matrixd | _clampedProjection |