Abstract geometry storage on a graphics card. More...
#include <mitsuba/hw/gpugeometry.h>
Public Member Functions | |
GPUGeometry (const TriMesh *mesh) | |
Create an empty geometry object. More... | |
std::string | getName () const |
Return the name of this geometry object. More... | |
const TriMesh * | getTriMesh () const |
Return the associated triangle mesh. More... | |
virtual void | init ()=0 |
Upload the geometry object. More... | |
virtual void | refresh ()=0 |
Refresh (re-upload) the geometry object. More... | |
virtual void | bind ()=0 |
Bind the geometry object. More... | |
virtual void | unbind ()=0 |
Unbind the geometry object. More... | |
virtual void | cleanup ()=0 |
Free the geometry object from GPU memory. More... | |
Shader * | getShader () |
Return an (auxiliary) shader instance associated with the geometry. More... | |
const Shader * | getShader () const |
Return an (auxiliary) shader instance associated with the geometry. More... | |
void | setShader (Shader *shader) |
Set an (auxiliary) shader instance associated with the geometry. More... | |
std::string | toString () const |
Return a string representation. More... | |
virtual const Class * | getClass () const |
Retrieve this object's class. More... | |
Public Member Functions inherited from Object | |
Object () | |
Construct a new object. More... | |
int | getRefCount () const |
Return the current reference count. More... | |
void | incRef () const |
Increase the reference count of the object by one. More... | |
void | decRef (bool autoDeallocate=true) const |
Decrease the reference count of the object and possibly deallocate it. More... | |
Static Public Attributes | |
static Class * | m_theClass |
Static Public Attributes inherited from Object | |
static Class * | m_theClass |
Pointer to the object's class descriptor. More... | |
Protected Member Functions | |
virtual | ~GPUGeometry () |
Virtual destructor. More... | |
Protected Member Functions inherited from Object | |
virtual | ~Object () |
Virtual private deconstructor. (Will only be called by ref) More... | |
Protected Attributes | |
ref< const TriMesh > | m_mesh |
Shader * | m_shader |
Additional Inherited Members | |
Static Public Member Functions inherited from Object | |
static void | staticInitialization () |
Initializes the built-in reference count debugger (if enabled) More... | |
static void | staticShutdown () |
Free the memory taken by staticInitialization() More... | |
Abstract geometry storage on a graphics card.
mitsuba::GPUGeometry::GPUGeometry | ( | const TriMesh * | mesh | ) |
Create an empty geometry object.
|
protectedvirtual |
Virtual destructor.
|
pure virtual |
Bind the geometry object.
Implemented in mitsuba::GLGeometry.
|
pure virtual |
Free the geometry object from GPU memory.
Implemented in mitsuba::GLGeometry.
|
virtual |
|
inline |
Return the name of this geometry object.
|
inline |
Return an (auxiliary) shader instance associated with the geometry.
|
inline |
Return an (auxiliary) shader instance associated with the geometry.
|
inline |
Return the associated triangle mesh.
|
pure virtual |
Upload the geometry object.
Implemented in mitsuba::GLGeometry.
|
pure virtual |
Refresh (re-upload) the geometry object.
Implemented in mitsuba::GLGeometry.
|
inline |
Set an (auxiliary) shader instance associated with the geometry.
|
virtual |
Return a string representation.
Reimplemented from Object.
|
pure virtual |
Unbind the geometry object.
Implemented in mitsuba::GLGeometry.
|
protected |
|
static |