shapeΒΆ
-
class shape_t : public wt::scene::scene_element_t
Contains a triangular mesh, a BSDF, and an optional area emitter. Provides surface sampling facilities.
Public Functions
-
shape_t(shape_t&&) = default
-
shape_t(const shape_t&) = default
-
inline const auto &get_bsdf() const
-
inline const auto &get_emitter() const
-
inline const auto &get_mesh() const
-
inline auto get_surface_area() const noexcept
-
position_sample_t sample_position(sampler::sampler_t &sampler) const noexcept
Samples a position on the shape.
-
inline area_sampling_pd_t pdf_position(const pqvec3_t &p) const noexcept
-
virtual scene::element::info_t description() const override
Public Static Functions
-
static inline constexpr std::string scene_element_class() noexcept
-
static std::shared_ptr<shape_t> load(std::string id, scene::loader::loader_t *loader, const scene::loader::node_t &node, const wt::wt_context_t &context)
-
static mesh_t load_mesh(const scene::loader::node_t &node, const std::string &shape_id, const transform_d_t &to_world, const wt::wt_context_t &context, std::vector<const scene::loader::node_t*> &consumed_attributes)
-
struct triangle_sampling_data_t
Public Members
-
discrete_distribution_t<area_t> triangle_surface_area_distribution
-
area_t surface_area
-
area_density_t recp_surface_area
-
discrete_distribution_t<area_t> triangle_surface_area_distribution
-
shape_t(shape_t&&) = default