OptiX-Based Code
Description
Collaboration diagram for OptiX-Based Code:
Classes | |
struct | AreaLight |
The different types of area lights that can exist in our current models. More... | |
struct | PointLight |
Packed parameters of a point light. More... | |
struct | CameraMissParameters |
The parameters associated with camera miss data. A.K.A background data. More... | |
struct | MissParameters |
The parameters for a camera miss record. More... | |
struct | LensParams |
Inverse lens param for modeling polynomial forward model. More... | |
struct | CameraParameters |
The parameters needed to define a camera. More... | |
struct | SemanticCameraParameters |
Parameters need to define a camera that generates semantic segmentation data. More... | |
struct | LidarParameters |
Parameters used to define a lidar. More... | |
struct | RadarParameters |
Parameters used to define a radar. More... | |
struct | RaygenParameters |
Parameters for specifying raygen programs. More... | |
struct | MeshParameters |
All the data to specific a triangle mesh. More... | |
struct | MaterialParameters |
All parameters for specifying a material in optix. More... | |
struct | ContextParameters |
Parameters associated with the entire optix scene. More... | |
struct | MaterialRecordParameters |
Parameters associated with a single object in the scene. Padding added during record creation. More... | |
struct | PerRayData_camera |
Data associated with a single camera ray. More... | |
struct | PerRayData_semantic |
Data associated with a single segmentation camera ray. More... | |
struct | PerRayData_shadow |
Data associated with a single shadow ray. More... | |
struct | PerRayData_lidar |
Data associated with a single lidar ray. More... | |
struct | PerRayData_radar |
Data associated with a single radar ray. More... | |
class | chrono::sensor::ChOptixEngine |
Optix Engine that is responsible for managing all render-based sensors. More... | |
struct | chrono::sensor::Transform |
Transform struct for packing a translation, rotation, and scale. More... | |
class | chrono::sensor::ChOptixGeometry |
Optix Geometry class that is responsible for managing all geometric information in the optix scene This handles the acceleration structure and transforms. More... | |
class | chrono::sensor::ChOptixPipeline |
Class to hold all the Shader Binding Table parameters adnd manage the ray tracing pipeline, materials, ray gen programs. More... | |
struct | chrono::sensor::ProgramString |
holds string values for ptx file and ray generation program More... | |
struct | chrono::sensor::ByteImageData |
stores image data More... | |
Macros | |
#define | OPTIX_ERROR_CHECK(result) |
Checks the output of an optix call for any error, will throw a runtime error if not success. More... | |
#define | CUDA_ERROR_CHECK(result) |
Checks the output of a cuda call for any error, will throw a runtime error if not success. More... | |
Functions | |
void | chrono::sensor::GetShaderFromFile (OptixDeviceContext context, OptixModule &module, const std::string &file_name, OptixModuleCompileOptions &module_compile_options, OptixPipelineCompileOptions &pipeline_compile_options) |
launches ray generation program More... | |
void | chrono::sensor::optix_log_callback (unsigned int level, const char *tag, const char *message, void *) |
ByteImageData | chrono::sensor::LoadByteImage (const std::string &filename) |
loads image to struct ByteImageData, returns an empty struct with 0 values if loading failed More... | |
void | chrono::sensor::SetSensorShaderDir (const std::string &path) |
Macro Definition Documentation
◆ CUDA_ERROR_CHECK
#define CUDA_ERROR_CHECK | ( | result | ) |
Value:
{ \
if (result != cudaSuccess) { \
std::string error_name = std::string(cudaGetErrorName(result)); \
std::string error_string = std::string(cudaGetErrorString(result)); \
std::string file = std::string(__FILE__); \
std::string line = std::to_string(__LINE__); \
throw std::runtime_error(error_name + ": " + error_string + " at " + file + ":" + line); \
} \
}
Checks the output of a cuda call for any error, will throw a runtime error if not success.
◆ OPTIX_ERROR_CHECK
#define OPTIX_ERROR_CHECK | ( | result | ) |
Value:
{ \
if (result != OPTIX_SUCCESS) { \
std::string error_name = std::string(optixGetErrorName(result)); \
std::string error_string = std::string(optixGetErrorString(result)); \
std::string file = std::string(__FILE__); \
std::string line = std::to_string(__LINE__); \
throw std::runtime_error(error_name + ": " + error_string + " at " + file + ":" + line); \
} \
}
Checks the output of an optix call for any error, will throw a runtime error if not success.
Enumeration Type Documentation
◆ BackgroundMode
|
strong |
◆ CameraLensModelType
enum CameraLensModelType |
◆ LidarBeamShape
|
strong |
◆ PipelineType
|
strong |
◆ RadarReturnMode
|
strong |
◆ RayType
enum RayType |
Function Documentation
◆ GetShaderFromFile()
CH_SENSOR_API void chrono::sensor::GetShaderFromFile | ( | OptixDeviceContext | context, |
OptixModule & | module, | ||
const std::string & | file_name, | ||
OptixModuleCompileOptions & | module_compile_options, | ||
OptixPipelineCompileOptions & | pipeline_compile_options | ||
) |
launches ray generation program
- Parameters
-
context optix device context module optix module that will be created file_name the file where the shader program is implemented module_compile_options compile options for the module pipeline_compile_options compile options for the pipeline
◆ LoadByteImage()
CH_SENSOR_API ByteImageData chrono::sensor::LoadByteImage | ( | const std::string & | filename | ) |
loads image to struct ByteImageData, returns an empty struct with 0 values if loading failed
- Parameters
-
filename