Apply post process effects to a HDR rendering of a scene.
More...
#include <PostProcessStack.hpp>
|
|
Texture | _bloomBuffer |
| | Bloom texture.
|
| |
|
Texture | _toneMapBuffer |
| | Tonemapping texture.
|
| |
|
Texture | _dofDownscaledColor |
| | DoF downscaled scene color texture.
|
| |
|
Texture | _dofCocAndDepth |
| | DoF CoC texture.
|
| |
|
Texture | _dofGatherBuffer |
| | DoF gathering texture.
|
| |
|
Texture | _resultTexture |
| | In-progress result of the stack.
|
| |
|
std::unique_ptr< GaussianBlur > | _blur |
| | Bloom blur processing.
|
| |
|
Program * | _bloomProgram |
| | Bloom program.
|
| |
|
Program * | _bloomComposite |
| | Bloom compositing program.
|
| |
|
Program * | _toneMappingProgram |
| | Tonemapping program.
|
| |
|
Program * | _dofCocProgram |
| | CoC computation.
|
| |
|
Program * | _dofGatherProgram |
| | DoF gathering step.
|
| |
|
Program * | _dofCompositeProgram |
| | Composite DoF and input.
|
| |
|
Program * | _fxaaProgram |
| | FXAA program.
|
| |
|
Settings | _settings |
| | The processing settings.
|
| |
|
|
std::string | _name |
| | Debug name.
|
| |
|
Layout | _colorFormat = Layout::NONE |
| | The preferred output format for a given renderer.
|
| |
|
Layout | _depthFormat = Layout::NONE |
| | The preferred output format for a given renderer.
|
| |
Apply post process effects to a HDR rendering of a scene.
The effects currently provided are:
Inherits Renderer.
◆ PostProcessStack()
| PostProcessStack::PostProcessStack |
( |
const glm::vec2 & |
resolution | ) |
|
|
explicit |
Constructor.
- Parameters
-
| resolution | the initial rendering resolution |
◆ interface()
| void PostProcessStack::interface |
( |
| ) |
|
|
overridevirtual |
Display GUI exposing renderer options.
- Note
- The renderer can assume that a GUI window is currently open.
Reimplemented from Renderer.
◆ process()
| void PostProcessStack::process |
( |
const Texture & |
src, |
|
|
const glm::mat4 & |
proj, |
|
|
const Texture & |
depth, |
|
|
Texture & |
dst, |
|
|
uint |
layer = 0 |
|
) |
| |
Apply post processing to the scene. You can assume that there will be at least one operation applied so the same texture can be used as input and output.
- Parameters
-
| src | the texture to process |
| proj | the projection matrix (for DoF) |
| depth | the scene depth buffer (for DoF) |
| dst | the destination texture |
| layer | the layer of the destination to write to |
◆ resize()
| void PostProcessStack::resize |
( |
uint |
width, |
|
|
uint |
height |
|
) |
| |
|
overridevirtual |
Handle a window resize event.
- Parameters
-
| width | the new width |
| height | the new height |
Reimplemented from Renderer.
◆ settings()
| Settings & PostProcessStack::settings |
( |
| ) |
|
|
inline |
Get the stack settings.
- Returns
- a reference to the settings.
◆ updateBlurPass()
| void PostProcessStack::updateBlurPass |
( |
| ) |
|
|
private |
Update the bloom pass depth based on the current set radius.
The documentation for this class was generated from the following files: