class SG_EXPORT osg::State

State class for managing a state stack.

Inheritance:


Public Methods

[more] State()
[more]void pushStateSet(const StateSet* dstate)
push stateset onto state stack
[more]void popStateSet()
pop stateset off state stack
[more]void popAllStateSets()
pop all stateset's off state stack, ensuring its empty ready for the next frame.
[more]void captureCurrentState(StateSet& stateset) const
copy the modes and attributes which captures the current state
[more]void reset()
reset the state object to an empty stack
[more]inline const Viewport* getCurrentViewport() const
[more]void setInitialViewMatrix(const osg::RefMatrix* matrix)
[more]inline const osg::Matrix& getInitialViewMatrix() const
[more]inline const osg::Matrix& getInitialInverseViewMatrix() const
[more]inline void applyProjectionMatrix(const osg::RefMatrix* matrix)
[more]inline const osg::Matrix& getProjectionMatrix() const
[more]inline void applyModelViewMatrix(const osg::RefMatrix* matrix)
[more]const osg::Matrix& getModelViewMatrix() const
[more]Polytope getViewFrustum() const
[more]void apply(const StateSet* dstate)
Apply stateset
[more]void apply()
Apply the state
[more]inline bool applyMode(StateAttribute::GLMode mode, bool enabled)
Apply an OpenGL mode if required.
[more]inline bool applyTextureMode(unsigned int unit, StateAttribute::GLMode mode, bool enabled)
[more]inline bool applyAttribute(const StateAttribute* attribute)
Apply an attribute if required.
[more]inline bool applyTextureAttribute(unsigned int unit, const StateAttribute* attribute)
[more]void haveAppliedMode(StateAttribute::GLMode mode, StateAttribute::GLModeValue value)
Mode has been set externally, update state to reflect this setting
[more]void haveAppliedMode(StateAttribute::GLMode mode)
Mode has been set externally, therefore dirty the associated mode in osg::State so it is applied on next call to osg::State::apply()
[more]void haveAppliedAttribute(const StateAttribute* attribute)
Attribute has been applied externally, update state to reflect this setting
[more]void haveAppliedAttribute(StateAttribute::Type type)
Attribute has been applied externally, and therefore this attribute type has been dirtied and will need to be re-appplied on next osg::Stateapply().
[more]bool getLastAppliedMode(StateAttribute::GLMode mode) const
Get whether the current specified mode is enabled (true) or disabled (false)
[more]const StateAttribute* getLastAppliedAttribute(StateAttribute::Type type) const
Get the current specified attribute, return NULL is one has not yet been applied
[more]void haveAppliedTextureMode(unsigned int unit, StateAttribute::GLMode mode, StateAttribute::GLModeValue value)
texture Mode has been set externally, update state to reflect this setting
[more]void haveAppliedTextureMode(unsigned int unit, StateAttribute::GLMode mode)
texture Mode has been set externally, therefore dirty the associated mode in osg::State so it is applied on next call to osg::State::apply()
[more]void haveAppliedTextureAttribute(unsigned int unit, const StateAttribute* attribute)
texture Attribute has been applied externally, update state to reflect this setting
[more]void haveAppliedTextureAttribute(unsigned int unit, StateAttribute::Type type)
texture Attribute has been applied externally, and therefore this attribute type has been dirtied and will need to be re-appplied on next osg::Stateapply().
[more]bool getLastAppliedTextureMode(unsigned int unit, StateAttribute::GLMode mode) const
Get whether the current specified texture mode is enabled (true) or disabled (false)
[more]const StateAttribute* getLastAppliedTextureAttribute(unsigned int unit, StateAttribute::Type type) const
Get the current specified texture attribute, return NULL is one has not yet been applied
[more]void dirtyAllModes()
Dirty the modes previously applied in osg::State
[more]void dirtyAllAttributes()
Dirty the modes attributes previously applied in osg::State
[more]void disableAllVertexArrays()
disable the vertex, normal, color, tex coords, secenday color, fog coord and index arrays
[more]void dirtyAllVertexArrays()
dirty the vertex, normal, color, tex coords, secenday color, fog coord and index arrays
[more]void setInterleavedArrays( GLenum format, GLsizei stride, const GLvoid* pointer)
Wrapper around glInterleavedArrays().
[more]inline void setVertexPointer( GLint size, GLenum type, GLsizei stride, const GLvoid* ptr )
wrapper around glEnableClientState(GL_VERTEX_ARRAY);glVertexPointer(); note, only updates values that change
[more]inline void disableVertexPointer()
wrapper glDisableClientState(GL_VERTEX_ARRAY).
[more]inline void dirtyVertexPointer()
[more]inline void setNormalPointer( GLenum type, GLsizei stride, const GLvoid* ptr )
wrapper around glEnableClientState(GL_NORMAL_ARRAY);glNormalPointer(); note, only updates values that change
[more]inline void disableNormalPointer()
wrapper around glDisableClientState(GL_NORMAL_ARRAY); note, only updates values that change
[more]inline void dirtyNormalPointer()
[more]inline void setColorPointer( GLint size, GLenum type, GLsizei stride, const GLvoid* ptr )
wrapper around glEnableClientState(GL_COLOR_ARRAY);glColorPointer(); note, only updates values that change
[more]inline void disableColorPointer()
wrapper around glDisableClientState(GL_COLOR_ARRAY); note, only updates values that change
[more]inline void dirtyColorPointer()
[more]inline bool isSecondaryColorSupported() const
[more]void setSecondaryColorPointer( GLint size, GLenum type, GLsizei stride, const GLvoid* ptr )
wrapper around glEnableClientState(GL_SECONDARY_COLOR_ARRAY);glSecondayColorPointer(); note, only updates values that change
[more]inline void disableSecondaryColorPointer()
wrapper around glDisableClientState(GL_SECONDARY_COLOR_ARRAY); note, only updates values that change
[more]inline void dirtySecondaryColorPointer()
[more]inline void setIndexPointer( GLenum type, GLsizei stride, const GLvoid* ptr )
wrapper around glEnableClientState(GL_INDEX_ARRAY);glIndexPointer(); note, only updates values that change
[more]inline void disableIndexPointer()
wrapper around glDisableClientState(GL_INDEX_ARRAY); note, only updates values that change
[more]inline void dirtyIndexPointer()
[more]inline bool isFogCoordSupported() const
[more]void setFogCoordPointer( GLenum type, GLsizei stride, const GLvoid* ptr )
wrapper around glEnableClientState(GL_FOG_COORDINATE_ARRAY);glFogCoordPointer(); note, only updates values that change
[more]inline void disableFogCoordPointer()
wrapper around glDisableClientState(GL_FOG_COORDINATE_ARRAY); note, only updates values that change
[more]inline void dirtyFogCoordPointer()
[more]inline void setTexCoordPointer( unsigned int unit, GLint size, GLenum type, GLsizei stride, const GLvoid* ptr )
wrapper around glEnableClientState(GL_TEXTURE_COORD_ARRAY);glTexCoordPointer(); note, only updates values that change
[more]inline void disableTexCoordPointer( unsigned int unit )
wrapper around glDisableClientState(GL_TEXTURE_COORD_ARRAY); note, only updates values that change
[more]inline void dirtyTexCoordPointer( unsigned int unit )
[more]inline void disableTexCoordPointersAboveAndIncluding( unsigned int unit )
[more]inline void dirtyTexCoordPointersAboveAndIncluding( unsigned int unit )
[more]bool setClientActiveTextureUnit( unsigned int unit )
set the current tex coord array texture unit, return true if selected, false if selection failed such as when multitexturing is not supported.
[more]bool setActiveTextureUnit( unsigned int unit )
set the current texture unit, return true if selected, false if selection failed such as when multitexturing is not supported.
[more]void setVertexAttribPointer( unsigned int index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr )
wrapper around glEnableVertexAttribArrayARB(index);glVertexAttribPointerARB(); note, only updates values that change
[more]void disableVertexAttribPointer( unsigned int index )
wrapper around DisableVertexAttribArrayARB(index); note, only updates values that change
[more]void disableVertexAttribPointersAboveAndIncluding( unsigned int index )
[more]inline void dirtyVertexAttribPointersAboveAndIncluding( unsigned int index )
[more]bool isVertexBufferObjectSupported() const
[more]inline void setContextID(unsigned int contextID)
Set the current OpenGL context uniqueID.
[more]inline unsigned int getContextID() const
Get the current OpenGL context unique ID
[more]inline void setFrameStamp(FrameStamp* fs)
Set the frame stamp for the current frame
[more]inline const FrameStamp* getFrameStamp() const
Set the frame stamp for the current frame
[more]inline void setDisplaySettings(DisplaySettings* vs)
Set the DisplaySettings.
[more]inline const DisplaySettings* getDisplaySettings() const
Get the DisplaySettings
[more]void setAbortRenderingPtr(bool* abortPtr)
Set flag for early termination of the draw traversal
[more]bool getAbortRendering() const
Get flag for early termination of the draw traversal, if true steps should be taken to complete rendering early
[more]void setReportGLErrors(bool flag)
[more]bool getReportGLErrors() const
[more]bool checkGLErrors(const char* str) const
[more]bool checkGLErrors(StateAttribute::GLMode mode) const
[more]bool checkGLErrors(const StateAttribute* attribute) const
[more]inline void pushModeList(ModeMap& modeMap, const StateSet::ModeList& modeList)
[more]inline void pushAttributeList(AttributeMap& attributeMap, const StateSet::AttributeList& attributeList)
[more]inline void popModeList(ModeMap& modeMap, const StateSet::ModeList& modeList)
[more]inline void popAttributeList(AttributeMap& attributeMap, const StateSet::AttributeList& attributeList)
[more]inline void applyModeList(ModeMap& modeMap, const StateSet::ModeList& modeList)
[more]inline void applyAttributeList(AttributeMap& attributeMap, const StateSet::AttributeList& attributeList)
[more]inline void applyModeMap(ModeMap& modeMap)
[more]inline void applyAttributeMap(AttributeMap& attributeMap)

Public Members

[more]typedef std::pair<const StateAttribute*,StateAttribute::OverrideValue> AttributePair
[more]typedef std::vector<AttributePair> AttributeVec
[more]typedef std::vector<StateAttribute::GLModeValue> ValueVec

Protected Fields

[more]unsigned int _contextID
[more]ref_ptr<FrameStamp> _frameStamp
[more]ref_ptr<const RefMatrix> _identity
[more]ref_ptr<const RefMatrix> _initialViewMatrix
[more]ref_ptr<const RefMatrix> _projection
[more]ref_ptr<const RefMatrix> _modelView
[more]Matrix _initialInverseViewMatrix
[more]ref_ptr<DisplaySettings> _displaySettings
[more]bool* _abortRenderingPtr
[more]bool _reportGLErrors
[more]ModeMap _modeMap
[more]AttributeMap _attributeMap
[more]TextureModeMapList _textureModeMapList
[more]TextureAttributeMapList _textureAttributeMapList
[more]StateSetStack _drawStateStack
[more]EnabledArrayPair _vertexArray
[more]EnabledArrayPair _normalArray
[more]EnabledArrayPair _colorArray
[more]EnabledArrayPair _secondaryColorArray
[more]EnabledArrayPair _indexArray
[more]EnabledArrayPair _fogArray
[more]EnabledTexCoordArrayList _texCoordArrayList
[more]EnabledVertexAttribArrayList _vertexAttribArrayList
[more]unsigned int _currentActiveTextureUnit
[more]unsigned int _currentClientActiveTextureUnit
[more]mutable bool _isSecondaryColorSupportResolved
[more]mutable bool _isSecondaryColorSupported
[more]mutable bool _isFogCoordSupportResolved
[more]mutable bool _isFogCoordSupported
[more]mutable bool _isVertexBufferObjectSupportResolved
[more]mutable bool _isVertexBufferObjectSupported

Protected Methods

[more]virtual ~State()
[more]inline bool applyMode(StateAttribute::GLMode mode, bool enabled, ModeStack& ms)
apply an OpenGL mode if required, passing in mode, enable flag and appropriate mode stack
[more]inline bool applyAttribute(const StateAttribute* attribute, AttributeStack& as)
apply an attribute if required, passing in attribute and appropriate attribute stack
[more]inline bool applyGlobalDefaultAttribute(AttributeStack& as)
[more]inline ModeMap& getOrCreateTextureModeMap(unsigned int unit)
[more]inline AttributeMap& getOrCreateTextureAttributeMap(unsigned int unit)
[more]void haveAppliedMode(ModeMap& modeMap, StateAttribute::GLMode mode, StateAttribute::GLModeValue value)
[more]void haveAppliedMode(ModeMap& modeMap, StateAttribute::GLMode mode)
[more]void haveAppliedAttribute(AttributeMap& attributeMap, const StateAttribute* attribute)
[more]void haveAppliedAttribute(AttributeMap& attributeMap, StateAttribute::Type type)
[more]bool getLastAppliedMode(const ModeMap& modeMap, StateAttribute::GLMode mode) const
[more]const StateAttribute* getLastAppliedAttribute(const AttributeMap& attributeMap, StateAttribute::Type type) const
[more]bool computeSecondaryColorSupported() const
[more]bool computeFogCoordSupported() const
[more]bool computeVertexBufferObjectSupported() const

Protected Members

[more]struct ModeStack
[more]struct AttributeStack
[more]typedef std::map<StateAttribute::GLMode,ModeStack> ModeMap
[more]typedef std::vector<ModeMap> TextureModeMapList
[more]typedef std::map<StateAttribute::Type,AttributeStack> AttributeMap
[more]typedef std::vector<AttributeMap> TextureAttributeMapList
[more]typedef std::vector<const StateSet*> StateSetStack
[more]typedef std::vector<ref_ptr<const Matrix> > MatrixStack
[more]struct EnabledArrayPair
[more]typedef std::vector<EnabledArrayPair> EnabledTexCoordArrayList
[more]typedef std::vector<EnabledArrayPair> EnabledVertexAttribArrayList


Inherited from Referenced:

Public Methods

oinline Referenced& operator = (Referenced&)
ostatic void setDeleteHandler(DeleteHandler* handler)
ostatic DeleteHandler* getDeleteHandler()
oinline void ref() const
oinline void unref_nodelete() const
oinline int referenceCount() const
oinline void unref() const

Protected Fields

omutable int _refCount


Documentation

State class for managing a state stack. Lazy state updating is used to minimize state changes.
o State()

ovoid pushStateSet(const StateSet* dstate)
push stateset onto state stack

ovoid popStateSet()
pop stateset off state stack

ovoid popAllStateSets()
pop all stateset's off state stack, ensuring its empty ready for the next frame. note, to return OpenGL to default state, one should do any state.popAllStatSets(); state.apply().

ovoid captureCurrentState(StateSet& stateset) const
copy the modes and attributes which captures the current state

ovoid reset()
reset the state object to an empty stack

oinline const Viewport* getCurrentViewport() const

ovoid setInitialViewMatrix(const osg::RefMatrix* matrix)

oinline const osg::Matrix& getInitialViewMatrix() const

oinline const osg::Matrix& getInitialInverseViewMatrix() const

oinline void applyProjectionMatrix(const osg::RefMatrix* matrix)

oinline const osg::Matrix& getProjectionMatrix() const

oinline void applyModelViewMatrix(const osg::RefMatrix* matrix)

oconst osg::Matrix& getModelViewMatrix() const

oPolytope getViewFrustum() const

ovoid apply(const StateSet* dstate)
Apply stateset

ovoid apply()
Apply the state

oinline bool applyMode(StateAttribute::GLMode mode, bool enabled)
Apply an OpenGL mode if required.

oinline bool applyTextureMode(unsigned int unit, StateAttribute::GLMode mode, bool enabled)

oinline bool applyAttribute(const StateAttribute* attribute)
Apply an attribute if required.

oinline bool applyTextureAttribute(unsigned int unit, const StateAttribute* attribute)

ovoid haveAppliedMode(StateAttribute::GLMode mode, StateAttribute::GLModeValue value)
Mode has been set externally, update state to reflect this setting

ovoid haveAppliedMode(StateAttribute::GLMode mode)
Mode has been set externally, therefore dirty the associated mode in osg::State so it is applied on next call to osg::State::apply()

ovoid haveAppliedAttribute(const StateAttribute* attribute)
Attribute has been applied externally, update state to reflect this setting

ovoid haveAppliedAttribute(StateAttribute::Type type)
Attribute has been applied externally, and therefore this attribute type has been dirtied and will need to be re-appplied on next osg::Stateapply(). note, if you have an osg::StateAttribute which you have applied externally then use the have_applied(attribute) method as this will the osg::State to track the current state more accuratly and enable lazy state updating such that only changed state will be applied.

obool getLastAppliedMode(StateAttribute::GLMode mode) const
Get whether the current specified mode is enabled (true) or disabled (false)

oconst StateAttribute* getLastAppliedAttribute(StateAttribute::Type type) const
Get the current specified attribute, return NULL is one has not yet been applied

ovoid haveAppliedTextureMode(unsigned int unit, StateAttribute::GLMode mode, StateAttribute::GLModeValue value)
texture Mode has been set externally, update state to reflect this setting

ovoid haveAppliedTextureMode(unsigned int unit, StateAttribute::GLMode mode)
texture Mode has been set externally, therefore dirty the associated mode in osg::State so it is applied on next call to osg::State::apply()

ovoid haveAppliedTextureAttribute(unsigned int unit, const StateAttribute* attribute)
texture Attribute has been applied externally, update state to reflect this setting

ovoid haveAppliedTextureAttribute(unsigned int unit, StateAttribute::Type type)
texture Attribute has been applied externally, and therefore this attribute type has been dirtied and will need to be re-appplied on next osg::Stateapply(). note, if you have an osg::StateAttribute which you have applied externally then use the have_applied(attribute) method as this will the osg::State to track the current state more accuratly and enable lazy state updating such that only changed state will be applied.

obool getLastAppliedTextureMode(unsigned int unit, StateAttribute::GLMode mode) const
Get whether the current specified texture mode is enabled (true) or disabled (false)

oconst StateAttribute* getLastAppliedTextureAttribute(unsigned int unit, StateAttribute::Type type) const
Get the current specified texture attribute, return NULL is one has not yet been applied

ovoid dirtyAllModes()
Dirty the modes previously applied in osg::State

ovoid dirtyAllAttributes()
Dirty the modes attributes previously applied in osg::State

ovoid disableAllVertexArrays()
disable the vertex, normal, color, tex coords, secenday color, fog coord and index arrays

ovoid dirtyAllVertexArrays()
dirty the vertex, normal, color, tex coords, secenday color, fog coord and index arrays

ovoid setInterleavedArrays( GLenum format, GLsizei stride, const GLvoid* pointer)
Wrapper around glInterleavedArrays(). also resets the internal array points and modes within osg::State to keep the other vertex array operations consistent.

oinline void setVertexPointer( GLint size, GLenum type, GLsizei stride, const GLvoid* ptr )
wrapper around glEnableClientState(GL_VERTEX_ARRAY);glVertexPointer(); note, only updates values that change

oinline void disableVertexPointer()
wrapper glDisableClientState(GL_VERTEX_ARRAY). note, only updates values that change.

oinline void dirtyVertexPointer()

oinline void setNormalPointer( GLenum type, GLsizei stride, const GLvoid* ptr )
wrapper around glEnableClientState(GL_NORMAL_ARRAY);glNormalPointer(); note, only updates values that change

oinline void disableNormalPointer()
wrapper around glDisableClientState(GL_NORMAL_ARRAY); note, only updates values that change

oinline void dirtyNormalPointer()

oinline void setColorPointer( GLint size, GLenum type, GLsizei stride, const GLvoid* ptr )
wrapper around glEnableClientState(GL_COLOR_ARRAY);glColorPointer(); note, only updates values that change

oinline void disableColorPointer()
wrapper around glDisableClientState(GL_COLOR_ARRAY); note, only updates values that change

oinline void dirtyColorPointer()

oinline bool isSecondaryColorSupported() const

ovoid setSecondaryColorPointer( GLint size, GLenum type, GLsizei stride, const GLvoid* ptr )
wrapper around glEnableClientState(GL_SECONDARY_COLOR_ARRAY);glSecondayColorPointer(); note, only updates values that change

oinline void disableSecondaryColorPointer()
wrapper around glDisableClientState(GL_SECONDARY_COLOR_ARRAY); note, only updates values that change

oinline void dirtySecondaryColorPointer()

oinline void setIndexPointer( GLenum type, GLsizei stride, const GLvoid* ptr )
wrapper around glEnableClientState(GL_INDEX_ARRAY);glIndexPointer(); note, only updates values that change

oinline void disableIndexPointer()
wrapper around glDisableClientState(GL_INDEX_ARRAY); note, only updates values that change

oinline void dirtyIndexPointer()

oinline bool isFogCoordSupported() const

ovoid setFogCoordPointer( GLenum type, GLsizei stride, const GLvoid* ptr )
wrapper around glEnableClientState(GL_FOG_COORDINATE_ARRAY);glFogCoordPointer(); note, only updates values that change

oinline void disableFogCoordPointer()
wrapper around glDisableClientState(GL_FOG_COORDINATE_ARRAY); note, only updates values that change

oinline void dirtyFogCoordPointer()

oinline void setTexCoordPointer( unsigned int unit, GLint size, GLenum type, GLsizei stride, const GLvoid* ptr )
wrapper around glEnableClientState(GL_TEXTURE_COORD_ARRAY);glTexCoordPointer(); note, only updates values that change

oinline void disableTexCoordPointer( unsigned int unit )
wrapper around glDisableClientState(GL_TEXTURE_COORD_ARRAY); note, only updates values that change

oinline void dirtyTexCoordPointer( unsigned int unit )

oinline void disableTexCoordPointersAboveAndIncluding( unsigned int unit )

oinline void dirtyTexCoordPointersAboveAndIncluding( unsigned int unit )

obool setClientActiveTextureUnit( unsigned int unit )
set the current tex coord array texture unit, return true if selected, false if selection failed such as when multitexturing is not supported. note, only updates values that change.

obool setActiveTextureUnit( unsigned int unit )
set the current texture unit, return true if selected, false if selection failed such as when multitexturing is not supported. note, only updates values that change.

ovoid setVertexAttribPointer( unsigned int index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr )
wrapper around glEnableVertexAttribArrayARB(index);glVertexAttribPointerARB(); note, only updates values that change

ovoid disableVertexAttribPointer( unsigned int index )
wrapper around DisableVertexAttribArrayARB(index); note, only updates values that change

ovoid disableVertexAttribPointersAboveAndIncluding( unsigned int index )

oinline void dirtyVertexAttribPointersAboveAndIncluding( unsigned int index )

obool isVertexBufferObjectSupported() const

oinline void setContextID(unsigned int contextID)
Set the current OpenGL context uniqueID. Note, it is the application developers responsibility to set up unique ID for each OpenGL context. This value is then used by osg::StateAttribure's and osg::Drawable's to help manage OpenGL display list and texture binds appropriate for each context, the contextID simply acts as an index local arrays that they maintain for the purpose. Typical settings for contextID are 0,1,2,3... up to the maximum number of graphics contexts you have setup. By default contextID is 0.

oinline unsigned int getContextID() const
Get the current OpenGL context unique ID

oinline void setFrameStamp(FrameStamp* fs)
Set the frame stamp for the current frame

oinline const FrameStamp* getFrameStamp() const
Set the frame stamp for the current frame

oinline void setDisplaySettings(DisplaySettings* vs)
Set the DisplaySettings. Note, nothing is applied, the visual settings are just used used in the State object to pass the current visual settings to Drawables during rendering.

oinline const DisplaySettings* getDisplaySettings() const
Get the DisplaySettings

otypedef std::pair<const StateAttribute*,StateAttribute::OverrideValue> AttributePair

otypedef std::vector<AttributePair> AttributeVec

otypedef std::vector<StateAttribute::GLModeValue> ValueVec

ovoid setAbortRenderingPtr(bool* abortPtr)
Set flag for early termination of the draw traversal

obool getAbortRendering() const
Get flag for early termination of the draw traversal, if true steps should be taken to complete rendering early

ovoid setReportGLErrors(bool flag)

obool getReportGLErrors() const

obool checkGLErrors(const char* str) const

obool checkGLErrors(StateAttribute::GLMode mode) const

obool checkGLErrors(const StateAttribute* attribute) const

ovirtual ~State()

ounsigned int _contextID

oref_ptr<FrameStamp> _frameStamp

oref_ptr<const RefMatrix> _identity

oref_ptr<const RefMatrix> _initialViewMatrix

oref_ptr<const RefMatrix> _projection

oref_ptr<const RefMatrix> _modelView

oMatrix _initialInverseViewMatrix

oref_ptr<DisplaySettings> _displaySettings

obool* _abortRenderingPtr

obool _reportGLErrors

ostruct ModeStack

o ModeStack()

obool changed

obool last_applied_value

obool global_default_value

oValueVec valueVec

ostruct AttributeStack

o AttributeStack()

obool changed
apply an attribute if required, passing in attribute and appropriate attribute stack

oconst StateAttribute* last_applied_attribute

oref_ptr<StateAttribute> global_default_attribute

oAttributeVec attributeVec

oinline bool applyMode(StateAttribute::GLMode mode, bool enabled, ModeStack& ms)
apply an OpenGL mode if required, passing in mode, enable flag and appropriate mode stack

oinline bool applyAttribute(const StateAttribute* attribute, AttributeStack& as)
apply an attribute if required, passing in attribute and appropriate attribute stack

oinline bool applyGlobalDefaultAttribute(AttributeStack& as)

otypedef std::map<StateAttribute::GLMode,ModeStack> ModeMap

otypedef std::vector<ModeMap> TextureModeMapList

otypedef std::map<StateAttribute::Type,AttributeStack> AttributeMap

otypedef std::vector<AttributeMap> TextureAttributeMapList

otypedef std::vector<const StateSet*> StateSetStack

otypedef std::vector<ref_ptr<const Matrix> > MatrixStack

oModeMap _modeMap

oAttributeMap _attributeMap

oTextureModeMapList _textureModeMapList

oTextureAttributeMapList _textureAttributeMapList

oStateSetStack _drawStateStack

ostruct EnabledArrayPair

o EnabledArrayPair()

o EnabledArrayPair(const EnabledArrayPair& eap)

oEnabledArrayPair& operator = (const EnabledArrayPair& eap)

obool _dirty

obool _enabled

oGLboolean _normalized

oconst GLvoid* _pointer

otypedef std::vector<EnabledArrayPair> EnabledTexCoordArrayList

otypedef std::vector<EnabledArrayPair> EnabledVertexAttribArrayList

oEnabledArrayPair _vertexArray

oEnabledArrayPair _normalArray

oEnabledArrayPair _colorArray

oEnabledArrayPair _secondaryColorArray

oEnabledArrayPair _indexArray

oEnabledArrayPair _fogArray

oEnabledTexCoordArrayList _texCoordArrayList

oEnabledVertexAttribArrayList _vertexAttribArrayList

ounsigned int _currentActiveTextureUnit

ounsigned int _currentClientActiveTextureUnit

oinline ModeMap& getOrCreateTextureModeMap(unsigned int unit)

oinline AttributeMap& getOrCreateTextureAttributeMap(unsigned int unit)

ovoid haveAppliedMode(ModeMap& modeMap, StateAttribute::GLMode mode, StateAttribute::GLModeValue value)

ovoid haveAppliedMode(ModeMap& modeMap, StateAttribute::GLMode mode)

ovoid haveAppliedAttribute(AttributeMap& attributeMap, const StateAttribute* attribute)

ovoid haveAppliedAttribute(AttributeMap& attributeMap, StateAttribute::Type type)

obool getLastAppliedMode(const ModeMap& modeMap, StateAttribute::GLMode mode) const

oconst StateAttribute* getLastAppliedAttribute(const AttributeMap& attributeMap, StateAttribute::Type type) const

omutable bool _isSecondaryColorSupportResolved

omutable bool _isSecondaryColorSupported

obool computeSecondaryColorSupported() const

omutable bool _isFogCoordSupportResolved

omutable bool _isFogCoordSupported

obool computeFogCoordSupported() const

omutable bool _isVertexBufferObjectSupportResolved

omutable bool _isVertexBufferObjectSupported

obool computeVertexBufferObjectSupported() const

oinline void pushModeList(ModeMap& modeMap, const StateSet::ModeList& modeList)

oinline void pushAttributeList(AttributeMap& attributeMap, const StateSet::AttributeList& attributeList)

oinline void popModeList(ModeMap& modeMap, const StateSet::ModeList& modeList)

oinline void popAttributeList(AttributeMap& attributeMap, const StateSet::AttributeList& attributeList)

oinline void applyModeList(ModeMap& modeMap, const StateSet::ModeList& modeList)

oinline void applyAttributeList(AttributeMap& attributeMap, const StateSet::AttributeList& attributeList)

oinline void applyModeMap(ModeMap& modeMap)

oinline void applyAttributeMap(AttributeMap& attributeMap)


This class has no child classes.

Alphabetic index HTML hierarchy of classes or Java



This page was generated with the help of DOC++.