OWL
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
owl::RayGenType Struct Reference

#include <RayGen.h>

Inheritance diagram for owl::RayGenType:
owl::SBTObjectType owl::RegisteredObject owl::ContextObject owl::Object

Classes

struct  DeviceData
 

Public Types

typedef std::shared_ptr< RayGenTypeSP
 
- Public Types inherited from owl::SBTObjectType
typedef std::shared_ptr< SBTObjectTypeSP
 
- Public Types inherited from owl::ContextObject
typedef std::shared_ptr< ContextObjectSP
 
- Public Types inherited from owl::Object
typedef std::shared_ptr< ObjectSP
 

Public Member Functions

 RayGenType (Context *const context, Module::SP module, const std::string &progName, size_t varStructSize, const std::vector< OWLVarDecl > &varDecls)
 
std::string toString () const override
 
DeviceDatagetDD (const DeviceContext::SP &device) const
 
RegisteredObject::DeviceData::SP createOn (const DeviceContext::SP &device) override
 
- Public Member Functions inherited from owl::SBTObjectType
 SBTObjectType (Context *const context, ObjectRegistry &registry, size_t varStructSize, const std::vector< OWLVarDecl > &varDecls)
 
virtual ~SBTObjectType ()
 
int getVariableIdx (const std::string &varName)
 
bool hasVariable (const std::string &varName)
 
std::string toString () const override
 
void declareVariable (const std::string &varName, OWLDataType type, size_t offset)
 
std::vector< Variable::SP > instantiateVariables ()
 
- Public Member Functions inherited from owl::RegisteredObject
 RegisteredObject (Context *const context, ObjectRegistry &registry)
 
- 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

Module::SP module
 
const std::string progName
 
const std::string annotatedProgName
 
- Public Attributes inherited from owl::SBTObjectType
const size_t varStructSize
 
const std::vector< OWLVarDeclvarDecls
 
- Public Attributes inherited from owl::RegisteredObject
int ID
 
ObjectRegistryregistry
 
- 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
 

Detailed Description

type that describes a raygen program's variables and programs

Constructor & Destructor Documentation

◆ RayGenType()

owl::RayGenType::RayGenType ( Context *const  context,
Module::SP  module,
const std::string &  progName,
size_t  varStructSize,
const std::vector< OWLVarDecl > &  varDecls 
)

constructor, with all the info to describe this type

Member Function Documentation

◆ createOn()

RegisteredObject::DeviceData::SP owl::RayGenType::createOn ( const DeviceContext::SP &  device)
override

creates the device-specific data for this group

◆ getDD()

RayGenType::DeviceData & owl::RayGenType::getDD ( const DeviceContext::SP &  device) const
inline

get reference to given device-specific data for this object

◆ toString()

std::string owl::RayGenType::toString ( ) const
overridevirtual

pretty-typecast into derived classes

Reimplemented from owl::ContextObject.

Member Data Documentation

◆ annotatedProgName

const std::string owl::RayGenType::annotatedProgName

the name, annotated wiht optix' "__raygen__"

◆ module

Module::SP owl::RayGenType::module

the module in which the program is defined

◆ progName

const std::string owl::RayGenType::progName

name of the program within this module


The documentation for this struct was generated from the following files: