VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
vtkOpenGLShaderCache Class Reference

manage Shader Programs within a context More...

#include <vtkOpenGLShaderCache.h>

Inheritance diagram for vtkOpenGLShaderCache:
Inheritance graph
[legend]
Collaboration diagram for vtkOpenGLShaderCache:
Collaboration graph
[legend]

List of all members.

Public Types

typedef vtkObject Superclass

Public Member Functions

virtual int IsA (const char *type)
vtkOpenGLShaderCacheNewInstance () const
virtual void PrintSelf (ostream &os, vtkIndent indent)
virtual vtkShaderProgramReadyShader (const char *vertexCode, const char *fragmentCode, const char *geometryCode)
virtual vtkShaderProgramReadyShader (vtkShaderProgram *shader)
void ReleaseCurrentShader ()
virtual void ReleaseGraphicsResources (vtkWindow *win)
virtual void ClearLastShaderBound ()
virtual vtkShaderProgramGetLastShaderBound ()

Static Public Member Functions

static vtkOpenGLShaderCacheNew ()
static int IsTypeOf (const char *type)
static vtkOpenGLShaderCacheSafeDownCast (vtkObjectBase *o)

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkOpenGLShaderCache ()
 ~vtkOpenGLShaderCache ()
virtual vtkShaderProgramGetShader (const char *vertexCode, const char *fragmentCode, const char *geometryCode)
virtual int BindShader (vtkShaderProgram *shader)

Protected Attributes

Private * Internal
vtkShaderProgramLastShaderBound

Detailed Description

manage Shader Programs within a context

vtkOpenGLShaderCache manages shader program compilation and binding

Definition at line 31 of file vtkOpenGLShaderCache.h.


Member Typedef Documentation

Reimplemented from vtkObject.

Definition at line 35 of file vtkOpenGLShaderCache.h.


Constructor & Destructor Documentation


Member Function Documentation

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkObject.

static int vtkOpenGLShaderCache::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.

virtual int vtkOpenGLShaderCache::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 from vtkObject.

virtual vtkObjectBase* vtkOpenGLShaderCache::NewInstanceInternal ( ) const [protected, virtual]

Reimplemented from vtkObject.

Reimplemented from vtkObject.

virtual void vtkOpenGLShaderCache::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.

virtual vtkShaderProgram* vtkOpenGLShaderCache::ReadyShader ( const char *  vertexCode,
const char *  fragmentCode,
const char *  geometryCode 
) [virtual]

Release the current shader. Basically go back to having no shaders loaded. This is useful for old legacy code that relies on no shaders being loaded.

virtual void vtkOpenGLShaderCache::ReleaseGraphicsResources ( vtkWindow win) [virtual]

Free up any resources being used by the provided shader

virtual void vtkOpenGLShaderCache::ClearLastShaderBound ( ) [inline, virtual]

Get/Clear the last Shader bound, called by shaders as they release their graphics resources

Definition at line 55 of file vtkOpenGLShaderCache.h.

Get/Clear the last Shader bound, called by shaders as they release their graphics resources

virtual vtkShaderProgram* vtkOpenGLShaderCache::GetShader ( const char *  vertexCode,
const char *  fragmentCode,
const char *  geometryCode 
) [protected, virtual]
virtual int vtkOpenGLShaderCache::BindShader ( vtkShaderProgram shader) [protected, virtual]

Member Data Documentation

Private* vtkOpenGLShaderCache::Internal [protected]

Definition at line 68 of file vtkOpenGLShaderCache.h.

Definition at line 70 of file vtkOpenGLShaderCache.h.


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