1#ifndef _DEFERRED_RENDERER_COMMON_HPP
2#define _DEFERRED_RENDERER_COMMON_HPP
4#include <Common/HashedString.hpp>
5#include <Common/Graphics/Formats.hpp>
6#include <Common/Rendering/AttachmentInfo.hpp>
29static const Grindstone::GraphicsAPI::Format depthFormat = Grindstone::GraphicsAPI::Format::D32_SFLOAT;
30static const Grindstone::GraphicsAPI::Format litHdrFormat = Grindstone::GraphicsAPI::Format::R16G16B16A16_SFLOAT;
31static const Grindstone::GraphicsAPI::Format ambientOcclusionFormat = Grindstone::GraphicsAPI::Format::R8_UNORM;
41static Grindstone::Renderer::ImageDescription attachmentAlbedo{ .name =
"Gbuffer Albedo", .format = Grindstone::GraphicsAPI::Format::R8G8B8A8_UNORM, .imageUsage = Grindstone::GraphicsAPI::ImageUsageFlags::RenderTarget | Grindstone::GraphicsAPI::ImageUsageFlags::Sampled};
42static Grindstone::Renderer::ImageDescription attachmentNormal{ .name =
"Gbuffer Normal", .format = Grindstone::GraphicsAPI::Format::R16G16B16A16_SNORM, .imageUsage = Grindstone::GraphicsAPI::ImageUsageFlags::RenderTarget | Grindstone::GraphicsAPI::ImageUsageFlags::Sampled };
43static Grindstone::Renderer::ImageDescription attachmentSpecularRoughness{ .name =
"Gbuffer Specular / Roughness", .format = Grindstone::GraphicsAPI::Format::R8G8B8A8_UNORM, .imageUsage = Grindstone::GraphicsAPI::ImageUsageFlags::RenderTarget | Grindstone::GraphicsAPI::ImageUsageFlags::Sampled };
44static Grindstone::Renderer::ImageDescription attachmentDepthStencil{ .name =
"Gbuffer Depth Stencil", .format = depthFormat, .imageUsage = Grindstone::GraphicsAPI::ImageUsageFlags::DepthStencil | Grindstone::GraphicsAPI::ImageUsageFlags::Sampled };
45static Grindstone::Renderer::ImageDescription attachmentlighting{ .name =
"Lighting Buffer", .format = litHdrFormat, .imageUsage = Grindstone::GraphicsAPI::ImageUsageFlags::RenderTarget | Grindstone::GraphicsAPI::ImageUsageFlags::Sampled };
46static Grindstone::Renderer::ImageDescription attachmentOutput{ .name =
"Output Attachment", .format = Grindstone::GraphicsAPI::Format::R8G8B8A8_UNORM, .imageUsage = Grindstone::GraphicsAPI::ImageUsageFlags::TransferSrc | Grindstone::GraphicsAPI::ImageUsageFlags::RenderTarget | Grindstone::GraphicsAPI::ImageUsageFlags::Sampled };
48static const uint32_t shadowAtlasResolution = 4096u;
50 .name =
"Shadow Depth Stencil",
52 .format = depthFormat,
53 .imageUsage = Grindstone::GraphicsAPI::ImageUsageFlags::DepthStencil | Grindstone::GraphicsAPI::ImageUsageFlags::Sampled
Definition HashedString.hpp:54
Definition AttachmentInfo.hpp:228