OWL
|
#include <Group.h>
Public Types | |
typedef std::shared_ptr< GeomGroup > | SP |
Public Types inherited from owl::Group | |
typedef std::shared_ptr< Group > | SP |
Public Types inherited from owl::ContextObject | |
typedef std::shared_ptr< ContextObject > | SP |
Public Types inherited from owl::Object | |
typedef std::shared_ptr< Object > | SP |
Public Member Functions | |
GeomGroup (Context *const context, size_t numChildren) | |
virtual | ~GeomGroup () |
void | setChild (size_t childID, Geom::SP child) |
int | getSBTOffset () const override |
std::string | toString () const |
Public Member Functions inherited from owl::Group | |
Group (Context *const context, ObjectRegistry ®istry) | |
std::string | toString () const override |
virtual void | buildAccel (LaunchParams::SP launchParams=nullptr)=0 |
virtual void | refitAccel (LaunchParams::SP launchParams=nullptr)=0 |
virtual int | getSBTOffset () const =0 |
DeviceData & | getDD (const DeviceContext::SP &device) const |
RegisteredObject::DeviceData::SP | createOn (const DeviceContext::SP &device) override |
OptixTraversableHandle | getTraversable (const DeviceContext::SP &device) const |
void | getAccelSize (size_t &memFinal, size_t &memPeak) |
Public Member Functions inherited from owl::RegisteredObject | |
RegisteredObject (Context *const context, ObjectRegistry ®istry) | |
Public Member Functions inherited from owl::ContextObject | |
ContextObject (Context *const context) | |
std::string | toString () const override |
Public Member Functions inherited from owl::Object | |
Object () | |
virtual std::string | toString () const |
virtual DeviceData::SP | createOn (const std::shared_ptr< DeviceContext > &device) |
void | createDeviceData (const std::vector< std::shared_ptr< DeviceContext > > &devices) |
template<typename T > | |
std::shared_ptr< T > | as () |
Public Attributes | |
std::vector< Geom::SP > | geometries |
int | sbtOffset |
Public Attributes inherited from owl::Group | |
box3f | bounds [2] |
Public Attributes inherited from owl::RegisteredObject | |
int | ID |
ObjectRegistry & | registry |
Public Attributes inherited from owl::ContextObject | |
Context *const | context |
Public Attributes inherited from owl::Object | |
const size_t | uniqueID |
std::vector< DeviceData::SP > | deviceData |
Additional Inherited Members | |
Static Public Attributes inherited from owl::Object | |
static std::atomic< uint64_t > | nextAvailableID |
a group containing geometries (ie, BLASes, whereas the InstanceGroup is a IAS
owl::GeomGroup::GeomGroup | ( | Context *const | context, |
size_t | numChildren | ||
) |
|
virtual |
destructor that releases the SBT range used by this group
|
inlineoverridevirtual |
return the SBT offset (ie, the offset at which the geometries within this group will be written into the Shader Binding Table)
Implements owl::Group.
void owl::GeomGroup::setChild | ( | size_t | childID, |
Geom::SP | child | ||
) |
set given child ID to given geometry
|
virtual |
pretty-printer, for printf-debugging
Reimplemented from owl::Group.
Reimplemented in owl::UserGeomGroup, owl::SphereGeomGroup, and owl::TrianglesGeomGroup.
std::vector<Geom::SP> owl::GeomGroup::geometries |
list of child geometries to use in this BVH
int owl::GeomGroup::sbtOffset |