|
OWL
OptiX7 Wrapper Library
|
#include <Group.h>
Classes | |
| struct | DeviceData |
Public Types | |
| 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 | |
| Group (Context *const context, ObjectRegistry ®istry) | |
| std::string | toString () const override |
| virtual void | buildAccel ()=0 |
| virtual void | refitAccel ()=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 |
Public Member Functions inherited from owl::RegisteredObject | |
| RegisteredObject (Context *const context, ObjectRegistry ®istry) | |
| ~RegisteredObject () | |
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 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 | |
| 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 |
abstract base class for any sort of group (ie, BVH), BLAS'es and IAS'es will be derived from this class
| typedef std::shared_ptr<Group> owl::Group::SP |
| owl::Group::Group | ( | Context *const | context, |
| ObjectRegistry & | registry | ||
| ) |
constructor, that registers this group in the context's registry
|
pure virtual |
re*build* this accel - actual work depens on subclass
Implemented in owl::UserGeomGroup, owl::TrianglesGeomGroup, and owl::InstanceGroup.
|
override |
creates the device-specific data for this group
|
inline |
get reference to given device-specific data for this object
|
pure virtual |
return the SBT offset (ie, the offset at which the geometries within this group will be written into the Shader Binding Table)
Implemented in owl::InstanceGroup, and owl::GeomGroup.
|
inline |
returns the (device-specific) optix traversable handle to traverse this group
|
pure virtual |
re*fit* this accel - actual work depens on subclass
Implemented in owl::UserGeomGroup, owl::TrianglesGeomGroup, and owl::InstanceGroup.
|
overridevirtual |
pretty-printer, for printf-debugging
Reimplemented from owl::Object.
Reimplemented in owl::TrianglesGeomGroup, owl::InstanceGroup, owl::UserGeomGroup, and owl::GeomGroup.
| box3f owl::Group::bounds[2] |
bounding box for t=0 and t=1; for motion blur.