.TH "SoGLLazyElement" 3 "Tue Jun 23 2026 23:48:38" "Version 4.0.10" "Coin" \" -*- nroff -*- .ad l .nh .SH NAME SoGLLazyElement \- The \fBSoGLLazyElement\fP class is meant to optimize GL rendering\&. .SH SYNOPSIS .br .PP .PP \fR#include \fP .PP Inherits \fBSoLazyElement\fP\&. .SS "Classes" .in +1c .ti -1c .RI "struct \fBGLState\fP" .br .in -1c .SS "Public Member Functions" .in +1c .ti -1c .RI "virtual void \fBinit\fP (\fBSoState\fP *state)" .br .ti -1c .RI "virtual void \fBpush\fP (\fBSoState\fP *state)" .br .ti -1c .RI "virtual void \fBpop\fP (\fBSoState\fP *state, const \fBSoElement\fP *prevtopelement)" .br .ti -1c .RI "void \fBsendDiffuseByIndex\fP (const int index) const" .br .RI "FIXME: write doc\&. " .ti -1c .RI "void \fBsend\fP (const \fBSoState\fP *state, uint32_t mask) const" .br .RI "FIXME: write doc\&. " .ti -1c .RI "void \fBsendVPPacked\fP (\fBSoState\fP *state, const unsigned char *pcolor)" .br .RI "FIXME: write doc\&. " .ti -1c .RI "void \fBreset\fP (\fBSoState\fP *state, uint32_t bitmask) const" .br .ti -1c .RI "virtual void \fBsetDiffuseElt\fP (\fBSoNode\fP *, int32_t numcolors, const \fBSbColor\fP *colors, \fBSoColorPacker\fP *packer)" .br .ti -1c .RI "virtual void \fBsetPackedElt\fP (\fBSoNode\fP *node, int32_t numcolors, const uint32_t *colors, const SbBool packedtransparency)" .br .ti -1c .RI "virtual void \fBsetColorIndexElt\fP (\fBSoNode\fP *node, int32_t numindices, const int32_t *indices)" .br .ti -1c .RI "virtual void \fBsetTranspElt\fP (\fBSoNode\fP *node, int32_t numtransp, const float *transp, \fBSoColorPacker\fP *packer)" .br .ti -1c .RI "virtual void \fBsetTranspTypeElt\fP (int32_t type)" .br .ti -1c .RI "virtual void \fBsetAmbientElt\fP (const \fBSbColor\fP *color)" .br .ti -1c .RI "virtual void \fBsetEmissiveElt\fP (const \fBSbColor\fP *color)" .br .ti -1c .RI "virtual void \fBsetSpecularElt\fP (const \fBSbColor\fP *color)" .br .ti -1c .RI "virtual void \fBsetShininessElt\fP (float value)" .br .ti -1c .RI "virtual void \fBsetColorMaterialElt\fP (SbBool value)" .br .ti -1c .RI "virtual void \fBenableBlendingElt\fP (int sfactor, int dfactor, int alpha_sfactor, int alpha_dfactor)" .br .ti -1c .RI "virtual void \fBdisableBlendingElt\fP (void)" .br .ti -1c .RI "virtual void \fBsetLightModelElt\fP (\fBSoState\fP *state, int32_t model)" .br .ti -1c .RI "virtual void \fBsetMaterialElt\fP (\fBSoNode\fP *node, uint32_t bitmask, \fBSoColorPacker\fP *packer, const \fBSbColor\fP *diffuse, const int numdiffuse, const float *transp, const int numtransp, const \fBSbColor\fP &ambient, const \fBSbColor\fP &emissive, const \fBSbColor\fP &specular, const float shininess, const SbBool istransparent)" .br .ti -1c .RI "virtual void \fBsetVertexOrderingElt\fP (VertexOrdering ordering)" .br .ti -1c .RI "virtual void \fBsetBackfaceCullingElt\fP (SbBool onoff)" .br .ti -1c .RI "virtual void \fBsetTwosideLightingElt\fP (SbBool onoff)" .br .ti -1c .RI "virtual void \fBsetShadeModelElt\fP (SbBool flatshading)" .br .ti -1c .RI "virtual void \fBsetAlphaTestElt\fP (int func, float value)" .br .ti -1c .RI "void \fBupdateColorVBO\fP (SoVBO *vbo)" .br .in -1c Public Member Functions inherited from \fBSoLazyElement\fP .in +1c .ti -1c .RI "virtual SbBool \fBmatches\fP (const \fBSoElement\fP *) const" .br .ti -1c .RI "virtual \fBSoElement\fP * \fBcopyMatchInfo\fP (void) const" .br .ti -1c .RI "int32_t \fBgetNumDiffuse\fP (void) const" .br .ti -1c .RI "int32_t \fBgetNumTransparencies\fP (void) const" .br .ti -1c .RI "int32_t \fBgetNumColorIndices\fP (void) const" .br .ti -1c .RI "SbBool \fBisPacked\fP (void) const" .br .ti -1c .RI "SbBool \fBisTransparent\fP (void) const" .br .ti -1c .RI "const uint32_t * \fBgetPackedPointer\fP (void) const" .br .ti -1c .RI "const \fBSbColor\fP * \fBgetDiffusePointer\fP (void) const" .br .ti -1c .RI "const int32_t * \fBgetColorIndexPointer\fP (void) const" .br .ti -1c .RI "const float * \fBgetTransparencyPointer\fP (void) const" .br .in -1c Public Member Functions inherited from \fBSoElement\fP .in +1c .ti -1c .RI "const \fBSoType\fP \fBgetTypeId\fP (void) const" .br .ti -1c .RI "int \fBgetStackIndex\fP (void) const" .br .ti -1c .RI "void \fBsetDepth\fP (const int \fBdepth\fP)" .br .ti -1c .RI "int \fBgetDepth\fP (void) const" .br .ti -1c .RI "virtual void \fBprint\fP (FILE *file=stdout) const" .br .ti -1c .RI "virtual \fB~SoElement\fP ()" .br .in -1c .SS "Static Public Member Functions" .in +1c .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static int \fBgetClassStackIndex\fP (void)" .br .ti -1c .RI "static void * \fBcreateInstance\fP (void)" .br .ti -1c .RI "static void \fBinitClass\fP ()" .br .ti -1c .RI "static void \fBsendAllMaterial\fP (\fBSoState\fP *state)" .br .RI "FIXME: write doc\&. " .ti -1c .RI "static void \fBsendNoMaterial\fP (\fBSoState\fP *state)" .br .RI "FIXME: write doc\&. " .ti -1c .RI "static void \fBsendOnlyDiffuseColor\fP (\fBSoState\fP *state)" .br .RI "FIXME: write doc\&. " .ti -1c .RI "static void \fBsendLightModel\fP (\fBSoState\fP *state, const int32_t model)" .br .ti -1c .RI "static void \fBsendPackedDiffuse\fP (\fBSoState\fP *state, const uint32_t diffuse)" .br .ti -1c .RI "static void \fBsendFlatshading\fP (\fBSoState\fP *state, const SbBool onoff)" .br .ti -1c .RI "static void \fBsendVertexOrdering\fP (\fBSoState\fP *state, const VertexOrdering ordering)" .br .ti -1c .RI "static void \fBsendTwosideLighting\fP (\fBSoState\fP *state, const SbBool onoff)" .br .ti -1c .RI "static void \fBsendBackfaceCulling\fP (\fBSoState\fP *state, const SbBool onoff)" .br .ti -1c .RI "static SbBool \fBisColorIndex\fP (\fBSoState\fP *state)" .br .RI "FIXME: write doc\&. " .ti -1c .RI "static \fBSoGLLazyElement\fP * \fBgetInstance\fP (const \fBSoState\fP *state)" .br .RI "FIXME: write doc\&. " .ti -1c .RI "static void \fBbeginCaching\fP (\fBSoState\fP *state, \fBSoGLLazyElement::GLState\fP *prestate, \fBSoGLLazyElement::GLState\fP *poststate)" .br .ti -1c .RI "static void \fBendCaching\fP (\fBSoState\fP *state)" .br .ti -1c .RI "static SbBool \fBpreCacheCall\fP (const \fBSoState\fP *state, const \fBSoGLLazyElement::GLState\fP *prestate)" .br .ti -1c .RI "static void \fBpostCacheCall\fP (const \fBSoState\fP *state, const \fBSoGLLazyElement::GLState\fP *poststate)" .br .ti -1c .RI "static void \fBmergeCacheInfo\fP (\fBSoState\fP *state, \fBSoGLLazyElement::GLState\fP *childprestate, \fBSoGLLazyElement::GLState\fP *childpoststate)" .br .in -1c Static Public Member Functions inherited from \fBSoLazyElement\fP .in +1c .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static int \fBgetClassStackIndex\fP (void)" .br .ti -1c .RI "static void * \fBcreateInstance\fP (void)" .br .ti -1c .RI "static void \fBinitClass\fP ()" .br .ti -1c .RI "static void \fBsetToDefault\fP (\fBSoState\fP *state)" .br .ti -1c .RI "static void \fBsetDiffuse\fP (\fBSoState\fP *state, \fBSoNode\fP *node, int32_t numcolors, const \fBSbColor\fP *colors, \fBSoColorPacker\fP *packer)" .br .ti -1c .RI "static void \fBsetTransparency\fP (\fBSoState\fP *state, \fBSoNode\fP *node, int32_t numvalues, const float *transparency, \fBSoColorPacker\fP *packer)" .br .ti -1c .RI "static void \fBsetPacked\fP (\fBSoState\fP *state, \fBSoNode\fP *node, int32_t numcolors, const uint32_t *colors, const SbBool packedtransparency=FALSE)" .br .ti -1c .RI "static void \fBsetColorIndices\fP (\fBSoState\fP *state, \fBSoNode\fP *node, int32_t numindices, const int32_t *indices)" .br .ti -1c .RI "static void \fBsetAmbient\fP (\fBSoState\fP *state, const \fBSbColor\fP *color)" .br .ti -1c .RI "static void \fBsetEmissive\fP (\fBSoState\fP *state, const \fBSbColor\fP *color)" .br .ti -1c .RI "static void \fBsetSpecular\fP (\fBSoState\fP *state, const \fBSbColor\fP *color)" .br .ti -1c .RI "static void \fBsetShininess\fP (\fBSoState\fP *state, float value)" .br .ti -1c .RI "static void \fBsetColorMaterial\fP (\fBSoState\fP *state, SbBool value)" .br .ti -1c .RI "static void \fBenableBlending\fP (\fBSoState\fP *state, int sfactor, int dfactor)" .br .ti -1c .RI "static void \fBenableSeparateBlending\fP (\fBSoState\fP *state, int sfactor, int dfactor, int alpha_sfactor, int alpha_dfactor)" .br .ti -1c .RI "static void \fBdisableBlending\fP (\fBSoState\fP *state)" .br .ti -1c .RI "static void \fBsetLightModel\fP (\fBSoState\fP *state, const int32_t model)" .br .ti -1c .RI "static void \fBsetVertexOrdering\fP (\fBSoState\fP *state, VertexOrdering ordering)" .br .ti -1c .RI "static void \fBsetBackfaceCulling\fP (\fBSoState\fP *state, SbBool onoff)" .br .ti -1c .RI "static void \fBsetTwosideLighting\fP (\fBSoState\fP *state, SbBool onoff)" .br .ti -1c .RI "static void \fBsetShadeModel\fP (\fBSoState\fP *state, SbBool flatshading)" .br .ti -1c .RI "static void \fBsetAlphaTest\fP (\fBSoState\fP *state, int func, float value)" .br .ti -1c .RI "static const \fBSbColor\fP & \fBgetDiffuse\fP (\fBSoState\fP *state, int index)" .br .ti -1c .RI "static float \fBgetTransparency\fP (\fBSoState\fP *, int index)" .br .ti -1c .RI "static const uint32_t * \fBgetPackedColors\fP (\fBSoState\fP *)" .br .ti -1c .RI "static const int32_t * \fBgetColorIndices\fP (\fBSoState\fP *)" .br .ti -1c .RI "static int32_t \fBgetColorIndex\fP (\fBSoState\fP *, int num)" .br .ti -1c .RI "static const \fBSbColor\fP & \fBgetAmbient\fP (\fBSoState\fP *)" .br .ti -1c .RI "static const \fBSbColor\fP & \fBgetEmissive\fP (\fBSoState\fP *)" .br .ti -1c .RI "static const \fBSbColor\fP & \fBgetSpecular\fP (\fBSoState\fP *)" .br .ti -1c .RI "static float \fBgetShininess\fP (\fBSoState\fP *)" .br .ti -1c .RI "static SbBool \fBgetColorMaterial\fP (\fBSoState\fP *)" .br .ti -1c .RI "static SbBool \fBgetBlending\fP (\fBSoState\fP *, int &sfactor, int &dfactor)" .br .ti -1c .RI "static SbBool \fBgetAlphaBlending\fP (\fBSoState\fP *, int &sfactor, int &dfactor)" .br .ti -1c .RI "static int32_t \fBgetLightModel\fP (\fBSoState\fP *)" .br .ti -1c .RI "static int \fBgetAlphaTest\fP (\fBSoState\fP *state, float &value)" .br .ti -1c .RI "static SbBool \fBgetTwoSidedLighting\fP (\fBSoState\fP *state)" .br .ti -1c .RI "static \fBSoLazyElement\fP * \fBgetInstance\fP (\fBSoState\fP *state)" .br .ti -1c .RI "static float \fBgetDefaultAmbientIntensity\fP (void)" .br .ti -1c .RI "static \fBSbColor\fP \fBgetDefaultDiffuse\fP (void)" .br .ti -1c .RI "static \fBSbColor\fP \fBgetDefaultAmbient\fP (void)" .br .ti -1c .RI "static \fBSbColor\fP \fBgetDefaultSpecular\fP (void)" .br .ti -1c .RI "static \fBSbColor\fP \fBgetDefaultEmissive\fP (void)" .br .ti -1c .RI "static float \fBgetDefaultShininess\fP (void)" .br .ti -1c .RI "static uint32_t \fBgetDefaultPacked\fP (void)" .br .ti -1c .RI "static float \fBgetDefaultTransparency\fP (void)" .br .ti -1c .RI "static int32_t \fBgetDefaultLightModel\fP (void)" .br .ti -1c .RI "static int32_t \fBgetDefaultColorIndex\fP (void)" .br .ti -1c .RI "static void \fBsetMaterials\fP (\fBSoState\fP *state, \fBSoNode\fP *node, uint32_t bitmask, \fBSoColorPacker\fP *cPacker, const \fBSbColor\fP *diffuse, const int numdiffuse, const float *transp, const int numtransp, const \fBSbColor\fP &ambient, const \fBSbColor\fP &emissive, const \fBSbColor\fP &specular, const float shininess, const SbBool istransparent)" .br .ti -1c .RI "static \fBSoLazyElement\fP * \fBgetWInstance\fP (\fBSoState\fP *state)" .br .ti -1c .RI "static void \fBsetTransparencyType\fP (\fBSoState\fP *state, int32_t type)" .br .in -1c Static Public Member Functions inherited from \fBSoElement\fP .in +1c .ti -1c .RI "static void \fBinitClass\fP (void)" .br .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static int \fBgetClassStackIndex\fP (void)" .br .ti -1c .RI "static void \fBinitElements\fP (void)" .br .ti -1c .RI "static int \fBgetNumStackIndices\fP (void)" .br .ti -1c .RI "static \fBSoType\fP \fBgetIdFromStackIndex\fP (const int \fBstackIndex\fP)" .br .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "\fB~SoGLLazyElement\fP ()" .br .ti -1c .RI "virtual void \fBlazyDidSet\fP (uint32_t mask)" .br .ti -1c .RI "virtual void \fBlazyDidntSet\fP (uint32_t mask)" .br .in -1c Protected Member Functions inherited from \fBSoLazyElement\fP .in +1c .ti -1c .RI "\fB~SoLazyElement\fP ()" .br .in -1c Protected Member Functions inherited from \fBSoElement\fP .in +1c .ti -1c .RI "\fBSoElement\fP (void)" .br .ti -1c .RI "void \fBcapture\fP (\fBSoState\fP *const state) const" .br .ti -1c .RI "virtual void \fBcaptureThis\fP (\fBSoState\fP *state) const" .br .ti -1c .RI "void \fBsetTypeId\fP (const \fBSoType\fP \fBtypeId\fP)" .br .ti -1c .RI "void \fBsetStackIndex\fP (const int index)" .br .ti -1c .RI "\fBSoElement\fP * \fBgetNextInStack\fP (void) const" .br .ti -1c .RI "\fBSoElement\fP * \fBgetNextFree\fP (void) const" .br .in -1c .SS "Additional Inherited Members" Public Types inherited from \fBSoLazyElement\fP .in +1c .ti -1c .RI "enum \fBcases\fP { \fBLIGHT_MODEL_CASE\fP = 0, \fBCOLOR_MATERIAL_CASE\fP, \fBDIFFUSE_CASE\fP, \fBAMBIENT_CASE\fP, \fBEMISSIVE_CASE\fP, \fBSPECULAR_CASE\fP, \fBSHININESS_CASE\fP, \fBBLENDING_CASE\fP, \fBTRANSPARENCY_CASE\fP, \fBVERTEXORDERING_CASE\fP, \fBTWOSIDE_CASE\fP, \fBCULLING_CASE\fP, \fBSHADE_MODEL_CASE\fP, \fBALPHATEST_CASE\fP, \fBGLIMAGE_CASE\fP, \fBLAZYCASES_LAST\fP }" .br .ti -1c .RI "enum \fBmasks\fP { \fBLIGHT_MODEL_MASK\fP = 1 << LIGHT_MODEL_CASE, \fBCOLOR_MATERIAL_MASK\fP = 1 << COLOR_MATERIAL_CASE, \fBDIFFUSE_MASK\fP = 1 << DIFFUSE_CASE, \fBAMBIENT_MASK\fP = 1 << AMBIENT_CASE, \fBEMISSIVE_MASK\fP = 1<