00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00028
00030 #ifndef __COMPOSEDCUBEMAPTEXTURE_H__
00031 #define __COMPOSEDCUBEMAPTEXTURE_H__
00032
00033 #include "X3DEnvironmentTextureNode.h"
00034 #include "X3DTexture2DNode.h"
00035 #include "DependentNodeFields.h"
00036
00037 namespace H3D {
00038
00047 class H3DAPI_API ComposedCubeMapTexture : public X3DEnvironmentTextureNode {
00048 public:
00051 typedef DependentSFNode< X3DTexture2DNode,
00052 FieldRef< H3DDisplayListObject,
00053 H3DDisplayListObject::DisplayList,
00054 &H3DDisplayListObject::displayList >,
00055 true >
00056 SFTexture2DNode;
00057
00059 ComposedCubeMapTexture( Inst< DisplayList > _displayList = 0,
00060 Inst< SFNode > _metadata = 0,
00061 Inst< SFTexture2DNode > _back = 0,
00062 Inst< SFTexture2DNode > _front = 0,
00063 Inst< SFTexture2DNode > _left = 0,
00064 Inst< SFTexture2DNode > _right = 0,
00065 Inst< SFTexture2DNode > _top = 0,
00066 Inst< SFTexture2DNode > _bottom = 0 );
00067
00069 virtual void enableTexturing();
00070
00072 virtual void disableTexturing();
00073
00075 virtual void render();
00076
00082 auto_ptr< SFTexture2DNode > back;
00083
00089 auto_ptr< SFTexture2DNode > front;
00090
00096 auto_ptr< SFTexture2DNode > left;
00097
00103 auto_ptr< SFTexture2DNode > right;
00104
00110 auto_ptr< SFTexture2DNode > top;
00111
00117 auto_ptr< SFTexture2DNode > bottom;
00118
00120 static H3DNodeDatabase database;
00121
00122 };
00123 }
00124
00125 #endif