Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
RenderGraphBuilder.hpp
1#pragma once
2
3#include <vector>
4#include <string>
5#include <map>
6#include <stdint.h>
7
8#include "RenderGraph.hpp"
9
10namespace Grindstone::Renderer {
12 public:
13 // Using all current conditions, evaluate all the framegraph passes and output them to a compiled frame graph with all resources prepared for the render.
14 [[nodiscard]] RenderGraph Compile();
15 RenderGraphPass& AddPass(RenderGraphPass pass);
16 RenderGraphPass& AddPass(HashedString name, GpuQueue queue);
17
18 void SetOutputAttachment(HashedString attachmentName);
19
20 private:
21 HashedString outputAttachment;
22 std::map<HashedString, RenderGraphPass> passes;
23 std::map<HashedString, Grindstone::GraphicsAPI::Buffer*> buffers;
24 std::map<HashedString, Grindstone::GraphicsAPI::Image*> images;
25 };
26}
Definition HashedString.hpp:9
Definition RenderGraphBuilder.hpp:11
Definition RenderGraphPass.hpp:12
Definition RenderGraph.hpp:18