2022-11-17 16:47:42 +01:00
|
|
|
#include "RenderGraphResources.h"
|
2024-06-15 21:47:20 +02:00
|
|
|
#include "Graphics/Query.h"
|
2024-01-16 19:24:49 +01:00
|
|
|
#include <iostream>
|
2024-06-15 21:47:20 +02:00
|
|
|
#include <string>
|
2021-05-06 17:02:10 +02:00
|
|
|
|
|
|
|
|
using namespace Seele;
|
|
|
|
|
|
2024-06-09 12:20:04 +02:00
|
|
|
RenderGraphResources::RenderGraphResources() {}
|
2021-05-06 17:02:10 +02:00
|
|
|
|
2024-06-09 12:20:04 +02:00
|
|
|
RenderGraphResources::~RenderGraphResources() {}
|
2021-05-06 17:02:10 +02:00
|
|
|
|
2024-06-09 12:20:04 +02:00
|
|
|
Gfx::RenderTargetAttachment RenderGraphResources::requestRenderTarget(const std::string& outputName) {
|
2024-02-01 10:21:36 +01:00
|
|
|
return registeredAttachments.at(outputName);
|
2021-05-06 17:02:10 +02:00
|
|
|
}
|
|
|
|
|
|
2024-06-09 12:20:04 +02:00
|
|
|
Gfx::PTexture RenderGraphResources::requestTexture(const std::string& outputName) { return registeredTextures.at(outputName); }
|
2021-05-10 23:57:55 +02:00
|
|
|
|
2024-06-09 12:20:04 +02:00
|
|
|
Gfx::PShaderBuffer RenderGraphResources::requestBuffer(const std::string& outputName) { return registeredBuffers.at(outputName); }
|
2021-05-10 23:57:55 +02:00
|
|
|
|
2024-06-09 12:20:04 +02:00
|
|
|
Gfx::PUniformBuffer RenderGraphResources::requestUniform(const std::string& outputName) { return registeredUniforms.at(outputName); }
|
2021-06-12 18:51:29 +02:00
|
|
|
|
2024-06-15 21:47:20 +02:00
|
|
|
Gfx::PPipelineStatisticsQuery RenderGraphResources::requestQuery(const std::string& outputName) { return registeredQueries.at(outputName); }
|
|
|
|
|
|
2024-07-01 12:17:04 +02:00
|
|
|
Gfx::PTimestampQuery Seele::RenderGraphResources::requestTimestampQuery(const std::string& outputName) { return registeredTimestamps.at(outputName); }
|
|
|
|
|
|
2024-06-09 12:20:04 +02:00
|
|
|
void RenderGraphResources::registerRenderPassOutput(const std::string& outputName, Gfx::RenderTargetAttachment attachment) {
|
2021-05-06 17:02:10 +02:00
|
|
|
registeredAttachments[outputName] = attachment;
|
2021-05-10 23:57:55 +02:00
|
|
|
}
|
|
|
|
|
|
2024-06-09 12:20:04 +02:00
|
|
|
void RenderGraphResources::registerTextureOutput(const std::string& outputName, Gfx::PTexture texture) {
|
2021-05-10 23:57:55 +02:00
|
|
|
registeredTextures[outputName] = texture;
|
|
|
|
|
}
|
|
|
|
|
|
2024-06-09 12:20:04 +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
|
|
|
}
|
2024-06-09 12:20:04 +02:00
|
|
|
void RenderGraphResources::registerUniformOutput(const std::string& outputName, Gfx::PUniformBuffer buffer) {
|
2021-06-12 18:51:29 +02:00
|
|
|
registeredUniforms[outputName] = buffer;
|
2024-06-15 21:47:20 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void RenderGraphResources::registerQueryOutput(const std::string& outputName, Gfx::PPipelineStatisticsQuery query) {
|
|
|
|
|
registeredQueries[outputName] = query;
|
2024-07-01 12:17:04 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Seele::RenderGraphResources::registerTimestampQueryOutput(const std::string& outputName, Gfx::PTimestampQuery query) {
|
|
|
|
|
registeredTimestamps[outputName] = query;
|
|
|
|
|
}
|