complex containerΒΆ

class complex_container_t : public wt::texture::complex_t

Complex-valued texture. Uses a pair of (real-valued) textures: one for the real part and one for the imaginary part.

Public Functions

inline complex_container_t(std::string id, std::shared_ptr<texture_t> real_texture, std::shared_ptr<texture_t> imag_texture)
complex_container_t(complex_container_t&&) = default
virtual ~complex_container_t() noexcept = default
inline virtual bool needs_interaction_footprint() const noexcept override

Returns TRUE for textures that make use of the surface interaction footprint data.

inline virtual vec2_t resolution() const noexcept override

Returns texture resolution represented via \( \frac{\text{texels}}{\vec{uv}} \). May return an approximation. Can be infinite, e.g., for analytic textures. Can be 1, for constant textures.

inline virtual std::shared_ptr<spectrum::spectrum_t> mean_spectrum() const noexcept override

Average spectrum of the texture. Returns nullptr when an average spectrum cannot be computed.

inline virtual std::optional<c_t> mean_value(wavenumber_t k) const noexcept override

Average value of the texture. Returns std::nullopt when an average value cannot be computed.

inline virtual c_t f(const texture_query_t &query) const noexcept override

Samples the texture.

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

Public Static Functions

static std::shared_ptr<complex_t> load(std::string id, scene::loader::loader_t *loader, const scene::loader::node_t &node, const wt::wt_context_t &context)