4#include "renderers/Renderer.hpp"
5#include "renderers/Renderer.hpp"
7#include "resources/Texture.hpp"
8#include "processing/GaussianBlur.hpp"
59 void resize(uint width, uint height)
override;
77 std::unique_ptr<GaussianBlur>
_blur;
Apply post process effects to a HDR rendering of a scene.
Definition: PostProcessStack.hpp:21
Texture _bloomBuffer
Bloom texture.
Definition: PostProcessStack.hpp:71
Texture _resultTexture
In-progress result of the stack.
Definition: PostProcessStack.hpp:76
void process(const Texture &src, const glm::mat4 &proj, const Texture &depth, Texture &dst, uint layer=0)
Definition: PostProcessStack.cpp:36
Settings & settings()
Definition: PostProcessStack.hpp:64
Program * _dofCocProgram
CoC computation.
Definition: PostProcessStack.hpp:82
void interface() override
Definition: PostProcessStack.cpp:163
Texture _toneMapBuffer
Tonemapping texture.
Definition: PostProcessStack.hpp:72
Program * _dofCompositeProgram
Composite DoF and input.
Definition: PostProcessStack.hpp:84
Texture _dofDownscaledColor
DoF downscaled scene color texture.
Definition: PostProcessStack.hpp:73
Texture _dofGatherBuffer
DoF gathering texture.
Definition: PostProcessStack.hpp:75
Program * _dofGatherProgram
DoF gathering step.
Definition: PostProcessStack.hpp:83
Texture _dofCocAndDepth
DoF CoC texture.
Definition: PostProcessStack.hpp:74
Program * _bloomProgram
Bloom program.
Definition: PostProcessStack.hpp:79
Program * _bloomComposite
Bloom compositing program.
Definition: PostProcessStack.hpp:80
std::unique_ptr< GaussianBlur > _blur
Bloom blur processing.
Definition: PostProcessStack.hpp:77
Program * _fxaaProgram
FXAA program.
Definition: PostProcessStack.hpp:85
void resize(uint width, uint height) override
Definition: PostProcessStack.cpp:153
Settings _settings
The processing settings.
Definition: PostProcessStack.hpp:87
Program * _toneMappingProgram
Tonemapping program.
Definition: PostProcessStack.hpp:81
void updateBlurPass()
Definition: PostProcessStack.cpp:149
Represents a group of shaders used for rendering.
Definition: Program.hpp:31
Base structure of a renderer.
Definition: Renderer.hpp:10
Represents a texture containing one or more images, stored on the CPU and/or GPU.
Definition: Texture.hpp:12
Post processing stack settings.
Definition: PostProcessStack.hpp:25
int bloomRadius
Bloom blur radius.
Definition: PostProcessStack.hpp:29
bool tonemap
Should HDR to LDR tonemapping be applied.
Definition: PostProcessStack.hpp:34
float focusScale
The dof strength effect.
Definition: PostProcessStack.hpp:31
bool bloom
Should bloom (bright lights halo-ing) be applied.
Definition: PostProcessStack.hpp:33
bool fxaa
Apply screenspace anti-aliasing.
Definition: PostProcessStack.hpp:35
bool dof
Should depth of field be applied.
Definition: PostProcessStack.hpp:32
float focusDist
The in-focus plane distance.
Definition: PostProcessStack.hpp:30
float exposure
Film exposure.
Definition: PostProcessStack.hpp:26
float bloomMix
Factor for applying the bloom.
Definition: PostProcessStack.hpp:28
float bloomTh
Threshold for blooming regions.
Definition: PostProcessStack.hpp:27