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.