SoVertexAttributeBinding - Online Linux Manual PageSection : 3
Updated : Mon Jan 25 2021
Source : Version 3.1.3
Note : Coin

NAMESoVertexAttributeBinding − The SoVertexAttributeBinding class is a node for setting up how vertex attributes are mapped to shapes​.

SYNOPSIS
#include <Inventor/nodes/SoVertexAttributeBinding​.h> Inherits SoNode​.

Public Typesenum Binding { OVERALL = SoVertexAttributeBindingElement::OVERALL, PER_VERTEX = SoVertexAttributeBindingElement::PER_VERTEX, PER_VERTEX_INDEXED = SoVertexAttributeBindingElement::PER_VERTEX_INDEXED, DEFAULT = PER_VERTEX_INDEXED }

Public Member Functionsvirtual SoType getTypeId (void) const
SoVertexAttributeBinding (void)
virtual void doAction (SoAction *action)
virtual void GLRender (SoGLRenderAction *action)
virtual void callback (SoCallbackAction *action)
virtual void pick (SoPickAction *action)
virtual void getPrimitiveCount (SoGetPrimitiveCountAction *action)

Static Public Member Functionsstatic SoType getClassTypeId (void)
static void initClass (void)

Public AttributesSoSFEnum value

Protected Member Functionsvirtual const SoFieldData * getFieldData (void) const
virtual ~SoVertexAttributeBinding ()

Static Protected Member Functionsstatic const SoFieldData ** getFieldDataPtr (void)

Additional Inherited Members

Detailed DescriptionThe SoVertexAttributeBinding class is a node for setting up how vertex attributes are mapped to shapes​. See also SoVertexAttribute The material binding specified in nodes of this type decides how the vertex attribute values of SoVertexAttribute nodes are mapped on the builtin geometry shape nodes​. Here is a simple usage example: #Inventor V2.1 ascii ShaderProgram { shaderObject [ VertexShader { sourceProgram "vertex.glsl" } ] } Coordinate3 { point [ 0 0 0, 1 0 0, 1 1 0 ] } VertexAttributeBinding { value OVERALL } VertexAttribute { typeName "SoMFVec3f" name "color" values [ 1.0 0.0 0.0 ] } IndexedFaceSet { coordIndex [ 0, 1, 2, -1 ] }The vertex shader (vertex​.glsl): attribute vec3 color; void main(void) { gl_Position = ftransform(); fragcolor = color; } With SoVertexAttributeBinding::value set to PER_VERTEX_INDEXED above, the attribute indices will be taken from the SoIndexedFaceSet::coordIndex field when rendering​. If SoVertexAttributeBinding::value is set to PER_VERTEX, attributes will be fetched in a monotonically increasing manner from the SoVertexAttribute::value field, starting at index 0​. If SoVertexAttributeBinding::value is set to OVERALL, the first attribute value from SoVertexAttribute::value will be sent to OpenGL before rendering​. FILE FORMAT/DEFAULTS: VertexAttributeBinding { value PER_VERTEX_INDEXED } See also SoVertexAttribute Be aware that this class is an extension for Coin, and it is not available in the original SGI Open Inventor v2​.1 API​.
Since Coin 3​.0

Member Enumeration Documentation

enum SoVertexAttributeBinding::BindingEnumeration of available types of material binding​. Enumerator OVERALL  Apply the same material to the complete shape​. PER_VERTEX  Get a new material from the pool of material values for each polygon, line or point vertex of the shape​. Attributes are fetched from index 0 and onwards, incrementing the index into the attribute pool by 1 for each new vertex of the shape node​. PER_VERTEX_INDEXED  Get a new attribute from the pool of attribute values for each polygon, line or point vertex of the shape​. Attributes are fetched by the index value settings of the shape​.

Constructor & Destructor Documentation

SoVertexAttributeBinding::SoVertexAttributeBinding (void)Constructor​.

SoVertexAttributeBinding::~SoVertexAttributeBinding () [protected], [virtual]Destructor​.

Member Function Documentation

SoType SoVertexAttributeBinding::getTypeId (void) const [virtual]Returns the type identification of an object derived from a class inheriting SoBase​. This is used for run-time type checking and 'downward' casting​. Usage example: void foo(SoNode * node) { if (node->getTypeId() == SoFile::getClassTypeId()) { SoFile * filenode = (SoFile *)node; // safe downward cast, knows the type } }For application programmers wanting to extend the library with new nodes, engines, nodekits, draggers or others: this method needs to be overridden in all subclasses​. This is typically done as part of setting up the full type system for extension classes, which is usually accomplished by using the pre-defined macros available through for instance Inventor/nodes/SoSubNode​.h (SO_NODE_INIT_CLASS and SO_NODE_CONSTRUCTOR for node classes), Inventor/engines/SoSubEngine​.h (for engine classes) and so on​. For more information on writing Coin extensions, see the class documentation of the toplevel superclasses for the various class groups​. Implements SoBase​.

const SoFieldData * SoVertexAttributeBinding::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 SoFieldContainer​.

void SoVertexAttributeBinding::doAction (SoAction * action) [virtual]This function performs the typical operation of a node for any action​. Reimplemented from SoNode​.

void SoVertexAttributeBinding::GLRender (SoGLRenderAction * action) [virtual]Action method for the SoGLRenderAction​. This is called during rendering traversals​. Nodes influencing the rendering state in any way or who wants to throw geometry primitives at OpenGL overrides this method​. Reimplemented from SoNode​.

void SoVertexAttributeBinding::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 SoNode​.

void SoVertexAttributeBinding::pick (SoPickAction * action) [virtual]Action method for SoPickAction​. Does common processing for SoPickAction action instances​. Reimplemented from SoNode​.

void SoVertexAttributeBinding::getPrimitiveCount (SoGetPrimitiveCountAction * action) [virtual]Action method for the SoGetPrimitiveCountAction​. Calculates the number of triangle, line segment and point primitives for the node and adds these to the counters of the action​. Nodes influencing how geometry nodes calculates their primitive count also overrides this method to change the relevant state variables​. Reimplemented from SoNode​.

Member Data Documentation

SoSFEnum SoVertexAttributeBinding::valueThe attribute binding to use for subsequent shape nodes in the scene graph​. The default binding is SoVertexAttributeBinding::PER_VERTEX_INDEXED

AuthorGenerated automatically by Doxygen for Coin from the source code​.
0
Johanes Gumabo
Data Size   :   33,190 byte
man-SoVertexAttributeBinding.3coin3Build   :   2024-12-05, 20:55   :  
Visitor Screen   :   x
Visitor Counter ( page / site )   :   2 / 182,231
Visitor ID   :     :  
Visitor IP   :   3.145.166.223   :  
Visitor Provider   :   AMAZON-02   :  
Provider Position ( lat x lon )   :   39.962500 x -83.006100   :   x
Provider Accuracy Radius ( km )   :   1000   :  
Provider City   :   Columbus   :  
Provider Province   :   Ohio ,   :   ,
Provider Country   :   United States   :  
Provider Continent   :   North America   :  
Visitor Recorder   :   Version   :  
Visitor Recorder   :   Library   :  
Online Linux Manual Page   :   Version   :   Online Linux Manual Page - Fedora.40 - march=x86-64 - mtune=generic - 24.12.05
Online Linux Manual Page   :   Library   :   lib_c - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Online Linux Manual Page   :   Library   :   lib_m - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Data Base   :   Version   :   Online Linux Manual Page Database - 24.04.13 - march=x86-64 - mtune=generic - fedora-38
Data Base   :   Library   :   lib_c - 23.02.07 - march=x86-64 - mtune=generic - fedora.36

Very long time ago, I have the best tutor, Wenzel Svojanovsky . If someone knows the email address of Wenzel Svojanovsky , please send an email to johanes_gumabo@yahoo.co.id .
If error, please print screen and send to johanes_gumabo@yahoo.co.id
Under development. Support me via PayPal.