Public Member Functions |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
virtual int | Compile () |
unsigned int | GetHandle () |
|
virtual void | SetProgram (unsigned int) |
virtual unsigned int | GetProgram () |
virtual void | PassShaderVariables (vtkActor *actor, vtkRenderer *ren) |
virtual void | Bind () |
virtual void | Unbind () |
int | HasShaderVariable (const char *name) |
int | GetShaderVariableSize (const char *name) |
int | GetShaderVariableType (const char *name) |
void | SetXMLShader (vtkXMLShader *) |
virtual vtkXMLShader * | GetXMLShader () |
void | AddShaderVariable (const char *name, int num_of_elements, const int *values) |
void | AddShaderVariable (const char *name, int num_of_elements, const float *values) |
void | AddShaderVariable (const char *name, int num_of_elements, const double *values) |
int | GetShaderVariable (const char *name, int *values) |
int | GetShaderVariable (const char *name, float *values) |
int | GetShaderVariable (const char *name, double *values) |
int | GetScope () |
virtual void | DebugOn () |
virtual void | DebugOff () |
unsigned char | GetDebug () |
void | SetDebug (unsigned char debugFlag) |
virtual void | Modified () |
virtual unsigned long | GetMTime () |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
vtkCommand * | GetCommand (unsigned long tag) |
void | RemoveObserver (vtkCommand *) |
void | RemoveObservers (unsigned long event, vtkCommand *) |
void | RemoveObservers (const char *event, vtkCommand *) |
int | HasObserver (unsigned long event, vtkCommand *) |
int | HasObserver (const char *event, vtkCommand *) |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
int | HasObserver (unsigned long event) |
int | HasObserver (const char *event) |
template<class U , class T > |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
template<class U , class T > |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
int | InvokeEvent (unsigned long event, void *callData) |
int | InvokeEvent (const char *event, void *callData) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
const char * | GetClassName () const |
virtual void | Delete () |
virtual void | FastDelete () |
void | Print (ostream &os) |
virtual void | Register (vtkObjectBase *o) |
virtual void | UnRegister (vtkObjectBase *o) |
void | SetReferenceCount (int) |
void | PrintRevisions (ostream &os) |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
int | GetReferenceCount () |
Protected Member Functions |
int | IsShader () |
int | IsCompiled () |
void | LoadShader () |
virtual void | SetSamplerParameter (const char *name, vtkTexture *texture, int textureIndex) |
|
virtual void | SetUniformParameter (const char *name, int numValues, const int *value) |
virtual void | SetUniformParameter (const char *name, int numValues, const float *value) |
virtual void | SetUniformParameter (const char *name, int numValues, const double *value) |
|
virtual void | SetMatrixParameter (const char *name, int numValues, int order, const float *value) |
virtual void | SetMatrixParameter (const char *name, int numValues, int order, const double *value) |
virtual void | SetMatrixParameter (const char *name, const char *state_matix_type, const char *transform_type) |
void | SetUniformParameter (vtkActor *, vtkRenderer *, vtkXMLDataElement *) |
void | SetCameraParameter (vtkActor *, vtkRenderer *, vtkXMLDataElement *) |
void | SetPropertyParameter (vtkActor *, vtkRenderer *, vtkXMLDataElement *) |
void | SetLightParameter (vtkActor *, vtkRenderer *, vtkXMLDataElement *) |
void | SetMatrixParameter (vtkActor *, vtkRenderer *, vtkXMLDataElement *) |
void | SetSamplerParameter (vtkActor *, vtkRenderer *, vtkXMLDataElement *) |
void | SetApplicationParameter (vtkXMLDataElement *) |
virtual void | SetShaderParameters (vtkActor *, vtkRenderer *, vtkXMLDataElement *) |
| vtkShader () |
| ~vtkShader () |
| vtkObject () |
virtual | ~vtkObject () |
virtual void | RegisterInternal (vtkObjectBase *, int check) |
virtual void | UnRegisterInternal (vtkObjectBase *, int check) |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
void | InternalReleaseFocus () |
| vtkObjectBase () |
virtual | ~vtkObjectBase () |
virtual void | CollectRevisions (ostream &os) |
virtual void | ReportReferences (vtkGarbageCollector *) |
| vtkObjectBase (const vtkObjectBase &) |
void | operator= (const vtkObjectBase &) |
GLSL Shader.
vtkGLSLShader is a concrete class that creates and compiles hardware shaders written in the OpenGL Shadering Language (GLSL, OpenGL2.0). While step linking a vertex and a fragment shader is performed by vtkGLSLShaderProgram, all shader parameters are initialized in this class.
- vtkOpenGLExtensionManager:
- All OpenGL calls are made through vtkOpenGLExtensionManager.
- Supported Basic Shader Types::
- Scalar Types uniform float uniform int uniform int – boolean scalar not yet tested
- Supported Basic Shader Types::
- Vector Types: uniform vec{2|3|4} uniform ivec{2|3|4} uniform bvec{2|3|4} – boolean vector not yet tested
- Supported Basic Shader Types::
- Matrix Types: uniform mat{2|3|4}
- Supported Basic Shader Types::
- Texture Samplers: sample1D – Not yet implemented in this cless. sample2D – Not yet implemented in this class. sample3D – Not yet implemented in this class. sampler1DShadow – Not yet implemented in this class. sampler1DShadow – Not yet implemented in this class.
- Supported Basic Shader Types::
- User-Defined structures: uniform struct NOTE: these must be defined and declared outside of the 'main' shader function.
- Thanks:
- Shader support in VTK includes key contributions by Gary Templet at Sandia National Labs.
Definition at line 87 of file vtkGLSLShader.h.