13#ifndef SO_SHADER_OBJECT_H
14#define SO_SHADER_OBJECT_H
19#include "SoShaderSystem.h"
21#include <Inventor/nodes/SoSubNode.h>
22#include <Inventor/fields/SoSFBool.h>
23#include <Inventor/fields/SoSFEnum.h>
24#include <Inventor/fields/SoSFString.h>
32 typedef SoNode inherited;
72 return _glShaderObject;
85 return _sourceProgram;
92 return _containsMainFunction;
100 return _snippetFunctionName;
104 return _snippetInsertionLocation;
108 return _snippetUniformList;
139 SbBool _containsMainFunction;
This contains the definition of the SbList generic pointer list class; an SbList is a list of (void *...
Vertex or fragment shader object class.
Abstract Open Inventor node for vertex or fragment shader nodes.
SoSFBool isActive
Enable / disable shader object.
SoGLShaderObject * _glShaderObject
void scheduleRebuild()
Schedule rebuild of underlying OpenGL shader (e.g. due to GL context switch)
SoSFBool emulateLegacyOpenGL
If enabled, legacy OpenGL state is emulated for shaders >= version 140.
virtual SoShader::ShaderType shaderType() const =0
Returns type of shader.
SbBool hasSourceModifications() const
SoGLShaderObject * getGLShaderObject()
Returns shader object.
SoSFString sourceProgram
Contains the shader object's source or the filename of the source file.
void GLRender(SoGLRenderAction *action) override
Add this node to element in state.
SoShaderObject()
Constructor.
~SoShaderObject() override
Destructor.
SourceType getSourceType() const
Returns shader object's source type.
const SbList< SbString > & getSnippetUniformList() const
const SbString & getSourceProgram() const
Returns shader object's source program.
SnippetInsertionLocation getSnippetInsertionLocation() const
SoSFEnum sourceType
Specify shader object's source type.
static void initClass()
Initialize class with runtime type system.
SbString getSnippetFunctionName() const
SourceType
Shader object's source type.
@ GLSL_PROGRAM
OpenGL Shading Language program.
SbBool containsMainFunction() const
Target mlrange_cast(Source arg)
Generic version of checked ML casts.