00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00027
00029 #ifndef __TEXTURECOORDINATE3D_H__
00030 #define __TEXTURECOORDINATE3D_H__
00031
00032 #include "X3DTextureCoordinateNode.h"
00033 #include <GL/glew.h>
00034 #include "MFVec3f.h"
00035
00036 namespace H3D {
00037
00047 class H3DAPI_API TextureCoordinate3D : public X3DTextureCoordinateNode {
00048 public:
00050 TextureCoordinate3D( Inst< SFNode > _metadata = 0,
00051 Inst< MFVec3f> _point = 0 );
00052
00056 virtual void render( int index );
00057
00059 virtual void renderForTextureUnit( int index,
00060 unsigned int texture_unit );
00061
00064 virtual void renderArray();
00065
00068 virtual void renderArrayForTextureUnit( unsigned int texture_unit );
00069
00071 virtual void disableArray();
00072
00074 virtual void disableArrayForTextureUnit( unsigned int texture_unit );
00075
00077 virtual unsigned int nrAvailableTexCoords() {
00078 return point->size();
00079 }
00080
00086 auto_ptr< MFVec3f > point;
00087
00089 static H3DNodeDatabase database;
00090 };
00091 }
00092
00093 #endif