Public Types |
typedef std::pair< const StateAttribute *,
StateAttribute::OverrideValue > | AttributePair |
| typedef std::vector< AttributePair > | AttributeVec |
| typedef std::vector< StateAttribute::GLModeValue > | ValueVec |
Public Methods |
| | State () |
| virtual | ~State () |
| void | pushStateSet (const StateSet *dstate) |
| | push stateset onto state stack.
|
| void | popStateSet () |
| | pop drawstate off state stack.
|
| void | captureCurrentState (StateSet &stateset) const |
| | copy the modes and attributes which captures the current state.
|
| void | reset () |
| | reset the state object to an empty stack.
|
| void | applyProjectionMatrix (const osg::Matrix *matrix) |
| const osg::Matrix & | getProjectionMatrix () const |
| void | applyModelViewMatrix (const osg::Matrix *matrix) |
| const osg::Matrix & | getModelViewMatrix () const |
| Polytope | getViewFrustum () const |
| void | apply (const StateSet *dstate) |
| | Apply stateset.
|
| void | apply () |
| | Apply the state.
|
| const bool | applyMode (const StateAttribute::GLMode mode, const bool enabled) |
| | Apply an OpenGL mode if required.
|
| const bool | applyTextureMode (unsigned int unit, const StateAttribute::GLMode mode, const bool enabled) |
| const bool | applyAttribute (const StateAttribute *attribute) |
| | Apply an attribute if required.
|
| const bool | applyTextureAttribute (unsigned int unit, const StateAttribute *attribute) |
| void | haveAppliedMode (const StateAttribute::GLMode mode, const StateAttribute::GLModeValue value) |
| | Mode has been set externally, update state to reflect this setting.
|
| void | haveAppliedMode (const 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(..).
|
| void | haveAppliedAttribute (const StateAttribute *attribute) |
| | Attribute has been applied externally, update state to reflect this setting.
|
| void | haveAppliedAttribute (const 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::State.apply(..).
|
| const bool | getLastAppliedMode (const StateAttribute::GLMode mode) const |
| | Get whether the current specified mode is enabled (true) or disabled (false).
|
| const StateAttribute * | getLastAppliedAttribute (const StateAttribute::Type type) const |
| | Get the current specified attribute, return NULL is one has not yet been applied.
|
| void | haveAppliedTextureMode (unsigned int unit, const StateAttribute::GLMode mode, const StateAttribute::GLModeValue value) |
| | texture Mode has been set externally, update state to reflect this setting.
|
| void | haveAppliedTextureMode (unsigned int unit, const 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(..)
|
| void | haveAppliedTextureAttribute (unsigned int unit, const StateAttribute *attribute) |
| | texture Attribute has been applied externally, update state to reflect this setting.
|
| void | haveAppliedTextureAttribute (unsigned int unit, const 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::State.apply(..).
|
| const bool | getLastAppliedTextureMode (unsigned int unit, const StateAttribute::GLMode mode) const |
| | Get whether the current specified texture mode is enabled (true) or disabled (false).
|
| const StateAttribute * | getLastAppliedTextureAttribute (unsigned int unit, const StateAttribute::Type type) const |
| | Get the current specified texture attribute, return NULL is one has not yet been applied.
|
| void | setVertexPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *ptr) |
| | wrapper around glEnableClientState(GL_VERTEX_ARRAY);glVertexPointer(..); note, only updates values that change.
|
| void | disableVertexPointer () |
| | wrapper glDisableClientState(GL_VERTEX_ARRAY).
|
| void | setNormalPointer (GLenum type, GLsizei stride, const GLvoid *ptr) |
| | wrapper around glEnableClientState(GL_NORMAL_ARRAY);glNormalPointer(..); note, only updates values that change.
|
| void | disableNormalPointer () |
| | wrapper around glDisableClientState(GL_NORMAL_ARRAY); note, only updates values that change.
|
| void | setColorPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *ptr) |
| | wrapper around glEnableClientState(GL_COLOR_ARRAY);glColorPointer(..); note, only updates values that change.
|
| void | disableColorPointer () |
| | wrapper around glDisableClientState(GL_COLOR_ARRAY); note, only updates values that change.
|
| 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.
|
| void | disableSecondaryColorPointer () |
| | wrapper around glDisableClientState(GL_SECONDARY_COLOR_ARRAY); note, only updates values that change.
|
| void | setIndexPointer (GLenum type, GLsizei stride, const GLvoid *ptr) |
| | wrapper around glEnableClientState(GL_INDEX_ARRAY);glIndexPointer(..); note, only updates values that change.
|
| void | disableIndexPointer () |
| | wrapper around glDisableClientState(GL_INDEX_ARRAY); note, only updates values that change.
|
| void | setFogCoordPointer (GLenum type, GLsizei stride, const GLvoid *ptr) |
| | wrapper around glEnableClientState(GL_FOG_COORDINATE_ARRAY);glFogCoordPointer(..); note, only updates values that change.
|
| void | disableFogCoordPointer () |
| | wrapper around glDisableClientState(GL_FOG_COORDINATE_ARRAY); note, only updates values that change.
|
| 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.
|
| void | disableTexCoordPointer (unsigned int unit) |
| | wrapper around glDisableClientState(GL_TEXTURE_COORD_ARRAY); note, only updates values that change.
|
| void | disableTexCoordPointersAboveAndIncluding (unsigned int unit) |
| 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.
|
| 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.
|
| void | setContextID (unsigned int contextID) |
| | Set the current OpenGL context uniqueID.
|
| const unsigned int | getContextID () const |
| | Get the current OpenGL context unique ID.
|
| void | setFrameStamp (FrameStamp *fs) |
| | Set the frame stamp for the current frame.
|
| const FrameStamp * | getFrameStamp () const |
| | Set the frame stamp for the current frame.
|
| void | setDisplaySettings (DisplaySettings *vs) |
| | Set the DisplaySettings.
|
| const DisplaySettings * | getDisplaySettings () const |
| | Get the DisplaySettings.
|
Lazy state updating is used to minimize state changes.