2022-11-17 16:47:42 +01:00
|
|
|
#include "RenderGraphResources.h"
|
2024-01-16 19:24:49 +01:00
|
|
|
#include <iostream>
|
2021-05-06 17:02:10 +02:00
|
|
|
|
|
|
|
|
using namespace Seele;
|
|
|
|
|
|
2021-10-01 19:55:04 +02:00
|
|
|
RenderGraphResources::RenderGraphResources()
|
2021-05-06 17:02:10 +02:00
|
|
|
{
|
2021-10-01 19:55:04 +02:00
|
|
|
|
2021-05-06 17:02:10 +02:00
|
|
|
}
|
|
|
|
|
|
2021-10-01 19:55:04 +02:00
|
|
|
RenderGraphResources::~RenderGraphResources()
|
2021-05-06 17:02:10 +02:00
|
|
|
{
|
2021-10-01 19:55:04 +02:00
|
|
|
|
2021-05-06 17:02:10 +02:00
|
|
|
}
|
|
|
|
|
|
2021-10-01 19:55:04 +02:00
|
|
|
Gfx::PRenderTargetAttachment RenderGraphResources::requestRenderTarget(const std::string& outputName)
|
2021-05-06 17:02:10 +02:00
|
|
|
{
|
|
|
|
|
if(registeredAttachments.find(outputName) == registeredAttachments.end())
|
|
|
|
|
{
|
|
|
|
|
std::cout << "Attachment " << outputName << " not found" << std::endl;
|
|
|
|
|
return nullptr;
|
|
|
|
|
}
|
|
|
|
|
return registeredAttachments[outputName];
|
|
|
|
|
}
|
|
|
|
|
|
2021-10-01 19:55:04 +02:00
|
|
|
Gfx::PTexture RenderGraphResources::requestTexture(const std::string& outputName)
|
2021-05-10 23:57:55 +02:00
|
|
|
{
|
|
|
|
|
if(registeredTextures.find(outputName) == registeredTextures.end())
|
|
|
|
|
{
|
|
|
|
|
std::cout << "Attachment " << outputName << " not found" << std::endl;
|
|
|
|
|
return nullptr;
|
|
|
|
|
}
|
|
|
|
|
return registeredTextures[outputName];
|
|
|
|
|
}
|
|
|
|
|
|
2023-08-28 21:23:13 +02:00
|
|
|
Gfx::PShaderBuffer RenderGraphResources::requestBuffer(const std::string& outputName)
|
2021-05-10 23:57:55 +02:00
|
|
|
{
|
|
|
|
|
if(registeredBuffers.find(outputName) == registeredBuffers.end())
|
|
|
|
|
{
|
|
|
|
|
std::cout << "Attachment " << outputName << " not found" << std::endl;
|
|
|
|
|
return nullptr;
|
|
|
|
|
}
|
|
|
|
|
return registeredBuffers[outputName];
|
|
|
|
|
}
|
|
|
|
|
|
2021-10-01 19:55:04 +02:00
|
|
|
Gfx::PUniformBuffer RenderGraphResources::requestUniform(const std::string& outputName)
|
2021-06-12 18:51:29 +02:00
|
|
|
{
|
|
|
|
|
if(registeredUniforms.find(outputName) == registeredUniforms.end())
|
|
|
|
|
{
|
|
|
|
|
std::cout << "Attachment " << outputName << " not found" << std::endl;
|
|
|
|
|
return nullptr;
|
|
|
|
|
}
|
|
|
|
|
return registeredUniforms[outputName];
|
|
|
|
|
}
|
|
|
|
|
|
2021-10-01 19:55:04 +02:00
|
|
|
void RenderGraphResources::registerRenderPassOutput(const std::string& outputName, Gfx::PRenderTargetAttachment attachment)
|
2021-05-06 17:02:10 +02:00
|
|
|
{
|
|
|
|
|
registeredAttachments[outputName] = attachment;
|
2021-05-10 23:57:55 +02:00
|
|
|
}
|
|
|
|
|
|
2021-10-01 19:55:04 +02:00
|
|
|
void RenderGraphResources::registerTextureOutput(const std::string& outputName, Gfx::PTexture texture)
|
2021-05-10 23:57:55 +02:00
|
|
|
{
|
|
|
|
|
registeredTextures[outputName] = texture;
|
|
|
|
|
}
|
|
|
|
|
|
2023-08-28 21:23:13 +02:00
|
|
|
void RenderGraphResources::registerBufferOutput(const std::string& outputName, Gfx::PShaderBuffer buffer)
|
2021-05-10 23:57:55 +02:00
|
|
|
{
|
|
|
|
|
registeredBuffers[outputName] = buffer;
|
2021-06-12 18:51:29 +02:00
|
|
|
}
|
2021-10-01 19:55:04 +02:00
|
|
|
void RenderGraphResources::registerUniformOutput(const std::string& outputName, Gfx::PUniformBuffer buffer)
|
2021-06-12 18:51:29 +02:00
|
|
|
{
|
|
|
|
|
registeredUniforms[outputName] = buffer;
|
2021-05-06 17:02:10 +02:00
|
|
|
}
|