Added a ShadowTechniue::setShadowedScene() virtual method to make it possible to implement techniques as fascades to other techniques

This commit is contained in:
Robert Osfield
2018-04-03 15:29:54 +01:00
parent e888e9621c
commit f9f475d76d
3 changed files with 10 additions and 3 deletions

View File

@@ -48,6 +48,11 @@ ShadowTechnique::~ShadowTechnique()
{
}
void ShadowTechnique::setShadowedScene(ShadowedScene* ss)
{
_shadowedScene = ss;
}
void ShadowTechnique::init()
{
OSG_NOTICE<<className()<<"::init() not implemented yet"<<std::endl;

View File

@@ -80,14 +80,14 @@ void ShadowedScene::setShadowTechnique(ShadowTechnique* technique)
if (_shadowTechnique.valid())
{
_shadowTechnique->cleanSceneGraph();
_shadowTechnique->_shadowedScene = 0;
_shadowTechnique->setShadowedScene(0);
}
_shadowTechnique = technique;
if (_shadowTechnique.valid())
{
_shadowTechnique->_shadowedScene = this;
_shadowTechnique->setShadowedScene(this);
_shadowTechnique->dirty();
}
}