OpenSceneGraph
3.5.1
|
Stores a set of modes and attributes which represent a set of OpenGL state. More...
Classes | |
struct | Callback |
Public Types | |
enum | RenderingHint { DEFAULT_BIN = 0, OPAQUE_BIN = 1, TRANSPARENT_BIN = 2 } |
enum | RenderBinMode { INHERIT_RENDERBIN_DETAILS =0, USE_RENDERBIN_DETAILS =1, OVERRIDE_RENDERBIN_DETAILS =2, PROTECTED_RENDERBIN_DETAILS =4, OVERRIDE_PROTECTED_RENDERBIN_DETAILS = OVERRIDE_RENDERBIN_DETAILS|PROTECTED_RENDERBIN_DETAILS } |
typedef std::vector< Node * > | 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. More... | |
typedef std::map< StateAttribute::GLMode, StateAttribute::GLModeValue > | ModeList |
a container to map GLModes to their respective GLModeValues. More... | |
typedef std::pair< ref_ptr< StateAttribute >, StateAttribute::OverrideValue > | RefAttributePair |
Simple pairing between an attribute and its override flag. More... | |
typedef std::map< StateAttribute::TypeMemberPair, RefAttributePair > | AttributeList |
a container to map <StateAttribyte::Types,Member> to their respective RefAttributePair. More... | |
typedef std::vector< ModeList > | TextureModeList |
typedef std::vector< AttributeList > | TextureAttributeList |
typedef std::pair< ref_ptr< Uniform >, StateAttribute::OverrideValue > | RefUniformPair |
Simple pairing between a Uniform and its override flag. More... | |
typedef std::map< std::string, RefUniformPair > | UniformList |
a container to map Uniform name to its respective RefUniformPair. More... | |
typedef std::pair< std::string, StateAttribute::OverrideValue > | DefinePair |
typedef std::map< std::string, DefinePair > | DefineList |
Public Types inherited from osg::Object | |
enum | DataVariance { DYNAMIC, STATIC, UNSPECIFIED } |
Public Member Functions | |
StateSet () | |
StateSet (const StateSet &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
virtual Object * | cloneType () const |
Clone the type of an object, with Object* return type. More... | |
virtual Object * | clone (const CopyOp ©op) const |
Clone an object, with Object* return type. More... | |
virtual bool | isSameKindAs (const Object *obj) const |
virtual const char * | libraryName () const |
return the name of the object's library. More... | |
virtual const char * | className () const |
return the name of the object's class type. More... | |
int | compare (const StateSet &rhs, bool compareAttributeContents=false) const |
return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. More... | |
bool | operator< (const StateSet &rhs) const |
bool | operator== (const StateSet &rhs) const |
bool | operator!= (const StateSet &rhs) const |
const ParentList & | getParents () const |
Get the parent list of this StateSet. More... | |
ParentList | getParents () |
Get the a copy of parent list of node. More... | |
Node * | getParent (unsigned int i) |
const Node * | getParent (unsigned int i) const |
Get a single const parent of this StateSet. More... | |
unsigned int | getNumParents () const |
Get the number of parents of this StateSet. More... | |
virtual void | computeDataVariance () |
Compute the DataVariance based on an assessment of callback etc. More... | |
void | setGlobalDefaults () |
Set all the modes to on or off so that it defines a complete state, typically used for a default global state. More... | |
void | clear () |
Clear the StateSet of all modes and attributes. More... | |
void | merge (const StateSet &rhs) |
Merge this StateSet with the StateSet passed as parameter. More... | |
void | setMode (StateAttribute::GLMode mode, StateAttribute::GLModeValue value) |
Set this StateSet to contain the specified GLMode with a given value. More... | |
void | removeMode (StateAttribute::GLMode mode) |
Remove mode from this StateSet . More... | |
StateAttribute::GLModeValue | getMode (StateAttribute::GLMode mode) const |
Get the value for a given GLMode . More... | |
void | setModeList (ModeList &ml) |
Set the list of all GLMode s contained in this StateSet . More... | |
ModeList & | getModeList () |
Return the list of all GLMode s contained in this StateSet . More... | |
const ModeList & | getModeList () const |
Return the const list of all GLMode s contained in this const StateSet . More... | |
void | setAttribute (StateAttribute *attribute, StateAttribute::OverrideValue value=StateAttribute::OFF) |
Set this StateSet to contain specified attribute and override flag. More... | |
template<class T > | |
void | setAttribute (const ref_ptr< T > &attribute, StateAttribute::OverrideValue value=StateAttribute::OFF) |
void | setAttributeAndModes (StateAttribute *attribute, StateAttribute::GLModeValue value=StateAttribute::ON) |
Set this StateSet to contain specified attribute and set the associated GLMode's to specified value. More... | |
template<class T > | |
void | setAttributeAndModes (const ref_ptr< T > &attribute, StateAttribute::GLModeValue value=StateAttribute::ON) |
void | removeAttribute (StateAttribute::Type type, unsigned int member=0) |
remove attribute of specified type from StateSet. More... | |
void | removeAttribute (StateAttribute *attribute) |
remove attribute from StateSet. More... | |
template<class T > | |
void | removeAttribute (const ref_ptr< T > &attribute) |
StateAttribute * | getAttribute (StateAttribute::Type type, unsigned int member=0) |
Get specified StateAttribute for specified type. More... | |
const StateAttribute * | getAttribute (StateAttribute::Type type, unsigned int member=0) const |
Get specified const StateAttribute for specified type. More... | |
const RefAttributePair * | getAttributePair (StateAttribute::Type type, unsigned int member=0) const |
Get specified RefAttributePair for specified type. More... | |
void | setAttributeList (AttributeList &al) |
set the list of all StateAttributes contained in this StateSet. More... | |
AttributeList & | getAttributeList () |
return the list of all StateAttributes contained in this StateSet. More... | |
const AttributeList & | getAttributeList () const |
return the const list of all StateAttributes contained in this const StateSet. More... | |
void | setTextureMode (unsigned int unit, StateAttribute::GLMode mode, StateAttribute::GLModeValue value) |
Set this StateSet to contain specified GLMode with a given value. More... | |
void | removeTextureMode (unsigned int unit, StateAttribute::GLMode mode) |
Remove texture mode from StateSet. More... | |
StateAttribute::GLModeValue | getTextureMode (unsigned int unit, StateAttribute::GLMode mode) const |
Get specified GLModeValue for specified GLMode. More... | |
void | setTextureModeList (TextureModeList &tml) |
set the list of all Texture related GLModes contained in this StateSet. More... | |
TextureModeList & | getTextureModeList () |
return the list of all Texture related GLModes contained in this StateSet. More... | |
const TextureModeList & | getTextureModeList () const |
return the const list of all Texture related GLModes contained in this const StateSet. More... | |
unsigned int | getNumTextureModeLists () const |
Return the number texture units active in the TextureModeList. More... | |
void | setTextureAttribute (unsigned int unit, StateAttribute *attribute, StateAttribute::OverrideValue value=StateAttribute::OFF) |
Set this StateSet to contain specified attribute and override flag. More... | |
template<class T > | |
void | setTextureAttribute (unsigned int unit, const ref_ptr< T > &attribute, StateAttribute::OverrideValue value=StateAttribute::OFF) |
void | 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. More... | |
template<class T > | |
void | setTextureAttributeAndModes (unsigned int unit, const ref_ptr< T > &attribute, StateAttribute::OverrideValue value=StateAttribute::OFF) |
void | removeTextureAttribute (unsigned int unit, StateAttribute::Type type) |
remove texture attribute of specified type from StateSet. More... | |
void | removeTextureAttribute (unsigned int unit, StateAttribute *attribute) |
remove texture attribute from StateSet. More... | |
template<class T > | |
void | removeTextureAttribute (unsigned int unit, const ref_ptr< T > &attribute) |
StateAttribute * | getTextureAttribute (unsigned int unit, StateAttribute::Type type) |
Get specified Texture related StateAttribute for specified type. More... | |
const StateAttribute * | getTextureAttribute (unsigned int unit, StateAttribute::Type type) const |
Get specified Texture related const StateAttribute for specified type. More... | |
const RefAttributePair * | getTextureAttributePair (unsigned int unit, StateAttribute::Type type) const |
Get specified Texture related RefAttributePair for specified type. More... | |
void | setTextureAttributeList (TextureAttributeList &tal) |
Set the list of all Texture related StateAttributes contained in this StateSet. More... | |
TextureAttributeList & | getTextureAttributeList () |
Return the list of all Texture related StateAttributes contained in this StateSet. More... | |
const TextureAttributeList & | getTextureAttributeList () const |
Return the const list of all Texture related StateAttributes contained in this const StateSet. More... | |
unsigned int | getNumTextureAttributeLists () const |
Return the number of texture units active in the TextureAttributeList. More... | |
void | setAssociatedModes (const StateAttribute *attribute, StateAttribute::GLModeValue value) |
void | removeAssociatedModes (const StateAttribute *attribute) |
void | setAssociatedTextureModes (unsigned int unit, const StateAttribute *attribute, StateAttribute::GLModeValue value) |
void | removeAssociatedTextureModes (unsigned int unit, const StateAttribute *attribute) |
void | addUniform (Uniform *uniform, StateAttribute::OverrideValue value=StateAttribute::ON) |
Set this StateSet to contain specified uniform and override flag. More... | |
template<class T > | |
void | addUniform (const ref_ptr< T > &uniform, StateAttribute::OverrideValue value=StateAttribute::ON) |
void | removeUniform (const std::string &name) |
remove uniform of specified name from StateSet. More... | |
void | removeUniform (Uniform *uniform) |
remove Uniform from StateSet. More... | |
template<class T > | |
void | removeUniform (const ref_ptr< T > &uniform) |
Uniform * | getUniform (const std::string &name) |
Get Uniform for specified name. More... | |
Uniform * | 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. More... | |
const Uniform * | getUniform (const std::string &name) const |
Get const Uniform for specified name. More... | |
const RefUniformPair * | getUniformPair (const std::string &name) const |
Get specified RefUniformPair for specified Uniform name. More... | |
void | setUniformList (UniformList &al) |
set the list of all Uniforms contained in this StateSet. More... | |
UniformList & | getUniformList () |
return the list of all Uniforms contained in this StateSet. More... | |
const UniformList & | getUniformList () const |
return the const list of all Uniforms contained in this const StateSet. More... | |
void | setDefine (const std::string &defineName, StateAttribute::OverrideValue value=StateAttribute::ON) |
Added define pass on to shaders that use utilize that define, as specified by the GLSL #pragma import_defines(..) and #pragma requires(..). More... | |
void | setDefine (const std::string &defineName, const std::string &defineValue, StateAttribute::OverrideValue value=StateAttribute::ON) |
Added define with value to pass on to shaders that use utilize that define, as specified by the GLSL #pragma import_defines(..) and #pragma requires(..). More... | |
DefinePair * | getDefinePair (const std::string &defineName) |
const DefinePair * | getDefinePair (const std::string &defineName) const |
void | removeDefine (const std::string &defineName) |
Remove define. More... | |
void | setDefineList (const DefineList &dl) |
Set the list of defines to pass on to shaders. More... | |
DefineList & | getDefineList () |
Get the list of defines to pass on to shaders. More... | |
const DefineList & | getDefineList () const |
Get the const list of defines to pass on to shaders. More... | |
void | setRenderingHint (int hint) |
Set the RenderingHint of this StateSet . More... | |
int | getRenderingHint () const |
Get the RenderingHint of this StateSet . More... | |
void | setRenderBinDetails (int binNum, const std::string &binName, RenderBinMode mode=USE_RENDERBIN_DETAILS) |
Set the render bin details. More... | |
void | setRenderBinToInherit () |
Set the render bin details to inherit. More... | |
bool | useRenderBinDetails () const |
Get whether the render bin details are set and should be used. More... | |
void | setRenderBinMode (RenderBinMode mode) |
Set the render bin mode. More... | |
RenderBinMode | getRenderBinMode () const |
Get the render bin mode. More... | |
void | setBinNumber (int num) |
Set the render bin number. More... | |
int | getBinNumber () const |
Get the render bin number. More... | |
void | setBinName (const std::string &name) |
Set the render bin name. More... | |
const std::string & | getBinName () const |
Get the render bin name. More... | |
void | setNestRenderBins (bool val) |
By default render bins will be nested within each other dependent upon where they are set in the scene graph. More... | |
bool | getNestRenderBins () const |
Get whether associated RenderBin should be nested within parents RenderBin. More... | |
void | setUpdateCallback (Callback *ac) |
Set the Update Callback which allows users to attach customize the updating of an object during the update traversal. More... | |
template<class T > | |
void | setUpdateCallback (const ref_ptr< T > &ac) |
Callback * | getUpdateCallback () |
Get the non const Update Callback. More... | |
const Callback * | getUpdateCallback () const |
Get the const Update Callback. More... | |
bool | requiresUpdateTraversal () const |
Return whether this StateSet has update callbacks associated with it, and therefore must be traversed. More... | |
unsigned int | getNumChildrenRequiringUpdateTraversal () const |
Get the number of Objects of this StateSet which require Update traversal, since they have an Update Callback attached to them or their children. More... | |
void | runUpdateCallbacks (osg::NodeVisitor *nv) |
Run the update callbacks attached directly to this StateSet or to its children. More... | |
void | setEventCallback (Callback *ac) |
Set the Event Callback which allows users to attach customize the updating of an object during the event traversal. More... | |
template<class T > | |
void | setEventCallback (const ref_ptr< T > &ec) |
Callback * | getEventCallback () |
Get the non const Event Callback. More... | |
const Callback * | getEventCallback () const |
Get the const Event Callback. More... | |
bool | requiresEventTraversal () const |
Return whether this StateSet has event callbacks associated with it, and therefore must be traversed. More... | |
unsigned int | getNumChildrenRequiringEventTraversal () const |
Get the number of Objects of this StateSet which require Event traversal, since they have an Eevnt Callback attached to them or their children. More... | |
void | runEventCallbacks (osg::NodeVisitor *nv) |
Run the event callbacks attached directly to this StateSet or to its children. More... | |
bool | 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. More... | |
virtual void | setThreadSafeRefUnref (bool threadSafe) |
Set whether to use a mutex to ensure ref() and unref() are thread safe. More... | |
void | compileGLObjects (State &state) const |
call compile on all StateAttributes contained within this StateSet. More... | |
virtual void | resizeGLObjectBuffers (unsigned int maxSize) |
Resize any per context GLObject buffers to specified size. More... | |
virtual void | releaseGLObjects (State *state=0) const |
call release on all StateAttributes contained within this StateSet. More... | |
Public Member Functions inherited from osg::Object | |
Object () | |
Construct an object. More... | |
Object (bool threadSafeRefUnref) | |
Object (const Object &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
Copy constructor, optional CopyOp object can be used to control shallow vs deep copying of dynamic data. More... | |
std::string | getCompoundClassName () const |
return the compound class name that combines the library name and class name. More... | |
virtual Node * | asNode () |
Convert 'this' into a Node pointer if Object is a Node, otherwise return 0. More... | |
virtual const Node * | asNode () const |
convert 'const this' into a const Node pointer if Object is a Node, otherwise return 0. More... | |
virtual NodeVisitor * | asNodeVisitor () |
Convert 'this' into a NodeVisitor pointer if Object is a NodeVisitor, otherwise return 0. More... | |
virtual const NodeVisitor * | asNodeVisitor () const |
convert 'const this' into a const NodeVisitor pointer if Object is a NodeVisitor, otherwise return 0. More... | |
virtual StateAttribute * | asStateAttribute () |
Convert 'this' into a StateAttribute pointer if Object is a StateAttribute, otherwise return 0. More... | |
virtual const StateAttribute * | asStateAttribute () const |
convert 'const this' into a const StateAttribute pointer if Object is a StateAttribute, otherwise return 0. More... | |
virtual Uniform * | asUniform () |
Convert 'this' into a Uniform pointer if Object is a Uniform, otherwise return 0. More... | |
virtual const Uniform * | asUniform () const |
convert 'const this' into a const Uniform pointer if Object is a Uniform, otherwise return 0. More... | |
virtual void | setName (const std::string &name) |
Set the name of object using C++ style string. More... | |
void | setName (const char *name) |
Set the name of object using a C style string. More... | |
const std::string & | getName () const |
Get the name of object. More... | |
void | setDataVariance (DataVariance dv) |
Set the data variance of this object. More... | |
DataVariance | getDataVariance () const |
Get the data variance of this object. More... | |
void | setUserDataContainer (osg::UserDataContainer *udc) |
set the UserDataContainer object. More... | |
template<class T > | |
void | setUserDataContainer (const ref_ptr< T > &udc) |
osg::UserDataContainer * | getUserDataContainer () |
get the UserDataContainer attached to this object. More... | |
const osg::UserDataContainer * | getUserDataContainer () const |
get the const UserDataContainer attached to this object. More... | |
osg::UserDataContainer * | getOrCreateUserDataContainer () |
Convenience method that returns the UserDataContainer, and if one doesn't already exist creates and assigns a DefaultUserDataContainer to the Object and then return this new UserDataContainer. More... | |
virtual void | setUserData (Referenced *obj) |
Set user data, data must be subclassed from Referenced to allow automatic memory handling. More... | |
template<class T > | |
void | setUserData (const ref_ptr< T > &ud) |
virtual Referenced * | getUserData () |
Get user data. More... | |
virtual const Referenced * | getUserData () const |
Get const user data. More... | |
template<typename T > | |
bool | getUserValue (const std::string &name, T &value) const |
Convenience method that casts the named UserObject to osg::TemplateValueObject<T> and gets the value. More... | |
template<typename T > | |
void | setUserValue (const std::string &name, const T &value) |
Convenience method that creates the osg::TemplateValueObject<T> to store the specified value and adds it as a named UserObject. More... | |
template<typename T > | |
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const |
provide implementation of osg::Object::getUserValue(..) template More... | |
Public Member Functions inherited from osg::Referenced | |
Referenced () | |
Referenced (bool threadSafeRefUnref) | |
Referenced (const Referenced &) | |
Referenced & | operator= (const Referenced &) |
bool | getThreadSafeRefUnref () const |
Get whether a mutex is used to ensure ref() and unref() are thread safe. More... | |
OpenThreads::Mutex * | getRefMutex () const |
Get the mutex used to ensure thread safety of ref()/unref(). More... | |
int | ref () const |
Increment the reference count by one, indicating that this object has another pointer which is referencing it. More... | |
int | unref () const |
Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More... | |
int | unref_nodelete () const |
Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More... | |
int | referenceCount () const |
Return the number of pointers currently referencing this object. More... | |
ObserverSet * | getObserverSet () const |
Get the ObserverSet if one is attached, otherwise return NULL. More... | |
ObserverSet * | getOrCreateObserverSet () const |
Get the ObserverSet if one is attached, otherwise create an ObserverSet, attach it, then return this newly created ObserverSet. More... | |
void | addObserver (Observer *observer) const |
Add a Observer that is observing this object, notify the Observer when this object gets deleted. More... | |
void | removeObserver (Observer *observer) const |
Remove Observer that is observing this object. More... | |
Protected Attributes | |
ParentList | _parents |
ModeList | _modeList |
AttributeList | _attributeList |
TextureModeList | _textureModeList |
TextureAttributeList | _textureAttributeList |
UniformList | _uniformList |
DefineList | _defineList |
int | _renderingHint |
RenderBinMode | _binMode |
int | _binNum |
std::string | _binName |
bool | _nestRenderBins |
ref_ptr< Callback > | _updateCallback |
unsigned int | _numChildrenRequiringUpdateTraversal |
ref_ptr< Callback > | _eventCallback |
unsigned int | _numChildrenRequiringEventTraversal |
Protected Attributes inherited from osg::Object | |
std::string | _name |
DataVariance | _dataVariance |
osg::UserDataContainer * | _userDataContainer |
Protected Attributes inherited from osg::Referenced | |
OpenThreads::AtomicPtr | _observerSet |
OpenThreads::Atomic | _refCount |
Friends | |
class | osg::Node |
class | osg::Drawable |
class | osg::Uniform |
class | osg::StateAttribute |
Additional Inherited Members | |
Static Public Member Functions inherited from osg::Referenced | |
static OpenThreads::Mutex * | getGlobalReferencedMutex () |
Get the optional global Referenced mutex, this can be shared between all osg::Referenced. More... | |
static void | setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting) |
Set whether reference counting should use a mutex for thread safe reference counting. More... | |
static bool | getThreadSafeReferenceCounting () |
Get whether reference counting is active. More... | |
static void | setDeleteHandler (DeleteHandler *handler) |
Set a DeleteHandler to which deletion of all referenced counted objects will be delegated. More... | |
static DeleteHandler * | getDeleteHandler () |
Get a DeleteHandler. More... | |
Stores a set of modes and attributes which represent 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 StateSet
s can be shared between different Drawable
s and Node
s (that is, several Drawable
s and Node
s can reference the same StateSet
). Indeed, this practice is recommended whenever possible, as this minimizes expensive state changes in the graphics pipeline.
typedef std::map<StateAttribute::TypeMemberPair,RefAttributePair> osg::StateSet::AttributeList |
a container to map <StateAttribyte::Types,Member> to their respective RefAttributePair.
typedef std::map<std::string, DefinePair> osg::StateSet::DefineList |
typedef std::pair<std::string, StateAttribute::OverrideValue> osg::StateSet::DefinePair |
typedef std::map<StateAttribute::GLMode,StateAttribute::GLModeValue> osg::StateSet::ModeList |
a container to map GLModes to their respective GLModeValues.
typedef std::vector<Node*> 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.
osg::StateSet::StateSet | ( | ) |
osg::StateSet::StateSet | ( | const StateSet & | , |
const CopyOp & | copyop = CopyOp::SHALLOW_COPY |
||
) |
|
protectedvirtual |
void osg::StateSet::addUniform | ( | Uniform * | uniform, |
StateAttribute::OverrideValue | value = StateAttribute::ON |
||
) |
Set this StateSet to contain specified uniform and override flag.
|
inline |
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.
|
inlinevirtual |
return the name of the object's class type.
Must be defined by derived classes.
Implements osg::Object.
Clone an object, with Object* return type.
Must be defined by derived classes.
Implements osg::Object.
|
inlinevirtual |
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.
|
protected |
|
protected |
call compile on all StateAttributes contained within this StateSet.
|
virtual |
Compute the DataVariance based on an assessment of callback etc.
Reimplemented from osg::Object.
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 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.
|
protected |
|
protected |
|
inline |
return the list of all StateAttributes contained in this StateSet.
|
inline |
return the const list of all StateAttributes contained in this const StateSet.
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.
|
protected |
|
inline |
Get the render bin name.
|
inline |
Get the render bin number.
|
inline |
Get the list of defines to pass on to shaders.
|
inline |
Get the const list of defines to pass on to shaders.
|
inline |
|
inline |
StateAttribute::GLModeValue osg::StateSet::getMode | ( | StateAttribute::GLMode | mode | ) | const |
Get the value for a given GLMode
.
mode | The GLMode whose value is desired. |
mode
is contained within this StateSet
, returns the value associated with it. Otherwise, returns StateAttribute::INHERIT
. removeTextureMode()
, that accepts an extra parameter specifying which texture unit shall be affected by the call.
|
protected |
|
inline |
Return the list of all GLMode
s contained in this StateSet
.
|
inline |
Return the const
list of all GLMode
s contained in this const StateSet
.
|
inline |
Get whether associated RenderBin should be nested within parents RenderBin.
|
inline |
|
inline |
|
inline |
|
inline |
Return the number of texture units active in the TextureAttributeList.
|
inline |
Return the number texture units active in the TextureModeList.
|
inlineprotected |
|
inlineprotected |
Uniform* osg::StateSet::getOrCreateUniform | ( | const std::string & | name, |
Uniform::Type | type, | ||
unsigned int | numElements = 1 |
||
) |
|
inline |
|
inline |
Get a single const parent of this StateSet.
i | index of the parent to get. |
|
inline |
Get the parent list of this StateSet.
|
inline |
Get the a copy of parent list of node.
A copy is returned to prevent modification of the parent list.
|
inline |
Get the render bin mode.
|
inline |
Get the RenderingHint
of this 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 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.
|
inline |
|
inline |
const RefAttributePair* osg::StateSet::getTextureAttributePair | ( | unsigned int | unit, |
StateAttribute::Type | type | ||
) | const |
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.
|
inline |
|
inline |
Uniform* osg::StateSet::getUniform | ( | const std::string & | name | ) |
const Uniform* osg::StateSet::getUniform | ( | const std::string & | name | ) | const |
|
inline |
return the list of all Uniforms contained in this StateSet.
|
inline |
return the const list of all Uniforms contained in this const StateSet.
const RefUniformPair* osg::StateSet::getUniformPair | ( | const std::string & | name | ) | const |
|
inlinevirtual |
Reimplemented from osg::Object.
|
inlinevirtual |
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.
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
.
|
inline |
|
inline |
|
inline |
call release on all StateAttributes contained within this StateSet.
Reimplemented from osg::Object.
void osg::StateSet::removeAssociatedModes | ( | const StateAttribute * | attribute | ) |
void osg::StateSet::removeAssociatedTextureModes | ( | unsigned int | unit, |
const StateAttribute * | attribute | ||
) |
void osg::StateSet::removeAttribute | ( | StateAttribute::Type | type, |
unsigned int | member = 0 |
||
) |
remove attribute of specified type from StateSet.
void osg::StateSet::removeAttribute | ( | StateAttribute * | attribute | ) |
remove attribute from StateSet.
void osg::StateSet::removeDefine | ( | const std::string & | defineName | ) |
Remove define.
void osg::StateSet::removeMode | ( | StateAttribute::GLMode | mode | ) |
Remove mode
from this StateSet
.
removeTextureMode()
, that accepts an extra parameter specifying which texture unit shall be affected by the call. void osg::StateSet::removeTextureAttribute | ( | unsigned int | unit, |
StateAttribute::Type | type | ||
) |
remove texture attribute of specified type from StateSet.
void osg::StateSet::removeTextureAttribute | ( | unsigned int | unit, |
StateAttribute * | attribute | ||
) |
remove texture attribute from StateSet.
|
inline |
void osg::StateSet::removeTextureMode | ( | unsigned int | unit, |
StateAttribute::GLMode | mode | ||
) |
Remove texture mode from StateSet.
void osg::StateSet::removeUniform | ( | const std::string & | name | ) |
remove uniform of specified name from StateSet.
|
inline |
Return whether this StateSet has event callbacks associated with it, and therefore must be traversed.
|
inline |
Return whether this StateSet has update callbacks associated with it, and therefore must be traversed.
|
virtual |
Resize any per context GLObject buffers to specified size.
Reimplemented from osg::Object.
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 | ( | StateAttribute * | attribute, |
StateAttribute::OverrideValue | value = StateAttribute::OFF |
||
) |
Set this StateSet to contain specified attribute and override flag.
|
inline |
|
protected |
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.
|
inline |
|
inline |
set the list of all StateAttributes contained in this StateSet.
|
inline |
Set the render bin name.
|
inline |
Set the render bin number.
void osg::StateSet::setDefine | ( | const std::string & | defineName, |
StateAttribute::OverrideValue | value = StateAttribute::ON |
||
) |
Added define pass on to shaders that use utilize that define, as specified by the GLSL #pragma import_defines(..) and #pragma requires(..).
void osg::StateSet::setDefine | ( | const std::string & | defineName, |
const std::string & | defineValue, | ||
StateAttribute::OverrideValue | value = StateAttribute::ON |
||
) |
Added define with value to pass on to shaders that use utilize that define, as specified by the GLSL #pragma import_defines(..) and #pragma requires(..).
|
inline |
Set the list of defines to pass on to shaders.
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 | ( | StateAttribute::GLMode | mode, |
StateAttribute::GLModeValue | value | ||
) |
Set this StateSet
to contain the specified GLMode
with a given value.
setTextureMode()
, that accepts an extra parameter specifying which texture unit shall be affected by the call.
|
protected |
Set the list of all GLMode
s contained in this StateSet
.
|
protected |
|
inline |
By default render bins will be nested within each other dependent upon where they are set in the scene graph.
This can be problematic if a transparent render bin is attached to an opaque render bin which is attached to another transparent render bin as these render bins will be sorted separately, giving the wrong draw ordering for back-to-front transparency. Therefore, to prevent render bins being nested, call setNestRenderBins(false).
|
protected |
|
protected |
void osg::StateSet::setRenderBinDetails | ( | int | binNum, |
const std::string & | binName, | ||
RenderBinMode | mode = USE_RENDERBIN_DETAILS |
||
) |
Set the render bin details.
|
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::Drawable
s in. Typically, users will set this to either StateSet::OPAQUE_BIN
or StateSet::TRANSPARENT_BIN
. Drawable
s in the opaque bin are sorted by their StateSet
, so that the number of expensive changes in the OpenGL state is minimized. Drawable
s 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.
|
inline |
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.
|
inline |
|
inline |
void osg::StateSet::setTextureMode | ( | unsigned int | unit, |
StateAttribute::GLMode | mode, | ||
StateAttribute::GLModeValue | value | ||
) |
|
inline |
|
virtual |
Set whether to use a mutex to ensure ref() and unref() are thread safe.
Reimplemented from osg::Object.
|
inline |
set the list of all Uniforms contained in this StateSet.
Set the Update Callback which allows users to attach customize the updating of an object during the update traversal.
|
inline |
Get whether the render bin details are set and should be used.
|
friend |
|
friend |
|
friend |
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Generated at Wed Nov 11 2015 22:14:43 for the OpenSceneGraph by doxygen 1.8.10. |