Files
Seele/src/Engine/Graphics/RenderPass/RenderGraph.h
T

30 lines
1.2 KiB
C++
Raw Normal View History

2021-05-06 17:02:10 +02:00
#pragma once
#include "MinimalEngine.h"
#include "Graphics/GraphicsResources.h"
namespace Seele
{
2021-09-29 22:12:56 +02:00
DECLARE_REF(ViewFrame)
2021-10-01 19:55:04 +02:00
class RenderGraphResources
2021-05-06 17:02:10 +02:00
{
public:
2021-10-01 19:55:04 +02:00
RenderGraphResources();
~RenderGraphResources();
2021-05-06 17:02:10 +02:00
Gfx::PRenderTargetAttachment requestRenderTarget(const std::string& outputName);
2021-05-10 23:57:55 +02:00
Gfx::PTexture requestTexture(const std::string& outputName);
Gfx::PStructuredBuffer requestBuffer(const std::string& outputName);
2021-06-12 18:51:29 +02:00
Gfx::PUniformBuffer requestUniform(const std::string& outputName);
2021-05-10 23:57:55 +02:00
void registerRenderPassOutput(const std::string& outputName, Gfx::PRenderTargetAttachment attachment);
void registerTextureOutput(const std::string& outputName, Gfx::PTexture buffer);
void registerBufferOutput(const std::string& outputName, Gfx::PStructuredBuffer buffer);
2021-06-12 18:51:29 +02:00
void registerUniformOutput(const std::string& outputName, Gfx::PUniformBuffer buffer);
2021-10-01 19:55:04 +02:00
protected:
2021-05-06 17:02:10 +02:00
Map<std::string, Gfx::PRenderTargetAttachment> registeredAttachments;
2021-05-10 23:57:55 +02:00
Map<std::string, Gfx::PTexture> registeredTextures;
Map<std::string, Gfx::PStructuredBuffer> registeredBuffers;
2021-06-12 18:51:29 +02:00
Map<std::string, Gfx::PUniformBuffer> registeredUniforms;
2021-05-06 17:02:10 +02:00
};
2021-10-01 19:55:04 +02:00
DEFINE_REF(RenderGraphResources)
2021-05-06 17:02:10 +02:00
} // namespace Seele