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 __TEXTURECOORDINATEGENERATOR_H__
00030 #define __TEXTURECOORDINATEGENERATOR_H__
00031
00032 #include "X3DTextureCoordinateNode.h"
00033 #include "SFString.h"
00034 #include "MFFloat.h"
00035
00036 namespace H3D {
00037
00085 class H3DAPI_API TextureCoordinateGenerator :
00086 public X3DTextureCoordinateNode {
00087 public:
00088
00090 TextureCoordinateGenerator( Inst< SFNode > _metadata = 0,
00091 Inst< SFString > _mode = 0,
00092 Inst< MFFloat > _parameter = 0 );
00093
00096 virtual void render( int index );
00097
00100 virtual void renderForTextureUnit( int index,
00101 unsigned int texture_unit );
00102
00105 virtual void renderArray();
00106
00109 virtual void renderArrayForTextureUnit( unsigned int texture_unit );
00110
00113 virtual void disableArray();
00114
00117 virtual void disableArrayForTextureUnit( unsigned int texture_unit );
00118
00122 virtual unsigned int nrAvailableTexCoords() {
00123 return 0;
00124 }
00125
00128 virtual void startTexGen();
00129
00131 virtual void stopTexGen();
00132
00140 auto_ptr< SFString > mode;
00141
00148 auto_ptr< MFFloat > parameter;
00149
00151 static H3DNodeDatabase database;
00152 };
00153 }
00154
00155 #endif