Show
Ignore:
Timestamp:
01/13/09 18:20:32 (5 years ago)
Author:
robert
Message:

Introduced class interfaces for FixedFunctionTechnique? and ShaderTechnique? volume rendering techniques.

Files:
1 modified

Legend:

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

    r9485 r9491  
    6464#include <osgVolume/Volume> 
    6565#include <osgVolume/VolumeTile> 
     66#include <osgVolume/ShaderTechnique> 
     67#include <osgVolume/FixedFunctionTechnique> 
    6668 
    6769typedef std::vector< osg::ref_ptr<osg::Image> > ImageList; 
     
    22922294        osg::ref_ptr<osgVolume::Volume> volume = new osgVolume::Volume; 
    22932295        osg::ref_ptr<osgVolume::VolumeTile> tile = new osgVolume::VolumeTile; 
     2296        volume->addChild(tile); 
     2297 
    22942298        osg::ref_ptr<osgVolume::Layer> layer = new osgVolume::ImageLayer(image_3d); 
     2299        layer->setTransferFunction(transferFunction.get()); 
     2300         
     2301        if (matrix) 
     2302        { 
     2303            osgVolume::Locator* locator = new osgVolume::Locator(*matrix); 
     2304            layer->setLocator(locator); 
     2305            tile->setLocator(locator); 
     2306        } 
     2307         
    22952308        tile->addLayer(layer.get()); 
    2296         volume->addChild(tile); 
     2309         
     2310        if (useShader) 
     2311        { 
     2312            tile->setVolumeTechnique(new osgVolume::ShaderTechnique); 
     2313        } 
     2314        else 
     2315        { 
     2316            tile->setVolumeTechnique(new osgVolume::FixedFunctionTechnique); 
     2317        } 
     2318         
    22972319         
    22982320        rootNode = volume.get();