Dirac delta surface statistics¶
-
class dirac_t : public wt::surface_profile::surface_profile_t
A perfectly smooth surface with Dirac delta statistics.
Public Functions
-
inline dirac_t(std::string id) noexcept
-
inline virtual variance_t variance(const texture_query_t &query) const noexcept override
Variance of the surface profile.
-
inline virtual rms_t rms_roughness(const texture_query_t &query) const noexcept override
RMS roughness of the surface profile.
-
inline virtual f_t alpha(const dir3_t &wi, const dir3_t &wo, const texture_query_t &query) const noexcept override
Fraction of scatter contained in specular term.
- Parameters:
k – wavenumber
-
inline virtual f_t alpha(const dir3_t &wi, const texture_query_t &query) const noexcept override
Fraction of scatter contained in specular term.
- Parameters:
k – wavenumber
-
inline virtual bool is_delta_only(wavenumber_t k) const noexcept override
-
inline virtual bool needs_interaction_footprint() const noexcept override
Returns true for profiles that make use of the surface interaction footprint data.
-
inline virtual f_t psd(const dir3_t &wi, const dir3_t &wo, const texture_query_t &query) const noexcept override
Evaluates the dirac lobe power spectral density (PSD).
-
inline virtual surface_profile_sample_ret_t sample(const dir3_t &wi, const texture_query_t &query, sampler::sampler_t &sampler) const noexcept override
Samples a scattered direction.
-
inline virtual f_t pdf(const dir3_t &wi, const dir3_t &wo, const texture_query_t &query) const noexcept override
Provides the sampling density.
-
virtual scene::element::info_t description() const override
Public Static Functions
-
static std::unique_ptr<surface_profile_t> load(std::string id, scene::loader::loader_t *loader, const scene::loader::node_t &node, const wt::wt_context_t &context)
-
inline dirac_t(std::string id) noexcept