OWL
|
#include <CurvesGeom.h>
Classes | |
struct | DeviceData |
Public Types | |
typedef std::shared_ptr< CurvesGeom > | SP |
![]() | |
typedef std::shared_ptr< Geom > | SP |
![]() | |
typedef std::shared_ptr< SBTObject > | SP |
![]() | |
typedef std::shared_ptr< ContextObject > | SP |
![]() | |
typedef std::shared_ptr< Object > | SP |
Public Member Functions | |
CurvesGeom (Context *const context, GeomType::SP geometryType) | |
RegisteredObject::DeviceData::SP | createOn (const DeviceContext::SP &device) override |
DeviceData & | getDD (const DeviceContext::SP &device) |
CurvesGeomType::DeviceData & | getTypeDD (const DeviceContext::SP &device) const |
void | setVertices (const std::vector< Buffer::SP > &vertices, const std::vector< Buffer::SP > &widths, size_t count) |
void | setSegmentIndices (Buffer::SP indices, size_t count) |
std::string | toString () const override |
![]() | |
Geom (Context *const context, GeomType::SP geomType) | |
std::string | toString () const override |
void | writeSBTRecord (uint8_t *const sbtRecord, const DeviceContext::SP &device, int rayTypeID) |
![]() | |
SBTObject (Context *const context, ObjectRegistry ®istry, std::shared_ptr< GeomType > type) | |
virtual std::string | toString () const |
![]() | |
SBTObjectBase (Context *const context, ObjectRegistry ®istry, std::shared_ptr< SBTObjectType > type) | |
bool | hasVariable (const std::string &name) |
Variable::SP | getVariable (const std::string &name) |
void | writeVariables (uint8_t *sbtEntry, const DeviceContext::SP &device) const |
![]() | |
RegisteredObject (Context *const context, ObjectRegistry ®istry) | |
![]() | |
ContextObject (Context *const context) | |
std::string | toString () const override |
![]() | |
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 | |
int | segmentIndicesCount = 0 |
Buffer::SP | segmentIndicesBuffer |
int | vertexCount = 0 |
std::vector< Buffer::SP > | verticesBuffers |
std::vector< Buffer::SP > | widthsBuffers |
![]() | |
GeomType::SP | geomType |
![]() | |
std::shared_ptr< GeomType > const | type |
![]() | |
std::shared_ptr< SBTObjectType > const | type |
const std::vector< Variable::SP > | variables |
![]() | |
int | ID |
ObjectRegistry & | registry |
![]() | |
Context *const | context |
![]() | |
const size_t | uniqueID |
std::vector< DeviceData::SP > | deviceData |
Additional Inherited Members | |
![]() | |
static std::atomic< uint64_t > | nextAvailableID |
an actual instance of a given curves primitives; this geometry object captures the programs and SBT data associated with its associated CurvesGeomType, and will "instantiate" these with the right control points (vertices and vertex widths'), segment indices, degree, etc
owl::CurvesGeom::CurvesGeom | ( | Context *const | context, |
GeomType::SP | geometryType | ||
) |
constructor - create a new (as yet without vertices, indices, etc) instance of given curves geom type
|
override |
creates the device-specific data for this group
|
inline |
creates the device-specific data for this group
get reference to given device-specific data for this object
get reference to given device-specific data for this object
|
inline |
get reference to the device-specific data for this object's type descriptor
void owl::CurvesGeom::setSegmentIndices | ( | Buffer::SP | indices, |
size_t | count | ||
) |
set the index buffer; this remains one buffer even if motion blur is enabled.
void owl::CurvesGeom::setVertices | ( | const std::vector< Buffer::SP > & | vertices, |
const std::vector< Buffer::SP > & | widths, | ||
size_t | count | ||
) |
set the vertex array (if vector size is 1), or set/enable motion blur via multiple time steps, if vector size >= 0
count | the number of vertices in each time step |
|
overridevirtual |
pretty-print
Reimplemented from owl::SBTObject< GeomType >.