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 __MULTITEXTURETRANSFORM_H__
00030 #define __MULTITEXTURETRANSFORM_H__
00031
00032 #include "X3DTextureTransformNode.h"
00033 #include "DependentNodeFields.h"
00034
00035 namespace H3D {
00036
00073 class H3DAPI_API MultiTextureTransform : public X3DTextureTransformNode {
00074 public:
00075
00078 typedef DependentMFNode< X3DTextureTransformNode,
00079 FieldRef< H3DDisplayListObject,
00080 H3DDisplayListObject::DisplayList,
00081 &H3DDisplayListObject::displayList >,
00082 true >
00083 MFTextureTransformNode;
00084
00086 MultiTextureTransform( Inst< DisplayList > _displayList = 0,
00087 Inst< SFNode > _metadata = 0,
00088 Inst< MFTextureTransformNode > _textureTransform=0 );
00089
00092 virtual void render();
00093
00095 virtual void renderForTextureUnit( unsigned int texture_unit );
00096
00099 virtual void renderForTextureUnits( unsigned int start_unit,
00100 unsigned int end_unit );
00101
00105 auto_ptr< MFTextureTransformNode > textureTransform;
00106
00108 static H3DNodeDatabase database;
00109 };
00110 }
00111
00112 #endif