Unravel Engine C++ Reference
Loading...
Searching...
No Matches
unravel::rendering::deferred Class Reference

#include <pipeline.h>

Inheritance diagram for unravel::rendering::deferred:
unravel::rendering::pipeline

Public Types

enum  pipeline_steps : uint32_t {
  geometry_pass = 1 << 1 , shadow_pass = 1 << 2 , reflection_probe = 1 << 3 , lighting = 1 << 4 ,
  atmospheric = 1 << 5 , full = geometry_pass | shadow_pass | reflection_probe | lighting | atmospheric , probe = lighting | atmospheric
}
 
using pipeline_flags = uint32_t
 
- Public Types inherited from unravel::rendering::pipeline
enum  visibility_query : uint32_t {
  not_specified = 1 << 0 , is_dirty = 1 << 1 , is_static = 1 << 2 , is_shadow_caster = 1 << 3 ,
  is_reflection_caster = 1 << 4
}
 Flags for visibility queries. More...
 
using uptr = std::unique_ptr<pipeline>
 
using sptr = std::shared_ptr<pipeline>
 
using wptr = std::weak_ptr<pipeline>
 
using visibility_flags = uint32_t
 Type alias for visibility flags.
 

Public Member Functions

 deferred ()
 
 ~deferred ()
 
auto init (rtti::context &ctx) -> bool override
 
auto deinit (rtti::context &ctx) -> bool
 
auto run_pipeline (scene &scn, const camera &camera, gfx::render_view &rview, delta_t dt, const run_params &params, layer_mask render_mask=layer_mask{layer_reserved::everything_layer}) -> gfx::frame_buffer::ptr override
 Renders the entire scene from the camera's perspective.
 
void run_pipeline (const gfx::frame_buffer::ptr &output, scene &scn, const camera &camera, gfx::render_view &rview, delta_t dt, const run_params &params, layer_mask render_mask=layer_mask{layer_reserved::everything_layer}) override
 Renders the entire scene from the camera's perspective to the specified output.
 
void set_debug_pass (int pass) override
 
void run_pipeline_impl (const gfx::frame_buffer::ptr &output, scene &scn, const camera &camera, gfx::render_view &rview, delta_t dt, const run_params &params, pipeline_flags pflags, layer_mask render_mask=layer_mask{layer_reserved::everything_layer})
 
void run_g_buffer_pass (const visibility_set_models_t &visibility_set, const camera &camera, gfx::render_view &rview, delta_t dt)
 
void run_assao_pass (const visibility_set_models_t &visibility_set, const camera &camera, gfx::render_view &rview, delta_t dt, const run_params &rparams)
 
auto run_lighting_pass (scene &scn, const camera &camera, gfx::render_view &rview, bool apply_shadows, delta_t dt) -> gfx::frame_buffer::ptr
 
void run_reflection_probe_pass (scene &scn, const camera &camera, gfx::render_view &rview, delta_t dt)
 
auto run_atmospherics_pass (gfx::frame_buffer::ptr input, scene &scn, const camera &camera, gfx::render_view &rview, delta_t dt) -> gfx::frame_buffer::ptr
 
auto run_ssr_pass (const camera &camera, gfx::render_view &rview, const gfx::frame_buffer::ptr &output, const run_params &rparams) -> gfx::frame_buffer::ptr
 
auto run_fxaa_pass (gfx::render_view &rview, const gfx::frame_buffer::ptr &input, const gfx::frame_buffer::ptr &output, const run_params &rparams) -> gfx::frame_buffer::ptr
 
auto run_tonemapping_pass (gfx::render_view &rview, const gfx::frame_buffer::ptr &input, const gfx::frame_buffer::ptr &output, const run_params &rparams) -> gfx::frame_buffer::ptr
 
void run_debug_visualization_pass (const camera &camera, gfx::render_view &rview, const gfx::frame_buffer::ptr &output)
 
void build_reflections (scene &scn, const camera &camera, delta_t dt)
 
void build_shadows (scene &scn, const camera &camera, visibility_flags query=visibility_query::not_specified, layer_mask render_mask=layer_mask{layer_reserved::everything_layer})
 
auto run_hiz_pass (const camera &camera, gfx::render_view &rview, delta_t dt) -> gfx::texture::ptr
 
- Public Member Functions inherited from unravel::rendering::pipeline
 pipeline ()=default
 
virtual ~pipeline ()=default
 
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.
 
virtual void ui_pass (scene &scn, const camera &camera, gfx::render_view &rview, const gfx::frame_buffer::ptr &output)
 
virtual auto create_run_params (entt::handle camera_ent) const -> rendering::pipeline::run_params
 

Additional Inherited Members

- Protected Attributes inherited from unravel::rendering::pipeline
prefilter_pass prefilter_pass_ {}
 
blit_pass blit_pass_ {}
 
atmospheric_pass atmospheric_pass_ {}
 
atmospheric_pass_perez atmospheric_pass_perez_ {}
 
atmospheric_pass_skybox atmospheric_pass_skybox_ {}
 
assao_pass assao_pass_ {}
 
fxaa_pass fxaa_pass_ {}
 
tonemapping_pass tonemapping_pass_ {}
 
ssr_pass ssr_pass_ {}
 
hiz_pass hiz_pass_ {}
 Hi-Z buffer generation pass.
 

Detailed Description

Definition at line 22 of file pipeline.h.

Member Typedef Documentation

◆ pipeline_flags

Definition at line 55 of file pipeline.h.

Member Enumeration Documentation

◆ pipeline_steps

Enumerator
geometry_pass 
shadow_pass 
reflection_probe 
lighting 
atmospheric 
full 
probe 

Definition at line 43 of file pipeline.h.

Constructor & Destructor Documentation

◆ deferred()

unravel::rendering::deferred::deferred ( )

Definition at line 1227 of file pipeline.cpp.

◆ ~deferred()

unravel::rendering::deferred::~deferred ( )

Definition at line 1232 of file pipeline.cpp.

Member Function Documentation

◆ build_reflections()

void unravel::rendering::deferred::build_reflections ( scene & scn,
const camera & camera,
delta_t dt )

Definition at line 335 of file pipeline.cpp.

◆ build_shadows()

void unravel::rendering::deferred::build_shadows ( scene & scn,
const camera & camera,
visibility_flags query = visibility_query::not_specified,
layer_mask render_mask = layer_mask{layer_reserved::everything_layer} )

Definition at line 421 of file pipeline.cpp.

◆ deinit()

auto unravel::rendering::deferred::deinit ( rtti::context & ctx) -> bool

Definition at line 1333 of file pipeline.cpp.

◆ init()

auto unravel::rendering::deferred::init ( rtti::context & ctx) -> bool
overridevirtual

Reimplemented from unravel::rendering::pipeline.

Definition at line 1237 of file pipeline.cpp.

◆ run_assao_pass()

void unravel::rendering::deferred::run_assao_pass ( const visibility_set_models_t & visibility_set,
const camera & camera,
gfx::render_view & rview,
delta_t dt,
const run_params & rparams )

Definition at line 727 of file pipeline.cpp.

◆ run_atmospherics_pass()

auto unravel::rendering::deferred::run_atmospherics_pass ( gfx::frame_buffer::ptr input,
scene & scn,
const camera & camera,
gfx::render_view & rview,
delta_t dt ) -> gfx::frame_buffer::ptr

Definition at line 1005 of file pipeline.cpp.

◆ run_debug_visualization_pass()

void unravel::rendering::deferred::run_debug_visualization_pass ( const camera & camera,
gfx::render_view & rview,
const gfx::frame_buffer::ptr & output )

Definition at line 1167 of file pipeline.cpp.

◆ run_fxaa_pass()

auto unravel::rendering::deferred::run_fxaa_pass ( gfx::render_view & rview,
const gfx::frame_buffer::ptr & input,
const gfx::frame_buffer::ptr & output,
const run_params & rparams ) -> gfx::frame_buffer::ptr

Definition at line 1122 of file pipeline.cpp.

◆ run_g_buffer_pass()

void unravel::rendering::deferred::run_g_buffer_pass ( const visibility_set_models_t & visibility_set,
const camera & camera,
gfx::render_view & rview,
delta_t dt )

Definition at line 597 of file pipeline.cpp.

◆ run_hiz_pass()

auto unravel::rendering::deferred::run_hiz_pass ( const camera & camera,
gfx::render_view & rview,
delta_t dt ) -> gfx::texture::ptr

Definition at line 1208 of file pipeline.cpp.

◆ run_lighting_pass()

auto unravel::rendering::deferred::run_lighting_pass ( scene & scn,
const camera & camera,
gfx::render_view & rview,
bool apply_shadows,
delta_t dt ) -> gfx::frame_buffer::ptr

Definition at line 755 of file pipeline.cpp.

◆ run_pipeline() [1/2]

void unravel::rendering::deferred::run_pipeline ( const gfx::frame_buffer::ptr & output,
scene & scn,
const camera & camera,
gfx::render_view & rview,
delta_t dt,
const run_params & params,
layer_mask render_mask = layer_mask{layer_reserved::everything_layer} )
overridevirtual

Renders the entire scene from the camera's perspective to the specified output.

Parameters
outputThe output frame buffer.
scnThe scene to render.
cameraThe camera to render from.
storageThe camera storage.
render_viewThe render view.
dtThe delta time.
queryThe visibility query flags.

Implements unravel::rendering::pipeline.

Definition at line 509 of file pipeline.cpp.

◆ run_pipeline() [2/2]

auto unravel::rendering::deferred::run_pipeline ( scene & scn,
const camera & camera,
gfx::render_view & rview,
delta_t dt,
const run_params & params,
layer_mask render_mask = layer_mask{layer_reserved::everything_layer} ) -> gfx::frame_buffer::ptr
overridevirtual

Renders the entire scene from the camera's perspective.

Parameters
scnThe scene to render.
cameraThe camera to render from.
storageThe camera storage.
render_viewThe render view.
dtThe delta time.
queryThe visibility query flags.
Returns
A shared pointer to the frame buffer containing the rendered scene.

Implements unravel::rendering::pipeline.

Definition at line 494 of file pipeline.cpp.

◆ run_pipeline_impl()

void unravel::rendering::deferred::run_pipeline_impl ( const gfx::frame_buffer::ptr & output,
scene & scn,
const camera & camera,
gfx::render_view & rview,
delta_t dt,
const run_params & params,
pipeline_flags pflags,
layer_mask render_mask = layer_mask{layer_reserved::everything_layer} )

Definition at line 530 of file pipeline.cpp.

◆ run_reflection_probe_pass()

void unravel::rendering::deferred::run_reflection_probe_pass ( scene & scn,
const camera & camera,
gfx::render_view & rview,
delta_t dt )

Definition at line 875 of file pipeline.cpp.

◆ run_ssr_pass()

auto unravel::rendering::deferred::run_ssr_pass ( const camera & camera,
gfx::render_view & rview,
const gfx::frame_buffer::ptr & output,
const run_params & rparams ) -> gfx::frame_buffer::ptr

Definition at line 1085 of file pipeline.cpp.

◆ run_tonemapping_pass()

auto unravel::rendering::deferred::run_tonemapping_pass ( gfx::render_view & rview,
const gfx::frame_buffer::ptr & input,
const gfx::frame_buffer::ptr & output,
const run_params & rparams ) -> gfx::frame_buffer::ptr

Definition at line 1143 of file pipeline.cpp.

◆ set_debug_pass()

void unravel::rendering::deferred::set_debug_pass ( int pass)
overridevirtual

Implements unravel::rendering::pipeline.

Definition at line 525 of file pipeline.cpp.


The documentation for this class was generated from the following files: