Toast Engine
Loading...
Searching...
No Matches
post_process_settings.hpp
Go to the documentation of this file.
1
6
7#pragma once
8#include <cstdint>
9#include <toast/export.hpp>
10
11namespace renderer {
12
15 struct Bloom {
16 float threshold = 1.0f;
17 float knee = 0.5f;
18 float filter_radius = 1.0f;
19 float strength = 0.05f;
20 } bloom;
21
22 struct Tonemap {
23 float exposure = 1.0f;
25 uint32_t mode = 0;
26 float gamma = 2.2f;
27 float contrast = 1.0f;
28 float saturation = 1.0f;
29 float vignette = 0.0f;
30 float grain = 0.0f;
31
32 bool auto_exposure = false;
34 float auto_exposure_min = -8.0f;
35 float auto_exposure_max = 4.0f;
37 float adapt_speed_up = 3.0f;
38 float adapt_speed_down = 1.0f;
39 } tonemap;
40
41 struct Fxaa {
42 float contrast_threshold = 0.0312f;
43 float relative_threshold = 0.125f;
44 float subpixel_blending = 0.75f;
45 } fxaa;
46
47 struct Ssr {
48 float intensity = 1.0f;
49
50 float max_roughness = 0.6f;
51
52 float thickness = 0.5f;
53
54 float stride = 0.15f;
55
56 uint32_t max_steps = 48;
57 } ssr;
58
59 struct Ssao {
60 float radius = 0.5f;
61
62 float strength = 1.0f;
63
64 float range_cutoff = 1.0f;
65
66 uint32_t sample_count = 16;
67 } ssao;
68};
69
70TOAST_API void blendPostProcess(PostProcessSettings& target, const PostProcessSettings& source, float weight);
71
72}
Definition post_process_settings.hpp:15
Definition post_process_settings.hpp:41
Definition post_process_settings.hpp:59
Definition post_process_settings.hpp:47
Definition post_process_settings.hpp:22
float auto_exposure_min
log2 of the average scene luminance the meter may settle on
Definition post_process_settings.hpp:34
uint32_t mode
0 Reinhard 1 ACES
Definition post_process_settings.hpp:25
float adapt_speed_up
Per second toward a brighter scene.
Definition post_process_settings.hpp:37
Definition post_process_settings.hpp:14