MeVisLabToolboxReference
|
00001 // **InsertLicense** code 00002 00006 00007 00008 #ifndef _SO_INHERITED_FRAMEBUFFER_SAMPLER_ 00009 #define _SO_INHERITED_FRAMEBUFFER_SAMPLER_ 00010 00011 #include "SoShaderSystem.h" 00012 #include "Inventor/nodes/SoSampler2D.h" 00013 #include <Inventor/fields/SoSFUInt32.h> 00014 #include <Inventor/SbLinear.h> 00015 00016 class SoMultiPassFramebufferSampler; 00017 00019 class INVENTOR_SHADER_API SoInheritedFramebufferSampler : public SoSampler2D 00020 { 00021 typedef SoSampler2D inherited; 00022 00023 SO_NODE_HEADER(SoInheritedFramebufferSampler); 00024 00025 public: 00026 00028 SoSFUInt32 id; 00029 00031 SoInheritedFramebufferSampler(); 00032 00033 SoEXTENDER public: 00034 00036 virtual void GLRender(SoGLRenderAction *); 00037 00039 virtual void updateParameter(SoUniformParameterBase *, SoState *); 00040 00041 SoINTERNAL public: 00042 00044 static void initClass(); 00045 00046 protected: 00047 00048 unsigned int _curPass; 00049 SoMultiPassFramebufferSampler *_rfb; 00050 GLuint _texHandle; 00051 }; 00052 00053 #endif // _SO_INHERITED_FRAMEBUFFER_SAMPLER_