20 #if !defined(__MITSUBA_HW_GPUGEOMETRY_H_)
21 #define __MITSUBA_HW_GPUGEOMETRY_H_
38 inline std::string
getName()
const {
return m_mesh->getName(); }
44 virtual void init() = 0;
47 virtual void refresh() = 0;
50 virtual void bind() = 0;
53 virtual void unbind() = 0;
56 virtual void cleanup() = 0;
std::string getName() const
Return the name of this geometry object.
Definition: gpugeometry.h:38
const Shader * getShader() const
Return an (auxiliary) shader instance associated with the geometry.
Definition: gpugeometry.h:62
Abstract triangle mesh base class.
Definition: trimesh.h:68
void setShader(Shader *shader)
Set an (auxiliary) shader instance associated with the geometry.
Definition: gpugeometry.h:65
Shader base class for use with a VPL-style renderer.
Definition: shader.h:54
Shader * getShader()
Return an (auxiliary) shader instance associated with the geometry.
Definition: gpugeometry.h:59
#define MTS_DECLARE_CLASS()
This macro must be used in the initial definition in classes that derive from Object.
Definition: class.h:158
Reference counting helper.
Definition: ref.h:40
Abstract geometry storage on a graphics card.
Definition: gpugeometry.h:32
Parent of all Mitsuba classes.
Definition: object.h:38
virtual std::string toString() const
Return a human-readable string representation of the object's contents.
const TriMesh * getTriMesh() const
Return the associated triangle mesh.
Definition: gpugeometry.h:41