OpenGL-based GPUGeometry implementation. More...
#include <mitsuba/hw/glgeometry.h>
Public Member Functions | |
GLGeometry (const TriMesh *mesh) | |
Create a new GLGeometry instance for the given mesh. More... | |
void | init () |
Upload the geometry object. More... | |
void | refresh () |
Refresh (re-upload) the geometry object. More... | |
void | bind () |
Bind the geometry object. More... | |
void | unbind () |
Unbind the geometry object. More... | |
void | cleanup () |
Free the geometry object from GPU memory. More... | |
virtual const Class * | getClass () const |
Retrieve this object's class. More... | |
Public Member Functions inherited from mitsuba::GPUGeometry | |
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... | |
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... | |
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 mitsuba::GPUGeometry | |
static Class * | m_theClass |
Static Public Attributes inherited from Object | |
static Class * | m_theClass |
Pointer to the object's class descriptor. More... | |
Protected Types | |
enum | EIdentifier { EVertexID = 0, EIndexID = 1 } |
Protected Member Functions | |
virtual | ~GLGeometry () |
Virtual destructor. More... | |
Protected Member Functions inherited from mitsuba::GPUGeometry | |
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 | |
GLuint | m_id [2] |
GLuint64 | m_addr [2] |
GLuint | m_size [2] |
int | m_stride |
Protected Attributes inherited from mitsuba::GPUGeometry | |
ref< const TriMesh > | m_mesh |
Shader * | m_shader |
Friends | |
class | GLRenderer |
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... | |
OpenGL-based GPUGeometry implementation.
|
protected |
mitsuba::GLGeometry::GLGeometry | ( | const TriMesh * | mesh | ) |
Create a new GLGeometry instance for the given mesh.
|
protectedvirtual |
Virtual destructor.
|
virtual |
Bind the geometry object.
Implements mitsuba::GPUGeometry.
|
virtual |
Free the geometry object from GPU memory.
Implements mitsuba::GPUGeometry.
|
virtual |
Retrieve this object's class.
Reimplemented from mitsuba::GPUGeometry.
|
virtual |
Upload the geometry object.
Implements mitsuba::GPUGeometry.
|
virtual |
Refresh (re-upload) the geometry object.
Implements mitsuba::GPUGeometry.
|
virtual |
Unbind the geometry object.
Implements mitsuba::GPUGeometry.
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
|
static |