MeVisLabToolboxReference
|
00001 // **InsertLicense** code 00002 00006 00007 00008 #ifndef _SO_UNIFORM_SHADER_PARAMETER_ 00009 #define _SO_UNIFORM_SHADER_PARAMETER_ 00010 00011 #include "SoShaderSystem.h" 00012 #include "Inventor/nodes/SoShaderParameter.h" 00013 #include <Inventor/SbString.h> 00014 #include <set> 00015 00016 class SoUniformParameterBase; 00017 00018 00020 SoEXTENDER class INVENTOR_SHADER_API SoUniformShaderParameter : public SoShaderParameter 00021 { 00022 typedef SoShaderParameter inherited; 00023 00024 SO_NODE_ABSTRACT_HEADER(SoUniformShaderParameter); 00025 00026 SoEXTENDER public: 00027 00029 virtual void GLRender(SoGLRenderAction *action); 00030 00031 SoINTERNAL public: 00032 00034 static void initClass(); 00035 00038 virtual void updatePreparation(SoState *) {} 00039 00042 virtual void updateParameter(SoUniformParameterBase *uniformBase, SoState *state) = 0; 00043 00045 std::set<SbString> auxUniformParameters; 00046 00047 protected: 00048 00050 SoUniformShaderParameter(); 00051 }; 00052 00053 #endif // _SO_UNIFORM_SHADER_PARAMETER_