26#include <hpp/small_vector.hpp>
62 using uptr = std::unique_ptr<pipeline>;
63 using sptr = std::shared_ptr<pipeline>;
64 using wptr = std::weak_ptr<pipeline>;
std::shared_ptr< frame_buffer > ptr
Storage for frustum planes / values and wraps up common functionality.
Class representing a camera. Contains functionality for manipulating and updating a camera....
Performs GGX prefiltering on six 2D face textures to produce a filtered cubemap.
virtual auto init(rtti::context &ctx) -> bool
virtual auto gather_visible_models(scene &scn, const math::frustum *frustum, visibility_flags query, const layer_mask &render_mask) -> visibility_set_models_t
Gathers visible models from the scene based on the given query.
visibility_query
Flags for visibility queries.
@ not_specified
No specific visibility query.
@ is_dirty
Query for dirty entities.
@ is_reflection_caster
Query for reflection casting entities.
@ is_static
Query for static entities.
@ is_shadow_caster
Query for shadow casting entities.
virtual ~pipeline()=default
atmospheric_pass_skybox atmospheric_pass_skybox_
prefilter_pass prefilter_pass_
virtual void ui_pass(scene &scn, const camera &camera, gfx::render_view &rview, const gfx::frame_buffer::ptr &output)
virtual void run_pipeline(const gfx::frame_buffer::ptr &output, scene &scn, const camera &camera, gfx::render_view &rview, delta_t dt, const run_params ¶ms, layer_mask render_mask=layer_mask{layer_reserved::everything_layer})=0
Renders the entire scene from the camera's perspective to the specified output.
virtual auto run_pipeline(scene &scn, const camera &camera, gfx::render_view &rview, delta_t dt, const run_params ¶ms, layer_mask render_mask=layer_mask{layer_reserved::everything_layer}) -> gfx::frame_buffer::ptr=0
Renders the entire scene from the camera's perspective.
virtual void set_debug_pass(int pass)=0
atmospheric_pass_perez atmospheric_pass_perez_
tonemapping_pass tonemapping_pass_
std::shared_ptr< pipeline > sptr
std::weak_ptr< pipeline > wptr
uint32_t visibility_flags
Type alias for visibility flags.
hiz_pass hiz_pass_
Hi-Z buffer generation pass.
atmospheric_pass atmospheric_pass_
std::unique_ptr< pipeline > uptr
virtual auto create_run_params(entt::handle camera_ent) const -> rendering::pipeline::run_params
std::chrono::duration< float > delta_t
std::map< entt::handle, lod_data > lod_data_container
hpp::small_vector< entt::handle > visibility_set_models_t
Contains level of detail (LOD) data for an entity.
float current_time
Current time for LOD transition.
std::uint32_t target_lod_index
Target LOD index.
std::uint32_t current_lod_index
Current LOD index.
Contains data specific to a camera, including LOD information.
lod_data_container entity_lods
Container for entity LOD data.
std::function< void(assao_pass::run_params ¶ms)> fill_assao_params
std::function< void(ssr_pass::run_params ¶ms)> fill_ssr_params
std::function< void(tonemapping_pass::run_params ¶ms)> fill_hdr_params
std::function< void(fxaa_pass::run_params ¶ms)> fill_fxaa_params
Represents a scene in the ACE framework, managing entities and their relationships.