OWL
OptiX7 Wrapper Library
|
Namespaces | |
common | |
device | |
Classes | |
struct | APIContext |
struct | APIHandle |
struct | Buffer |
struct | BufferPointerVariable |
struct | BufferVariable |
struct | Context |
struct | ContextObject |
struct | DeviceBuffer |
struct | DeviceContext |
struct | DeviceIndexVariable |
struct | DeviceMemory |
struct | Geom |
struct | GeomGroup |
struct | GeomType |
struct | GraphicsBuffer |
struct | Group |
struct | GroupVariable |
struct | HostPinnedBuffer |
struct | InstanceGroup |
struct | LaunchParams |
struct | LaunchParamsType |
struct | ManagedMemoryBuffer |
struct | MissProg |
struct | MissProgType |
struct | Module |
struct | Object |
struct | ObjectRegistry |
struct | ObjectRegistryT |
struct | ProgramDesc |
struct | RangeAllocator |
struct | RayGen |
struct | RayGenType |
struct | RayT |
struct | RegisteredObject |
struct | SBT |
struct | SBTObject |
struct | SBTObjectBase |
struct | SBTObjectType |
struct | SetActiveGPU |
struct | Texture |
struct | TextureVariable |
struct | TrianglesGeom |
struct | TrianglesGeomGroup |
struct | TrianglesGeomType |
struct | UserGeom |
struct | UserGeomGroup |
struct | UserGeomType |
struct | UserTypeVariable |
struct | Variable |
struct | VariableT |
Typedefs | |
typedef RayT< 0, 1 > | Ray |
Functions | |
template<size_t alignment> | |
size_t | smallestMultipleOf (size_t unalignedSize) |
void * | addPointerOffset (void *ptr, size_t offset) |
static void | context_log_cb (unsigned int level, const char *tag, const char *message, void *) |
std::vector< DeviceContext::SP > | createDeviceContexts (Context *parent, int32_t *deviceIDs, int numDevices) |
OWL_API OWLContext | owlContextCreate (int32_t *requestedDeviceIDs, int numRequestedDevices) |
APIContext::SP | checkGet (OWLContext _context) |
OWL_API CUstream | owlContextGetStream (OWLContext _context, int deviceID) |
OWL_API OptixDeviceContext | owlContextGetOptixContext (OWLContext _context, int deviceID) |
OWL_API void | owlContextSetRayTypeCount (OWLContext _context, size_t numRayTypes) |
OWL_API void | owlSetMaxInstancingDepth (OWLContext _context, int32_t maxInstanceDepth) |
OWL_API void | owlEnableMotionBlur (OWLContext _context) |
OWL_API void | owlBuildSBT (OWLContext _context, OWLBuildSBTFlags flags) |
OWL_API void | owlBuildPrograms (OWLContext _context) |
OWL_API void | owlBuildPipeline (OWLContext _context) |
OWL_API void | owlAsyncLaunch2D (OWLRayGen _rayGen, int dims_x, int dims_y, OWLLaunchParams _launchParams) |
OWL_API void | owlLaunch2D (OWLRayGen _rayGen, int dims_x, int dims_y, OWLLaunchParams _launchParams) |
OWL_API void | owlLaunchSync (OWLLaunchParams _launchParams) |
OWL_API void | owlRayGenLaunch2D (OWLRayGen _rayGen, int dims_x, int dims_y) |
OWL_API int32_t | owlGetDeviceCount (OWLContext _context) |
template<typename T > | |
OWLVariable | getVariableHelper (APIHandle *handle, const char *varName) |
OWL_API OWLVariable | owlGeomGetVariable (OWLGeom _geom, const char *varName) |
OWL_API OWLVariable | owlRayGenGetVariable (OWLRayGen _prog, const char *varName) |
OWL_API OWLVariable | owlMissProgGetVariable (OWLMissProg _prog, const char *varName) |
OWL_API OWLVariable | owlParamsGetVariable (OWLParams _prog, const char *varName) |
std::vector< OWLVarDecl > | checkAndPackVariables (const OWLVarDecl *vars, int numVars) |
OWL_API OWLRayGen | owlRayGenCreate (OWLContext _context, OWLModule _module, const char *programName, size_t sizeOfVarStruct, OWLVarDecl *vars, int numVars) |
OWL_API OWLParams | owlParamsCreate (OWLContext _context, size_t sizeOfVarStruct, OWLVarDecl *vars, int numVars) |
OWL_API void | owlMissProgSet (OWLContext _context, int rayType, OWLMissProg _miss) |
OWL_API OWLMissProg | owlMissProgCreate (OWLContext _context, OWLModule _module, const char *programName, size_t sizeOfVarStruct, OWLVarDecl *vars, int numVars) |
OWL_API OWLGroup | owlTrianglesGeomGroupCreate (OWLContext _context, size_t numGeometries, OWLGeom *initValues) |
OWL_API OWLGroup | owlUserGeomGroupCreate (OWLContext _context, size_t numGeometries, OWLGeom *initValues) |
OWL_API OWLGroup | owlInstanceGroupCreate (OWLContext _context, size_t numInstances, const OWLGroup *_initGroups OWL_IF_CPP(=nullptr), const uint32_t *initInstanceIDs OWL_IF_CPP(=nullptr), const float *initTransforms OWL_IF_CPP(=nullptr), OWLMatrixFormat matrixFormat=OWL_MATRIX_FORMAT_OWL) |
OWL_API void | owlContextDestroy (OWLContext _context) |
OWL_API OWLBuffer | owlDeviceBufferCreate (OWLContext _context, OWLDataType type, size_t count, const void *init) |
OWL_API OWLTexture | owlTexture2DCreate (OWLContext _context, OWLTexelFormat texelFormat, uint32_t size_x, uint32_t size_y, const void *texels, OWLTextureFilterMode filterMode, OWLTextureAddressMode addressMode, uint32_t linePitchInBytes) |
OWL_API CUtexObject | owlTextureGetObject (OWLTexture _texture, int deviceID) |
OWL_API void | owlTexture2DDestroy (OWLTexture _texture) |
OWL_API OWLBuffer | owlHostPinnedBufferCreate (OWLContext _context, OWLDataType type, size_t count) |
OWL_API OWLBuffer | owlManagedMemoryBufferCreate (OWLContext _context, OWLDataType type, size_t count, const void *init) |
OWL_API OWLBuffer | owlGraphicsBufferCreate (OWLContext _context, OWLDataType type, size_t count, cudaGraphicsResource_t resource) |
OWL_API void | owlGraphicsBufferMap (OWLBuffer _buffer) |
OWL_API void | owlGraphicsBufferUnmap (OWLBuffer _buffer) |
OWL_API const void * | owlBufferGetPointer (OWLBuffer _buffer, int deviceID) |
OWL_API OptixTraversableHandle | owlGroupGetTraversable (OWLGroup _group, int deviceID) |
OWL_API CUstream | owlParamsGetCudaStream (OWLLaunchParams _lp, int deviceID) |
OWL_API void | owlBufferResize (OWLBuffer _buffer, size_t newItemCount) |
OWL_API void | owlBufferUpload (OWLBuffer _buffer, const void *hostPtr) |
OWL_API void | owlBufferDestroy (OWLBuffer _buffer) |
OWL_API OWLGeomType | owlGeomTypeCreate (OWLContext _context, OWLGeomKind kind, size_t varStructSize, OWLVarDecl *vars, int numVars) |
OWL_API OWLGeom | owlGeomCreate (OWLContext _context, OWLGeomType _geometryType) |
OWL_API void | owlGeomSetPrimCount (OWLGeom _geom, size_t primCount) |
OWL_API OWLModule | owlModuleCreate (OWLContext _context, const char *ptxCode) |
template<typename T > | |
void | releaseObject (APIHandle *handle) |
OWL_API void | owlBufferRelease (OWLBuffer buffer) |
OWL_API void | owlModuleRelease (OWLModule module) |
OWL_API void | owlGroupRelease (OWLGroup group) |
OWL_API void | owlRayGenRelease (OWLRayGen handle) |
OWL_API void | owlVariableRelease (OWLVariable variable) |
OWL_API void | owlGeomRelease (OWLGeom geometry) |
OWL_API void | owlTrianglesSetVertices (OWLGeom _triangles, OWLBuffer _buffer, size_t count, size_t stride, size_t offset) |
OWL_API void | owlTrianglesSetMotionVertices (OWLGeom _triangles, size_t numKeys, OWLBuffer *vertexArrays, size_t count, size_t stride, size_t offset) |
OWL_API void | owlGroupBuildAccel (OWLGroup _group) |
OWL_API void | owlGroupRefitAccel (OWLGroup _group) |
OWL_API void | owlTrianglesSetIndices (OWLGeom _triangles, OWLBuffer _buffer, size_t count, size_t stride, size_t offset) |
OWL_API void | owlGeomTypeSetClosestHit (OWLGeomType _geometryType, int rayType, OWLModule _module, const char *progName) |
OWL_API void | owlGeomTypeSetAnyHit (OWLGeomType _geometryType, int rayType, OWLModule _module, const char *progName) |
OWL_API void | owlGeomTypeSetIntersectProg (OWLGeomType _geometryType, int rayType, OWLModule _module, const char *progName) |
OWL_API void | owlGeomTypeSetBoundsProg (OWLGeomType _geometryType, OWLModule _module, const char *progName) |
template<typename T > | |
void | setVariable (APIHandle *handle, const T &value) |
OWL_API void | owlVariableSetGroup (OWLVariable _variable, OWLGroup _group) |
OWL_API void | owlVariableSetTexture (OWLVariable _variable, OWLTexture _texture) |
OWL_API void | owlVariableSetBuffer (OWLVariable _variable, OWLBuffer _buffer) |
OWL_API void | owlVariableSetRaw (OWLVariable _variable, const void *valuePtr) |
OWL_API void | owlVariableSetPointer (OWLVariable _variable, const void *valuePtr) |
OWL_API void | owlInstanceGroupSetChild (OWLGroup _group, int whichChild, OWLGroup _child) |
OWL_API void | owlInstanceGroupSetTransforms (OWLGroup _group, uint32_t timeStep, const float *floatsForThisStimeStep, OWLMatrixFormat matrixFormat) |
OWL_API void | owlInstanceGroupSetInstanceIDs (OWLGroup _group, const uint32_t *instanceIDs) |
OWL_API void | owlInstanceGroupSetTransform (OWLGroup _group, int whichChild, const float *floats, OWLMatrixFormat matrixFormat) |
__device__ vec2i | getLaunchIndex () |
__device__ vec2i | getLaunchDims () |
__device__ const void * | getProgramDataPointer () |
template<typename T > | |
__device__ const T & | getProgramData () |
__device__ float | linear_to_srgb (float x) |
__device__ uint32_t | make_8bit (const float f) |
__device__ uint32_t | make_rgba (const vec3f color) |
__device__ uint32_t | make_rgba (const vec4f color) |
static __forceinline__ __device__ void * | unpackPointer (uint32_t i0, uint32_t i1) |
static __forceinline__ __device__ void | packPointer (void *ptr, uint32_t &i0, uint32_t &i1) |
static __forceinline__ __device__ void * | getPRDPointer () |
template<typename T > | |
static __forceinline__ __device__ T & | getPRD () |
template<typename RayType , typename PRD > | |
__device__ void | traceRay (OptixTraversableHandle traversable, const RayType &ray, PRD &prd, uint32_t rayFlags=0u) |
template<typename PRD > | |
__device__ void | trace (OptixTraversableHandle traversable, const Ray &ray, int numRayTypes, PRD &prd, int sbtOffset=0) |
std::string | getNextLine (const char *&s) |
std::string | killAllInternalOptixSymbolsFromPtxString (const char *orignalPtxCode) |
size_t | sizeOf (OWLDataType type) |
std::string | typeToString (OWLDataType type) |
|
inline |
std::vector<OWLVarDecl> owl::checkAndPackVariables | ( | const OWLVarDecl * | vars, |
int | numVars | ||
) |
|
inline |
|
static |
logging callback passed to optix for intercepting optix log messages
std::vector< DeviceContext::SP > owl::createDeviceContexts | ( | Context * | parent, |
int32_t * | deviceIDs, | ||
int | numDevices | ||
) |
creates the N device contexts with the given device IDs. If list of device is nullptr, and number requested devices is > 1, then the first N devices will get used; invalid device IDs in the list will automatically get dropped
|
inline |
return dimensions of a 2-dimensional optix launch. For 1- or 3-dimensional launches we'll need separate functions
|
inline |
std::string owl::getNextLine | ( | const char *& | s | ) |
get next single line of PTX code
|
static |
|
static |
|
inline |
convenience type-tagged version of
|
inline |
return pointer to currently running program's "SBT Data" (which is pretty much what in owl we call the Program Data/Program Variables Struct. This method returns an untyped pointer, for automatic type conversion see the getProgramData<T> template
OWLVariable owl::getVariableHelper | ( | APIHandle * | handle, |
const char * | varName | ||
) |
std::string owl::killAllInternalOptixSymbolsFromPtxString | ( | const char * | orignalPtxCode | ) |
given the original PTX code, create a version of this PTX code in which all lines that refer to an internal optix symbol (ie, that contains ' optix' get commented out. This will make this PTX code invalid for all optix functions, but makes it compilable by cude for the non-optix bounds program
|
inline |
|
inline |
|
inline |
|
inline |
OWL_API void owl::owlAsyncLaunch2D | ( | OWLRayGen | _rayGen, |
int | dims_x, | ||
int | dims_y, | ||
OWLLaunchParams | _launchParams | ||
) |
destroy the given buffer; this will both release the app's refcount on the given buffer handle, and the buffer itself; i.e., even if some objects still hold variables that refer to the old handle the buffer itself will be freed
OWL_API void owl::owlBuildPipeline | ( | OWLContext | _context | ) |
OWL_API void owl::owlBuildPrograms | ( | OWLContext | _context | ) |
OWL_API void owl::owlBuildSBT | ( | OWLContext | _context, |
OWLBuildSBTFlags | flags | ||
) |
OWL_API OWLContext owl::owlContextCreate | ( | int32_t * | requestedDeviceIDs, |
int | numRequestedDevices | ||
) |
OWL_API void owl::owlContextDestroy | ( | OWLContext | _context | ) |
OWL_API OptixDeviceContext owl::owlContextGetOptixContext | ( | OWLContext | _context, |
int | deviceID | ||
) |
OWL_API CUstream owl::owlContextGetStream | ( | OWLContext | _context, |
int | deviceID | ||
) |
OWL_API void owl::owlContextSetRayTypeCount | ( | OWLContext | _context, |
size_t | numRayTypes | ||
) |
set number of ray types to be used in this context; this should be done before any programs, pipelines, geometries, etc get created
OWL_API OWLBuffer owl::owlDeviceBufferCreate | ( | OWLContext | _context, |
OWLDataType | type, | ||
size_t | count, | ||
const void * | init | ||
) |
creates a device buffer where every device has its own local copy of the given buffer
OWL_API void owl::owlEnableMotionBlur | ( | OWLContext | _context | ) |
OWL_API OWLGeom owl::owlGeomCreate | ( | OWLContext | _context, |
OWLGeomType | _geometryType | ||
) |
OWL_API OWLVariable owl::owlGeomGetVariable | ( | OWLGeom | _geom, |
const char * | varName | ||
) |
Set the primitive count for the given user geometry. This has to be set before the group(s) that this geom is used in get built
OWL_API OWLGeomType owl::owlGeomTypeCreate | ( | OWLContext | _context, |
OWLGeomKind | kind, | ||
size_t | varStructSize, | ||
OWLVarDecl * | vars, | ||
int | numVars | ||
) |
OWL_API void owl::owlGeomTypeSetAnyHit | ( | OWLGeomType | _geometryType, |
int | rayType, | ||
OWLModule | _module, | ||
const char * | progName | ||
) |
OWL_API void owl::owlGeomTypeSetBoundsProg | ( | OWLGeomType | _geometryType, |
OWLModule | _module, | ||
const char * | progName | ||
) |
OWL_API void owl::owlGeomTypeSetClosestHit | ( | OWLGeomType | _geometryType, |
int | rayType, | ||
OWLModule | _module, | ||
const char * | progName | ||
) |
OWL_API void owl::owlGeomTypeSetIntersectProg | ( | OWLGeomType | _geometryType, |
int | rayType, | ||
OWLModule | _module, | ||
const char * | progName | ||
) |
OWL_API int32_t owl::owlGetDeviceCount | ( | OWLContext | _context | ) |
OWL_API OWLBuffer owl::owlGraphicsBufferCreate | ( | OWLContext | _context, |
OWLDataType | type, | ||
size_t | count, | ||
cudaGraphicsResource_t | resource | ||
) |
OWL_API OWLBuffer owl::owlHostPinnedBufferCreate | ( | OWLContext | _context, |
OWLDataType | type, | ||
size_t | count | ||
) |
creates a buffer that uses CUDA host pinned memory; that memory is pinned on the host and accessive to all devices in the deviec group
OWL_API OWLGroup owl::owlInstanceGroupCreate | ( | OWLContext | _context, |
size_t | numInstances, | ||
const OWLGroup *_initGroups | OWL_IF_CPP=nullptr, | ||
const uint32_t *initInstanceIDs | OWL_IF_CPP=nullptr, | ||
const float *initTransforms | OWL_IF_CPP=nullptr, | ||
OWLMatrixFormat | matrixFormat = OWL_MATRIX_FORMAT_OWL |
||
) |
numInstances | number of instances in this group |
OWL_IF_CPP | the initial list of owl groups to use by the instances in this group; must be either null, or an array of the size 'numInstnaces', the i'th instnace in this gorup will be an instance o the i'th element in this list |
OWL_IF_CPP | instance IDs to use for the instance in this group; must be eithe rnull, or an array of size numInstnaces. If null, the i'th child of this instance group will use instanceID=i, otherwise, it will use the user-provided instnace ID from this list. Specifying an instanceID will affect what value 'optixGetInstanceID' will return in a CH program that refers to the given instance |
OWL_IF_CPP | initial list of transforms that this instance group will use; must be either null, or an array of size numInstnaces, of the format specified |
this function allows to set up to N different arrays of trnsforms for motion blur; the first such array is used as transforms for t=0, the last one for t=1.
OWL_API void owl::owlInstanceGroupSetTransform | ( | OWLGroup | _group, |
int | whichChild, | ||
const float * | floats, | ||
OWLMatrixFormat | matrixFormat | ||
) |
OWL_API void owl::owlInstanceGroupSetTransforms | ( | OWLGroup | _group, |
uint32_t | timeStep, | ||
const float * | floatsForThisStimeStep, | ||
OWLMatrixFormat | matrixFormat | ||
) |
this function allows to set up to N different arrays of trnsforms for motion blur; the first such array is used as transforms for t=0, the last one for t=1.
OWL_API void owl::owlLaunch2D | ( | OWLRayGen | _rayGen, |
int | dims_x, | ||
int | dims_y, | ||
OWLLaunchParams | _launchParams | ||
) |
OWL_API void owl::owlLaunchSync | ( | OWLLaunchParams | _launchParams | ) |
wait for the async launch to finish
OWL_API OWLBuffer owl::owlManagedMemoryBufferCreate | ( | OWLContext | _context, |
OWLDataType | type, | ||
size_t | count, | ||
const void * | init | ||
) |
creates a buffer that uses CUDA managed memory; that memory is managed by CUDA (see CUDAs documentatoin on managed memory) and accessive to all devices in the deviec group
OWL_API OWLMissProg owl::owlMissProgCreate | ( | OWLContext | _context, |
OWLModule | _module, | ||
const char * | programName, | ||
size_t | sizeOfVarStruct, | ||
OWLVarDecl * | vars, | ||
int | numVars | ||
) |
OWL_API OWLVariable owl::owlMissProgGetVariable | ( | OWLMissProg | _prog, |
const char * | varName | ||
) |
OWL_API void owl::owlMissProgSet | ( | OWLContext | _context, |
int | rayType, | ||
OWLMissProg | _miss | ||
) |
OWL_API OWLModule owl::owlModuleCreate | ( | OWLContext | _context, |
const char * | ptxCode | ||
) |
OWL_API OWLParams owl::owlParamsCreate | ( | OWLContext | _context, |
size_t | sizeOfVarStruct, | ||
OWLVarDecl * | vars, | ||
int | numVars | ||
) |
OWL_API CUstream owl::owlParamsGetCudaStream | ( | OWLLaunchParams | _lp, |
int | deviceID | ||
) |
OWL_API OWLVariable owl::owlParamsGetVariable | ( | OWLParams | _prog, |
const char * | varName | ||
) |
OWL_API OWLRayGen owl::owlRayGenCreate | ( | OWLContext | _context, |
OWLModule | _module, | ||
const char * | programName, | ||
size_t | sizeOfVarStruct, | ||
OWLVarDecl * | vars, | ||
int | numVars | ||
) |
OWL_API OWLVariable owl::owlRayGenGetVariable | ( | OWLRayGen | _prog, |
const char * | varName | ||
) |
OWL_API void owl::owlSetMaxInstancingDepth | ( | OWLContext | _context, |
int32_t | maxInstanceDepth | ||
) |
sets maximum instancing depth for the given context:
'0' means 'no instancing allowed, only bottom-level accels;
'1' means 'at most one layer of instances' (i.e., a two-level scene), where the 'root' world rays are traced against can be an instance group, but every child in that instance group is a geometry group.
'N>1" means "up to N layers of instances are allowed.
The default instancing depth is 1 (i.e., a two-level scene), since this allows for most use cases of instancing and is still hardware-accelerated. Using a node graph with instancing deeper than the configured value will result in wrong results; but be aware that using any value > 1 here will come with a cost. It is recommended to, if at all possible, leave this value to one and convert the input scene to a two-level scene layout (i.e., with only one level of instances)
OWL_API OWLTexture owl::owlTexture2DCreate | ( | OWLContext | _context, |
OWLTexelFormat | texelFormat, | ||
uint32_t | size_x, | ||
uint32_t | size_y, | ||
const void * | texels, | ||
OWLTextureFilterMode | filterMode, | ||
OWLTextureAddressMode | addressMode, | ||
uint32_t | linePitchInBytes | ||
) |
create new texture of given format and dimensions - for now, we only do "wrap" textures, and eithe rbilinear or nearest filter; once we allow for doing things like texture borders we'll have to change this api
size_x | number of texels in x dimension |
size_y | number of texels in y dimension |
linePitchInBytes | number of bytes between one line of texels and the next; '0' means 'size_x * sizeof(texel)' |
OWL_API void owl::owlTexture2DDestroy | ( | OWLTexture | _texture | ) |
destroy the given texture; this will both release the app's refcount on the given texture handle, and the texture itself; i.e., even if some objects still hold variables that refer to the old handle the texture itself will be freed
OWL_API CUtexObject owl::owlTextureGetObject | ( | OWLTexture | _texture, |
int | deviceID | ||
) |
OWL_API OWLGroup owl::owlTrianglesGeomGroupCreate | ( | OWLContext | _context, |
size_t | numGeometries, | ||
OWLGeom * | initValues | ||
) |
OWL_API void owl::owlTrianglesSetIndices | ( | OWLGeom | _triangles, |
OWLBuffer | _buffer, | ||
size_t | count, | ||
size_t | stride, | ||
size_t | offset | ||
) |
OWL_API void owl::owlTrianglesSetMotionVertices | ( | OWLGeom | _triangles, |
size_t | numKeys, | ||
OWLBuffer * | vertexArrays, | ||
size_t | count, | ||
size_t | stride, | ||
size_t | offset | ||
) |
numKeys | number of vertex arrays passed here, the first of those is for t=0, thelast for t=1, everything is linearly interpolated in-between |
OWL_API void owl::owlTrianglesSetVertices | ( | OWLGeom | _triangles, |
OWLBuffer | _buffer, | ||
size_t | count, | ||
size_t | stride, | ||
size_t | offset | ||
) |
OWL_API OWLGroup owl::owlUserGeomGroupCreate | ( | OWLContext | _context, |
size_t | numGeometries, | ||
OWLGeom * | initValues | ||
) |
OWL_API void owl::owlVariableRelease | ( | OWLVariable | variable | ) |
OWL_API void owl::owlVariableSetBuffer | ( | OWLVariable | _variable, |
OWLBuffer | _buffer | ||
) |
OWL_API void owl::owlVariableSetGroup | ( | OWLVariable | _variable, |
OWLGroup | _group | ||
) |
OWL_API void owl::owlVariableSetPointer | ( | OWLVariable | _variable, |
const void * | valuePtr | ||
) |
OWL_API void owl::owlVariableSetRaw | ( | OWLVariable | _variable, |
const void * | valuePtr | ||
) |
OWL_API void owl::owlVariableSetTexture | ( | OWLVariable | _variable, |
OWLTexture | _texture | ||
) |
|
static |
void owl::releaseObject | ( | APIHandle * | handle | ) |
void owl::setVariable | ( | APIHandle * | handle, |
const T & | value | ||
) |
size_t owl::sizeOf | ( | OWLDataType | type | ) |
returns number of bytes for given data type (where applicable)
|
inline |
|
inline |
|
inline |
std::string owl::typeToString | ( | OWLDataType | type | ) |
convert a OWLDataType enum into a strict that represents the name of that type
|
static |