Inheritance diagram for osgFX::Technique:
Public Member Functions | |
Technique () | |
virtual const char * | techniqueName () |
virtual const char * | techniqueDescription () |
virtual void | getRequiredExtensions (std::vector< std::string > &) const |
virtual bool | validate (osg::State &) const |
int | getNumPasses () const |
osg::StateSet * | getPassStateSet (int i) |
const osg::StateSet * | getPassStateSet (int i) const |
virtual void | traverse (osg::NodeVisitor &nv, Effect *fx) |
Protected Member Functions | |
Technique (const Technique &) | |
virtual | ~Technique () |
Technique & | operator= (const Technique &) |
void | dirtyPasses () |
void | addPass (osg::StateSet *ss=0) |
virtual osg::Node * | getOverrideChild (int) |
virtual void | define_passes ()=0 |
void | traverse_implementation (osg::NodeVisitor &nv, Effect *fx) |
osgFX::Technique::Technique | ( | ) |
osgFX::Technique::Technique | ( | const Technique & | ) | [inline, protected] |
virtual osgFX::Technique::~Technique | ( | ) | [inline, protected, virtual] |
void osgFX::Technique::addPass | ( | osg::StateSet * | ss = 0 |
) | [protected] |
create a new pass node, add it to the technique and associate a StateSet
virtual void osgFX::Technique::define_passes | ( | ) | [protected, pure virtual] |
define the rendering passes that make up this technique. You must implement this method in derived classes to add the required passes.
void osgFX::Technique::dirtyPasses | ( | ) | [inline, protected] |
force rebuilding of pass nodes on next traversal
int osgFX::Technique::getNumPasses | ( | ) | const [inline] |
get the number of rendering passes defined in this Technique
virtual osg::Node* osgFX::Technique::getOverrideChild | ( | int | ) | [inline, protected, virtual] |
optional: return a node that overrides the child node on a specified pass
const osg::StateSet * osgFX::Technique::getPassStateSet | ( | int | i | ) | const [inline] |
get the const StateSet object associated to the i-th pass
osg::StateSet * osgFX::Technique::getPassStateSet | ( | int | i | ) | [inline] |
get the StateSet object associated to the i-th pass
virtual void osgFX::Technique::getRequiredExtensions | ( | std::vector< std::string > & | ) | const [inline, virtual] |
collect the GL extension strings which are required for this technique to work properly. This method is called from the default implementation of validate().
virtual const char* osgFX::Technique::techniqueDescription | ( | ) | [inline, virtual] |
get a brief description of this Technique
virtual const char* osgFX::Technique::techniqueName | ( | ) | [inline, virtual] |
get the name of this Technique
void osgFX::Technique::traverse | ( | osg::NodeVisitor & | nv, | |
Effect * | fx | |||
) | [inline, virtual] |
traverse children with multipass if necessary. By default this method simply calls the protected method traverse_implementation(); you can override it to change the default behavior. Don't call this method directly as it is called by osgFX::Effect
void osgFX::Technique::traverse_implementation | ( | osg::NodeVisitor & | nv, | |
Effect * | fx | |||
) | [protected] |
traverse children with multipass if necessary. Don't call this method directly unless you are in a customized version of traverse().
virtual bool osgFX::Technique::validate | ( | osg::State & | ) | const [virtual] |
tests whether this technique is valid for the current rendering context. The default behavior is to call getRequiredExtensions() and check for extension availability.