SoGLMultiTextureImageElement(3)
π SoGLMultiTextureImageElement(3) β Coin π
Okay bestie, welcome to the manual page for SoGLMultiTextureImageElement(3) from Coin. This is part 1, and it's giving big important texture energy. No cap. π
β¨ NAME β¨
SoGLMultiTextureImageElement β the class that controls the current GL texture for texture units. Periodt. π
πΈ SYNOPSIS πΈ
#include <Inventor/elements/SoGLMultiTextureImageElement.h>
Inherits SoMultiTextureImageElement. The family tree is real. π«Ά
π Classes
class GLUnitData
π«Ά Public Member Functions
virtual void init (SoState *state)virtual void push (SoState *state)virtual void pop (SoState *state, const SoElement *prevTopElement)
π
Public Member Functions inherited from SoMultiTextureImageElement
virtual SbBool matches (const SoElement *elem) constSoElement * copyMatchInfo (void) constvirtual void setElt (const int unit, const SbUniqueId nodeid, const SbVec2s &size, const int numComponents, const unsigned char *bytes, const Wrap wrapS, const Wrap wrapT, const Model model, const SbColor &blendColor)β and the docs for this one are literallyFIXME: write doc.πvirtual void setElt (const int unit, const SbUniqueId nodeid, const SbVec3s &size, const int numComponents, const unsigned char *bytes, const Wrap wrapS, const Wrap wrapT, const Wrap wrapR, const Model model, const SbColor &blendColor)
π Public Member Functions inherited from SoElement
const SoType getTypeId (void) constint getStackIndex (void) constvoid setDepth (const int depth)int getDepth (void) constvirtual void print (FILE *file=stdout) constvirtual ~SoElement ()
β Static Public Member Functions
static SoType getClassTypeId (void)static int getClassStackIndex (void)static void * createInstance (void)static void initClass (void)static void set (SoState *const state, SoNode *const node, const int unit, SoGLImage *image, const Model model, const SbColor &blendColor)static void restore (SoState *state, const int unit)static SoGLImage * get (SoState *state, const int unit, Model &model, SbColor &blendcolor)static SbBool hasTransparency (SoState *state)static void set (SoState *const state, SoNode *const node, SoGLImage *image, const Model model, const SbColor &blendColor)static SoGLImage * get (SoState *state, Model &model, SbColor &blendcolor)static int32_t getMaxGLTextureSize (void)
π Static Public Member Functions inherited from SoMultiTextureImageElement
static SoType getClassTypeId (void)static int getClassStackIndex (void)static void * createInstance (void)static void initClass (void)static void setDefault (SoState *const state, SoNode *const node, const int unit=0)static void set (SoState *const state, SoNode *const node, const int unit, const SbVec2s &size, const int numComponents, const unsigned char *bytes, const Wrap wrapS, const Wrap wrapT, const Model model, const SbColor &blendColor)βFIXME: write doc.πstatic void set (SoState *const state, SoNode *const node, const int unit, const SbVec3s &size, const int numComponents, const unsigned char *bytes, const Wrap wrapS, const Wrap wrapT, const Wrap wrapR, const Model model, const SbColor &blendColor)static const unsigned char * get (SoState *const state, const int unit, SbVec2s &size, int &numComponents, Wrap &wrapS, Wrap &wrapT, Model &model, SbColor &blendColor)βFIXME: write doc.πstatic const unsigned char * get (SoState *const state, const int unit, SbVec3s &size, int &numComponents, Wrap &wrapS, Wrap &wrapT, Wrap &wrapR, Model &model, SbColor &blendColor)static const unsigned char * getImage (SoState *const state, const int unit, SbVec2s &size, int &numComponents)static const unsigned char * getImage (SoState *const state, const int unit, SbVec3s &size, int &numComponents)static const SbColor & getBlendColor (SoState *const state, const int unit=0)static Model getModel (SoState *const state, const int unit=0)static Wrap getWrapS (SoState *const state, const int unit=0)static Wrap getWrapT (SoState *const state, const int unit=0)static Wrap getWrapR (SoState *const state, const int unit=0)static SbBool containsTransparency (SoState *const state)βFIXME: write doc.πstatic const unsigned char * getDefault (SbVec2s &size, int &numComponents)βFIXME: write doc.πstatic const unsigned char * getDefault (SbVec3s &size, int &numComponents)βFIXME: write doc.πstatic void set (SoState *const state, SoNode *const node, const SbVec2s &size, const int numComponents, const unsigned char *bytes, const int wrapS, const int wrapT, const int model, const SbColor &blendColor)static void set (SoState *const state, SoNode *const node, const SbVec2s &size, const int numComponents, const unsigned char *bytes, const Wrap wrapS, const Wrap wrapT, const Model model, const SbColor &blendColor)static void set (SoState *const state, SoNode *const node, const SbVec3s &size, const int numComponents, const unsigned char *bytes, const int wrapS, const int wrapT, const int wrapR, const int model, const SbColor &blendColor)static void set (SoState *const state, SoNode *const node, const SbVec3s &size, const int numComponents, const unsigned char *bytes, const Wrap wrapS, const Wrap wrapT, const Wrap wrapR, const Model model, const SbColor &blendColor)static const unsigned char * get (SoState *const state, SbVec2s &size, int &numComponents, Wrap &wrapS, Wrap &wrapT, Model &model, SbColor &blendColor)static const unsigned char * get (SoState *const state, SbVec3s &size, int &numComponents, Wrap &wrapS, Wrap &wrapT, Wrap &wrapR, Model &model, SbColor &blendColor)static const unsigned char * get (SoState *const state, SbVec2s &size, int &numComponents, int &wrapS, int &wrapT, int &model, SbColor &blendColor)static const unsigned char * get (SoState *const state, SbVec3s &size, int &numComponents, int &wrapS, int &wrapT, int &wrapR, int &model, SbColor &blendColor)static const unsigned char * getImage (SoState *const state, SbVec2s &size, int &numComponents)static const unsigned char * getImage (SoState *const state, SbVec3s &size, int &numComponents)
π« Static Public Member Functions inherited from SoElement
static void initClass (void)static SoType getClassTypeId (void)static int getClassStackIndex (void)static void initElements (void)static int getNumStackIndices (void)static SoType getIdFromStackIndex (const int stackIndex)
π‘οΈ Protected Member Functions
SoGLMultiTextureImageElement (void)virtual ~SoGLMultiTextureImageElement ()virtual SbBool hasTransparency (const int unit=0) const
π Protected Member Functions inherited from SoMultiTextureImageElement
virtual ~SoMultiTextureImageElement ()const UnitData & getUnitData (const int unit) constint getNumUnits () const
π Protected Member Functions inherited from SoElement
SoElement (void)void capture (SoState *const state) constvirtual void captureThis (SoState *state) constvoid setTypeId (const SoType typeId)void setStackIndex (const int index)SoElement * getNextInStack (void) constSoElement * getNextFree (void) const
π Additional Inherited Members
π Public Types inherited from SoMultiTextureImageElement
enum Model { BLEND = 0x0be2, MODULATE = 0x2100, DECAL = 0x2101, REPLACE = 0x1E01 }enum Wrap { CLAMP = 0x2900, REPEAT = 0x2901, CLAMP_TO_BORDER = 0x812D }
π§ Static Protected Member Functions inherited from SoElement
static SoElement * getElement (SoState *const state, const int stackIndex)static const SoElement * getConstElement (SoState *const state, const int stackIndex)static int createStackIndex (const SoType id)
π Protected Attributes inherited from SoElement
SoType typeIdint stackIndexint depth
πΈ Static Protected Attributes inherited from SoElement
static int classStackIndexstatic SoTypeList * stackToType
π Detailed Description π
The SoGLMultiTextureImageElement class is used to control the current GL texture for texture units.
And then the docs just say: FIXME: write doc. β not me being shady, that's literally what it says. π
π οΈ Constructor & Destructor Documentation π οΈ
SoGLMultiTextureImageElement::SoGLMultiTextureImageElement (void )
[protected]
Constructor.
SoGLMultiTextureImageElement::~SoGLMultiTextureImageElement (void )
[protected], [virtual]
Destructor.
π Member Function Documentation π
okay bestie, this is the part where we meet the actual functions, and there are a lot of them, but every single one is here, no cap π«Ά
β static SoType SoGLMultiTextureImageElement::getClassTypeId(void) β
It's giving "who am I" energy. This static method returns the SoType object associated with objects of this class. That's it, that's the whole vibe π
πΈ static int SoGLMultiTextureImageElement::getClassStackIndex(void) πΈ
This static method returns the state stack index for the class. Very demure, very mindful, very index-y π
π§ static void * SoGLMultiTextureImageElement::createInstance(void) π§
heads up bestie: this API member is considered internal to the library, as it is not likely to be of interest to the application programmer. iykyk, it's not for us π
It creates a new instance of the class type corresponding to the SoType object. iconic behaviour, honestly.
π static void SoGLMultiTextureImageElement::initClass(void) π
Initialize relevant common data for all instances, like the type system. Basically the group chat gets created and everyone gets added β¨
π virtual void SoGLMultiTextureImageElement::init(SoState * state) π
Initializes the element to its default value. Setting the vibes to factory settings, as one does π
Reimplemented from SoMultiTextureImageElement.
π₯ virtual void SoGLMultiTextureImageElement::push(SoState * state) π₯
okay so this one is main character energy. 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 SoMultiTextureImageElement.
π virtual void SoGLMultiTextureImageElement::pop(SoState * state, const SoElement * prevTopElement) π
The reverse glow-up. 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. Passing the baton, but make it Unix π
Reimplemented from SoElement.
β¨ static void SoGLMultiTextureImageElement::set(SoState *const state, SoNode *const node, const int unit, SoGLImage * image, const Model model, const SbColor & blendColor) β¨
Sets the current texture. Id didapply is TRUE, it is assumed that the texture image already is the current GL texture.
do NOT use this feature unless you know what you're doing. fr fr, this is not a vibe-check-it-later situation, this is a know-what-you're-doing situation π
π¦ static SbBool SoGLMultiTextureImageElement::hasTransparency(SoState * state) π¦
Returns TRUE if any of the images have at least one transparent pixel. Peeking through the see-through-ness π
Since
Coin 3.1
π virtual SbBool SoGLMultiTextureImageElement::hasTransparency(const int unit = 0) const π β also marked [protected]
Called by containsTransparency(). Returns TRUE if image data has transparency.
ngl, the default method does a very poor job of detecting this, since it returns TRUE when the number of components are 2 or 4. Override whenever it is important to know this β and fun fact, SoGLTextureImageElement overrides it to avoid transparency handling where possible π
Reimplemented from SoMultiTextureImageElement.
π static int32_t SoGLMultiTextureImageElement::getMaxGLTextureSize(void) π
The size returned by this function will just be a very coarse estimate, as it only uses the more or less obsoleted technique of calling glGetIntegerv(GL_MAX_TEXTURE_SIZE). It's giving "close enough" π«
For a better estimate, use SoGLTextureImageElement::isTextureSizeLegal().
important: note that this function needs an OpenGL context to be made current for it to work. Without that, you will most likely get a faulty return value or even a crash. π not the crash. please make the context current first bestie.
π Author π
Generated automatically by Doxygen for Coin from the source code. so technically not a human author, which is very 2026 of it π€β¨
and that's a wrap on the whole page, bestie!! this was Version 4.0.10, dated Thu Jun 25 2026, brought to you by the fine folks behind SoGLMultiTextureImageElement(3). slay, periodt, go forth and texture responsibly π
ππ¦
π¦ where this page comes from
- fedora 43: Coin4-devel 4.0.10-1.fc43 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 43: Coin4-devel 4.0.10-1.fc43 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 44: Coin4-devel 4.0.10-1.fc44 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 44: Coin4-devel 4.0.10-1.fc44 Β· BSD-3-Clause AND GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms