chrono::sensor::ChFilterVulkanRTRender Class Reference

Description

Render filter front-end for Vulkan RT sensors.

The filter produces the same first-order buffer types as the OptiX renderer for camera, depth, normal, and segmentation sensors. It is wired so the Vulkan RT BLAS/TLAS + vkCmdTraceRaysKHR path can replace the host fallback without changing user-level filter graphs.

#include <ChFilterVulkanRTRender.h>

Inheritance diagram for chrono::sensor::ChFilterVulkanRTRender:
Collaboration diagram for chrono::sensor::ChFilterVulkanRTRender:

Public Member Functions

 ChFilterVulkanRTRender (std::shared_ptr< ChVulkanRTDevice > device, std::shared_ptr< ChVulkanRTScene > scene)
 
void Apply () override
 Virtual apply function. More...
 
void Initialize (std::shared_ptr< ChSensor > pSensor, std::shared_ptr< SensorBuffer > &bufferInOut) override
 Virtual initialize function. More...
 
void SetRayRecursions (int rec)
 
void SetScene (std::shared_ptr< ChVulkanRTScene > scene)
 
- Public Member Functions inherited from chrono::sensor::ChFilter
virtual ~ChFilter ()
 Virtual class destructor.
 
std::string & Name ()
 Accesses the name of the filter. More...
 

Friends

class ChVulkanRTEngine
 

Additional Inherited Members

- Protected Member Functions inherited from chrono::sensor::ChFilter
 ChFilter (std::string name)
 protected constructor for the filter which requires a name as input. More...
 
unsigned int GetRngStreamIndex () const
 This filter's RNG stream index within its sensor, for filters that own a cuRAND buffer. More...
 
void InvalidFilterGraphNullBuffer (std::shared_ptr< ChSensor > pSensor)
 Error function for invalid filter graph: null buffer found.
 
void InvalidFilterGraphBufferTypeMismatch (std::shared_ptr< ChSensor > pSensor)
 Error function for invalid filter graph: type mismatch in graph.
 
void InvalidFilterGraphSensorTypeMismatch (std::shared_ptr< ChSensor > pSensor)
 Error function for invalid filter graph: type mismatch in graph.
 

Member Function Documentation

◆ Apply()

void chrono::sensor::ChFilterVulkanRTRender::Apply ( )
overridevirtual

Virtual apply function.

This will be called sequentially for all filters in a filter list. This should contain the necessary processing during the simulation. This must be threadsafe when applied to a ChOptixSensor.

Implements chrono::sensor::ChFilter.

◆ Initialize()

void chrono::sensor::ChFilterVulkanRTRender::Initialize ( std::shared_ptr< ChSensor pSensor,
std::shared_ptr< SensorBuffer > &  bufferInOut 
)
overridevirtual

Virtual initialize function.

This will be called once when added to the ChSensorManager. It should create all the necessary memory space and setup any data that will be needed in the apply function. This function does not need to be threadsafe so can be used to access and store any sensor specific information that is needed later.

Parameters
pSensorA pointer to the sensor to which it is attached
bufferInOutThe pointer that is passed from one filter to the next. Can be changed by the filter when augmentation does not happen in place.

Implements chrono::sensor::ChFilter.


The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono_sensor/vulkan/ChFilterVulkanRTRender.h
  • /builds/uwsbel/chrono/src/chrono_sensor/vulkan/ChFilterVulkanRTRender.cpp