MeVisLab Resolution Independence API
SoUniformShaderParameter.h
Go to the documentation of this file.
1/*************************************************************************************
2**
3** Copyright 2007, MeVis Medical Solutions AG
4**
5** The user may use this file in accordance with the license agreement provided with
6** the Software or, alternatively, in accordance with the terms contained in a
7** written agreement between the user and MeVis Medical Solutions AG.
8**
9** For further information use the contact form at https://www.mevislab.de/contact
10**
11**************************************************************************************/
12
13#ifndef SO_UNIFORM_SHADER_PARAMETER_H
14#define SO_UNIFORM_SHADER_PARAMETER_H
15
16
18
19#include "SoShaderSystem.h"
21#include <Inventor/SbString.h>
22#include <set>
23
25
26
29{
30 typedef SoShaderParameter inherited;
31
32 SO_NODE_ABSTRACT_HEADER(SoUniformShaderParameter);
33
34 SoEXTENDER public:
35
37 void GLRender(SoGLRenderAction *action) override;
38
39 SoINTERNAL public:
40
42 static void initClass();
43
46 virtual void updatePreparation(SoState *) {}
47
50 virtual void updateParameter(SoUniformParameterBase *uniformBase, SoState *state) = 0;
51
53 std::set<SbString> auxUniformParameters;
54
55 protected:
56
59};
60
61#endif // _SO_UNIFORM_SHADER_PARAMETER_
#define INVENTOR_SHADER_API
Define class export specifier.
SoShaderParameter()
Constructor.
Base class for uniform shader parameters.
virtual void updatePreparation(SoState *)
static void initClass()
Initialize class with runtime type system.
void GLRender(SoGLRenderAction *action) override
Add this node to element in state.
SoUniformShaderParameter()
Constructor.
virtual void updateParameter(SoUniformParameterBase *uniformBase, SoState *state)=0
std::set< SbString > auxUniformParameters
Auxiliary uniform shader parameters which are maintained by this node.