Class gui_t¶
Defined in File gui.hpp
Nested Relationships¶
Nested Types¶
Inheritance Relationships¶
Base Type¶
public wt::preview_interface_t
(Class preview_interface_t)
Class Documentation¶
-
class gui_t : public wt::preview_interface_t¶
Graphical user interface that handles scene loading and rendering preview.
Public Types
-
using renderer_results_callback_t = std::function<void(const scene_t&, const ads::ads_t&, const scene::render_result_t&, bool)>¶
Callback that should process renderer results. 4th boolean parameter indicates if the results are intermediate results. Callback may be called from different threads.
Public Functions
-
gui_t(wt_context_t &ctx, std::unique_ptr<bootstrap_data_t> scene_bootstrapper, renderer_results_callback_t write_out_render_results)¶
-
inline virtual ~gui_t() noexcept¶
-
inline virtual unsigned preview_update_rate_limit_factor() const noexcept override¶
Indicates a desired minimal interval from clients calling update().
Indicates a desired rate limiting factor from clients calling update().
-
virtual void update(const std::string &preview_id, sensor::developed_scalar_film_t<2> &&surface, const f_t spp_completed, const sensor::response::tonemap_t *tonemap = nullptr) const override¶
Updates the preview image. Can be called from any thread.
-
virtual void update(const std::string &preview_id, sensor::developed_polarimetric_film_t<2> &&surface, const f_t spp_completed, const sensor::response::tonemap_t *tonemap = nullptr) const override¶
Updates the preview image (polarimetric input). Can be called from any thread.
-
virtual bool polarimetric_preview() const noexcept override¶
Returns TRUE if the preview is able to process polarimetric inputs. Must be thread safe.
-
inline virtual bool available() const noexcept override¶
Returns TRUE if the preview is available to process new input. Must be thread safe.
Public Static Functions
-
template<typename Bootstrap>
static inline auto launch(wt_context_t &context, const std::filesystem::path &scene_path, const scene::loader::defaults_defines_t &scene_loader_defines, renderer_results_callback_t write_out_render_results)¶ Launches the GUI and takes control of the scene and context.
-
struct bootstrap_data_t¶
Public Members
-
std::unique_ptr<scene::scene_bootstrap_generic_t> ptr¶
-
std::shared_ptr<std::string> ads_construction_status¶
-
mutable std::mutex ads_construction_status_mutex¶
-
std::unique_ptr<scene::scene_bootstrap_generic_t> ptr¶
-
using renderer_results_callback_t = std::function<void(const scene_t&, const ads::ads_t&, const scene::render_result_t&, bool)>¶