VTK
|
#include <vtkShaderProgram.h>
Public Types | |
typedef vtkObject | Superclass |
![]() | |
typedef vtkObjectBase | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
virtual vtkXMLMaterial * | GetMaterial () |
virtual void | SetMaterial (vtkXMLMaterial *) |
int | AddShader (vtkShader *shader) |
void | RemoveShader (int index) |
void | RemoveShader (vtkShader *shader) |
vtkCollectionIterator * | NewShaderIterator () |
int | GetNumberOfShaders () |
virtual void | ReadMaterial () |
virtual void | Render (vtkActor *, vtkRenderer *)=0 |
virtual void | PostRender (vtkActor *, vtkRenderer *) |
virtual void | ReleaseGraphicsResources (vtkWindow *) |
virtual void | AddShaderVariable (const char *name, int numVars, int *x) |
virtual void | AddShaderVariable (const char *name, int numVars, float *x) |
virtual void | AddShaderVariable (const char *name, int numVars, double *x) |
virtual vtkShaderDeviceAdapter * | GetShaderDeviceAdapter () |
![]() | |
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 () |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkShaderProgram * | SafeDownCast (vtkObject *o) |
static vtkShaderProgram * | CreateShaderProgram (int type) |
![]() | |
static vtkObject * | New () |
static void | BreakOnError () |
static void | SetGlobalWarningDisplay (int val) |
static void | GlobalWarningDisplayOn () |
static void | GlobalWarningDisplayOff () |
static int | GetGlobalWarningDisplay () |
Protected Member Functions | |
vtkShaderProgram () | |
~vtkShaderProgram () | |
virtual void | SetGLExtensionsLoaded (int) |
virtual int | GetGLExtensionsLoaded () |
virtual void | LoadExtensions (vtkRenderWindow *) |
void | SetShaderDeviceAdapter (vtkShaderDeviceAdapter *) |
![]() | |
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 &) |
Protected Attributes | |
vtkXMLMaterial * | Material |
vtkCollection * | ShaderCollection |
vtkCollectionIterator * | ShaderCollectionIterator |
int | GLExtensionsLoaded |
![]() | |
unsigned char | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
![]() | |
int | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
virtual vtkShader * | NewShader ()=0 |
vtkShaderProgram is a superclass for managing Hardware Shaders defined in the XML Material file and interfacing VTK to those shaders. It's concrete descendants are responsible for installing vertex and fragment programs to the graphics hardware.
Definition at line 69 of file vtkShaderProgram.h.
Definition at line 72 of file vtkShaderProgram.h.
|
protected |
|
protected |
|
virtual |
Reimplemented from vtkObject.
Reimplemented in vtkCgShaderProgram, and vtkGLSLShaderProgram.
|
static |
Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkObject.
Reimplemented in vtkCgShaderProgram, and vtkGLSLShaderProgram.
|
virtual |
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkObject.
Reimplemented in vtkCgShaderProgram, and vtkGLSLShaderProgram.
|
static |
Reimplemented from vtkObject.
Reimplemented in vtkCgShaderProgram, and vtkGLSLShaderProgram.
|
virtual |
Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkObject.
Reimplemented in vtkCgShaderProgram, and vtkGLSLShaderProgram.
|
virtual |
|
virtual |
int vtkShaderProgram::AddShader | ( | vtkShader * | shader | ) |
void vtkShaderProgram::RemoveShader | ( | int | index | ) |
Remove a shader at the given index.
void vtkShaderProgram::RemoveShader | ( | vtkShader * | shader | ) |
Removes the given shader.
vtkCollectionIterator* vtkShaderProgram::NewShaderIterator | ( | ) |
Returns a new iterator to iterate over the shaders.
int vtkShaderProgram::GetNumberOfShaders | ( | ) |
Returns the number of shaders available in this shader program.
|
static |
|
virtual |
|
pure virtual |
Implemented in vtkCgShaderProgram, and vtkGLSLShaderProgram.
|
virtual |
Provide values to initialize shader variables. This is a conduit to initialize shader variables that change over time, useful for animation, gui widget inputs, etc. name - hardware name of the uniform variable numVars - number of variables being set x - values
|
virtual |
Provide values to initialize shader variables. This is a conduit to initialize shader variables that change over time, useful for animation, gui widget inputs, etc. name - hardware name of the uniform variable numVars - number of variables being set x - values
|
virtual |
Provide values to initialize shader variables. This is a conduit to initialize shader variables that change over time, useful for animation, gui widget inputs, etc. name - hardware name of the uniform variable numVars - number of variables being set x - values
|
virtual |
Called to unload the shaders after the actor has been rendered.
Reimplemented in vtkGLSLShaderProgram.
|
virtual |
Release any graphics resources that are being consumed by this actor. The parameter window could be used to determine which graphic resources to release.
Reimplemented in vtkGLSLShaderProgram.
|
virtual |
Get the vtkShaderDeviceAdapter which can be used to execute this shader program.
|
protectedvirtual |
|
protectedvirtual |
|
inlineprotectedvirtual |
Reimplemented in vtkGLSLShaderProgram.
Definition at line 147 of file vtkShaderProgram.h.
|
protected |
|
protectedpure virtual |
Must be overloaded by subclasses to create the shader of appropriate type.
Implemented in vtkGLSLShaderProgram, and vtkCgShaderProgram.
|
protected |
Definition at line 140 of file vtkShaderProgram.h.
|
protected |
Definition at line 141 of file vtkShaderProgram.h.
|
protected |
Definition at line 142 of file vtkShaderProgram.h.
|
protected |
Definition at line 145 of file vtkShaderProgram.h.