13#ifndef SO_GLSHADER_PROGRAM_ELEMENT_H
14#define SO_GLSHADER_PROGRAM_ELEMENT_H
19#include "SoShaderSystem.h"
20#include <Inventor/elements/SoReplacedElement.h>
27 typedef SoReplacedElement inherited;
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.
Target mlrange_cast(Source arg)
Generic version of checked ML casts.