VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkShaderDeviceAdapter Class Reference

an adapter to pass generic vertex attributes to the rendering pipeline. .SECTION This class is an adapter used to pass generic vertex attributes to the rendering pipeline. Since this changes based on the shading language used, this class merely defines the API and subclasses provide implementations for Cg and GSince this changes based on the shading language used, this class merely defines the API and subclasses provide implementations for Cg and GLSL. More...

#include <vtkShaderDeviceAdapter.h>

Inheritance diagram for vtkShaderDeviceAdapter:
[legend]
Collaboration diagram for vtkShaderDeviceAdapter:
[legend]

Public Types

typedef vtkObject Superclass
- Public Types inherited from vtkObject
typedef vtkObjectBase Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
virtual void PrintSelf (ostream &os, vtkIndent indent)
virtual void PrepareForRender ()=0
virtual void SendAttribute (const char *attrname, int components, int type, const void *attribute, unsigned long offset=0)=0
void SetShaderProgram (vtkShaderProgram *pgm)
virtual vtkShaderProgramGetShaderProgram ()
- Public Member Functions inherited from vtkObject
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)
vtkCommandGetCommand (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)
- Public Member Functions inherited from vtkObjectBase
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 vtkShaderDeviceAdapterSafeDownCast (vtkObject *o)
- Static Public Member Functions inherited from vtkObject
static vtkObjectNew ()
static void BreakOnError ()
static void SetGlobalWarningDisplay (int val)
static void GlobalWarningDisplayOn ()
static void GlobalWarningDisplayOff ()
static int GetGlobalWarningDisplay ()

Protected Member Functions

 vtkShaderDeviceAdapter ()
 ~vtkShaderDeviceAdapter ()
- Protected Member Functions inherited from vtkObject
 vtkObject ()
virtual ~vtkObject ()
virtual void RegisterInternal (vtkObjectBase *, int check)
virtual void UnRegisterInternal (vtkObjectBase *, int check)
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
void InternalReleaseFocus ()
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
virtual ~vtkObjectBase ()
virtual void CollectRevisions (ostream &os)
virtual void ReportReferences (vtkGarbageCollector *)
 vtkObjectBase (const vtkObjectBase &)
void operator= (const vtkObjectBase &)

Protected Attributes

vtkShaderProgramShaderProgram
- Protected Attributes inherited from vtkObject
unsigned char Debug
vtkTimeStamp MTime
vtkSubjectHelper * SubjectHelper
- Protected Attributes inherited from vtkObjectBase
int ReferenceCount
vtkWeakPointerBase ** WeakPointers

Detailed Description

an adapter to pass generic vertex attributes to the rendering pipeline. .SECTION This class is an adapter used to pass generic vertex attributes to the rendering pipeline. Since this changes based on the shading language used, this class merely defines the API and subclasses provide implementations for Cg and GSince this changes based on the shading language used, this class merely defines the API and subclasses provide implementations for Cg and GLSL.

Thanks:
Support for generic vertex attributes in VTK was contributed in collaboration with Stephane Ploix at EDF.

Definition at line 37 of file vtkShaderDeviceAdapter.h.

Member Typedef Documentation

Definition at line 40 of file vtkShaderDeviceAdapter.h.

Constructor & Destructor Documentation

vtkShaderDeviceAdapter::vtkShaderDeviceAdapter ( )
protected
vtkShaderDeviceAdapter::~vtkShaderDeviceAdapter ( )
protected

Member Function Documentation

virtual const char* vtkShaderDeviceAdapter::GetClassName ( )
virtual

Reimplemented from vtkObject.

Reimplemented in vtkCgShaderDeviceAdapter, and vtkGLSLShaderDeviceAdapter.

static int vtkShaderDeviceAdapter::IsTypeOf ( const char *  name)
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 vtkCgShaderDeviceAdapter, and vtkGLSLShaderDeviceAdapter.

virtual int vtkShaderDeviceAdapter::IsA ( const char *  name)
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 vtkCgShaderDeviceAdapter, and vtkGLSLShaderDeviceAdapter.

static vtkShaderDeviceAdapter* vtkShaderDeviceAdapter::SafeDownCast ( vtkObject o)
static

Reimplemented from vtkObject.

Reimplemented in vtkCgShaderDeviceAdapter, and vtkGLSLShaderDeviceAdapter.

virtual void vtkShaderDeviceAdapter::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
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 vtkGLSLShaderDeviceAdapter, and vtkCgShaderDeviceAdapter.

virtual void vtkShaderDeviceAdapter::SendAttribute ( const char *  attrname,
int  components,
int  type,
const void *  attribute,
unsigned long  offset = 0 
)
pure virtual

Sends a single attribute to the graphics card. The attrname parameter identifies the name of attribute. The components parameter gives the number of components in the attribute. In general, components must be between 1-4, but a rendering system may impose even more constraints. The type parameter is a VTK type enumeration (VTK_FLOAT, VTK_INT, etc.). Again, a rendering system may not support all types for all attributes. The attribute parameter is the actual data for the attribute. If offset is specified, it is added to attribute pointer after it has been casted to the proper type.

Implemented in vtkGLSLShaderDeviceAdapter, and vtkCgShaderDeviceAdapter.

void vtkShaderDeviceAdapter::SetShaderProgram ( vtkShaderProgram pgm)
inline

Set the shader program which is being updated by this device adapter. The shader program is not reference counted to avoid reference loops.

Definition at line 61 of file vtkShaderDeviceAdapter.h.

virtual vtkShaderProgram* vtkShaderDeviceAdapter::GetShaderProgram ( )
virtual

Set the shader program which is being updated by this device adapter. The shader program is not reference counted to avoid reference loops.

virtual void vtkShaderDeviceAdapter::PrepareForRender ( )
pure virtual

Member Data Documentation

vtkShaderProgram* vtkShaderDeviceAdapter::ShaderProgram
protected

Definition at line 75 of file vtkShaderDeviceAdapter.h.


The documentation for this class was generated from the following file: