Template Struct bdpt_walk_data_t

Struct Documentation

template<beam::Beam BeamType>
struct bdpt_walk_data_t

Public Functions

inline bool append_vertex(vertex_t &v, solid_angle_sampling_pd_t pdf_fwd, solid_angle_sampling_pd_t pdf_revr) noexcept
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) noexcept
inline void transform_region_interaction(const pqvec3_t &p, const length_t beam_z_dist, const dir3_t &woworld, const f_t weight) noexcept
inline void transform_edge_interaction(const intersection_edge_t &intersection, const pqvec3_t &interaction_centre_wp, const pqvec3_t &edge_interaction_wp, const length_t beam_z_dist, const dir3_t &woworld, const f_t weight) noexcept
inline bool continue_walk(bool allow_RR = true) noexcept

Public Members

BeamType beam
const plt_bdpt_t::options_t &opts
const transport_e transport_mode
solid_angle_sampling_pd_t pdf_from_prev
f_t throughput = 1
f_t rr_weight = 1
std::vector<vertex_t> &vertices
fraunhofer_fsd_bsdfs_arena_t *fraunhofer_fsd_bsdfs_arena
const fraunhofer::fsd_sampler::fsd_sampler_t *fraunhofer_fsd_sampler
const integrator_context_t &ctx
sampler::sampler_t &sampler