SoTextureCubeMap(3)

πŸ“¦
version 4.0.10 Β· 4 versions
, in fedora 43, fedora 44

πŸ’– SoTextureCubeMap β€” the Coin manual, but make it make sense πŸ’–

hiii bestie, welcome to SoTextureCubeMap(3), aka the Coin page for the node that slaps a whole cube map onto whatever shapes come after it. yes, all six faces, yes it's iconic. grab a snack, this one's a two-parter πŸ“βœ¨


🌸 NAME 🌸

SoTextureCubeMap β€” the SoTextureCubeMap class maps a cube map onto all the shape nodes that come after it in the scene. like, every face gets a face. periodt.


✨ SYNOPSIS ✨

#include <Inventor/nodes/SoTextureCubeMap.h>

it inherits from SoTexture, so it's already got the whole texture-girl family tree going on 🫢

πŸŽ€ Public Types πŸŽ€

  • enum Model { MODULATE = SoMultiTextureImageElement::MODULATE, DECAL = SoMultiTextureImageElement::DECAL, BLEND = SoMultiTextureImageElement::BLEND, REPLACE = SoMultiTextureImageElement::REPLACE } β€” the blend-mode menu, lowkey the main character of how your texture mixes with the shape's colour.
  • enum Wrap { REPEAT = SoMultiTextureImageElement::REPEAT, CLAMP = SoMultiTextureImageElement::CLAMP } β€” what happens when your texture coords run off the edge. tile it (REPEAT) or stretch the edge forever (CLAMP).

πŸ’œ Public Types inherited from SoNode πŸ’œ

enum NodeType { INVENTOR = 0x0000, VRML1 = 0x0001, VRML2 = 0x0002,
    INVENTOR_1 = 0x0004, INVENTOR_2_0 = 0x0008, INVENTOR_2_1 = 0x0010,
    INVENTOR_2_5 = 0x0020, INVENTOR_2_6 = 0x0040, COIN_1_0 = 0x0080,
    COIN_2_0 = 0x0100, EXTENSION = 0x0200, COIN_2_2 = 0x0400, COIN_2_3 =
    0x0800, COIN_2_4 = 0x1000, INVENTOR_5_0 = 0x2000, COIN_2_5 = 0x4000,
    COIN_3_0 = 0x8000, INVENTOR_6_0 = 0x10000, COIN_4_0 = 0x20000 }

a whole museum of node-flavour bit flags, inherited from the parent class. not us inventing them, they came with the family πŸ’…

πŸ”₯ Public Member Functions πŸ”₯

  • virtual SoType getTypeId (void) const β€” the "who am I" call that hands back this object's type.
  • SoTextureCubeMap (void) β€” the constructor, aka the birth of your cube-map node.
  • virtual void doAction (SoAction *action) β€” routes an action to the right place.
  • virtual void GLRender (SoGLRenderAction *action) β€” the actual render moment, it's giving main character energy.
  • virtual void callback (SoCallbackAction *action) β€” the callback-action handler.
  • virtual void rayPick (SoRayPickAction *action) β€” ray-picking handler, so your cursor can vibe with it.

πŸ’œ Public Member Functions inherited from SoNode πŸ’œ

  • void setOverride (const SbBool state) β€” flip override mode on/off.
  • SbBool isOverride (void) const β€” are we in override mode or not.
  • void setNodeType (const NodeType type) β€” set the node type.
  • NodeType getNodeType (void) const β€” read the node type back.
  • virtual SoNode * copy (SbBool copyconnections=FALSE) const β€” clone the node, with an option to drag the connections along.
  • virtual SbBool affectsState (void) const β€” does this node touch the traversal state.
  • virtual void GLRenderBelowPath (SoGLRenderAction *action) β€” render pass for below-path.
  • virtual void GLRenderInPath (SoGLRenderAction *action) β€” render pass for in-path.
  • virtual void GLRenderOffPath (SoGLRenderAction *action) β€” render pass for off-path.
  • virtual void getBoundingBox (SoGetBoundingBoxAction *action) β€” bounding-box handler.
  • virtual void getMatrix (SoGetMatrixAction *action) β€” matrix handler.
  • virtual void handleEvent (SoHandleEventAction *action) β€” event handler.
  • virtual void pick (SoPickAction *action) β€” pick handler.
  • virtual void search (SoSearchAction *action) β€” search handler.
  • virtual void write (SoWriteAction *action) β€” write handler.
  • virtual void audioRender (SoAudioRenderAction *action) β€” audio render handler.
  • virtual void getPrimitiveCount (SoGetPrimitiveCountAction *action) β€” primitive-count handler.
  • virtual void grabEventsSetup (void) β€” set up event grabbing.
  • virtual void grabEventsCleanup (void) β€” tear down event grabbing.
  • virtual void startNotify (void) β€” kick off notification.
  • SbUniqueId getNodeId (void) const β€” grab the node's unique id.
  • virtual SoChildList * getChildren (void) const β€” get the child list.
  • virtual void writeInstance (SoOutput *out) β€” write this instance out.
  • virtual SoNode * addToCopyDict (void) const β€” add this node to the copy dictionary.
  • virtual void copyContents (const SoFieldContainer *from, SbBool copyconnections) β€” copy the field contents over.
  • virtual SoFieldContainer * copyThroughConnection (void) const β€” copy through a connection.

πŸ’œ Public Member Functions inherited from SoFieldContainer πŸ’œ

  • void setToDefaults (void) β€” reset every field back to defaults.
  • SbBool hasDefaultValues (void) const β€” are all the fields still default.
  • SbBool fieldsAreEqual (const SoFieldContainer *container) const β€” do our fields match another container's.
  • void copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=FALSE) β€” copy field values from another container.
  • SbBool set (const char *const fielddata) β€” set fields from a string.
  • void get (SbString &fielddata) β€” read fields out into a string.
  • virtual int getFields (SoFieldList &l) const β€” grab the fields into a list.
  • virtual int getAllFields (SoFieldList &l) const β€” grab literally all the fields into a list.
  • virtual SoField * getField (const SbName &name) const β€” find a field by name.
  • virtual SoField * getEventIn (const SbName &name) const β€” find an event-in by name.
  • virtual SoField * getEventOut (const SbName &name) const β€” find an event-out by name.
  • SbBool getFieldName (const SoField *const field, SbName &name) const β€” reverse-lookup a field's name.
  • SbBool enableNotify (const SbBool flag) β€” toggle notifications.
  • SbBool isNotifyEnabled (void) const β€” is notification on.
  • SbBool set (const char *fielddata, SoInput *input) β€” set fields from string data with an input context.
  • void get (SbString &fielddata, SoOutput *out) β€” read fields out with an output context.
  • virtual SbBool validateNewFieldValue (SoField *field, void *newval) β€” sanity-check a new value for a field.
  • virtual void addWriteReference (SoOutput *out, SbBool isfromfield=FALSE) β€” register a write reference.
  • SbBool getIsBuiltIn (void) const β€” is this thing built in.
  • virtual void getFieldsMemorySize (size_t &managed, size_t &unmanaged) const β€” report how much memory the fields are eating, managed vs unmanaged.
  • void setUserData (void *userdata) const β€” stash your own user data pointer.
  • void * getUserData (void) const β€” get your user data pointer back out.

πŸ’œ Public Member Functions inherited from SoBase πŸ’œ

  • void ref (void) const β€” bump the reference count.
  • void unref (void) const β€” drop the reference count.
  • void unrefNoDelete (void) const β€” drop the count but don't delete.
  • int32_t getRefCount (void) const β€” how many refs are we holding.
  • void touch (void) β€” touch it, tell everyone it changed.
  • SbBool isOfType (SoType type) const β€” hands back TRUE if this object's type is either the same as type or inherits from it. bestie it's the "are you one of us" check 🫢
  • virtual SbName getName (void) const β€” get the name.
  • virtual void setName (const SbName &newname) β€” set the name.
  • void addAuditor (void *const auditor, const SoNotRec::Type type) β€” add an auditor of a given type.
  • void removeAuditor (void *const auditor, const SoNotRec::Type type) β€” remove an auditor of a given type.
  • const SoAuditorList & getAuditors (void) const β€” get the whole auditor list.
  • SbBool shouldWrite (void) β€” should this be written out.
  • void assertAlive (void) const β€” assert that this object is still alive.

⭐ Static Public Member Functions ⭐

  • static SoType getClassTypeId (void) β€” the class-level type id, static girlies only.
  • static void initClass (void) β€” sets up the initialization for data that every instance of this class shares, like handing the Coin type system all the info it needs. do this once, thank me later πŸ’…
  • static SbBool readImage (const SbString &fname, int &w, int &h, int &nc, unsigned char *&bytes) β€” read an image in from fname and fill in width, height, number of channels and the raw bytes.

⭐ Static Public Member Functions inherited from SoTexture ⭐

  • static SoType getClassTypeId (void) β€” same idea, class type id.
  • static void initClass (void) β€” sets up the initialization for data that every instance of this class shares, like handing the Coin type system all the info it needs.
  • static void cleanupClass (void) β€” the tidy-up counterpart to initClass.

⭐ Static Public Member Functions inherited from SoNode ⭐

  • static uint32_t getCompatibilityTypes (const SoType &nodetype) β€” the compatibility bitmask for a given node type.
  • static SoType getClassTypeId (void) β€” class type id again.
  • static SoNode * getByName (const SbName &name) β€” look a node up by name.
  • static int getByName (const SbName &name, SoNodeList &l) β€” look nodes up by name into a list.
  • static void initClass (void) β€” sets up the initialization for data that every instance of this class shares, like handing the Coin type system all the info it needs.
  • static void initClasses (void) β€” plural version, initializes the classes.
  • static SbUniqueId getNextNodeId (void) β€” hand out the next unique node id.
  • static int getActionMethodIndex (const SoType type) β€” the action method index for a type.
  • static void getBoundingBoxS (SoAction *action, SoNode *node) β€” static bounding-box trampoline.
  • static void GLRenderS (SoAction *action, SoNode *node) β€” static GL render trampoline.
  • static void callbackS (SoAction *action, SoNode *node) β€” static callback trampoline.
  • static void getMatrixS (SoAction *action, SoNode *node) β€” static matrix trampoline.
  • static void handleEventS (SoAction *action, SoNode *node) β€” static event trampoline.
  • static void pickS (SoAction *action, SoNode *node) β€” static pick trampoline.
  • static void rayPickS (SoAction *action, SoNode *node) β€” static ray-pick trampoline.
  • static void searchS (SoAction *action, SoNode *node) β€” static search trampoline.
  • static void writeS (SoAction *action, SoNode *node) β€” static write trampoline.
  • static void audioRenderS (SoAction *action, SoNode *node) β€” static audio render trampoline.
  • static void getPrimitiveCountS (SoAction *action, SoNode *node) β€” static primitive-count trampoline.

⭐ Static Public Member Functions inherited from SoFieldContainer ⭐

  • static void initClass (void) β€” sets up the initialization for data that every instance of this class shares, like handing the Coin type system all the info it needs.
  • static SoType getClassTypeId (void) β€” this static method hands you back the SoType object that's associated with objects of this class.
  • static void cleanupClass (void) β€” tidy up time.
  • static void initCopyDict (void) β€” set up the copy dictionary.
  • static void addCopy (const SoFieldContainer *orig, const SoFieldContainer *copy) β€” register an original β†’ copy pair.
  • static SoFieldContainer * checkCopy (const SoFieldContainer *orig) β€” check the copy dictionary for an original.
  • static SoFieldContainer * findCopy (const SoFieldContainer *orig, const SbBool copyconnections) β€” find the copy, with a connections flag.
  • static void copyDone (void) β€” we're done copying, wrap it up.

⭐ Static Public Member Functions inherited from SoBase ⭐

  • static void initClass (void) β€” sets up the initialization for data that every instance of this class shares, like handing the Coin type system all the info it needs.
  • static SoType getClassTypeId (void) β€” this static method hands you back the SoType object that's associated with objects of this class.
  • static void addName (SoBase *const base, const char *const name) β€” attach a name to a base.
  • static void removeName (SoBase *const base, const char *const name) β€” take a name off a base.
  • static void incrementCurrentWriteCounter (void) β€” bump the write counter.
  • static void decrementCurrentWriteCounter (void) β€” drop the write counter.
  • static SoBase * getNamedBase (const SbName &name, SoType type) β€” grab a named base of a type.
  • static int getNamedBases (const SbName &name, SoBaseList &baselist, SoType type) β€” grab named bases into a list.
  • static SbBool read (SoInput *input, SoBase *&base, SoType expectedtype) β€” read a base in.
  • static void setInstancePrefix (const SbString &c) β€” set the instance prefix string.
  • static void setTraceRefs (SbBool trace) β€” turn ref tracing on/off.
  • static SbBool getTraceRefs (void) β€” is ref tracing on.
  • static SbBool connectRoute (SoInput *input, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname) β€” wire up a route between two fields.
  • static SbBool readRoute (SoInput *input) β€” read a route in.

πŸ‘‘ Public Attributes πŸ‘‘

  • SoMFString filenames β€” the multi-string list of filenames for the cube map.
  • SoSFImage imagePosX β€” the image for the positive X face.
  • SoSFImage imageNegX β€” the image for the negative X face.
  • SoSFImage imagePosY β€” the image for the positive Y face.
  • SoSFImage imageNegY β€” the image for the negative Y face.
  • SoSFImage imagePosZ β€” the image for the positive Z face.
  • SoSFImage imageNegZ β€” the image for the negative Z face.
  • SoSFEnum wrapS β€” the wrap mode along S.
  • SoSFEnum wrapT β€” the wrap mode along T.
  • SoSFEnum model β€” the blend model.
  • SoSFColor blendColor β€” the colour used for blending.
six whole image fields for six whole faces, plus wrap, model and blend colour. it's giving full-coverage ✨

🌈 Protected Member Functions 🌈

  • virtual const SoFieldData * getFieldData (void) const β€” grab this class's field data.
  • virtual ~SoTextureCubeMap () β€” the destructor.
  • virtual SbBool readInstance (SoInput *in, unsigned short flags) β€” read an instance in from input.
  • virtual void notify (SoNotList *list) β€” the notification handler.
  • int getReadStatus (void) β€” read the read-status.
  • void setReadStatus (int s) β€” set the read-status.

🌈 Protected Member Functions inherited from SoNode 🌈

  • SoNode (void) β€” node constructor.
  • virtual ~SoNode () β€” node destructor.

🌈 Protected Member Functions inherited from SoFieldContainer 🌈

  • SoFieldContainer (void) β€” field container constructor.
  • virtual ~SoFieldContainer () β€” field container destructor.

🌈 Protected Member Functions inherited from SoBase 🌈

  • SoBase (void) β€” base constructor.
  • virtual ~SoBase () β€” base destructor.
  • virtual void destroy (void) β€” the destroy routine.
  • SbBool hasMultipleWriteRefs (void) const β€” does it have multiple write refs.
  • SbBool writeHeader (SoOutput *out, SbBool isgroup, SbBool isengine) const β€” write out a header.
  • void writeFooter (SoOutput *out) const β€” write out a footer.
  • virtual const char * getFileFormatName (void) const β€” the file format name.
  • virtual SoNotRec createNotRec (void) β€” create a notification record.

πŸ¦‹ Static Protected Member Functions πŸ¦‹

  • static const SoFieldData ** getFieldDataPtr (void) β€” pointer to the field data pointer.

πŸ¦‹ Static Protected Member Functions inherited from SoTexture πŸ¦‹

  • static const SoFieldData ** getFieldDataPtr (void) β€” pointer to the field data pointer.

πŸ¦‹ Static Protected Member Functions inherited from SoNode πŸ¦‹

  • static const SoFieldData ** getFieldDataPtr (void) β€” pointer to the field data pointer.
  • static void setNextActionMethodIndex (int index) β€” set the next action method index.
  • static int getNextActionMethodIndex (void) β€” get the next action method index.
  • static void incNextActionMethodIndex (void) β€” bump the next action method index.
  • static void setCompatibilityTypes (const SoType &nodetype, const uint32_t bitmask) β€” set compatibility types for a node type.

πŸ¦‹ Static Protected Member Functions inherited from SoBase πŸ¦‹

  • static uint32_t getCurrentWriteCounter (void) β€” read the current write counter.
  • static void staticDataLock (void) β€” lock the static data.
  • static void staticDataUnlock (void) β€” unlock the static data.

πŸ’€ Additional Inherited Members πŸ’€

  • Protected Types inherited from SoBase β€” enum BaseFlags { IS_ENGINE = 0x01, IS_GROUP = 0x02 }
  • Protected Attributes inherited from SoNode β€” SbUniqueId uniqueId
  • Protected Attributes inherited from SoFieldContainer β€” SbBool isBuiltIn
  • Static Protected Attributes inherited from SoNode β€” static SbUniqueId nextUniqueId = 1, static int nextActionMethodIndex = 0

okay bestie that's the whole synopsis spread, every last inherited member accounted for, nothing skipped, no cap 🧚

there's more coming in part 2 β€” so don't go anywhere, the DESCRIPTION and the rest of the lore is literally right there πŸ‘€πŸ’–

πŸ’– DESCRIPTION πŸ’–

ok so bestie, SoTextureCubeMap is the node that wraps a cube map around every shape node that comes after it. cube map = six images, one per face of a cube, and your geometry gets to wear all six like a full fit. 🧊✨

Who actually gets the lewk? Every shape node that's within the scope of your SoTextureCubeMap nodes in the scene graph β€” which means it's below the same SoSeparator and to the right hand side of the SoTextureCubeMap. Those shapes get the texture applied according to each shape type's own individual characteristics. every shape type wears it differently, iykyk.

Want the actual specifics of how the texture lands on each kind of shape? go read the docs of the shape types themselves β€” SoFaceSet, SoCube, SoSphere, etc. They spill all the tea. πŸ’…

FILE FORMAT/DEFAULTS:

TextureCubeMap {
    filenames [  ]
    imagePosX 0 0 0
    imageNegX 0 0 0
    imagePosY 0 0 0
    imageNegY 0 0 0
    imagePosZ 0 0 0
    imageNegZ 0 0 0
    wrapS REPEAT
    wrapT REPEAT
    model MODULATE
    blendColor 0 0 0
}

Since: Coin 3.0 β€” yeah she's a Coin original, not an SGI hand-me-down. πŸ‘‘


🧬 MEMBER ENUMERATION 🧬

enum SoTextureCubeMap::Model

This is the texture mapping model β€” it decides how the texture map gets "merged" with the object it's mapped onto. like, how do we blend these two worlds bestie. 🌈

  • MODULATE β€” texture color gets multiplied by the polygon color. The result will be Phong shaded (if the light model is PHONG). classic, iconic, does what it says.
  • DECAL β€” texture image overwrites polygon shading. Textured pixels will not be Phong shaded. 🚨 heads up: has undefined behaviour for grayscale and grayscale-alpha textures. proceed with caution fr.
  • BLEND β€” normally used with monochrome textures (i.e. textures with one or two components). The first component, the intensity, is then used to blend between the shaded color of the polygon and the SoTextureCubeMap::blendColor.
  • REPLACE β€” texture image overwrites polygon shading. Textured pixels will not be Phong shaded. Supports grayscale and grayscale alpha textures. This feature requires OpenGL 1.1. MODULATE will be used if OpenGL version < 1.1 is detected. (she adapts, she's flexible πŸ’…)
⚠️ bestie listen β€” using this texture model will make your Inventor files incompatible with older versions of Coin and Inventor. You need Coin >= 2.2 or TGS Inventor 4.0 to load Inventor files that use the REPLACE texture model. no cap.

enum SoTextureCubeMap::Wrap

The wrapping strategies you can use when the texture map doesn't cover the full extent of the geometry. (i.e. when your texture is smaller than the thing it's hugging.) πŸŽ€

  • REPEAT β€” repeat texture when coordinate is not between 0 and 1.
  • CLAMP β€” clamp coordinate between 0 and 1.

πŸŽ€ CONSTRUCTOR & DESTRUCTOR DOCUMENTATION πŸŽ€

SoTextureCubeMap::SoTextureCubeMap (void )

Constructor. hi bestie, she's born. ✨

SoTextureCubeMap::~SoTextureCubeMap () [protected], [virtual]

Destructor. Frees up internal resources used to store texture image data. she cleans up after herself, we love a tidy queen. 🧹


✨ MEMBER FUNCTION DOCUMENTATION ✨

SoType SoTextureCubeMap::getClassTypeId (void ) [static]

This static method returns the SoType object associated with objects of this class. your girl's official ID card. πŸͺͺ

SoType SoTextureCubeMap::getTypeId (void ) const [virtual]

Returns the type identification of an object derived from a class inheriting SoBase. This is used for runtime type checking and "downward" casting.

Reimplemented from SoTexture.

const SoFieldData ** SoTextureCubeMap::getFieldDataPtr (void ) [static], [protected]

This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.

Returns the SoFieldData class which holds information about fields in this node.

const SoFieldData * SoTextureCubeMap::getFieldData (void ) const [protected], [virtual]

Returns a pointer to the class-wide field data storage object for this instance. If no fields are present, returns NULL.

Reimplemented from SoTexture.

void SoTextureCubeMap::doAction (SoAction * action) [virtual]

This function performs the typical operation of a node for any action.

Reimplemented from SoTexture.

void SoTextureCubeMap::GLRender (SoGLRenderAction * action) [virtual]

Action method for the SoGLRenderAction.

This is called during rendering traversals. Nodes influencing the rendering state in any way or want to throw geometry primitives at OpenGL override this method.

Reimplemented from SoTexture.

void SoTextureCubeMap::callback (SoCallbackAction * action) [virtual]

Action method for SoCallbackAction.

Simply updates the state according to how the node behaves for the render action, so the application programmer can use the SoCallbackAction for extracting information about the scene graph.

Reimplemented from SoTexture.

void SoTextureCubeMap::rayPick (SoRayPickAction * action) [virtual]

Action method for SoRayPickAction.

Checks the ray specification of the action and tests for intersection with the data of the node.

Nodes influencing relevant state variables for how picking is done also override this method.

Reimplemented from SoNode.

SbBool SoTextureCubeMap::readImage (const SbString & fname, int & w, int & h, int & nc, unsigned char *& bytes) [static]

Not implemented in Coin; should probably not have been public in the original SGI Open Inventor API. We'll consider to implement it if requested. (so like, don't hold your breath, but also β€” ask and maybe? πŸ™ˆ)

SbBool SoTextureCubeMap::readInstance (SoInput * in, unsigned short flags) [protected], [virtual]

This method is mainly intended for internal use during file import operations.

It reads a definition of an instance from the input stream in. The input stream state points to the start of a serialized / persistent representation of an instance of this class type.

TRUE or FALSE is returned, depending on if the instantiation and configuration of the new object of this class type went OK or not. The import process should be robust and handle corrupted input streams by returning FALSE.

flags is used internally during binary import when reading user extension nodes, group nodes or engines.

Reimplemented from SoNode.

void SoTextureCubeMap::notify (SoNotList * l) [protected], [virtual]

Notifies all auditors for this instance when changes are made. she's a gossip, but make it productive. πŸ“£

Reimplemented from SoNode.

int SoTextureCubeMap::getReadStatus (void ) [protected]

Returns read status. 1 for success, 0 for failure.

void SoTextureCubeMap::setReadStatus (int s) [protected]

Sets read status.

See also: getReadStatus()


πŸ“ MEMBER DATA DOCUMENTATION πŸ“

SoMFString SoTextureCubeMap::filenames

The filenames in this order: negx, posx, negy, posy, negz, posz. πŸ—‚οΈ order matters bestie, don't shuffle them.

SoSFImage SoTextureCubeMap::imagePosX

The pos-x image.

SoSFImage SoTextureCubeMap::imageNegX

The neg-x image.

SoSFImage SoTextureCubeMap::imagePosY

The pos-y image.

SoSFImage SoTextureCubeMap::imageNegY

The neg-y image.

SoSFImage SoTextureCubeMap::imagePosZ

The pos-z image.

SoSFImage SoTextureCubeMap::imageNegZ

The neg-z image.

SoSFEnum SoTextureCubeMap::wrapS

Wrapping strategy for the S coordinate when the texture map is narrower than the object to map onto.

Default value is SoTextureCubeMap::REPEAT.

SoSFEnum SoTextureCubeMap::wrapT

Wrapping strategy for the T coordinate when the texture map is shorter than the object to map onto.

Default value is SoTextureCubeMap::REPEAT.

SoSFEnum SoTextureCubeMap::model

Texture mapping model for how the texture map is "merged" with the polygon primitives it is applied to. Default value is SoTextureCubeMap::MODULATE.

SoSFColor SoTextureCubeMap::blendColor

Blend color. Used when SoTextureCubeMap::model is SoTextureCubeMap::BLEND.

Default color value is [0, 0, 0], black, which means no contribution to the blending is made.


πŸ‘‘ AUTHOR πŸ‘‘

Generated automatically by Doxygen for Coin from the source code. (not a human, just a robot doing its lil thing πŸ€–βœ¨)


and that's the whole page bestie, you made it to the end, so proud of you πŸ«ΆπŸ’– this was Version 4.0.10, dated Thu Jun 25 2026 00:00:00, and it's the SoTextureCubeMap(3) page β€” go texture something gorgeous with it. slay. πŸ’…πŸŒΈ

πŸ“¦ where this page comes from