Public Member Functions |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
virtual int | Compile () |
virtual void | Bind () |
virtual void | Unbind () |
void | ReportError () |
void | ReleaseGraphicsResources (vtkWindow *) |
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 |
virtual void | SetSamplerParameter (const char *name, vtkTexture *texture, int) |
|
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 &) |
Cg Shader.
vtkCgShader is the only class that interfaces directly with the Cg libraries. Once is has a valid shader described by a vtkXMLDataElement it will create, compile, install, and initialize the parameters of a Cg hardware shader.
- Supported Shader Types::
- Basic Types: uniform float uniform double
- Supported Shader Types::
- Vector Types: uniform float{1|2|3|4} uniform double{1|2|3|4}
- Supported Shader Types::
- Matrix Types: uniform float{1|2|3|4}x{1|2|3|4} uniform double{1|2|3|4}x{1|2|3|4}
- Supported Shader Types::
- NOTE: In the above, 'double' and 'float' refer to the application's representation, the hardware shader must define all of the above types as 'uniform float'.
- Supported Shader Types::
- State Matrix Parameters: uniform float4x4 with the following Cg-defined settings: CG_GL_MATRIX_IDENTITY CG_GL_MATRIX_TRANSPOSE CG_GL_MATRIX_INVERSE CG_GL_MATRIX_INVERSE_TRANSPOSE CG_GL_MODELVIEW_MATRIX CG_GL_PROJECTION_MATRIX CG_GL_TEXTURE_MATRIX CG_GL_MODELVIEW_PROJECTION_MATRIX
- Supported Shader Types::
- Texture Samplers: sample1D - Not tested sample2D sample3D - Not supported by VTK sampleRECT - Not supported by VTK sampleCUBE - Not supported by VTK
- Supported Shader Types::
- User-Defined: uniform struct
- Supported Shader Types::
- VTK-Specific Hardware Data Structures: vtkProperty vtkLight vtkCamera See vtkSNL/Rendering/Shaders/vtkProperty.cg See vtkSNL/Rendering/Shaders/vtkLight.cg See vtkSNL/Rendering/Shaders/vtkCamera.cg
- Thanks:
- Shader support in VTK includes key contributions by Gary Templet at Sandia National Labs.
Definition at line 106 of file vtkCgShader.h.