MeVisLabToolboxReference
|
Abstract Open Inventor node for vertex or fragment shader nodes. More...
#include <SoShaderObject.h>
Public Types | |
enum | SourceType { GLSL_PROGRAM, FILENAME } |
Shader object's source type. More... | |
enum | SnippetInsertionLocation { AT_BEGIN, AT_END } |
Public Member Functions | |
virtual void | GLRender (SoGLRenderAction *action) |
Add this node to element in state. | |
SoGLShaderObject * | getGLShaderObject () |
Returns shader object. | |
virtual SoShader::ShaderType | shaderType () const =0 |
Returns type of shader. | |
SourceType | getSourceType () const |
Returns shader object's source type. | |
const SbString & | getSourceProgram () const |
Returns shader object's source program. | |
void | scheduleRebuild () |
Schedule rebuild of underlying OpenGL shader (e.g. due to GL context switch) | |
SbBool | containsMainFunction () const |
SbBool | isSnippet () const |
SbString | getSnippetFunctionName () const |
SnippetInsertionLocation | getSnippetInsertionLocation () const |
const SbList< SbString > & | getSnippetUniformList () const |
SbBool | hasSourceModifications () const |
Static Public Member Functions | |
static void | initClass () |
Initialize class with runtime type system. | |
Public Attributes | |
SoSFBool | isActive |
Enable / disable shader object. | |
SoSFEnum | sourceType |
Specify shader object's source type. | |
SoSFString | sourceProgram |
Contains the shader object's source or the filename of the source file. | |
Protected Member Functions | |
void | checkType () |
void | readSource () |
SoShaderObject () | |
Constructor. | |
virtual | ~SoShaderObject () |
Destructor. | |
Protected Attributes | |
SoGLShaderObject * | _glShaderObject |
SourceType | _sourceType |
SbString | _sourceProgram |
Abstract Open Inventor node for vertex or fragment shader nodes.
Definition at line 23 of file SoShaderObject.h.
Definition at line 36 of file SoShaderObject.h.
Shader object's source type.
GLSL_PROGRAM |
OpenGL Shading Language program. |
FILENAME |
Filename of source file. |
Definition at line 32 of file SoShaderObject.h.
SoShaderObject::SoShaderObject | ( | ) | [protected] |
Constructor.
virtual SoShaderObject::~SoShaderObject | ( | ) | [protected, virtual] |
Destructor.
void SoShaderObject::checkType | ( | ) | [protected] |
SbBool SoShaderObject::containsMainFunction | ( | ) | const [inline] |
Definition at line 81 of file SoShaderObject.h.
SoGLShaderObject* SoShaderObject::getGLShaderObject | ( | ) | [inline] |
Returns shader object.
Definition at line 61 of file SoShaderObject.h.
SbString SoShaderObject::getSnippetFunctionName | ( | ) | const [inline] |
Definition at line 89 of file SoShaderObject.h.
SnippetInsertionLocation SoShaderObject::getSnippetInsertionLocation | ( | ) | const [inline] |
Definition at line 93 of file SoShaderObject.h.
const SbList<SbString>& SoShaderObject::getSnippetUniformList | ( | ) | const [inline] |
Definition at line 97 of file SoShaderObject.h.
const SbString& SoShaderObject::getSourceProgram | ( | ) | const [inline] |
Returns shader object's source program.
Definition at line 74 of file SoShaderObject.h.
SourceType SoShaderObject::getSourceType | ( | ) | const [inline] |
Returns shader object's source type.
Definition at line 69 of file SoShaderObject.h.
virtual void SoShaderObject::GLRender | ( | SoGLRenderAction * | action | ) | [virtual] |
Add this node to element in state.
SbBool SoShaderObject::hasSourceModifications | ( | ) | const |
static void SoShaderObject::initClass | ( | ) | [static] |
Initialize class with runtime type system.
Reimplemented in SoFragmentShader, SoGeometryShader, and SoVertexShader.
SbBool SoShaderObject::isSnippet | ( | ) | const [inline] |
Definition at line 85 of file SoShaderObject.h.
void SoShaderObject::readSource | ( | ) | [protected] |
void SoShaderObject::scheduleRebuild | ( | ) |
Schedule rebuild of underlying OpenGL shader (e.g. due to GL context switch)
virtual SoShader::ShaderType SoShaderObject::shaderType | ( | ) | const [pure virtual] |
Returns type of shader.
Implemented in SoFragmentShader, SoGeometryShader, and SoVertexShader.
SoGLShaderObject* SoShaderObject::_glShaderObject [protected] |
Definition at line 109 of file SoShaderObject.h.
SbString SoShaderObject::_sourceProgram [protected] |
Definition at line 112 of file SoShaderObject.h.
SourceType SoShaderObject::_sourceType [protected] |
Definition at line 111 of file SoShaderObject.h.
SoSFBool SoShaderObject::isActive |
Enable / disable shader object.
Definition at line 42 of file SoShaderObject.h.
SoSFString SoShaderObject::sourceProgram |
Contains the shader object's source or the filename of the source file.
Definition at line 48 of file SoShaderObject.h.
SoSFEnum SoShaderObject::sourceType |
Specify shader object's source type.
Definition at line 45 of file SoShaderObject.h.