Class fsd_sampler_t

Inheritance Relationships

Base Type

Class Documentation

class fsd_sampler_t : public wt::scene::scene_element_t

FSD sampler. The internals work in wavelength-agnostic canonical space (scaled by wavenumber k).

Public Functions

fsd_sampler_t(std::string id, const wt::wt_context_t &context) noexcept
fsd_sampler_t(fsd_sampler_t&&) noexcept
~fsd_sampler_t() noexcept
sample_ret_t sample(sampler::sampler_t &sampler, const fsd::fsd_aperture_t &aperture) const noexcept

Samples the free-space diffraction ASF, given an aperture. The returned weight is asf/pdf (i.e., cosine foreshortening is NOT accounted for).

inline f_t pdf(const fsd::fsd_aperture_t &aperture, const vec2_t xi) const noexcept

Queries the sampling density of the free-space diffraction ASF, given an aperture. (approximation)

virtual scene::element::info_t description() const override