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 __MULTITEXTURECOORDINATE_H__
00030 #define __MULTITEXTURECOORDINATE_H__
00031
00032 #include "X3DTextureCoordinateNode.h"
00033 #include "MFNode.h"
00034
00035 namespace H3D {
00036
00071 class H3DAPI_API MultiTextureCoordinate : public X3DTextureCoordinateNode {
00072 public:
00073
00074 typedef TypedMFNode< X3DTextureCoordinateNode > MFTextureCoordinateNode;
00075
00077 MultiTextureCoordinate( Inst< SFNode > _metadata = 0,
00078 Inst< MFTextureCoordinateNode > _texCoord = 0 );
00079
00082 virtual void render( int index );
00083
00085 virtual void renderForTextureUnit( int index,
00086 unsigned int texture_unit );
00087
00090 virtual void renderForTextureUnits( int index,
00091 unsigned int start_unit,
00092 unsigned int end_unit );
00093
00095 virtual unsigned int nrAvailableTexCoords();
00096
00099 virtual void renderArray();
00100
00103 virtual void renderArrayForTextureUnit( unsigned int texture_unit );
00104
00108 virtual void renderArrayForTextureUnits( unsigned int start_unit,
00109 unsigned int end_unit );
00110
00112 virtual void disableArrayForTextureUnit( unsigned int texture_unit );
00113
00115 virtual void disableArrayForTextureUnits( unsigned int start_unit,
00116 unsigned int end_unit );
00117
00121 auto_ptr< MFTextureCoordinateNode > texCoord;
00122
00124 static H3DNodeDatabase database;
00125
00126 };
00127 }
00128
00129 #endif