Class shape_t¶
Defined in File shape.hpp
Nested Relationships¶
Nested Types¶
Inheritance Relationships¶
Base Type¶
public wt::scene::scene_element_t
(Class scene_element_t)
Class Documentation¶
-
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
-
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¶
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_density_t recp_surface_area¶
-
discrete_distribution_t<area_t> triangle_surface_area_distribution¶
-
inline const auto &get_bsdf() const¶