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 <Common/Rect.hpp>
10#include "GpuPassType.hpp"
11
12#include <Common/Graphics/Formats.hpp>
13#include <Common/Graphics/Buffer.hpp>
14#include <Common/Graphics/Image.hpp>
15#include <Common/Graphics/CommandBuffer.hpp>
16
17#include <EngineCore/WorldContext/WorldContextSet.hpp>
18
19#include "RenderGraphPass.hpp"
20
21namespace Grindstone::GraphicsAPI {
22 class CommandBuffer;
23 class DescriptorSet;
24 class Buffer;
25 class Image;
26}
27
28namespace Grindstone::Renderer {
29 class RenderGraph {
30 public:
31 using ResourceId = size_t;
32
33 RenderGraph() = default;
34 RenderGraph(std::vector<Grindstone::UniquePtr<Grindstone::Renderer::RenderGraphPass>>&& passes, const std::vector<Grindstone::Renderer::UnionResourceDescription>& resourceDescriptions);
35 void ExecuteGraph(Grindstone::Renderer::RenderGraphContext context);
36
37 protected:
38
39 std::vector<Grindstone::UniquePtr<Grindstone::Renderer::RenderGraphPass>> passes;
40 std::vector<Grindstone::Renderer::UnionResourceDescription> resourceDescriptions;
41
42 };
43}
Definition Buffer.hpp:49
Definition CommandBuffer.hpp:109
Definition DescriptorSet.hpp:15
Definition Image.hpp:49
Definition UniquePtr.hpp:7
Definition RenderGraphContext.hpp:24