Added VolumeTechnique to Volume

This commit is contained in:
Robert Osfield
2009-01-14 20:38:12 +00:00
parent 1a00a2ce3c
commit 778f4e321d
3 changed files with 14 additions and 2 deletions

View File

@@ -42,6 +42,16 @@ class OSGVOLUME_EXPORT Volume : public osg::Group
/** Get the const VolumeTile for a given VolumeTileID.*/
const VolumeTile* getVolumeTile(const TileID& tileID) const;
/** Set the VolumeTechnique*/
void setVolumeTechnique(VolumeTechnique* VolumeTechnique);
/** Get the VolumeTechnique*/
VolumeTechnique* getVolumeTechnique() { return _volumeTechnique.get(); }
/** Get the const VolumeTechnique*/
const VolumeTechnique* getVolumeTechnique() const { return _volumeTechnique.get(); }
protected:
virtual ~Volume();
@@ -60,6 +70,7 @@ class OSGVOLUME_EXPORT Volume : public osg::Group
VolumeTileSet _volumeTileSet;
VolumeTileMap _volumeTileMap;
osg::ref_ptr<VolumeTechnique> _volumeTechnique;
};
}

View File

@@ -117,7 +117,7 @@ class OSGVOLUME_EXPORT VolumeTile : public osg::Group
void setLayer(Layer* layer) { _layer = layer; }
Layer* getLayer() { return _layer.get(); }
const Layer* getImage() const { return _layer.get(); }
const Layer* getLayer() const { return _layer.get(); }
/** Set the VolumeTechnique*/

View File

@@ -87,6 +87,7 @@ void ShaderTechnique::init()
float ySize = (matrix)(1,1);
float zSize = (matrix)(2,2);
if (true)
{
osg::Texture::FilterMode minFilter = osg::Texture::LINEAR;
osg::Texture::FilterMode magFilter = osg::Texture::LINEAR;
@@ -411,7 +412,7 @@ void ShaderTechnique::update(osgUtil::UpdateVisitor* uv)
void ShaderTechnique::cull(osgUtil::CullVisitor* cv)
{
// osg::notify(osg::NOTICE)<<"ShaderTechnique::cull(osgUtil::CullVisitor* nv)"<<std::endl;
//osg::notify(osg::NOTICE)<<"ShaderTechnique::cull(osgUtil::CullVisitor* nv)"<<std::endl;
if (_geode.valid())
{
_geode->accept(*cv);