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