Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
TonemapPass.hpp
1#pragma once
2
3#include <Common/Rendering/RenderGraphBuilder.hpp>
4#include <EngineCore/Assets/AssetReference.hpp>
5#include <EngineCore/Assets/PipelineSet/GraphicsPipelineAsset.hpp>
6
9 class DescriptorSet;
10 class Buffer;
11 class Sampler;
12}
13
14namespace Grindstone::Renderer {
16 glm::vec4 vignetteColor = glm::vec4(0.0f, 0.0f, 0.0f, 1.0f);
17 float vignetteRadius = 0.75f;
18 float vignetteSoftness = 0.8f;
19 float grainAmount = 0.0007f;
20 float grainPixelSize = 1.0f;
21 glm::vec2 chromaticDistortionRedOffset = glm::vec2(0.00045f, 0.00045f);
22 glm::vec2 chromaticDistortionGreenOffset = glm::vec2(0.0003f, 0.0003f);
23 glm::vec2 chromaticDistortionBlueOffset = glm::vec2(-0.0003f, -0.0003f);
24 float paniniDistortionStrength = 0.0f;
25 bool isAnimated = true;
26 };
27
29 RenderGraphBuilderResourceRef postProcessOutput;
30 };
31
33 public:
34 bool Initialize();
37 PostProcessSettings settings,
40 );
41
42 private:
44 std::array<Grindstone::GraphicsAPI::DescriptorSet*, 3> tonemapSettingsDescriptorSet {};
45 std::array<Grindstone::GraphicsAPI::Buffer*, 3> tonemapSettingsUniformBuffer {};
46 GraphicsAPI::DescriptorSetLayout* descriptorSetLayout = nullptr;
47 GraphicsAPI::Sampler* screenSampler = nullptr;
48 };
49}
Definition Buffer.hpp:49
Definition DescriptorSetLayout.hpp:14
Definition DescriptorSet.hpp:15
Definition Sampler.hpp:49
Definition RenderGraphBuilder.hpp:12
Definition TonemapPass.hpp:32
Definition Buffer.hpp:9
Definition AttachmentInfo.hpp:15
Definition AssetReference.hpp:45
Definition TonemapPass.hpp:15
Definition RenderGraphResourceRef.hpp:51
Definition TonemapPass.hpp:28