Changeset 13110
- Timestamp:
- 05/20/13 21:24:34 (13 hours ago)
- Location:
- OpenSceneGraph/trunk
- Files:
-
- 4 modified
-
examples/osgshadow/osgshadow.cpp (modified) (2 diffs)
-
include/osgShadow/ShadowSettings (modified) (2 diffs)
-
src/osgShadow/ShadowSettings.cpp (modified) (3 diffs)
-
src/osgShadow/ViewDependentShadowMap.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
OpenSceneGraph/trunk/examples/osgshadow/osgshadow.cpp
r13108 r13110 743 743 arguments.getApplicationUsage()->addCommandLineOption("--two-pass", "Use two-pass stencil for shadow volumes."); 744 744 arguments.getApplicationUsage()->addCommandLineOption("--near-far-mode","COMPUTE_NEAR_USING_PRIMITIVES, COMPUTE_NEAR_FAR_USING_PRIMITIVES, COMPUTE_NEAR_FAR_USING_BOUNDING_VOLUMES, DO_NOT_COMPUTE_NEAR_FAR"); 745 arguments.getApplicationUsage()->addCommandLineOption("--max-shadow-distance","<float> Maximum distance that the shadow map should extend from the eye point."); 745 746 746 747 // construct the viewer. … … 860 861 OSG_NOTICE<<std::endl; 861 862 } 863 864 double distance; 865 if (arguments.read("--max-shadow-distance",distance)) 866 { 867 settings->setMaximumShadowMapDistance(distance); 868 OSG_NOTICE<<"MaximumShadowMapDistance set to "<<settings->getMaximumShadowMapDistance()<<std::endl; 869 } 870 862 871 863 872 osg::ref_ptr<osgShadow::MinimalShadowMap> msm = NULL; -
OpenSceneGraph/trunk/include/osgShadow/ShadowSettings
r13108 r13110 66 66 double getMinimumShadowMapNearFarRatio() const { return _minimumShadowMapNearFarRatio; } 67 67 68 void setMaximumShadowMapDistance(double distance) { _maximumShadowMapDistance = distance; } 69 double getMaximumShadowMapDistance() const { return _maximumShadowMapDistance; } 70 71 68 72 enum ShadowMapProjectionHint 69 73 { … … 127 131 128 132 double _minimumShadowMapNearFarRatio; 133 double _maximumShadowMapDistance; 129 134 ShadowMapProjectionHint _shadowMapProjectionHint; 130 135 double _perspectiveShadowMapCutOffAngle; -
OpenSceneGraph/trunk/src/osgShadow/ShadowSettings.cpp
r13108 r13110 13 13 14 14 #include <osgShadow/ShadowSettings> 15 #include <float.h> 15 16 16 17 using namespace osgShadow; … … 25 26 _textureSize(2048,2048), 26 27 _minimumShadowMapNearFarRatio(0.05), 28 _maximumShadowMapDistance(DBL_MAX), 27 29 _shadowMapProjectionHint(PERSPECTIVE_SHADOW_MAP), 28 30 _perspectiveShadowMapCutOffAngle(2.0), … … 47 49 _textureSize(ss._textureSize), 48 50 _minimumShadowMapNearFarRatio(ss._minimumShadowMapNearFarRatio), 51 _maximumShadowMapDistance(ss._maximumShadowMapDistance), 49 52 _shadowMapProjectionHint(ss._shadowMapProjectionHint), 50 53 _perspectiveShadowMapCutOffAngle(ss._perspectiveShadowMapCutOffAngle), -
OpenSceneGraph/trunk/src/osgShadow/ViewDependentShadowMap.cpp
r13109 r13110 800 800 } 801 801 802 //minZNear = osg::maximum(10.0,minZNear); 803 //maxZFar = osg::minimum(60.0,maxZFar); 804 802 // clamp the minZNear and maxZFar to those provided by ShadowSettings 803 maxZFar = osg::minimum(settings->getMaximumShadowMapDistance(),maxZFar); 804 if (minZNear>maxZFar) minZNear = maxZFar*settings->getMinimumShadowMapNearFarRatio(); 805 806 //OSG_NOTICE<<"maxZFar "<<maxZFar<<std::endl; 807 805 808 Frustum frustum(&cv, minZNear, maxZFar); 806 809
