SoGLLazyElement(3)
π SoGLLazyElement π
Library Functions Manual Β· section 3
β¨ NAME β¨
SoGLLazyElement β the class that is literally meant to optimize GL rendering. bestie it's in the name, it's lazy on purpose, it's giving efficiency queen π
πΈ SYNOPSIS πΈ
#include <Inventor/elements/SoGLLazyElement.h>
Inherits SoLazyElement. so yeah it's the GL-flavored glow-up of its parent, got it? π¦
π Public Member Functions π
okay so these are the ones you get to call on an actual instance. buckle up, there's a bunch:
virtual void init (SoState *state)β takes aSoState *state, that's all the page tells us πvirtual void push (SoState *state)β takes aSoState *statevirtual void pop (SoState *state, const SoElement *prevtopelement)β takes aSoState *stateand aconst SoElement *prevtopelementvoid sendDiffuseByIndex (const int index) constβ FIXME: write doc. (not me reading the source docs and finding this π)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β takes aSoState *stateand auint32_t bitmaskvirtual void setDiffuseElt (SoNode *, int32_t numcolors, const SbColor *colors, SoColorPacker *packer)β note that first param has no name, iconic honestlyvirtual 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)β four whole ints, we love a thorough queen π«Ά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)β the absolute main character of signatures, look at that parameter list, it ate and left no crumbs π₯virtual void setVertexOrderingElt (VertexOrdering ordering)virtual void setBackfaceCullingElt (SbBool onoff)virtual void setTwosideLightingElt (SbBool onoff)virtual void setShadeModelElt (SbBool flatshading)virtual void setGLImageIdElt (uint32_t glimageid, SbBool alphatest)virtual void setAlphaTestElt (SbBool onoff)void updateColorVBO (SoVBO *vbo)β novirtual, noconst, just vibes β¨
π§ Public Member Functions inherited from SoLazyElement π§
these come free with the family plan, no cap:
virtual SbBool matches (const SoElement *) constvirtual SoElement * copyMatchInfo (void) constint32_t getNumDiffuse (void) constint32_t getNumTransparencies (void) constint32_t getNumColorIndices (void) constSbBool isPacked (void) constSbBool isTransparent (void) constconst uint32_t * getPackedPointer (void) constconst SbColor * getDiffusePointer (void) constconst int32_t * getColorIndexPointer (void) constconst float * getTransparencyPointer (void) const
π¦ Public Member Functions inherited from SoElement π¦
and these come from the grandparent, the whole ancestry is serving:
const SoType getTypeId (void) constint getStackIndex (void) constvoid setDepth (const int depth)int getDepth (void) constvirtual void print (FILE *file=stdout) constβ default arg alert π¨ it'sstdoutvirtual ~SoElement ()β the destructor, she's virtual, she's final, she's leaving π
more of this page is coming bestie, don't go anywhere β the static ones and the enums are next π«Ά
π Detailed Description π
okay bestie, so the SoGLLazyElement class is literally here to optimize GL rendering β¨ like that's its whole job, that's its moment.
and ngl? this is just a wrap-around implementation for compatibility. it should β hopefully π₯Ί β work in the same way as the Inventor class though. fingers crossed fr fr π€
π¦ Member Function Documentation π¦
void * SoGLLazyElement::createInstance (void ) [static]
so this API member is considered internal to the library, okay? like it's not likely to be of interest to the application programmer. it's giving backstage pass only, iykyk π
void SoGLLazyElement::initClass (void ) [static]
this static method initializes static data for the SoDiffuseColorElement class. yes bestie, it really says SoDiffuseColorElement, not us β copying the source verbatim, no cap π«Ά
void SoGLLazyElement::init (SoState * state) [virtual]
this function initializes the element type in the given SoState. it gets called for the first element of each enabled element type in SoState objects. main character energy only for the first one π
reimplemented from SoLazyElement.
void SoGLLazyElement::push (SoState * state) [virtual]
this method gets called every single time a new element is required in one of the stacks. that 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 called 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. like, passing notes in class but make it C++ π
reimplemented from SoElement.
void SoGLLazyElement::reset (SoState * stateptr, uint32_t mask) 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. it's the polite thing to do bestie, tell it when you've been messing with its stuff π
void SoGLLazyElement::setDiffuseElt (SoNode * node, int32_t numcolors, const SbColor * colors, SoColorPacker * packer) [virtual]
reimplemented from SoLazyElement.
void SoGLLazyElement::setPackedElt (SoNode * node, int32_t numcolors, const uint32_t * colors, const SbBool packedtransparency) [virtual]
reimplemented from SoLazyElement.
void SoGLLazyElement::setColorIndexElt (SoNode * node, int32_t numindices, const int32_t * indices) [virtual]
reimplemented from SoLazyElement.
void SoGLLazyElement::setTranspElt (SoNode * node, int32_t numtransp, const float * transp, SoColorPacker * packer) [virtual]
reimplemented from SoLazyElement.
void SoGLLazyElement::setTranspTypeElt (int32_t type) [virtual]
reimplemented from SoLazyElement.
void SoGLLazyElement::setAmbientElt (const SbColor * color) [virtual]
reimplemented from SoLazyElement.
void SoGLLazyElement::setEmissiveElt (const SbColor * color) [virtual]
reimplemented from SoLazyElement.
void SoGLLazyElement::setSpecularElt (const SbColor * color) [virtual]
reimplemented from SoLazyElement.
void SoGLLazyElement::setShininessElt (float value) [virtual]
reimplemented from SoLazyElement.
void SoGLLazyElement::setColorMaterialElt (SbBool value) [virtual]
reimplemented from SoLazyElement.
void SoGLLazyElement::enableBlendingElt (int sfactor, int dfactor, int alpha_sfactor, int alpha_dfactor) [virtual]
reimplemented from SoLazyElement.
void SoGLLazyElement::disableBlendingElt (void ) [virtual]
reimplemented from SoLazyElement.
void SoGLLazyElement::setLightModelElt (SoState * state, int32_t model) [virtual]
reimplemented from SoLazyElement.
void SoGLLazyElement::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]
reimplemented from SoLazyElement.
void SoGLLazyElement::setVertexOrderingElt (VertexOrdering ordering) [virtual]
reimplemented from SoLazyElement.
void SoGLLazyElement::setBackfaceCullingElt (SbBool onoff) [virtual]
reimplemented from SoLazyElement.
void SoGLLazyElement::setTwosideLightingElt (SbBool onoff) [virtual]
reimplemented from SoLazyElement.
void SoGLLazyElement::setShadeModelElt (SbBool flatshading) [virtual]
reimplemented from SoLazyElement.
void SoGLLazyElement::setGLImageIdElt (uint32_t glimageid, SbBool alphatest) [virtual]
reimplemented from SoLazyElement.
void SoGLLazyElement::setAlphaTestElt (SbBool onoff) [virtual]
reimplemented from SoLazyElement.
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. it's giving family reunion but for GL state π«Ά
void SoGLLazyElement::lazyDidSet (uint32_t mask) [protected], [virtual]
reimplemented from SoLazyElement.
void SoGLLazyElement::lazyDidntSet (uint32_t mask) [protected], [virtual]
reimplemented from SoLazyElement.
πΈ Author πΈ
generated automatically by Doxygen for Coin from the source code. no human typed this by hand, it just manifested β¨
okay bestie that's the whole page, you ate that π
this was Coin, Version 3.1.3, page SoGLLazyElement(3) β go forth and optimize that GL rendering, icon ππ
π¦ where this page comes from
- fedora 43: Coin3-devel 3.1.3-40.fc43 Β· GPL-2.0-only
- fedora 43: Coin3-devel 3.1.3-40.fc43 Β· GPL-2.0-only
- fedora 44: Coin3-devel 3.1.3-42.fc44 Β· GPL-2.0-only
- fedora 44: Coin3-devel 3.1.3-42.fc44 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms