13#ifndef SO_GLCOMPLETE_SHADER_H
14#define SO_GLCOMPLETE_SHADER_H
19#include "SoShaderSystem.h"
20#include <Inventor/SbBasic.h>
Shader class which directly takes src for vertex, geometry and/or fragment shader,...
SoGLShaderObject * m_pVertSh
The GLSL shader objects for vertex, geometry and fragment programs.
bool create(const char *srcVert, const char *srcGeom, const char *srcFrag)
Creates the shaders and links them. If one does not need a specific shader, just pass NULL.
void bindTexture(const char *name, SoGLTexture *texture, int unit=-1)
binds the given texture, if unit == -1 a unit is automatically assigned by the shader
SoGLShaderObject * m_pGeomSh
~SoGLCompleteShader() override
SoGLShaderObject * m_pFragSh
bool update(const char *srcVert, const char *srcGeom, const char *srcFrag)
Updates the shaders source. Pass NULL for shaders that you don't want to update.
void enable()
enables the shader, resets the assigned texture units
Vertex or fragment shader object class.
Class managing an OpenGL shader program.
Target mlrange_cast(Source arg)
Generic version of checked ML casts.