SoVertexShader(3)

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

πŸ’– SoVertexShader πŸ’–

okay so bestie, gather round, because today we're talking about SoVertexShader(3) from the Coin library πŸͺ™βœ¨ and it is lowkey the main character of your shader pipeline.


✨ NAME ✨

SoVertexShader β€” the class that's literally made for setting up vertex shader programs πŸŽ€ (yes that's the whole job, and she does it flawlessly).


πŸ¦‹ SYNOPSIS πŸ¦‹

#include <Inventor/nodes/SoVertexShader.h>

Inherits SoShaderObject.

so she's a SoShaderObject girlie, meaning she walks in with all that inheritance already on πŸ‘‘


πŸ’… Public Member Functions

  • virtual SoType getTypeId (void) const β€” tells you the exact type id of this object, the receipts of who she is πŸ’…
  • SoVertexShader (void) β€” the constructor, aka her grand entrance πŸŽ€
  • virtual ~SoVertexShader () β€” the destructor, she bows out gracefully ✨

🧚 Public Member Functions inherited from SoShaderObject

  • virtual void GLRender (SoGLRenderAction *action) β€” the render-time behavior, inherited, still eating πŸ”₯
  • virtual void search (SoSearchAction *action) β€” inherited, handles search actions
  • void render (SoState *state) β€” inherited render call
  • void updateParameters (SoState *state) β€” inherited, keeps the parameters fresh
  • SourceType getSourceType (void) const β€” hands you back the source type, inherited πŸ’œ
  • SbString getSourceProgram (void) const β€” hands you back the source program, inherited πŸ’œ

πŸ¦‹ Public Member Functions inherited from SoNode

bestie this list is long but we are NOT skipping a single one, that's the rule πŸ’–
  • void setOverride (const SbBool state)
  • SbBool isOverride (void) const
  • void setNodeType (const NodeType type)
  • NodeType getNodeType (void) const
  • virtual SoNode * copy (SbBool copyconnections=FALSE) const
  • virtual SbBool affectsState (void) const
  • virtual void doAction (SoAction *action)
  • virtual void GLRenderBelowPath (SoGLRenderAction *action)
  • virtual void GLRenderInPath (SoGLRenderAction *action)
  • virtual void GLRenderOffPath (SoGLRenderAction *action)
  • virtual void callback (SoCallbackAction *action)
  • virtual void getBoundingBox (SoGetBoundingBoxAction *action)
  • virtual void getMatrix (SoGetMatrixAction *action)
  • virtual void handleEvent (SoHandleEventAction *action)
  • virtual void pick (SoPickAction *action)
  • virtual void rayPick (SoRayPickAction *action)
  • virtual void write (SoWriteAction *action)
  • virtual void audioRender (SoAudioRenderAction *action)
  • virtual void getPrimitiveCount (SoGetPrimitiveCountAction *action)
  • virtual void grabEventsSetup (void)
  • virtual void grabEventsCleanup (void)
  • virtual void startNotify (void)
  • virtual void notify (SoNotList *l)
  • SbUniqueId getNodeId (void) const
  • virtual SoChildList * getChildren (void) const
  • virtual void writeInstance (SoOutput *out)
  • virtual SoNode * addToCopyDict (void) const
  • virtual void copyContents (const SoFieldContainer *from, SbBool copyconnections)
  • virtual SoFieldContainer * copyThroughConnection (void) const

🌸 Public Member Functions inherited from SoFieldContainer

  • void setToDefaults (void)
  • SbBool hasDefaultValues (void) const
  • SbBool fieldsAreEqual (const SoFieldContainer *container) const
  • void copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=FALSE)
  • SbBool set (const char *const fielddata)
  • void get (SbString &fielddata)
  • virtual int getFields (SoFieldList &l) const
  • virtual int getAllFields (SoFieldList &l) const
  • virtual SoField * getField (const SbName &name) const
  • virtual SoField * getEventIn (const SbName &name) const
  • virtual SoField * getEventOut (const SbName &name) const
  • SbBool getFieldName (const SoField *const field, SbName &name) const
  • SbBool enableNotify (const SbBool flag)
  • SbBool isNotifyEnabled (void) const
  • SbBool set (const char *fielddata, SoInput *input)
  • void get (SbString &fielddata, SoOutput *out)
  • virtual SbBool validateNewFieldValue (SoField *field, void *newval)
  • virtual void addWriteReference (SoOutput *out, SbBool isfromfield=FALSE)
  • SbBool getIsBuiltIn (void) const
  • virtual void getFieldsMemorySize (size_t &managed, size_t &unmanaged) const
  • void setUserData (void *userdata) const
  • void * getUserData (void) const

πŸ’œ Public Member Functions inherited from SoBase

  • void ref (void) const
  • void unref (void) const
  • void unrefNoDelete (void) const
  • int32_t getRefCount (void) const
  • void touch (void)
  • SbBool isOfType (SoType type) const β€” Returns TRUE if the type of this object is either of the same type or inherited from type. πŸ’… (yes queen, checking the whole bloodline)
  • virtual SbName getName (void) const
  • virtual void setName (const SbName &newname)
  • void addAuditor (void *const auditor, const SoNotRec::Type type)
  • void removeAuditor (void *const auditor, const SoNotRec::Type type)
  • const SoAuditorList & getAuditors (void) const
  • SbBool shouldWrite (void)
  • void assertAlive (void) const

🌟 Static Public Member Functions

  • static SoType getClassTypeId (void) β€” hands you the class type id, static and unbothered ✨
  • static void initClass (void) β€” Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system. πŸŽ€ (the classic, iconic, necessary setup)
  • static SbBool isSupported (SourceType sourceType) β€” tells you whether that sourceType is supported πŸ¦‹

🌈 Static Public Member Functions inherited from SoShaderObject

  • static SoType getClassTypeId (void)
  • static void initClass (void) β€” Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.

🧚 Static Public Member Functions inherited from SoNode

  • static uint32_t getCompatibilityTypes (const SoType &nodetype)
  • static SoType getClassTypeId (void)
  • static SoNode * getByName (const SbName &name)
  • static int getByName (const SbName &name, SoNodeList &l)
  • static void initClass (void) β€” Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
  • static void initClasses (void)
  • static SbUniqueId getNextNodeId (void)
  • static int getActionMethodIndex (const SoType type)
  • static void getBoundingBoxS (SoAction *action, SoNode *node)
  • static void GLRenderS (SoAction *action, SoNode *node)
  • static void callbackS (SoAction *action, SoNode *node)
  • static void getMatrixS (SoAction *action, SoNode *node)
  • static void handleEventS (SoAction *action, SoNode *node)
  • static void pickS (SoAction *action, SoNode *node)
  • static void rayPickS (SoAction *action, SoNode *node)
  • static void searchS (SoAction *action, SoNode *node)
  • static void writeS (SoAction *action, SoNode *node)
  • static void audioRenderS (SoAction *action, SoNode *node)
  • static void getPrimitiveCountS (SoAction *action, SoNode *node)

πŸŽ€ Static Public Member Functions inherited from SoFieldContainer

  • static void initClass (void) β€” Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
  • static SoType getClassTypeId (void) β€” This static method returns the SoType object associated with objects of this class.
  • static void cleanupClass (void)
  • static void initCopyDict (void)
  • static void addCopy (const SoFieldContainer *orig, const SoFieldContainer *copy)
  • static SoFieldContainer * checkCopy (const SoFieldContainer *orig)
  • static SoFieldContainer * findCopy (const SoFieldContainer *orig, const SbBool copyconnections)
  • static void copyDone (void)

⭐ Static Public Member Functions inherited from SoBase

  • static void initClass (void) β€” Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
  • static SoType getClassTypeId (void) β€” This static method returns the SoType object associated with objects of this class.
  • static void addName (SoBase *const base, const char *const name)
  • static void removeName (SoBase *const base, const char *const name)
  • static void incrementCurrentWriteCounter (void)
  • static void decrementCurrentWriteCounter (void)
  • static SoBase * getNamedBase (const SbName &name, SoType type)
  • static int getNamedBases (const SbName &name, SoBaseList &baselist, SoType type)
  • static SbBool read (SoInput *input, SoBase *&base, SoType expectedtype)
  • static void setInstancePrefix (const SbString &c)
  • static void setTraceRefs (SbBool trace)
  • static SbBool getTraceRefs (void)
  • static SbBool connectRoute (SoInput *input, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname)
  • static SbBool readRoute (SoInput *input)

πŸ” Protected Member Functions

  • virtual const SoFieldData * getFieldData (void) const β€” the protected one, only for the inner circle πŸ™ˆ

πŸ’œ Protected Member Functions inherited from SoShaderObject

  • SoShaderObject (void)
  • virtual ~SoShaderObject ()
  • virtual SbBool readInstance (SoInput *in, unsigned short flags)

🌸 Protected Member Functions inherited from SoNode

  • SoNode (void)
  • virtual ~SoNode ()

πŸ¦‹ Protected Member Functions inherited from SoFieldContainer

  • SoFieldContainer (void)
  • virtual ~SoFieldContainer ()

✨ Protected Member Functions inherited from SoBase

  • SoBase (void)
  • virtual ~SoBase ()
  • virtual void destroy (void)
  • SbBool hasMultipleWriteRefs (void) const
  • SbBool writeHeader (SoOutput *out, SbBool isgroup, SbBool isengine) const
  • void writeFooter (SoOutput *out) const
  • virtual const char * getFileFormatName (void) const
  • virtual SoNotRec createNotRec (void)

πŸ›‘οΈ Static Protected Member Functions

  • static const SoFieldData ** getFieldDataPtr (void)

🌟 Static Protected Member Functions inherited from SoShaderObject

  • static const SoFieldData ** getFieldDataPtr (void)

🧚 Static Protected Member Functions inherited from SoNode

  • static const SoFieldData ** getFieldDataPtr (void)
  • static void setNextActionMethodIndex (int index)
  • static int getNextActionMethodIndex (void)
  • static void incNextActionMethodIndex (void)
  • static void setCompatibilityTypes (const SoType &nodetype, const uint32_t bitmask)

πŸŽ€ Static Protected Member Functions inherited from SoBase

  • static uint32_t getCurrentWriteCounter (void)
  • static void staticDataLock (void)
  • static void staticDataUnlock (void)

🌈 Additional Inherited Members

πŸ’… Public Types inherited from SoShaderObject

  • enum SourceType { ARB_PROGRAM, CG_PROGRAM, GLSL_PROGRAM, FILENAME } β€” the whole menu of source types, pick your fighter ✨

πŸ‘‘ 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 } β€” every node type bit, all iconic, no notes 🫢

πŸ“ Public Attributes inherited from SoShaderObject

  • SoSFBool isActive
  • SoSFEnum sourceType
  • SoSFString sourceProgram
  • SoMFNode parameter

πŸ”₯ 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 first half πŸ’… and there's literally more coming, so don't go anywhere 🌸

✨ Detailed Description ✨

Okay bestie, so SoVertexShader is the class you use to set up vertex shader programs. That's it, that's the job. πŸ’…

Want the full tea on how to build a scene graph with shaders? Go read Shaders in Coin. It's giving required reading, ngl.

FILE FORMAT/DEFAULTS:

VertexShader {
  isActive TRUE
  sourceType FILENAME
  sourceProgram ""
  parameter []
}

Look at those defaults, so clean, so iconic. 🌸

See also

  • SoShaderObject
  • SoShaderProgram

Since

Coin 2.5 β€” yes she's been around, she's a legacy queen πŸ‘‘


πŸŽ€ Constructor & Destructor Documentation πŸŽ€

SoVertexShader::SoVertexShader (void )

Constructor. She's born. Welcome to the world little shader node 🫢

SoVertexShader::~SoVertexShader () [virtual]

Destructor. She's leaving, say bye 😭 virtual, so she cleans up properly.


πŸ¦‹ Member Function Documentation πŸ¦‹

SoType SoVertexShader::getClassTypeId (void ) [static]

This static method returns the SoType object associated with objects of this class. It's the class-level ID card, basically. Static, so you don't even need an instance. ✨

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

Returns the type identification of an object derived from a class inheriting SoBase. This is what powers runtime type checking and that "downward" casting life. 🧚

Reimplemented from SoShaderObject.

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

This API member is considered internal to the library, because it's not likely to be of interest to the application programmer. It's giving backstage access, iykyk. πŸ™ˆ

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

const SoFieldData * SoVertexShader::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. No fields? Then it's literally handing you NULL, bestie, that's the whole vibe. πŸ’€

Reimplemented from SoShaderObject.

SbBool SoVertexShader::isSupported (SourceType sourceType) [static]

Returns a boolean indicating whether the requested source type is supported by the OpenGL driver or not.

⚠️ Beware: to get a correct answer, a valid OpenGL context must be available. No context, no truth. Don't ask her questions she can't answer, she will lie to you 😭

πŸ’œ Author πŸ’œ

Generated automatically by Doxygen for Coin from the source code. Not a human author, just a robot doing her thing, and honestly? She ate. πŸ€–βœ¨


And that's the whole page, bestie!! This was Coin version 4.0.10, dated Thu Jun 25 2026 00:00:00, and the page is SoVertexShader(3). Slay, go write some shaders πŸ’–πŸ‘‘πŸ¦‹

πŸ“¦ where this page comes from