| 
    OWL
    
   | 
 
#include <Module.h>
 Public Member Functions | |
| DeviceData (Module *parent, DeviceContext::SP device) | |
| virtual | ~DeviceData () | 
| void | build () | 
| void | destroy () | 
Public Attributes | |
| Module *const | parent | 
| OptixModule | module = 0 | 
| CUmodule | computeModule = 0 | 
any device-specific data, such as optix handles, cuda device pointers, etc
| owl::Module::DeviceData::DeviceData | ( | Module * | parent, | 
| DeviceContext::SP | device | ||
| ) | 
constructor
      
  | 
  virtual | 
destructor
| void owl::Module::DeviceData::build | ( | ) | 
build the optix side of this module on this device
| void owl::Module::DeviceData::destroy | ( | ) | 
destroy the optix data for this module; the owl data for the module itself remains valid
| CUmodule owl::Module::DeviceData::computeModule = 0 | 
for the bounds function we have to build a separate module because this one is built outside of optix, and thus does not have the internal _optix_xyz() symbols in it
| OptixModule owl::Module::DeviceData::module = 0 | 
optix-compiled module for the optix programs. for all optix* programs we can directly build the PTX code into a module using optixbuildmodule - this is the result of that operation
| Module* const owl::Module::DeviceData::parent | 
pointer to the non-device specific part of this module