H3D API
2.4.1
|
The TextureCoordinate3D node is a geometry property node that specifies a set of 3D texture coordinates used by vertex-based geometry nodes (EXAMPLE IndexedFaceSet and ElevationGrid) to map textures to vertices. More...
#include <H3D/TextureCoordinate3D.h>
Public Member Functions | |
TextureCoordinate3D (Inst< SFNode > _metadata=0, Inst< MFVec3f > _point=0) | |
Constructor. | |
virtual | ~TextureCoordinate3D () |
Destructor. | |
virtual bool | supportsExplicitTexCoords () |
Returns true. | |
virtual void | render (int index) |
Perform the OpenGL commands to render a texture coordinate given the index of the texture coordinate. More... | |
virtual void | renderForTextureUnit (int index, unsigned int texture_unit) |
Render the texture transform for the currently active texture unit. | |
virtual void | renderArray () |
Perform the OpenGL commands to render all vertices as a vertex array. | |
virtual void | disableArray () |
Disable the array state enabled in renderArray(). | |
virtual void | setAttributeData () |
Implement the method to specify data and releated information. | |
virtual void | renderVBO () |
VBO rendering implementation. | |
virtual void | disableVBO () |
VBO disabling implementation. | |
virtual bool | preRenderCheckFail () |
Check if this vertex attribute needs to be rendered. | |
virtual unsigned int | nrAvailableTexCoords () |
Returns the number of texture coordinates this node can render. | |
virtual bool | supportsGetTexCoord (unsigned int texture_unit) |
Returns true if the getTexCoord function is available for use. More... | |
virtual Vec4f | getTexCoord (int index, unsigned int texture_unit) |
Gets texture coordinate of the given index and texture unit. | |
![]() | |
X3DTextureCoordinateNode (Inst< SFNode > _metadata=0) | |
Constructor. | |
void | renderForTextureUnits (int index, unsigned int start_unit, unsigned int end_unit) |
Render the texture coordinate for the texture units between and including start_unit and end_unit. | |
void | renderForActiveTexture (int index) |
Render the texture coordinate for all texture units used by the texture in X3DTextureNode::getActiveTexture. | |
void | renderForTexture (int index, X3DTextureNode *t) |
Render the texture coordinate for all texture units used by the texture. | |
void | renderArrayForTexture (X3DTextureNode *t) |
Render the texture coordinate for all texture units used by the texture. | |
void | renderArrayForActiveTexture () |
Render the texture coordinate for all texture units used by the texture in X3DTextureNode::getActiveTexture. | |
virtual void | renderArrayForTextureUnit (unsigned int texture_unit) |
Perform the OpenGL commands to render all texture coordinates as an array for the given texture unit. | |
void | renderArrayForTextureUnits (unsigned int start_unit, unsigned int end_unit) |
Perform the OpenGL commands to render all texture coordinates as an array for the texture units between and including start_unit and end_unit. | |
void | disableArrayForTexture (X3DTextureNode *t) |
Disable the array state enabled in renderArrayForTexture. | |
void | disableArrayForActiveTexture () |
Disable the array state enabled in renderArrayForActiveTexture. | |
virtual void | disableArrayForTextureUnit (unsigned int texture_unit) |
Disable the array state enabled in renderArrayForTextureUnit(). | |
void | disableArrayForTextureUnits (unsigned int start_unit, unsigned int end_unit) |
Disable the array state enabled in renderArrayForTextureUnits(). | |
void | renderVertexBufferObjectForTexture (X3DTextureNode *t) |
Render the texture coordinate for all texture units used by the texture. | |
void | renderVertexBufferObjectForActiveTexture () |
Render the texture coordinate for all texture units used by the texture in X3DTextureNode::getActiveTexture. | |
virtual void | renderVertexBufferObjectForTextureUnit (unsigned int texture_unit) |
Perform the OpenGL commands to render all texture coordinates as an vertex buffer object for the given texture unit. | |
void | renderVertexBufferObjectForTextureUnits (unsigned int start_unit, unsigned int end_unit) |
Perform the OpenGL commands to render all texture coordinates as an vertex buffer object for the texture units between and including start_unit and end_unit. | |
void | disableVertexBufferObjectForTexture (X3DTextureNode *t) |
Disable the vertex buffer object state state enabled in renderVertexBufferObjectForTexture. | |
void | disableVertexBufferObjectForActiveTexture () |
Disable the vertex buffer object state enabled in renderVertexBufferObjectForActiveTexture. | |
virtual void | disableVertexBufferObjectForTextureUnit (unsigned int texture_unit) |
Disable the vertex buffer object state enabled in renderVertexBufferObjectForTextureUnit(). | |
void | disableVertexBufferObjectForTextureUnits (unsigned int start_unit, unsigned int end_unit) |
Disable the vertex buffer object state enabled in renderVertexBufferObjectForTextureUnits(). | |
virtual bool | supportsTexGen () |
Returns true if the node supports rendering of explicit texture coordinates. | |
virtual void | startTexGen () |
Start hardware texture coordinate generation. More... | |
virtual void | stopTexGen () |
Stop the texture coordinate generation started with startTexGen(). | |
virtual void | startTexGenForTexture (X3DTextureNode *t) |
Start hardware texture coordinate generateion for all texture units used by the texture | |
void | startTexGenForActiveTexture () |
Start hardware texture coordinate generateion for all texture units used by the texture in X3DTextureNode::getActiveTexture. | |
virtual void | stopTexGenForTexture (X3DTextureNode *t) |
Stop texture coordinate generateion for all texture units used by the texture | |
void | stopTexGenForActiveTexture () |
Stop hardware texture coordinate generateion for all texture units used by the texture in X3DTextureNode::getActiveTexture. | |
void | startTexGenForTextureUnits (unsigned int start_unit, unsigned int end_unit) |
Start hardware texture coordinate generation for the texture units between and including start_unit and end_unit. More... | |
virtual void | startTexGenForTextureUnit (unsigned int texture_unit) |
Start hardware texture coordinate generation for the texture unit specified. More... | |
void | stopTexGenForTextureUnits (unsigned int start_unit, unsigned int end_unit) |
Stop the texture coordinate generation started with startTexGenForTextureUnits(). | |
virtual void | stopTexGenForTextureUnit (unsigned int texture_unit) |
Stop hardware texture coordinate generation for the texture unit specified. More... | |
virtual string | defaultXMLContainerField () |
Returns the default xml containerField attribute value. More... | |
![]() | |
X3DGeometricPropertyNode (Inst< SFNode > _metadata=0) | |
Constructor. | |
![]() | |
X3DNode (Inst< SFNode > _metadata=0) | |
Constructor. | |
X3DMetadataObject * | getMetadataByName (const string &_name) |
Given a name, the first X3DMetadataObject in the metadata field that matches that name is returned. More... | |
![]() | |
Node () | |
Constructor. | |
virtual Node * | clone (bool deepCopy=true, DeepCopyMap *deepCopyMap=NULL) |
Returns a new instance of this node type with the same state as this one. More... | |
virtual | ~Node () |
Destructor. | |
X3DPrototypeInstance * | getProtoInstanceParent () |
If this node is the root node in the proto body of a X3DPrototypeInstance then this will return that node. More... | |
void | setProtoInstanceParent (X3DPrototypeInstance *p) |
Set the X3DPrototypeInstance this node is the the root node if applicaple. | |
virtual void | render () |
the render() function is used for the depth-first rendering traversal of the scene-graph. More... | |
virtual void | traverseSG (TraverseInfo &ti) |
traverseSG is called once per scenegraph loop on the scene in order to traverse the scenegraph. More... | |
virtual bool | lineIntersect (const Vec3f &from, const Vec3f &to, LineIntersectResult &result) |
Detect intersection between a line segment and the Node. More... | |
virtual void | closestPoint (const Vec3f &p, NodeIntersectResult &result) |
Find closest point on Node to p. More... | |
virtual bool | movingSphereIntersect (H3DFloat radius, const Vec3f &from, const Vec3f &to, NodeIntersectResult &result) |
Detect collision between a moving sphere and the Node. More... | |
virtual Field * | getField (const string &_name) const |
return a pointer to the field specified by name within this instance | |
int | addDestructCallback (void(*func)(Node *, void *), void *args) |
Add a callback function to be run on destruction of node. More... | |
int | removeDestructCallback (void(*func)(Node *, void *), void *args) |
Add a callback function to be run on destruction of node. More... | |
![]() | |
GLVertexAttributeObject (VERTEXATTRIBUTE::VERTEXATTRIBUTETYPE type) | |
Constructor. | |
virtual | ~GLVertexAttributeObject () |
Destructor. | |
void | renderVertexBufferObject () |
Perform the OpenGL commands to render all vertices as a vertex buffer object. | |
void | disableVertexBufferObject () |
Disable the vertex buffer object enabled in renderVertexBufferObject(). | |
virtual void | updateVertexBufferObject () |
Perform the OpenGL commands to update vertex attribute data/format. | |
Public Attributes | |
H3DUniquePtr< MFVec3f > | point |
A vector of 3d texture coordinates. More... | |
![]() | |
H3DUniquePtr< Field > | propertyChanged |
Field that indicated whether the properties have changed. More... | |
![]() | |
H3DUniquePtr< SFNode > | metadata |
Meta data about the node. More... | |
![]() | |
H3DUniquePtr< SFBool > | isDynamic |
Option to indicate whether this vertex attribute is dynamic or not Access type: inputOutput Default value: false. | |
Static Public Attributes | |
static H3DNodeDatabase | database |
The H3DNodeDatabase for this node. | |
![]() | |
static H3DNodeDatabase | database |
The H3DNodeDatabase for this node. | |
Additional Inherited Members | |
![]() | |
typedef std::map< Node *, Node * > | DeepCopyMap |
A map type used during a deep copy clone() to map from original nodes to cloned nodes. | |
![]() | |
static void | renderTexCoordForActiveTexture (const Vec3f &tc) |
Render the texture coordinate for all texture units used by the texture in X3DTextureNode::getActiveTexture. | |
static void | renderTexCoordForTexture (const Vec3f &tc, X3DTextureNode *t) |
Render the texture coordinate for all texture units used by the given texture . | |
static void | renderVertexBufferObjectForActiveTexture (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) |
Render the vertex buffer object for all texture units used by the texture in X3DTextureNode::getActiveTexture. More... | |
static void | renderVertexBufferObjectForTexture (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer, X3DTextureNode *t) |
Render the vertex buffer object for all texture units used by the given texture. More... | |
static void | disableVBOForActiveTexture () |
Function that corresponds to the static version of the function renderVertexBufferObjectForActiveTexture. More... | |
static void | disableVBOForTexture (X3DTextureNode *t) |
Function that corresponds to the static version of the function renderVertexBufferObjectForTexture. More... | |
![]() | |
static unsigned int | nrNodesAlive () |
Returns the nr of nodes currently alive, i.e. nodes created but not destructed. | |
static int | nrNodesCreated () |
Returns the number of nodes created in total since the start of the program. | |
![]() | |
void | cloneFieldValue (Field &_from, Field &_to, bool deepCopy, DeepCopyMap &deepCopyMap) |
A helper function for the clone() method. More... | |
![]() | |
static Node * | getClonedInstance (Node *original, bool deepCopy, DeepCopyMap &deepCopyMap) |
A helper function for nodes that implement clone() More... | |
![]() | |
unsigned int | texture_index |
the current texture index | |
![]() | |
H3DUniquePtr< Field > | vboFieldsUpToDate |
Internal field used to know if vertex buffer object can be created. More... | |
The TextureCoordinate3D node is a geometry property node that specifies a set of 3D texture coordinates used by vertex-based geometry nodes (EXAMPLE IndexedFaceSet and ElevationGrid) to map textures to vertices.
Examples:
|
virtual |
Perform the OpenGL commands to render a texture coordinate given the index of the texture coordinate.
Installs the texture coordinate as a glTexCoord2f
Reimplemented from H3D::X3DTextureCoordinateNode.
References point.
|
inlinevirtual |
Returns true if the getTexCoord function is available for use.
For a TextureCoordinate3D node it is
Reimplemented from H3D::X3DTextureCoordinateNode.
H3DUniquePtr< MFVec3f > H3D::TextureCoordinate3D::point |
A vector of 3d texture coordinates.
Access type: inputOutput
Referenced by preRenderCheckFail(), render(), renderArray(), renderForTextureUnit(), setAttributeData(), and TextureCoordinate3D().