From Wojcoech Lewandowski, "Attched are aimShadowCastingCamera() call changes, I have described in former post. Basically now MinimalShadowMap overrides first variant and keeps second. So both variants of aimShadowCastingCamera are clearly defined in MinimalShadowMap::ViewData scope. This way compilers have no problem and code looks less obscure. Changes made against the trunk."

This commit is contained in:
Robert Osfield 2010-03-05 16:17:12 +00:00
parent 8743e5d925
commit c765a35650
2 changed files with 19 additions and 2 deletions

View File

@ -114,6 +114,13 @@ class OSGSHADOW_EXPORT MinimalShadowMap : public StandardShadowMap
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,

View File

@ -114,6 +114,17 @@ osg::BoundingBox MinimalShadowMap::ViewData::computeShadowReceivingCoarseBounds(
return osg::BoundingBox();
}
void MinimalShadowMap::ViewData::aimShadowCastingCamera(
const osg::BoundingSphere &bs,
const osg::Light *light,
const osg::Vec4 &lightPos,
const osg::Vec3 &lightDir,
const osg::Vec3 &lightUpVector
/* by default = osg::Vec3( 0, 1 0 )*/ )
{
BaseClass::ViewData::aimShadowCastingCamera( bs, light, lightPos, lightDir, lightUpVector );
}
void MinimalShadowMap::ViewData::aimShadowCastingCamera
( const osg::Light *light, const osg::Vec4 &lightPos,
const osg::Vec3 &lightDir, const osg::Vec3 &lightUp )
@ -148,8 +159,7 @@ void MinimalShadowMap::ViewData::aimShadowCastingCamera
#endif
}
BaseClass::ViewData::aimShadowCastingCamera
( bb, light, lightPos, lightDir, up );
aimShadowCastingCamera( osg::BoundingSphere( bb ), light, lightPos, lightDir, up );
// Intersect scene Receiving Shadow Polytope with shadow camera frustum
// Important for cases where Scene extend beyond shadow camera frustum