13#ifndef SO_GLSHADER_PROGRAM_ELEMENT_H
14#define SO_GLSHADER_PROGRAM_ELEMENT_H
20#include <Inventor/elements/SoReplacedElement.h>
27 typedef SoReplacedElement inherited;
33 void init(SoState *state)
override;
41 void push(SoState *state)
override;
42 void pop(SoState *state,
const SoElement *prevTopElement)
override;
#define INVENTOR_SHADER_API
Define class export specifier.
Open Inventor element representing a SoGLShaderProgram in the Open Inventor state.
static void set(SoState *state, SoNode *node, SoGLShaderProgram *glShaderProgram)
Sets the current shader in the state.
static SoGLShaderProgram * get(SoState *state)
Returns the current shader from the state.
static void initClass()
Initialize class with runtime type system.
void init(SoState *state) override
Initialize element.
~SoGLShaderProgramElement() override
Destructor.
void push(SoState *state) override
Override push()/pop() method so side effects can occur in GL.
SoGLShaderProgram * _glShaderProgram
void pop(SoState *state, const SoElement *prevTopElement) override
Class managing an OpenGL shader program.