Show
Ignore:
Timestamp:
03/01/10 12:52:44 (4 years ago)
Author:
robert
Message:

From Wojciech Lewandowski, "Here comes a list of small fixes in StandardShadowMap? and derived classes affecting LispSM techniques. Changes made against SVN trunk.

Fixes in StandardShadowMap?.cpp & MinimalShadowMap?.cpp were made for spotlight issues. There were cases when further located spotlights were not shadowing properly.

Small tweak in DebugShadowMap? & StandardShadowMap?.cpp to not limit shadow maps to texture2D (which should also allow texture2D arrays and cube maps). I simply replaced ptr to osg::Texture2D with pointer to osg::Texture. Interpretation of this member could be now changed with change of shaders in derived classes. This may be useful for guys who override LispSM or MinimalBoundsShadowMaps? techniques. Could be useful for implementation of PerspectiveCascadedShadowMaps? technique for example.

ConvexPolyhedron?.cpp & DebugShadowMap?.cpp contain debug HUD tweaks.

Change in ConvexPolyhedron?.cpp overcomes the regression problem with color per primitive binding which caused that shadow volume outlines stopped to draw. I simply changed PER_PRIMITIVE to PER_PRIMITIVE_SET and it works again.

Other adition is dump method I added to DebugShadowMap? which can be used in shadow debugging mode to dump current frame shadow volumes & scene to osg file. It could be then loaded into viewer and freely examined from different angles (which is difficult inside the application if shadow adopts to view and projection). "

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • OpenSceneGraph/trunk/src/osgShadow/ConvexPolyhedron.cpp

    r10764 r11136  
    17541754    osg::Vec4Array* colors = new osg::Vec4Array; 
    17551755    geometry->setColorArray(colors); 
    1756     geometry->setColorBinding(osg::Geometry::BIND_PER_PRIMITIVE); 
     1756    geometry->setColorBinding(osg::Geometry::BIND_PER_PRIMITIVE_SET); 
    17571757 
    17581758    for(Faces::const_iterator itr = _faces.begin();