29 #ifndef __X3DTEXTURECOORDINATENODE_H__
30 #define __X3DTEXTURECOORDINATENODE_H__
63 static void renderTexCoordForActiveTexture(
const Vec3f &tc );
67 static void renderTexCoordForTexture(
const Vec3f &tc,
X3DTextureNode *t );
75 static void renderVertexBufferObjectForActiveTexture(
76 GLint size, GLenum type, GLsizei stride,
const GLvoid *pointer );
84 static void renderVertexBufferObjectForTexture(
85 GLint size, GLenum type, GLsizei stride,
const GLvoid *pointer,
91 static void disableVBOForActiveTexture();
116 void renderForTextureUnits(
int index,
117 unsigned int start_unit,
118 unsigned int end_unit );
122 void renderForActiveTexture(
int index );
143 void renderArrayForActiveTexture();
147 virtual void renderArrayForTextureUnit(
unsigned int texture_unit );
152 void renderArrayForTextureUnits(
unsigned int start_unit,
153 unsigned int end_unit );
162 void disableArrayForActiveTexture();
165 virtual void disableArrayForTextureUnit(
unsigned int texture_unit );
168 void disableArrayForTextureUnits(
unsigned int start_unit,
169 unsigned int end_unit );
178 void renderVertexBufferObjectForActiveTexture();
182 virtual void renderVertexBufferObjectForTextureUnit(
unsigned int texture_unit );
187 void renderVertexBufferObjectForTextureUnits(
unsigned int start_unit,
188 unsigned int end_unit );
205 void disableVertexBufferObjectForActiveTexture();
209 virtual void disableVertexBufferObjectForTextureUnit(
unsigned int texture_unit );
213 void disableVertexBufferObjectForTextureUnits(
unsigned int start_unit,
214 unsigned int end_unit );
243 return Vec4f( 0, 0, 0, 1 );
252 void startTexGenForActiveTexture();
260 void stopTexGenForActiveTexture();
265 void startTexGenForTextureUnits(
unsigned int start_unit,
266 unsigned int end_unit );
270 virtual void startTexGenForTextureUnit(
unsigned int texture_unit );
274 void stopTexGenForTextureUnits(
unsigned int start_unit,
275 unsigned int end_unit );
279 virtual void stopTexGenForTextureUnit(
unsigned int texture_unit );
Contains the GLVertexAttributeObject class.
Header file for X3DGeometricPropertyNode, X3D scene-graph node.
This abstract interface is inherited by all nodes that could be used as vertex attributes in a glsl s...
Definition: GLVertexAttributeObject.h:54
This is the base node type for all geometric property node types defined in X3D.
Definition: X3DGeometricPropertyNode.h:43
This abstract node type is the base type for all node types which specify texture coordinates.
Definition: X3DTextureCoordinateNode.h:55
virtual void renderVBO()
VBO rendering implementation.
Definition: X3DTextureCoordinateNode.h:194
virtual void disableVBO()
VBO disabling implementation.
Definition: X3DTextureCoordinateNode.h:197
virtual void renderForTextureUnit(int, unsigned int)
Render the texture coordinate for given texture unit.
Definition: X3DTextureCoordinateNode.h:111
virtual void disableArray()
Disable the array state enabled in renderArray().
Definition: X3DTextureCoordinateNode.h:156
virtual void startTexGen()
Start hardware texture coordinate generation.
Definition: X3DTextureCoordinateNode.h:227
virtual void setAttributeData()
Implement the method to specify data and releated information.
Definition: X3DTextureCoordinateNode.h:191
virtual bool supportsExplicitTexCoords()
Returns true if the node supports rendering of explicit texture coordinates.
Definition: X3DTextureCoordinateNode.h:102
unsigned int texture_index
the current texture index
Definition: X3DTextureCoordinateNode.h:289
virtual void render(int)
Perform the OpenGL commands to render a texture coordinate given the index of the texture coordinate.
Definition: X3DTextureCoordinateNode.h:108
virtual void renderArray()
Perform the OpenGL commands to render all texture coordinates as an arary.
Definition: X3DTextureCoordinateNode.h:135
virtual string defaultXMLContainerField()
Returns the default xml containerField attribute value.
Definition: X3DTextureCoordinateNode.h:283
virtual void stopTexGen()
Stop the texture coordinate generation started with startTexGen().
Definition: X3DTextureCoordinateNode.h:230
virtual bool supportsTexGen()
Returns true if the node supports rendering of explicit texture coordinates.
Definition: X3DTextureCoordinateNode.h:221
virtual unsigned int nrAvailableTexCoords()
Returns the number of texture coordinates this node can render.
Definition: X3DTextureCoordinateNode.h:131
virtual bool supportsGetTexCoord(unsigned int)
Returns true if the getTexCoord function is available for use.
Definition: X3DTextureCoordinateNode.h:235
virtual Vec4f getTexCoord(int, unsigned int)
Gets texture coordinate of the given index and texture unit.
Definition: X3DTextureCoordinateNode.h:242
This abstract node type is the base type for all node types which specify sources for texture images.
Definition: X3DTextureNode.h:47
H3D API namespace.
Definition: Anchor.h:38