Template Class film_storage_t¶
Defined in File film_storage.hpp
Inheritance Relationships¶
Base Type¶
public wt::sensor::film_storage_handle_t
(Class film_storage_handle_t)
Class Documentation¶
-
template<bool polarimetric, std::size_t Dims>
class film_storage_t : public wt::sensor::film_storage_handle_t¶ Film storage responsible for accumulating samples and developing the final result.
Public Types
-
using T = std::conditional_t<polarimetric, vec4_t, f_t>¶
-
using StorageT = std::conditional_t<polarimetric, vec4<FilmStoragePixelT>, FilmStoragePixelT>¶
-
using StorageWeightT = FilmStoragePixelT¶
-
using element_t = sensor_element_t<T, WeightT>¶
-
using storage_element_t = sensor_element_t<StorageT, StorageWeightT>¶
-
using image_block_t = padded_block_t<element_t, Dims>¶
-
using image_t = bitmap::bitmap_t<storage_element_t, Dims>¶
Public Functions
-
inline film_storage_t(film_storage_t &&o) noexcept¶
-
inline virtual int dimensions_count() const noexcept override¶
-
inline virtual bitmap::pixel_layout_t pixel_layout() const noexcept override¶
-
inline virtual sensor_write_flags_e get_write_flags() const noexcept override¶
-
inline virtual bool is_polarimetric() const noexcept override¶
-
inline bool has_light_images() const noexcept¶
-
inline virtual void write_block(const block_handle_t &block_handle, const f_t scale = 1) noexcept override¶
Writes a block to this film. (not thread safe)
- Parameters:
storage_ptr – film storage to splat to
block_handle – image block
-
inline void write_light_splat(const vec3u32_t &pos3, const std::uint8_t comp, const T &value, const int radius, const f_t *weights, const f_t scale = 1) noexcept¶
Splat a value to a light image in this film. (thread safe)
-
inline virtual bitmap::colour_encoding_t get_colour_encoding_of_developed_tonemapped_film() const noexcept override¶
Colour encoding of the tonemapped developed film.
-
inline virtual developed_scalar_film_t<2> develop_lin_d2(const std::size_t samples_per_element) const override¶
Develops the film (no tonemapping). For two-dimensional films.
- Parameters:
samples_per_elements – samples per element written (used for scale factor for light images)
-
inline virtual developed_polarimetric_film_t<2> develop_lin_stokes_d2(const std::size_t samples_per_element) const override¶
Develops the film (no tonemapping). For two-dimensional polarimetric films. Returns an array of 4 developed images, one for each of the Stokes parameters.
- Parameters:
samples_per_elements – samples per element written (used for scale factor for light images)
-
inline virtual developed_scalar_film_t<2> develop_d2(const std::size_t samples_per_element) const override¶
Develops the film. For two-dimensional films.
- Parameters:
samples_per_elements – samples per element written (used for scale factor for light images)
-
inline virtual developed_polarimetric_film_t<2> develop_stokes_d2(const std::size_t samples_per_element) const override¶
Develops the film. For two-dimensional polarimetric films. Returns an array of 4 developed images, one for each of the Stokes parameters.
- Parameters:
samples_per_elements – samples per element written (used for scale factor for light images)
-
using T = std::conditional_t<polarimetric, vec4_t, f_t>¶