forked from speed-dreams/speed-dreams-code
update SDRender
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@5475 30fe4595-0a0c-4342-8851-515496e4dcbd Former-commit-id: 4eaacf85417298ff7d7a2d1761546aa5bae9712d Former-commit-id: 637875b30256a9c1a6ab23ce7ebdf9555f9ad87e
This commit is contained in:
parent
d119767485
commit
d81af8b3db
1 changed files with 16 additions and 4 deletions
|
@ -37,7 +37,7 @@
|
||||||
#include <osgShadow/ParallelSplitShadowMap>
|
#include <osgShadow/ParallelSplitShadowMap>
|
||||||
#include <osgShadow/LightSpacePerspectiveShadowMap>
|
#include <osgShadow/LightSpacePerspectiveShadowMap>
|
||||||
#include <osgShadow/StandardShadowMap>
|
#include <osgShadow/StandardShadowMap>
|
||||||
#include <osgShadow/ViewDependentShadowMap>
|
//#include <osgShadow/ViewDependentShadowMap>
|
||||||
|
|
||||||
#include "OsgMain.h"
|
#include "OsgMain.h"
|
||||||
#include "OsgRender.h"
|
#include "OsgRender.h"
|
||||||
|
@ -453,15 +453,27 @@ void SDRender::ShadowedScene()
|
||||||
}
|
}
|
||||||
else if (SHADOW_TECHNIQUE == 2)
|
else if (SHADOW_TECHNIQUE == 2)
|
||||||
{
|
{
|
||||||
osg::ref_ptr<osgShadow::ViewDependentShadowMap> vdsm = new osgShadow::ViewDependentShadowMap;
|
osg::ref_ptr<osgShadow::SoftShadowMap> vdsm = new osgShadow::SoftShadowMap;
|
||||||
//vdsm->setLight(sunLight.get());
|
vdsm->setLight(sunLight.get());
|
||||||
//vdsm->setTextureSize(osg::Vec2s(4096, 4096));
|
vdsm->setTextureSize(osg::Vec2s(4096, 4096));
|
||||||
|
vdsm->setTextureUnit(1);
|
||||||
shadowRoot = new osgShadow::ShadowedScene;
|
shadowRoot = new osgShadow::ShadowedScene;
|
||||||
osgShadow::ShadowSettings* settings = shadowRoot->getShadowSettings();
|
osgShadow::ShadowSettings* settings = shadowRoot->getShadowSettings();
|
||||||
settings->setReceivesShadowTraversalMask(rcvShadowMask);
|
settings->setReceivesShadowTraversalMask(rcvShadowMask);
|
||||||
settings->setCastsShadowTraversalMask(castShadowMask);
|
settings->setCastsShadowTraversalMask(castShadowMask);
|
||||||
shadowRoot->setShadowTechnique((vdsm.get()));
|
shadowRoot->setShadowTechnique((vdsm.get()));
|
||||||
}
|
}
|
||||||
|
else if (SHADOW_TECHNIQUE == 3)
|
||||||
|
{
|
||||||
|
osg::ref_ptr<osgShadow::ShadowVolume> sv = new osgShadow::ShadowVolume;
|
||||||
|
sv->setDynamicShadowVolumes(TRUE);
|
||||||
|
sv->setDrawMode(osgShadow::ShadowVolumeGeometry::STENCIL_TWO_PASS);
|
||||||
|
shadowRoot = new osgShadow::ShadowedScene;
|
||||||
|
osgShadow::ShadowSettings* settings = shadowRoot->getShadowSettings();
|
||||||
|
settings->setReceivesShadowTraversalMask(rcvShadowMask);
|
||||||
|
settings->setCastsShadowTraversalMask(castShadowMask);
|
||||||
|
shadowRoot->setShadowTechnique((sv.get()));
|
||||||
|
}
|
||||||
|
|
||||||
shadowRoot->addChild(m_scene.get());
|
shadowRoot->addChild(m_scene.get());
|
||||||
shadowRoot->addChild(m_CarRoot.get());
|
shadowRoot->addChild(m_CarRoot.get());
|
||||||
|
|
Loading…
Reference in a new issue