NAME¶
SoGLLazyElement -
The
SoGLLazyElement class is meant to optimize GL rendering.
This is just a wrap-around implementation for compatibility. It should
(hopefully) work in the same way as the Inventor class though.
SYNOPSIS¶
#include <Inventor/elements/SoGLLazyElement.h>
Inherits
SoLazyElement.
Public Member Functions¶
virtual void
init (
SoState *state)
virtual void
push (
SoState *state)
virtual void
pop (
SoState *state, const
SoElement
*prevtopelement)
void
sendDiffuseByIndex (const int index) const
FIXME: write doc. void
send (const
SoState *state,
uint32_t mask) const
FIXME: write doc. void
sendVPPacked (
SoState *state, const
unsigned char *pcolor)
FIXME: write doc. void
reset (
SoState *state, uint32_t
bitmask) const
virtual void
setDiffuseElt (
SoNode *, int32_t numcolors, const
SbColor *colors, SoColorPacker *packer)
virtual void
setPackedElt (
SoNode *node, int32_t numcolors, const
uint32_t *colors, const SbBool packedtransparency)
virtual void
setColorIndexElt (
SoNode *node, int32_t numindices,
const int32_t *indices)
virtual void
setTranspElt (
SoNode *node, int32_t numtransp, const
float *transp, SoColorPacker *packer)
virtual void
setTranspTypeElt (int32_t type)
virtual void
setAmbientElt (const
SbColor *color)
virtual void
setEmissiveElt (const
SbColor *color)
virtual void
setSpecularElt (const
SbColor *color)
virtual void
setShininessElt (float value)
virtual void
setColorMaterialElt (SbBool value)
virtual void
enableBlendingElt (int sfactor, int dfactor, int
alpha_sfactor, int alpha_dfactor)
virtual void
disableBlendingElt (void)
virtual void
setLightModelElt (
SoState *state, int32_t model)
virtual void
setMaterialElt (
SoNode *node, uint32_t bitmask,
SoColorPacker *packer, const
SbColor *diffuse, const int numdiffuse,
const float *transp, const int numtransp, const
SbColor &ambient,
const
SbColor &emissive, const
SbColor &specular, const
float shininess, const SbBool istransparent)
virtual void
setVertexOrderingElt (VertexOrdering ordering)
virtual void
setBackfaceCullingElt (SbBool onoff)
virtual void
setTwosideLightingElt (SbBool onoff)
virtual void
setShadeModelElt (SbBool flatshading)
virtual void
setAlphaTestElt (int func, float value)
void
updateColorVBO (SoVBO *vbo)
Static Public Member Functions¶
static
SoType getClassTypeId (void)
static int
getClassStackIndex (void)
static void *
createInstance (void)
static void
initClass ()
static void
sendAllMaterial (
SoState *state)
FIXME: write doc. static void
sendNoMaterial (
SoState
*state)
FIXME: write doc. static void
sendOnlyDiffuseColor
(
SoState *state)
FIXME: write doc. static void
sendLightModel (
SoState
*state, const int32_t model)
static void
sendPackedDiffuse (
SoState *state, const uint32_t
diffuse)
static void
sendFlatshading (
SoState *state, const SbBool onoff)
static void
sendVertexOrdering (
SoState *state, const
VertexOrdering ordering)
static void
sendTwosideLighting (
SoState *state, const SbBool
onoff)
static void
sendBackfaceCulling (
SoState *state, const SbBool
onoff)
static SbBool
isColorIndex (
SoState *state)
FIXME: write doc. static
SoGLLazyElement *
getInstance
(const
SoState *state)
FIXME: write doc. static void
beginCaching (
SoState
*state, SoGLLazyElement::GLState *prestate, SoGLLazyElement::GLState
*poststate)
static void
endCaching (
SoState *state)
static SbBool
preCacheCall (const
SoState *state, const
SoGLLazyElement::GLState *prestate)
static void
postCacheCall (const
SoState *state, const
SoGLLazyElement::GLState *poststate)
static void
mergeCacheInfo (
SoState *state,
SoGLLazyElement::GLState *childprestate, SoGLLazyElement::GLState
*childpoststate)
Protected Member Functions¶
virtual void
lazyDidSet (uint32_t mask)
virtual void
lazyDidntSet (uint32_t mask)
Additional Inherited Members¶
Detailed Description¶
The
SoGLLazyElement class is meant to optimize GL rendering.
This is just a wrap-around implementation for compatibility. It should
(hopefully) work in the same way as the Inventor class though.
Member Function Documentation¶
void * SoGLLazyElement::createInstance (void) [static]¶
This API member is considered internal to the library, as it is not likely to
be of interest to the application programmer.
void SoGLLazyElement::initClass (void) [static]¶
This static method initializes static data for the
SoDiffuseColorElement
class.
void SoGLLazyElement::init ( SoState *state) [virtual]¶
This function initializes the element type in the given
SoState. It is
called for the first element of each enabled element type in
SoState
objects.
Reimplemented from
SoLazyElement.
void SoGLLazyElement::push ( SoState *state) [virtual]¶
This method is called every time a new element is required in one of the stacks.
This happens when a writable element is requested, using
SoState::getElement() or indirectly
SoElement::getElement(), and
the depth of the current element is less than the state depth.
Override this method if your element needs to copy data from the previous top of
stack. The
push() method is called on the new element, and the previous
element can be found using
SoElement::getNextInStack().
Reimplemented from
SoLazyElement.
void SoGLLazyElement::pop ( SoState *state, const SoElement *prevTopElement) [virtual]¶
This method is callled when the state is popped, and the depth of the element is
bigger than the current state depth.
pop() is called on the new top of
stack, and a pointer to the previous top of stack is passed in
prevTopElement.
Override this method if you need to copy some state information from the
previous top of stack.
Reimplemented from
SoElement.
void SoGLLazyElement::reset ( SoState *stateptr, uint32_tmask) const¶
Reset element GL state (set state to invalid). Use this method to notify this
element when you use your own GL code that changes the OpenGL state.
void SoGLLazyElement::mergeCacheInfo ( SoState *state, SoGLLazyElement::GLState *childprestate, SoGLLazyElement::GLState *childpoststate) [static]¶
Merge cache info from a child cache (when doing nested caching) into the current
cache.
Author¶
Generated automatically by Doxygen for Coin from the source code.