Template Struct path_walk_data_t¶
Defined in File plt_path_detail.hpp
Struct Documentation¶
-
template<beam::Beam BeamType>
struct path_walk_data_t¶ Public Functions
-
inline void transform_surface_interaction(const intersection_surface_t &intersection, const dir3_t &woworld, const f_t scale, const bsdf::bsdf_result_t &bsdf, const f_t eta, const solid_angle_sampling_pd_t pdf_fwd) noexcept¶
-
inline void transform_region_interaction(const pqvec3_t &p, const length_t beam_z_dist, const dir3_t &woworld, const f_t weight, const solid_angle_sampling_pd_t pdf_fwd) noexcept¶
-
inline void transform_fsd_interaction(const pqvec3_t &wp, const length_t beam_z_dist, const dir3_t &woworld, const f_t weight, const solid_angle_sampling_pd_t pdf_fwd) noexcept¶
-
inline void set_fsd_bsdf(std::unique_ptr<free_space_diffraction_t> fsd_bsdf_ptr) noexcept¶
-
inline bool continue_walk(std::uint32_t depth, bool allow_RR) noexcept¶
Public Members
-
vertex_geo_variant_t prev_vert_geo¶
-
bool sampled_fsd = false¶
-
const plt_path_t::options_t &opts¶
-
solid_angle_sampling_pd_t from_previous_dpd = solid_angle_sampling_pd_t::discrete(0)¶
-
std::unique_ptr<free_space_diffraction_t> fsd_bsdf¶
-
const integrator_context_t &ctx¶
-
inline void transform_surface_interaction(const intersection_surface_t &intersection, const dir3_t &woworld, const f_t scale, const bsdf::bsdf_result_t &bsdf, const f_t eta, const solid_angle_sampling_pd_t pdf_fwd) noexcept¶