|
wren
Vulkan-based game engine
|
#include <render_pass.hpp>

Public Types | |
| using | execute_fn_t = std::function<void(RenderPass&, ::vk::CommandBuffer&)> |
Public Member Functions | |
| void | execute () |
| template<typename T> | |
| void | write_scratch_buffer (const ::vk::CommandBuffer &cmd, uint32_t set, uint32_t binding, T data) |
| auto | get_scratch_buffer (uint32_t set, uint32_t binding, size_t size) -> void * |
| auto | resize_target (const math::Vec2f &new_size) -> expected< void > |
| void | on_resource_resized (const std::pair< float, float > &size) |
| auto | output_size () const |
| auto | colour_target () const |
| auto | resources () const |
| auto | get_command_buffers () const |
| auto | get_framebuffer () const |
| void | recreate_framebuffers (const ::vk::Device &device) |
| void | bind_pipeline (const std::string &pipeline_name) |
| auto | get () const |
Static Public Member Functions | |
| static auto | create (const std::shared_ptr< Context > &ctx, const std::string &name, const PassResources &resources, const std::shared_ptr< RenderTarget > &colour_target, const std::shared_ptr< RenderTarget > &depth_target, const execute_fn_t &fn) -> expected< std::shared_ptr< RenderPass > > |
Private Member Functions | |
| RenderPass (const std::shared_ptr< Context > &ctx, std::string name, PassResources resources, const std::shared_ptr< RenderTarget > &colour_target, const std::shared_ptr< RenderTarget > &depth_target, execute_fn_t fn) | |
Private Attributes | |
| std::shared_ptr< Context > | ctx_ |
| std::string | name_ |
| PassResources | resources_ |
| std::shared_ptr< vk::Shader > | last_bound_shader_ |
| math::Vec2f | size_ {} |
| execute_fn_t | execute_fn_ |
| ::vk::RenderPass | render_pass_ |
| ::vk::CommandPool | command_pool_ |
| std::vector<::vk::CommandBuffer > | command_buffers_ |
| std::shared_ptr< RenderTarget > | colour_target_ |
| std::shared_ptr< RenderTarget > | depth_target_ |
| ::vk::Framebuffer | framebuffer_ |
| std::map< std::pair< uint32_t, uint32_t >, std::shared_ptr< vk::Buffer > > | ubos_ |
| using wren::RenderPass::execute_fn_t = std::function<void(RenderPass&, ::vk::CommandBuffer&)> |
|
private |


| void wren::RenderPass::bind_pipeline | ( | const std::string & | pipeline_name | ) |


|
inline |

|
static |


| void wren::RenderPass::execute | ( | ) |


|
inlinenodiscard |
|
inlinenodiscard |
|
inlinenodiscard |
|
nodiscard |


| void wren::RenderPass::on_resource_resized | ( | const std::pair< float, float > & | size | ) |


|
inline |

| void wren::RenderPass::recreate_framebuffers | ( | const ::vk::Device & | device | ) |


| auto wren::RenderPass::resize_target | ( | const math::Vec2f & | new_size | ) | -> expected< void > |


|
inline |

| void wren::RenderPass::write_scratch_buffer | ( | const ::vk::CommandBuffer & | cmd, |
| uint32_t | set, | ||
| uint32_t | binding, | ||
| T | data ) |


|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |