Implemented ability to switch between different shaders with new MultipassTechnique

This commit is contained in:
Robert Osfield
2013-12-13 12:38:01 +00:00
parent 939aa38a2a
commit 5571c361dc
5 changed files with 318 additions and 91 deletions

View File

@@ -13,6 +13,7 @@
#include <osgVolume/Property>
#include <osgVolume/VolumeTile>
#include <osgVolume/RayTracedTechnique>
using namespace osgVolume;
@@ -401,8 +402,11 @@ bool PropertyAdjustmentCallback::handle(const osgGA::GUIEventAdapter& ea,osgGA::
property->accept(csv);
if (csv._switchModified)
{
tile->setDirty(true);
tile->init();
if (dynamic_cast<osgVolume::RayTracedTechnique*>(tile->getVolumeTechnique()))
{
tile->setDirty(true);
tile->init();
}
}
}
else if (ea.getKey()==_transparencyKey) _updateTransparency = passOnUpdates = true;