1#ifndef COIN_SOSHADERPARAMETER_H
2#define COIN_SOSHADERPARAMETER_H
36#include <Inventor/nodes/SoNode.h>
37#include <Inventor/nodes/SoSubNode.h>
38#include <Inventor/fields/SoSFString.h>
39#include <Inventor/fields/SoSFFloat.h>
40#include <Inventor/fields/SoSFInt32.h>
41#include <Inventor/fields/SoSFVec2f.h>
42#include <Inventor/fields/SoSFVec3f.h>
43#include <Inventor/fields/SoSFVec4f.h>
44#include <Inventor/fields/SoMFFloat.h>
45#include <Inventor/fields/SoMFInt32.h>
46#include <Inventor/fields/SoMFVec2f.h>
47#include <Inventor/fields/SoMFVec3f.h>
48#include <Inventor/fields/SoMFVec4f.h>
49#include <Inventor/fields/SoSFMatrix.h>
50#include <Inventor/fields/SoMFMatrix.h>
51#include <Inventor/fields/SoSFNode.h>
52#include <Inventor/fields/SoSFEnum.h>
53#include <Inventor/fields/SoSFImage.h>
55#include <Inventor/fields/SoSFVec2i32.h>
56#include <Inventor/fields/SoSFVec3i32.h>
57#include <Inventor/fields/SoSFVec4i32.h>
58#include <Inventor/fields/SoMFVec2i32.h>
59#include <Inventor/fields/SoMFVec3i32.h>
60#include <Inventor/fields/SoMFVec4i32.h>
62class SoGLShaderParameter;
63class SoGLShaderObject;
93class SoUniformShaderParameterP;
104 SoUniformShaderParameter();
105 virtual ~SoUniformShaderParameter();
107 SoGLShaderParameter * getGLShaderParameter(
const uint32_t cachecontext);
108 void ensureParameter(SoGLShaderObject * shader);
111 SoUniformShaderParameterP * pimpl;
118class COIN_DLL_API SoShaderParameter1f :
public SoUniformShaderParameter {
119 typedef SoUniformShaderParameter inherited;
124 SoShaderParameter1f();
131 virtual ~SoShaderParameter1f();
138class COIN_DLL_API SoShaderParameter1i :
public SoUniformShaderParameter {
139 typedef SoUniformShaderParameter inherited;
144 SoShaderParameter1i();
151 virtual ~SoShaderParameter1i();
158class COIN_DLL_API SoShaderParameter2f :
public SoUniformShaderParameter {
159 typedef SoUniformShaderParameter inherited;
164 SoShaderParameter2f();
171 virtual ~SoShaderParameter2f();
178class COIN_DLL_API SoShaderParameter2i :
public SoUniformShaderParameter {
179 typedef SoUniformShaderParameter inherited;
184 SoShaderParameter2i();
191 virtual ~SoShaderParameter2i();
198class COIN_DLL_API SoShaderParameter3f :
public SoUniformShaderParameter {
199 typedef SoUniformShaderParameter inherited;
205 SoShaderParameter3f();
212 virtual ~SoShaderParameter3f();
219class COIN_DLL_API SoShaderParameter3i :
public SoUniformShaderParameter {
220 typedef SoUniformShaderParameter inherited;
226 SoShaderParameter3i();
233 virtual ~SoShaderParameter3i();
240class COIN_DLL_API SoShaderParameter4f :
public SoUniformShaderParameter {
241 typedef SoUniformShaderParameter inherited;
247 SoShaderParameter4f();
254 virtual ~SoShaderParameter4f();
261class COIN_DLL_API SoShaderParameter4i :
public SoUniformShaderParameter {
262 typedef SoUniformShaderParameter inherited;
268 SoShaderParameter4i();
275 virtual ~SoShaderParameter4i();
282class COIN_DLL_API SoShaderParameterArray1f :
public SoUniformShaderParameter {
283 typedef SoUniformShaderParameter inherited;
289 SoShaderParameterArray1f();
296 virtual ~SoShaderParameterArray1f();
303class COIN_DLL_API SoShaderParameterArray1i :
public SoUniformShaderParameter {
304 typedef SoUniformShaderParameter inherited;
310 SoShaderParameterArray1i();
317 virtual ~SoShaderParameterArray1i();
324class COIN_DLL_API SoShaderParameterArray2f :
public SoUniformShaderParameter {
325 typedef SoUniformShaderParameter inherited;
331 SoShaderParameterArray2f();
338 virtual ~SoShaderParameterArray2f();
344class COIN_DLL_API SoShaderParameterArray2i :
public SoUniformShaderParameter {
345 typedef SoUniformShaderParameter inherited;
351 SoShaderParameterArray2i();
358 virtual ~SoShaderParameterArray2i();
365class COIN_DLL_API SoShaderParameterArray3f :
public SoUniformShaderParameter {
366 typedef SoUniformShaderParameter inherited;
372 SoShaderParameterArray3f();
379 virtual ~SoShaderParameterArray3f();
386class COIN_DLL_API SoShaderParameterArray3i :
public SoUniformShaderParameter {
387 typedef SoUniformShaderParameter inherited;
393 SoShaderParameterArray3i();
400 virtual ~SoShaderParameterArray3i();
407class COIN_DLL_API SoShaderParameterArray4f :
public SoUniformShaderParameter {
408 typedef SoUniformShaderParameter inherited;
414 SoShaderParameterArray4f();
421 virtual ~SoShaderParameterArray4f();
429class COIN_DLL_API SoShaderParameterArray4i :
public SoUniformShaderParameter {
430 typedef SoUniformShaderParameter inherited;
436 SoShaderParameterArray4i();
443 virtual ~SoShaderParameterArray4i();
450class COIN_DLL_API SoShaderParameterMatrix :
public SoUniformShaderParameter {
451 typedef SoUniformShaderParameter inherited;
457 SoShaderParameterMatrix();
464 virtual ~SoShaderParameterMatrix();
471class COIN_DLL_API SoShaderParameterMatrixArray :
public SoUniformShaderParameter {
472 typedef SoUniformShaderParameter inherited;
478 SoShaderParameterMatrixArray();
485 virtual ~SoShaderParameterMatrixArray();
492class COIN_DLL_API SoShaderStateMatrixParameter :
public SoUniformShaderParameter {
493 typedef SoUniformShaderParameter inherited;
515 SoShaderStateMatrixParameter();
516 virtual ~SoShaderStateMatrixParameter();
The SbMatrix class is a 4x4 dimensional representation of a matrix.
Definition SbMatrix.h:47
The SoMFFloat class is a container for floating point values.
Definition SoMFFloat.h:39
The SoMFInt32 class is a container for 32-bit integer values.
Definition SoMFInt32.h:39
The SoMFMatrix class is a container for SbMatrix values.
Definition SoMFMatrix.h:40
The SoMFVec2f class is a container for SbVec2f vectors.
Definition SoMFVec2f.h:40
The SoMFVec2i32 class is a container for SbVec2i32 vectors.
Definition SoMFVec2i32.h:40
The SoMFVec3f class is a container for SbVec3f vectors.
Definition SoMFVec3f.h:40
The SoMFVec3i32 class is a container for SbVec3i32 vectors.
Definition SoMFVec3i32.h:40
The SoMFVec4f class is a container for SbVec4f vectors.
Definition SoMFVec4f.h:40
The SoMFVec4i32 class is a container for SbVec4i32 vectors.
Definition SoMFVec4i32.h:40
SoNode(void)
Definition SoNode.cpp:417
static void initClass(void)
Sets up initialization for data common to all instances of this class, like submitting necessary info...
Definition SoNode.cpp:573
The SoSFEnum class is a container for an enum value.
Definition SoSFEnum.h:40
The SoSFFloat class is a container for a floating point value.
Definition SoSFFloat.h:39
The SoSFInt32 class is a container for a 32-bit integer value.
Definition SoSFInt32.h:39
The SoSFMatrix class is a container for an SbMatrix.
Definition SoSFMatrix.h:40
The SoSFString class is a container for an SbString.
Definition SoSFString.h:40
The SoSFVec2f class is a container for an SbVec2f vector.
Definition SoSFVec2f.h:40
The SoSFVec2i32 class is a container for an SbVec2i32 vector.
Definition SoSFVec2i32.h:40
The SoSFVec3f class is a container for an SbVec3f vector.
Definition SoSFVec3f.h:40
The SoSFVec3i32 class is a container for an SbVec3i32 vector.
Definition SoSFVec3i32.h:40
The SoSFVec4f class is a container for an SbVec4f vector.
Definition SoSFVec4f.h:40
The SoSFVec4i32 class is a container for an SbVec4i32 vector.
Definition SoSFVec4i32.h:40
SoSFFloat value
Definition SoShaderParameter.h:123
virtual void updateParameter(SoGLShaderObject *shaderObject)
Updates the shader parameter in the OpenGL state with the content of the value field.
Definition SoShaderParameter.cpp:520
virtual void updateParameter(SoGLShaderObject *shaderObject)
Updates the shader parameter in the OpenGL state with the content of the value field.
Definition SoShaderParameter.cpp:1066
SoSFInt32 value
Definition SoShaderParameter.h:143
virtual void updateParameter(SoGLShaderObject *shaderObject)
Updates the shader parameter in the OpenGL state with the content of the value field.
Definition SoShaderParameter.cpp:555
SoSFVec2f value
Definition SoShaderParameter.h:163
virtual void updateParameter(SoGLShaderObject *shaderObject)
Updates the shader parameter in the OpenGL state with the content of the value field.
Definition SoShaderParameter.cpp:1102
SoSFVec2i32 value
Definition SoShaderParameter.h:183
SoSFVec3f value
Definition SoShaderParameter.h:203
virtual void updateParameter(SoGLShaderObject *shaderObject)
Updates the shader parameter in the OpenGL state with the content of the value field.
Definition SoShaderParameter.cpp:590
SoSFVec3i32 value
Definition SoShaderParameter.h:224
virtual void updateParameter(SoGLShaderObject *shaderObject)
Updates the shader parameter in the OpenGL state with the content of the value field.
Definition SoShaderParameter.cpp:1138
virtual void updateParameter(SoGLShaderObject *shaderObject)
Updates the shader parameter in the OpenGL state with the content of the value field.
Definition SoShaderParameter.cpp:625
SoSFVec4f value
Definition SoShaderParameter.h:245
SoSFVec4i32 value
Definition SoShaderParameter.h:266
virtual void updateParameter(SoGLShaderObject *shaderObject)
Updates the shader parameter in the OpenGL state with the content of the value field.
Definition SoShaderParameter.cpp:1174
SoMFFloat value
Definition SoShaderParameter.h:287
virtual void updateParameter(SoGLShaderObject *shaderObject)
Updates the shader parameter in the OpenGL state with the content of the value field.
Definition SoShaderParameter.cpp:796
virtual void updateParameter(SoGLShaderObject *shaderObject)
Updates the shader parameter in the OpenGL state with the content of the value field.
Definition SoShaderParameter.cpp:1210
SoMFInt32 value
Definition SoShaderParameter.h:308
SoMFVec2f value
Definition SoShaderParameter.h:329
virtual void updateParameter(SoGLShaderObject *shaderObject)
Updates the shader parameter in the OpenGL state with the content of the value field.
Definition SoShaderParameter.cpp:831
virtual void updateParameter(SoGLShaderObject *shaderObject)
Updates the shader parameter in the OpenGL state with the content of the value field.
Definition SoShaderParameter.cpp:1247
SoMFVec2i32 value
Definition SoShaderParameter.h:349
SoMFVec3f value
Definition SoShaderParameter.h:370
virtual void updateParameter(SoGLShaderObject *shaderObject)
Updates the shader parameter in the OpenGL state with the content of the value field.
Definition SoShaderParameter.cpp:878
SoMFVec3i32 value
Definition SoShaderParameter.h:391
virtual void updateParameter(SoGLShaderObject *shaderObject)
Updates the shader parameter in the OpenGL state with the content of the value field.
Definition SoShaderParameter.cpp:1284
virtual void updateParameter(SoGLShaderObject *shaderObject)
Updates the shader parameter in the OpenGL state with the content of the value field.
Definition SoShaderParameter.cpp:925
SoMFVec4f value
Definition SoShaderParameter.h:412
virtual void updateParameter(SoGLShaderObject *shaderObject)
Updates the shader parameter in the OpenGL state with the content of the value field.
Definition SoShaderParameter.cpp:1321
SoMFMatrix value
Definition SoShaderParameter.h:476
virtual void updateParameter(SoGLShaderObject *shaderObject)
Updates the shader parameter in the OpenGL state with the content of the value field.
Definition SoShaderParameter.cpp:1014
SoSFMatrix value
Definition SoShaderParameter.h:455
virtual void updateParameter(SoGLShaderObject *shaderObject)
Updates the shader parameter in the OpenGL state with the content of the value field.
Definition SoShaderParameter.cpp:977
SoShaderParameter()
Definition SoShaderParameter.cpp:403
SoSFString name
Definition SoShaderParameter.h:79
SoSFInt32 identifier
Definition SoShaderParameter.h:80
SoSFEnum matrixType
Definition SoShaderParameter.h:512
virtual void updateValue(SoState *state)
Definition SoShaderParameter.cpp:739
MatrixTransform
Definition SoShaderParameter.h:505
virtual void updateParameter(SoGLShaderObject *shaderObject)
Updates the shader parameter in the OpenGL state with the content of the value field.
Definition SoShaderParameter.cpp:696
MatrixType
Definition SoShaderParameter.h:498
SoSFEnum matrixTransform
Definition SoShaderParameter.h:513
The SoState class manages the Coin scene graph traversal state data.
Definition SoState.h:44
#define SO_NODE_ABSTRACT_HEADER(classname)
Definition Coin_macros.dox:61
#define SO_NODE_HEADER(classname)
Definition Coin_macros.dox:50