osg::StateSet Class Reference

Inheritance diagram for osg::StateSet:

osg::Object osg::Referenced List of all members.

Public Types

typedef std::vector< Object * > ParentList
typedef std::map< StateAttribute::GLMode,
StateAttribute::GLModeValue
ModeList
typedef std::pair< ref_ptr<
StateAttribute >, StateAttribute::OverrideValue
RefAttributePair
typedef std::map< StateAttribute::TypeMemberPair,
RefAttributePair
AttributeList
typedef std::vector< ModeListTextureModeList
typedef std::vector< AttributeListTextureAttributeList
typedef std::pair< ref_ptr<
Uniform >, StateAttribute::OverrideValue
RefUniformPair
typedef std::map< std::string,
RefUniformPair
UniformList
 DEFAULT_BIN = 0
 OPAQUE_BIN = 1
 TRANSPARENT_BIN = 2
 INHERIT_RENDERBIN_DETAILS
 USE_RENDERBIN_DETAILS
 OVERRIDE_RENDERBIN_DETAILS
enum  RenderingHint { DEFAULT_BIN = 0, OPAQUE_BIN = 1, TRANSPARENT_BIN = 2 }
enum  RenderBinMode { INHERIT_RENDERBIN_DETAILS, USE_RENDERBIN_DETAILS, OVERRIDE_RENDERBIN_DETAILS }

Public Member Functions

 StateSet ()
 StateSet (const StateSet &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual ObjectcloneType () const
virtual Objectclone (const CopyOp &copyop) const
virtual bool isSameKindAs (const Object *obj) const
virtual const char * libraryName () const
virtual const char * className () const
int compare (const StateSet &rhs, bool compareAttributeContents=false) const
bool operator< (const StateSet &rhs) const
bool operator== (const StateSet &rhs) const
bool operator!= (const StateSet &rhs) const
const ParentListgetParents () const
ParentList getParents ()
ObjectgetParent (unsigned int i)
const ObjectgetParent (unsigned int i) const
unsigned int getNumParents () const
void setGlobalDefaults ()
void clear ()
void merge (const StateSet &rhs)
void setMode (StateAttribute::GLMode mode, StateAttribute::GLModeValue value)
void removeMode (StateAttribute::GLMode mode)
StateAttribute::GLModeValue getMode (StateAttribute::GLMode mode) const
void setModeList (ModeList &ml)
ModeListgetModeList ()
const ModeListgetModeList () const
void setAttribute (StateAttribute *attribute, StateAttribute::OverrideValue value=StateAttribute::OFF)
void setAttributeAndModes (StateAttribute *attribute, StateAttribute::GLModeValue value=StateAttribute::ON)
void removeAttribute (StateAttribute::Type type, unsigned int member=0)
void removeAttribute (StateAttribute *attribute)
StateAttributegetAttribute (StateAttribute::Type type, unsigned int member=0)
const StateAttributegetAttribute (StateAttribute::Type type, unsigned int member=0) const
const RefAttributePairgetAttributePair (StateAttribute::Type type, unsigned int member=0) const
void setAttributeList (AttributeList &al)
AttributeListgetAttributeList ()
const AttributeListgetAttributeList () const
void setTextureMode (unsigned int unit, StateAttribute::GLMode mode, StateAttribute::GLModeValue value)
void removeTextureMode (unsigned int unit, StateAttribute::GLMode mode)
StateAttribute::GLModeValue getTextureMode (unsigned int unit, StateAttribute::GLMode mode) const
void setTextureModeList (TextureModeList &tml)
TextureModeListgetTextureModeList ()
const TextureModeListgetTextureModeList () const
void setTextureAttribute (unsigned int unit, StateAttribute *attribute, StateAttribute::OverrideValue value=StateAttribute::OFF)
void setTextureAttributeAndModes (unsigned int unit, StateAttribute *attribute, StateAttribute::GLModeValue value=StateAttribute::ON)
void removeTextureAttribute (unsigned int unit, StateAttribute::Type type)
void removeTextureAttribute (unsigned int unit, StateAttribute *attribute)
StateAttributegetTextureAttribute (unsigned int unit, StateAttribute::Type type)
const StateAttributegetTextureAttribute (unsigned int unit, StateAttribute::Type type) const
const RefAttributePairgetTextureAttributePair (unsigned int unit, StateAttribute::Type type) const
void setTextureAttributeList (TextureAttributeList &tal)
TextureAttributeListgetTextureAttributeList ()
const TextureAttributeListgetTextureAttributeList () const
void setAssociatedModes (const StateAttribute *attribute, StateAttribute::GLModeValue value)
void setAssociatedTextureModes (unsigned int unit, const StateAttribute *attribute, StateAttribute::GLModeValue value)
void addUniform (Uniform *uniform, StateAttribute::OverrideValue value=StateAttribute::ON)
void removeUniform (const std::string &name)
void removeUniform (Uniform *uniform)
UniformgetUniform (const std::string &name)
UniformgetOrCreateUniform (const std::string &name, Uniform::Type type, unsigned int numElements=1)
const UniformgetUniform (const std::string &name) const
const RefUniformPairgetUniformPair (const std::string &name) const
void setUniformList (UniformList &al)
UniformListgetUniformList ()
const UniformListgetUniformList () const
void setRenderingHint (int hint)
int getRenderingHint () const
void setRenderBinDetails (int binNum, const std::string &binName, RenderBinMode mode=USE_RENDERBIN_DETAILS)
void setRenderBinToInherit ()
bool useRenderBinDetails () const
void setRenderBinMode (RenderBinMode mode)
RenderBinMode getRenderBinMode () const
void setBinNumber (int num)
int getBinNumber () const
void setBinName (const std::string &name)
const std::string & getBinName () const
void setUpdateCallback (Callback *ac)
CallbackgetUpdateCallback ()
const CallbackgetUpdateCallback () const
bool requiresUpdateTraversal () const
unsigned int getNumChildrenRequiringUpdateTraversal () const
void runUpdateCallbacks (osg::NodeVisitor *nv)
void setEventCallback (Callback *ac)
CallbackgetEventCallback ()
const CallbackgetEventCallback () const
bool requiresEventTraversal () const
unsigned int getNumChildrenRequiringEventTraversal () const
void runEventCallbacks (osg::NodeVisitor *nv)
bool checkValidityOfAssociatedModes (State &state) const
void compileGLObjects (State &state) const
virtual void releaseGLObjects (State *state=0) const

Protected Member Functions

virtual ~StateSet ()
StateSetoperator= (const StateSet &)
void addParent (osg::Object *object)
void removeParent (osg::Object *object)
ModeListgetOrCreateTextureModeList (unsigned int unit)
AttributeListgetOrCreateTextureAttributeList (unsigned int unit)
int compareModes (const ModeList &lhs, const ModeList &rhs)
int compareAttributePtrs (const AttributeList &lhs, const AttributeList &rhs)
int compareAttributeContents (const AttributeList &lhs, const AttributeList &rhs)
void setMode (ModeList &modeList, StateAttribute::GLMode mode, StateAttribute::GLModeValue value)
void setModeToInherit (ModeList &modeList, StateAttribute::GLMode mode)
StateAttribute::GLModeValue getMode (const ModeList &modeList, StateAttribute::GLMode mode) const
void setAttribute (AttributeList &attributeList, StateAttribute *attribute, const StateAttribute::OverrideValue value=StateAttribute::OFF)
StateAttributegetAttribute (AttributeList &attributeList, const StateAttribute::Type type, unsigned int member)
const StateAttributegetAttribute (const AttributeList &attributeList, const StateAttribute::Type type, unsigned int member) const
const RefAttributePairgetAttributePair (const AttributeList &attributeList, const StateAttribute::Type type, unsigned int member) const
void setNumChildrenRequiringUpdateTraversal (unsigned int num)
void setNumChildrenRequiringEventTraversal (unsigned int num)

Protected Attributes

ParentList _parents
ModeList _modeList
AttributeList _attributeList
TextureModeList _textureModeList
TextureAttributeList _textureAttributeList
UniformList _uniformList
int _renderingHint
RenderBinMode _binMode
int _binNum
std::string _binName
ref_ptr< Callback_updateCallback
unsigned int _numChildrenRequiringUpdateTraversal
ref_ptr< Callback_eventCallback
unsigned int _numChildrenRequiringEventTraversal

Friends

class osg::Node
class osg::Drawable
class osg::Uniform
class osg::StateAttribute

Classes

struct  Callback

Detailed Description

Stores a set of modes and attributes which respresent a set of OpenGL state. Notice that a StateSet contains just a subset of the whole OpenGL state.

In OSG, each Drawable and each Node has a reference to a StateSet. These StateSets can be shared between different Drawables and Nodes (that is, several Drawables and Nodes can reference the same StateSet). Indeed, this practice is recommended whenever possible, as this minimizes expensive state changes in the graphics pipeline.


Member Typedef Documentation

typedef std::map<StateAttribute::TypeMemberPair,RefAttributePair> osg::StateSet::AttributeList

a container to map <StateAttribyte::Types,Member> to their respective RefAttributePair.

typedef std::map<StateAttribute::GLMode,StateAttribute::GLModeValue> osg::StateSet::ModeList

a container to map GLModes to their respective GLModeValues.

typedef std::vector<Object*> osg::StateSet::ParentList

A vector of osg::Object pointers which is used to store the parent(s) of this Stateset, the parents could be osg::Node or osg::Drawable.

typedef std::pair<ref_ptr<StateAttribute>,StateAttribute::OverrideValue> osg::StateSet::RefAttributePair

Simple pairing between an attribute and its override flag.

typedef std::pair<ref_ptr<Uniform>,StateAttribute::OverrideValue> osg::StateSet::RefUniformPair

Simple pairing between a Uniform and its override flag.

typedef std::vector<AttributeList> osg::StateSet::TextureAttributeList

typedef std::vector<ModeList> osg::StateSet::TextureModeList

typedef std::map<std::string,RefUniformPair> osg::StateSet::UniformList

a container to map Uniform name to its respective RefUniformPair.


Member Enumeration Documentation

enum osg::StateSet::RenderBinMode

Enumerator:
INHERIT_RENDERBIN_DETAILS 
USE_RENDERBIN_DETAILS 
OVERRIDE_RENDERBIN_DETAILS 

enum osg::StateSet::RenderingHint

Enumerator:
DEFAULT_BIN 
OPAQUE_BIN 
TRANSPARENT_BIN 


Constructor & Destructor Documentation

osg::StateSet::StateSet (  ) 

osg::StateSet::StateSet ( const StateSet ,
const CopyOp copyop = CopyOp::SHALLOW_COPY 
)

virtual osg::StateSet::~StateSet (  )  [protected, virtual]


Member Function Documentation

void osg::StateSet::addParent ( osg::Object object  )  [protected]

void osg::StateSet::addUniform ( Uniform uniform,
StateAttribute::OverrideValue  value = StateAttribute::ON 
)

Set this StateSet to contain specified uniform and override flag.

bool osg::StateSet::checkValidityOfAssociatedModes ( State state  )  const

Check the modes associated with this StateSet are supported by current OpenGL drivers, and if not set the associated mode in osg::State to be black listed/invalid. Return true if all associated modes are valid.

virtual const char* osg::StateSet::className (  )  const [inline, virtual]

return the name of the object's class type. Must be defined by derived classes.

Implements osg::Object.

void osg::StateSet::clear (  ) 

Clear the StateSet of all modes and attributes.

virtual Object* osg::StateSet::clone ( const CopyOp copyop  )  const [inline, virtual]

Clone an object, with Object* return type. Must be defined by derived classes.

Implements osg::Object.

virtual Object* osg::StateSet::cloneType (  )  const [inline, virtual]

Clone the type of an object, with Object* return type. Must be defined by derived classes.

Implements osg::Object.

int osg::StateSet::compare ( const StateSet rhs,
bool  compareAttributeContents = false 
) const

return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.

int osg::StateSet::compareAttributeContents ( const AttributeList lhs,
const AttributeList rhs 
) [protected]

int osg::StateSet::compareAttributePtrs ( const AttributeList lhs,
const AttributeList rhs 
) [protected]

int osg::StateSet::compareModes ( const ModeList lhs,
const ModeList rhs 
) [protected]

void osg::StateSet::compileGLObjects ( State state  )  const

call compile on all StateAttributes contained within this StateSet.

const StateAttribute* osg::StateSet::getAttribute ( const AttributeList attributeList,
const StateAttribute::Type  type,
unsigned int  member 
) const [protected]

StateAttribute* osg::StateSet::getAttribute ( AttributeList attributeList,
const StateAttribute::Type  type,
unsigned int  member 
) [protected]

const StateAttribute* osg::StateSet::getAttribute ( StateAttribute::Type  type,
unsigned int  member = 0 
) const

Get specified const StateAttribute for specified type. Returns NULL if no type is contained within const StateSet.

StateAttribute* osg::StateSet::getAttribute ( StateAttribute::Type  type,
unsigned int  member = 0 
)

Get specified StateAttribute for specified type. Returns NULL if no type is contained within StateSet.

const AttributeList& osg::StateSet::getAttributeList (  )  const [inline]

return the const list of all StateAttributes contained in this const StateSet.

AttributeList& osg::StateSet::getAttributeList (  )  [inline]

return the list of all StateAttributes contained in this StateSet.

const RefAttributePair* osg::StateSet::getAttributePair ( const AttributeList attributeList,
const StateAttribute::Type  type,
unsigned int  member 
) const [protected]

const RefAttributePair* osg::StateSet::getAttributePair ( StateAttribute::Type  type,
unsigned int  member = 0 
) const

Get specified RefAttributePair for specified type. Returns NULL if no type is contained within StateSet.

const std::string& osg::StateSet::getBinName (  )  const [inline]

Get the render bin name.

int osg::StateSet::getBinNumber (  )  const [inline]

Get the render bin number.

const Callback* osg::StateSet::getEventCallback (  )  const [inline]

Get the const Event Callback.

Callback* osg::StateSet::getEventCallback (  )  [inline]

Get the non const Event Callback.

StateAttribute::GLModeValue osg::StateSet::getMode ( const ModeList modeList,
StateAttribute::GLMode  mode 
) const [protected]

StateAttribute::GLModeValue osg::StateSet::getMode ( StateAttribute::GLMode  mode  )  const

Get the value for a given GLMode.

Parameters:
mode The GLMode whose value is desired.
Returns:
If mode is contained within this StateSet, returns the value associated with it. Otherwise, returns StateAttribute::INHERIT.
Note:
Don't use this method to get the value of modes related to textures. For this purpose, use removeTextureMode(), that accepts an extra parameter specifying which texture unit shall be affected by the call.

const ModeList& osg::StateSet::getModeList (  )  const [inline]

Return the const list of all GLModes contained in this const StateSet.

ModeList& osg::StateSet::getModeList (  )  [inline]

Return the list of all GLModes contained in this StateSet.

unsigned int osg::StateSet::getNumChildrenRequiringEventTraversal (  )  const [inline]

Get the number of Objects of this StateSet which require Event traversal, since they have an Eevnt Callback attached to them or their children.

unsigned int osg::StateSet::getNumChildrenRequiringUpdateTraversal (  )  const [inline]

Get the number of Objects of this StateSet which require Update traversal, since they have an Update Callback attached to them or their children.

unsigned int osg::StateSet::getNumParents (  )  const [inline]

Get the number of parents of this StateSet.

Returns:
the number of parents of this StateSet.

AttributeList& osg::StateSet::getOrCreateTextureAttributeList ( unsigned int  unit  )  [inline, protected]

ModeList& osg::StateSet::getOrCreateTextureModeList ( unsigned int  unit  )  [inline, protected]

Uniform* osg::StateSet::getOrCreateUniform ( const std::string &  name,
Uniform::Type  type,
unsigned int  numElements = 1 
)

Get Uniform for specified name, if one is not available create it, add it to this StateSet and return a pointer to it.

const Object* osg::StateSet::getParent ( unsigned int  i  )  const [inline]

Get a single const parent of this StateSet.

Parameters:
i index of the parent to get.
Returns:
the parent i.

Object* osg::StateSet::getParent ( unsigned int  i  )  [inline]

ParentList osg::StateSet::getParents (  )  [inline]

Get the a copy of parent list of node. A copy is returned to prevent modification of the parent list.

const ParentList& osg::StateSet::getParents (  )  const [inline]

Get the parent list of this StateSet.

RenderBinMode osg::StateSet::getRenderBinMode (  )  const [inline]

Get the render bin mode.

int osg::StateSet::getRenderingHint (  )  const [inline]

Get the RenderingHint of this StateSet.

const StateAttribute* osg::StateSet::getTextureAttribute ( unsigned int  unit,
StateAttribute::Type  type 
) const

Get specified Texture related const StateAttribute for specified type. Returns NULL if no type is contained within const StateSet.

StateAttribute* osg::StateSet::getTextureAttribute ( unsigned int  unit,
StateAttribute::Type  type 
)

Get specified Texture related StateAttribute for specified type. Returns NULL if no type is contained within StateSet.

const TextureAttributeList& osg::StateSet::getTextureAttributeList (  )  const [inline]

Return the const list of all Texture related StateAttributes contained in this const StateSet.

TextureAttributeList& osg::StateSet::getTextureAttributeList (  )  [inline]

Return the list of all Texture related StateAttributes contained in this StateSet.

const RefAttributePair* osg::StateSet::getTextureAttributePair ( unsigned int  unit,
StateAttribute::Type  type 
) const

Get specified Texture related RefAttributePair for specified type. Returns NULL if no type is contained within StateSet.

StateAttribute::GLModeValue osg::StateSet::getTextureMode ( unsigned int  unit,
StateAttribute::GLMode  mode 
) const

Get specified GLModeValue for specified GLMode. returns INHERIT if no GLModeValue is contained within StateSet.

const TextureModeList& osg::StateSet::getTextureModeList (  )  const [inline]

return the const list of all Texture related GLModes contained in this const StateSet.

TextureModeList& osg::StateSet::getTextureModeList (  )  [inline]

return the list of all Texture related GLModes contained in this StateSet.

const Uniform* osg::StateSet::getUniform ( const std::string &  name  )  const

Get const Uniform for specified name. Returns NULL if no matching Uniform is contained within StateSet.

Uniform* osg::StateSet::getUniform ( const std::string &  name  ) 

Get Uniform for specified name. Returns NULL if no matching Uniform is contained within StateSet.

const UniformList& osg::StateSet::getUniformList (  )  const [inline]

return the const list of all Uniforms contained in this const StateSet.

UniformList& osg::StateSet::getUniformList (  )  [inline]

return the list of all Uniforms contained in this StateSet.

const RefUniformPair* osg::StateSet::getUniformPair ( const std::string &  name  )  const

Get specified RefUniformPair for specified Uniform name. Returns NULL if no Uniform is contained within StateSet.

const Callback* osg::StateSet::getUpdateCallback (  )  const [inline]

Get the const Update Callback.

Callback* osg::StateSet::getUpdateCallback (  )  [inline]

Get the non const Update Callback.

virtual bool osg::StateSet::isSameKindAs ( const Object obj  )  const [inline, virtual]

Reimplemented from osg::Object.

virtual const char* osg::StateSet::libraryName (  )  const [inline, virtual]

return the name of the object's library. Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name.

Implements osg::Object.

void osg::StateSet::merge ( const StateSet rhs  ) 

Merge this StateSet with the StateSet passed as parameter. Every mode and attribute in this StateSet that is marked with StateAttribute::OVERRIDE is replaced with the equivalent mode or attribute from rhs.

bool osg::StateSet::operator!= ( const StateSet rhs  )  const [inline]

bool osg::StateSet::operator< ( const StateSet rhs  )  const [inline]

StateSet& osg::StateSet::operator= ( const StateSet  )  [inline, protected]

bool osg::StateSet::operator== ( const StateSet rhs  )  const [inline]

virtual void osg::StateSet::releaseGLObjects ( State state = 0  )  const [virtual]

call release on all StateAttributes contained within this StateSet.

Reimplemented from osg::Object.

void osg::StateSet::removeAttribute ( StateAttribute attribute  ) 

remove attribute from StateSet.

void osg::StateSet::removeAttribute ( StateAttribute::Type  type,
unsigned int  member = 0 
)

remove attribute of specified type from StateSet.

void osg::StateSet::removeMode ( StateAttribute::GLMode  mode  ) 

Remove mode from this StateSet.

Note:
Don't use this method to remove modes related to textures. For this purpose, use removeTextureMode(), that accepts an extra parameter specifying which texture unit shall be affected by the call.

void osg::StateSet::removeParent ( osg::Object object  )  [protected]

void osg::StateSet::removeTextureAttribute ( unsigned int  unit,
StateAttribute attribute 
)

remove texture attribute from StateSet.

void osg::StateSet::removeTextureAttribute ( unsigned int  unit,
StateAttribute::Type  type 
)

remove texture attribute of specified type from StateSet.

void osg::StateSet::removeTextureMode ( unsigned int  unit,
StateAttribute::GLMode  mode 
)

Remove texture mode from StateSet.

void osg::StateSet::removeUniform ( Uniform uniform  ) 

remove Uniform from StateSet.

void osg::StateSet::removeUniform ( const std::string &  name  ) 

remove uniform of specified name from StateSet.

bool osg::StateSet::requiresEventTraversal (  )  const [inline]

Return whether this StateSet has event callbacks associated with it, and therefore must be traversed.

bool osg::StateSet::requiresUpdateTraversal (  )  const [inline]

Return whether this StateSet has update callbacks associated with it, and therefore must be traversed.

void osg::StateSet::runEventCallbacks ( osg::NodeVisitor nv  ) 

Run the event callbacks attached directly to this StateSet or to its children.

void osg::StateSet::runUpdateCallbacks ( osg::NodeVisitor nv  ) 

Run the update callbacks attached directly to this StateSet or to its children.

void osg::StateSet::setAssociatedModes ( const StateAttribute attribute,
StateAttribute::GLModeValue  value 
)

void osg::StateSet::setAssociatedTextureModes ( unsigned int  unit,
const StateAttribute attribute,
StateAttribute::GLModeValue  value 
)

void osg::StateSet::setAttribute ( AttributeList attributeList,
StateAttribute attribute,
const StateAttribute::OverrideValue  value = StateAttribute::OFF 
) [protected]

void osg::StateSet::setAttribute ( StateAttribute attribute,
StateAttribute::OverrideValue  value = StateAttribute::OFF 
)

Set this StateSet to contain specified attribute and override flag.

void osg::StateSet::setAttributeAndModes ( StateAttribute attribute,
StateAttribute::GLModeValue  value = StateAttribute::ON 
)

Set this StateSet to contain specified attribute and set the associated GLMode's to specified value.

void osg::StateSet::setAttributeList ( AttributeList al  )  [inline]

set the list of all StateAttributes contained in this StateSet.

void osg::StateSet::setBinName ( const std::string &  name  )  [inline]

Set the render bin name.

void osg::StateSet::setBinNumber ( int  num  )  [inline]

Set the render bin number.

void osg::StateSet::setEventCallback ( Callback ac  ) 

Set the Event Callback which allows users to attach customize the updating of an object during the event traversal.

void osg::StateSet::setGlobalDefaults (  ) 

Set all the modes to on or off so that it defines a complete state, typically used for a default global state.

void osg::StateSet::setMode ( ModeList modeList,
StateAttribute::GLMode  mode,
StateAttribute::GLModeValue  value 
) [protected]

void osg::StateSet::setMode ( StateAttribute::GLMode  mode,
StateAttribute::GLModeValue  value 
)

Set this StateSet to contain the specified GLMode with a given value.

Note:
Don't use this method to set modes related to textures. For this purpose, use setTextureMode(), that accepts an extra parameter specifying which texture unit shall be affected by the call.

void osg::StateSet::setModeList ( ModeList ml  )  [inline]

Set the list of all GLModes contained in this StateSet.

void osg::StateSet::setModeToInherit ( ModeList modeList,
StateAttribute::GLMode  mode 
) [protected]

void osg::StateSet::setNumChildrenRequiringEventTraversal ( unsigned int  num  )  [protected]

void osg::StateSet::setNumChildrenRequiringUpdateTraversal ( unsigned int  num  )  [protected]

void osg::StateSet::setRenderBinDetails ( int  binNum,
const std::string &  binName,
RenderBinMode  mode = USE_RENDERBIN_DETAILS 
)

Set the render bin details.

void osg::StateSet::setRenderBinMode ( RenderBinMode  mode  )  [inline]

Set the render bin mode.

void osg::StateSet::setRenderBinToInherit (  ) 

Set the render bin details to inherit.

void osg::StateSet::setRenderingHint ( int  hint  ) 

Set the RenderingHint of this StateSet. RenderingHint is used by the renderer to determine which draw bin to drop associated osg::Drawables in. Typically, users will set this to either StateSet::OPAQUE_BIN or StateSet::TRANSPARENT_BIN. Drawables in the opaque bin are sorted by their StateSet, so that the number of expensive changes in the OpenGL state is minimized. Drawables in the transparent bin are sorted by depth, so that objects farther from the viewer are rendered first (and hence alpha blending works nicely for translucent objects).

void osg::StateSet::setTextureAttribute ( unsigned int  unit,
StateAttribute attribute,
StateAttribute::OverrideValue  value = StateAttribute::OFF 
)

Set this StateSet to contain specified attribute and override flag.

void osg::StateSet::setTextureAttributeAndModes ( unsigned int  unit,
StateAttribute attribute,
StateAttribute::GLModeValue  value = StateAttribute::ON 
)

Set this StateSet to contain specified attribute and set the associated GLMode's to specified value.

void osg::StateSet::setTextureAttributeList ( TextureAttributeList tal  )  [inline]

Set the list of all Texture related StateAttributes contained in this StateSet.

void osg::StateSet::setTextureMode ( unsigned int  unit,
StateAttribute::GLMode  mode,
StateAttribute::GLModeValue  value 
)

Set this StateSet to contain specified GLMode with a given value.

Parameters:
unit The texture unit to be affected (used with multi-texturing).
mode The OpenGL mode to be added to the StateSet.
value The value to be assigned to mode.

void osg::StateSet::setTextureModeList ( TextureModeList tml  )  [inline]

set the list of all Texture related GLModes contained in this StateSet.

void osg::StateSet::setUniformList ( UniformList al  )  [inline]

set the list of all Uniforms contained in this StateSet.

void osg::StateSet::setUpdateCallback ( Callback ac  ) 

Set the Update Callback which allows users to attach customize the updating of an object during the update traversal.

bool osg::StateSet::useRenderBinDetails (  )  const [inline]

Get whether the render bin details are set and should be used.


Friends And Related Function Documentation

friend class osg::Drawable [friend]

friend class osg::Node [friend]

friend class osg::StateAttribute [friend]

friend class osg::Uniform [friend]


Member Data Documentation

AttributeList osg::StateSet::_attributeList [protected]

RenderBinMode osg::StateSet::_binMode [protected]

std::string osg::StateSet::_binName [protected]

int osg::StateSet::_binNum [protected]

ref_ptr<Callback> osg::StateSet::_eventCallback [protected]

ModeList osg::StateSet::_modeList [protected]

unsigned int osg::StateSet::_numChildrenRequiringEventTraversal [protected]

unsigned int osg::StateSet::_numChildrenRequiringUpdateTraversal [protected]

ParentList osg::StateSet::_parents [protected]

int osg::StateSet::_renderingHint [protected]

TextureAttributeList osg::StateSet::_textureAttributeList [protected]

TextureModeList osg::StateSet::_textureModeList [protected]

UniformList osg::StateSet::_uniformList [protected]

ref_ptr<Callback> osg::StateSet::_updateCallback [protected]


The documentation for this class was generated from the following file:
Generated on Sun Oct 1 13:17:08 2006 for openscenegraph by  doxygen 1.4.7