VTK
|
manage Shader Programs within a context More...
#include <vtkOpenGLShaderCache.h>
Public Types | |
typedef vtkObject | Superclass |
Public Member Functions | |
virtual int | IsA (const char *type) |
vtkOpenGLShaderCache * | NewInstance () const |
virtual void | PrintSelf (ostream &os, vtkIndent indent) |
virtual vtkShaderProgram * | ReadyShader (const char *vertexCode, const char *fragmentCode, const char *geometryCode) |
virtual vtkShaderProgram * | ReadyShader (vtkShaderProgram *shader) |
void | ReleaseCurrentShader () |
virtual void | ReleaseGraphicsResources (vtkWindow *win) |
virtual void | ClearLastShaderBound () |
virtual vtkShaderProgram * | GetLastShaderBound () |
Static Public Member Functions | |
static vtkOpenGLShaderCache * | New () |
static int | IsTypeOf (const char *type) |
static vtkOpenGLShaderCache * | SafeDownCast (vtkObjectBase *o) |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkOpenGLShaderCache () | |
~vtkOpenGLShaderCache () | |
virtual vtkShaderProgram * | GetShader (const char *vertexCode, const char *fragmentCode, const char *geometryCode) |
virtual int | BindShader (vtkShaderProgram *shader) |
Protected Attributes | |
Private * | Internal |
vtkShaderProgram * | LastShaderBound |
manage Shader Programs within a context
vtkOpenGLShaderCache manages shader program compilation and binding
Definition at line 31 of file vtkOpenGLShaderCache.h.
Reimplemented from vtkObject.
Definition at line 35 of file vtkOpenGLShaderCache.h.
vtkOpenGLShaderCache::vtkOpenGLShaderCache | ( | ) | [protected] |
vtkOpenGLShaderCache::~vtkOpenGLShaderCache | ( | ) | [protected] |
static vtkOpenGLShaderCache* vtkOpenGLShaderCache::New | ( | ) | [static] |
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.
static vtkOpenGLShaderCache* vtkOpenGLShaderCache::SafeDownCast | ( | vtkObjectBase * | o | ) | [static] |
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] |
virtual vtkShaderProgram* vtkOpenGLShaderCache::ReadyShader | ( | const char * | vertexCode, |
const char * | fragmentCode, | ||
const char * | geometryCode | ||
) | [virtual] |
virtual vtkShaderProgram* vtkOpenGLShaderCache::ReadyShader | ( | vtkShaderProgram * | shader | ) | [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.
virtual vtkShaderProgram* vtkOpenGLShaderCache::GetLastShaderBound | ( | ) | [virtual] |
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] |
Private* vtkOpenGLShaderCache::Internal [protected] |
Definition at line 68 of file vtkOpenGLShaderCache.h.
vtkShaderProgram* vtkOpenGLShaderCache::LastShaderBound [protected] |
Definition at line 70 of file vtkOpenGLShaderCache.h.