6#include <vulkan/vulkan.hpp>
20using edge_t = std::pair<node_t, node_t>;
27 const auto node = std::ranges::find_if(
28 nodes, [name](
const node_t &node) {
return name == node->name; });
29 if (node !=
nodes.end())
return *node;
std::vector< std::tuple< std::string, PassResources, RenderPass::execute_fn_t > > passes_
Definition graph.hpp:53
auto create_target() const -> expected< std::shared_ptr< RenderTarget > >
auto add_pass(const std::string &name, const PassResources &resources, const RenderPass::execute_fn_t &fn) -> GraphBuilder &
Definition graph.cpp:11
auto compile() const -> expected< Graph >
Definition graph.cpp:19
GraphBuilder(const std::shared_ptr< Context > &ctx)
Definition graph.hpp:40
std::shared_ptr< Context > ctx_
Definition graph.hpp:51
Definition render_pass.hpp:23
Definition render_pass.hpp:59
Definition render_target.hpp:14
Definition editor_scene.hpp:5
std::pair< node_t, node_t > edge_t
Definition graph.hpp:20
std::shared_ptr< Node > node_t
Definition graph.hpp:19
std::expected< T, Err > expected
Definition result.hpp:49
Definition context.hpp:13
std::vector< edge_t > edges
Definition graph.hpp:35
auto node_by_name(const std::string &name) const -> node_t
Definition graph.hpp:26
std::vector< node_t > nodes
Definition graph.hpp:34
auto end()
Definition graph.hpp:24
auto begin()
Definition graph.hpp:23
std::shared_ptr< RenderPass > render_pass
Definition graph.hpp:16
std::string name
Definition graph.hpp:15