MeVisLabToolboxReference
MeVisLab/Standard/Sources/Inventor/SoShader/Inventor/nodes/SoUniformShaderParameter.h
Go to the documentation of this file.
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_