99 virtual void updateSources(
const std::vector<RayTracingSource> &sources) = 0;
112 virtual void updateDiffuseRadiation(
const std::vector<float> &flux,
const std::vector<float> &extinction,
const std::vector<helios::vec3> &peak_dir,
const std::vector<float> &dist_norm,
const std::vector<float> &sky_energy) = 0;
123 virtual void updateSkyModel(
const std::vector<helios::vec4> &sky_radiance_params,
const std::vector<float> &camera_sky_radiance,
const helios::vec3 &sun_direction,
const std::vector<float> &solar_disk_radiance,
124 float solar_disk_cos_angle) = 0;
176 virtual void getCameraResults(std::vector<float> &pixel_data, std::vector<uint> &pixel_labels, std::vector<float> &pixel_depths,
uint camera_id,
const helios::int2 &resolution) = 0;
222 virtual void uploadRadiationOut(
const std::vector<float> &radiation_out_top,
const std::vector<float> &radiation_out_bottom) = 0;
301 static std::unique_ptr<RayTracingBackend>
create(
const std::string &backend_type);