Show
Ignore:
Timestamp:
01/21/09 12:46:03 (5 years ago)
Author:
robert
Message:

Introduced the ability to switch between different visual properties in osgVolume

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • OpenSceneGraph/trunk/examples/osgvolume/osgvolume.cpp

    r9520 r9522  
    12751275         
    12761276        tile->setEventCallback(new osgVolume::PropertyAdjustmentCallback()); 
    1277          
     1277 
     1278#if 0         
    12781279        if (useShader) 
    12791280        { 
     
    13071308            tile->setVolumeTechnique(new osgVolume::FixedFunctionTechnique); 
    13081309        } 
    1309          
     1310#else 
     1311 
     1312        osgVolume::SwitchProperty* sp = new osgVolume::SwitchProperty; 
     1313        sp->setActiveProperty(0); 
     1314         
     1315        { 
     1316            // Standard 
     1317            osgVolume::CompositeProperty* cp = new osgVolume::CompositeProperty; 
     1318            cp->addProperty(new osgVolume::AlphaFuncProperty(alphaFunc)); 
     1319 
     1320            sp->addProperty(cp); 
     1321        } 
     1322 
     1323        { 
     1324            // Light 
     1325            osgVolume::CompositeProperty* cp = new osgVolume::CompositeProperty; 
     1326            cp->addProperty(new osgVolume::AlphaFuncProperty(alphaFunc)); 
     1327            cp->addProperty(new osgVolume::LightingProperty); 
     1328 
     1329            sp->addProperty(cp); 
     1330        } 
     1331 
     1332        { 
     1333            // Isosurface 
     1334            osgVolume::CompositeProperty* cp = new osgVolume::CompositeProperty; 
     1335            cp->addProperty(new osgVolume::IsoSurfaceProperty(alphaFunc)); 
     1336 
     1337            sp->addProperty(cp); 
     1338        } 
     1339 
     1340        { 
     1341            // MaximumIntensityProjection 
     1342            osgVolume::CompositeProperty* cp = new osgVolume::CompositeProperty; 
     1343            cp->addProperty(new osgVolume::AlphaFuncProperty(alphaFunc)); 
     1344            cp->addProperty(new osgVolume::MaximumIntensityProjectionProperty); 
     1345 
     1346            sp->addProperty(cp); 
     1347        } 
     1348         
     1349        layer->addProperty(sp); 
     1350        tile->setVolumeTechnique(new osgVolume::ShaderTechnique); 
     1351 
     1352#endif         
    13101353         
    13111354        rootNode = volume.get();