Suckless OGL 1.0.0
A lean, high-performance C11 PBR Renderer
Loading...
Searching...
No Matches
pp_params.h
Go to the documentation of this file.
1#ifndef PP_PARAMS_H
2#define PP_PARAMS_H
3
16#include <cglm/types.h>
17#include <stdint.h>
18
19/* --- DEFAULT VALUES --- */
20#define DEFAULT_VIGNETTE_INTENSITY 0.8F
21#define DEFAULT_VIGNETTE_SMOOTHNESS 0.5F
22#define DEFAULT_VIGNETTE_ROUNDNESS 1.0F
23#define DEFAULT_GRAIN_INTENSITY 0.02F
24#define DEFAULT_GRAIN_SHADOWS_MAX 0.09F
25#define DEFAULT_GRAIN_HIGHLIGHTS_MIN 0.5F
26#define DEFAULT_GRAIN_TEXEL_SIZE 1.0F
27#define DEFAULT_EXPOSURE 1.00F
28#define DEFAULT_CHROM_ABBR_STRENGTH 0.005F
29
30/* FXAA Defaults */
31#define DEFAULT_FXAA_SUBPIX 0.75F
32#define DEFAULT_FXAA_EDGE_THRESHOLD 0.125F
33#define DEFAULT_FXAA_EDGE_THRESHOLD_MIN 0.063F
34
35/* Banding defaults */
36#define DEFAULT_BANDING_LEVELS 256.0F
38/* Fog Defaults */
39#define DEFAULT_FOG_DENSITY 0.0F
40#define DEFAULT_FOG_START 10.0F
41#define DEFAULT_FOG_HEIGHT_FALLOFF 0.1F
42#define DEFAULT_FOG_COLOR_R 0.5F
43#define DEFAULT_FOG_COLOR_G 0.6F
44#define DEFAULT_FOG_COLOR_B 0.7F
45
46/* White Balance Defaults */
47#define DEFAULT_WB_TEMP 6500.0F
48#define DEFAULT_WB_TINT 0.0F
49
50/* Filmic Defaults (Safe Neutrals) */
51#define DEFAULT_FILMIC_SLOPE 1.0F
52#define DEFAULT_FILMIC_TOE 0.0F
53#define DEFAULT_FILMIC_SHOULDER 0.0F
54#define DEFAULT_FILMIC_BLACK_CLIP 0.0F
55#define DEFAULT_FILMIC_WHITE_CLIP 0.0F
56
61typedef struct {
62 float saturation;
63 float contrast;
64 float gamma;
65 float gain;
66 float offset;
67 float lift;
69
74typedef struct {
75 float intensity;
76 float smoothness;
77 float roundness;
79
93
98typedef struct {
99 float exposure;
101
106typedef struct {
107 float strength;
109
114typedef struct {
116 float tint;
118
123typedef struct {
124 float slope;
125 float toe;
126 float shoulder;
130
135typedef struct {
136 float subpix;
140} FXAAParams;
141
153
158typedef struct {
159 int32_t mode;
160 float levels;
165
170typedef struct {
171 float density;
172 float start;
174 float color[3];
175} FogParams;
176
181typedef enum {
182 POSTFX_VIGNETTE = (1U << 0U),
183 POSTFX_GRAIN = (1U << 1U),
184 POSTFX_EXPOSURE = (1U << 2U),
185 POSTFX_CHROM_ABBR = (1U << 3U),
186 POSTFX_BLOOM = (1U << 4U),
188 (1U << 5U),
189 POSTFX_DOF = (1U << 6U),
190 POSTFX_DOF_DEBUG = (1U << 7U),
192 (1U << 8U),
194 (1U << 9U),
195 POSTFX_MOTION_BLUR = (1U << 10U),
197 (1U << 11U),
198 POSTFX_FXAA = (1U << 12U),
199 POSTFX_FXAA_DEBUG = (1U << 13U),
200 POSTFX_BANDING = (1U << 14U),
202 (1U << 15U),
203 POSTFX_STENCIL_DEBUG = (1U << 16U),
204 POSTFX_BLOOM_DEBUG = (1U << 17U),
205 POSTFX_FOG = (1U << 18U),
206 POSTFX_FOG_DEBUG = (1U << 19U),
207 POSTFX_LUT3D = (1U << 20U),
208 POSTFX_LUT_VIZ = (1U << 21U),
210
212#define DEFAULT_ACTIVE_EFFECTS \
213 ((unsigned int)POSTFX_EXPOSURE | (unsigned int)POSTFX_COLOR_GRADING | \
214 (unsigned int)POSTFX_FXAA)
215
216#endif /* PP_PARAMS_H */
PostProcessEffect
Bitmask flags for enabling/disabling individual effects.
Definition pp_params.h:181
@ POSTFX_BANDING
Definition pp_params.h:200
@ POSTFX_BLOOM_DEBUG
Definition pp_params.h:204
@ POSTFX_AUTO_EXPOSURE
Definition pp_params.h:191
@ POSTFX_MOTION_BLUR
Definition pp_params.h:195
@ POSTFX_DOF_DEBUG
Definition pp_params.h:190
@ POSTFX_COLOR_GRADING
Definition pp_params.h:187
@ POSTFX_EXPOSURE_DEBUG
Definition pp_params.h:193
@ POSTFX_GRAIN
Definition pp_params.h:183
@ POSTFX_MOTION_BLUR_DEBUG
Definition pp_params.h:196
@ POSTFX_LUT_VIZ
Definition pp_params.h:208
@ POSTFX_VECTOR_FIELD_DEBUG
Definition pp_params.h:201
@ POSTFX_FXAA
Definition pp_params.h:198
@ POSTFX_DOF
Definition pp_params.h:189
@ POSTFX_STENCIL_DEBUG
Definition pp_params.h:203
@ POSTFX_BLOOM
Definition pp_params.h:186
@ POSTFX_FXAA_DEBUG
Definition pp_params.h:199
@ POSTFX_LUT3D
Definition pp_params.h:207
@ POSTFX_FOG_DEBUG
Definition pp_params.h:206
@ POSTFX_EXPOSURE
Definition pp_params.h:184
@ POSTFX_FOG
Definition pp_params.h:205
@ POSTFX_VIGNETTE
Definition pp_params.h:182
@ POSTFX_CHROM_ABBR
Definition pp_params.h:185
BandingMode
Styles of color quantization.
Definition pp_params.h:146
@ BANDING_MODE_DITHERED
Definition pp_params.h:148
@ BANDING_MODE_LINEAR
Definition pp_params.h:147
@ BANDING_MODE_PERCEPTUAL
Definition pp_params.h:149
@ BANDING_MODE_LUMINANCE
Definition pp_params.h:151
@ BANDING_MODE_CHANNEL
Definition pp_params.h:150
Controls for color banding/quantization.
Definition pp_params.h:158
float dither_strength
Definition pp_params.h:161
float perceptual_gamma
Definition pp_params.h:162
vec3 channel_levels
Definition pp_params.h:163
int32_t mode
Definition pp_params.h:159
float levels
Definition pp_params.h:160
Focal-length distortion simulation.
Definition pp_params.h:106
float strength
Definition pp_params.h:107
Unreal-style color grading parameters.
Definition pp_params.h:61
float saturation
Definition pp_params.h:62
float lift
Definition pp_params.h:67
float gamma
Definition pp_params.h:64
float gain
Definition pp_params.h:65
float contrast
Definition pp_params.h:63
float offset
Definition pp_params.h:66
Manual exposure tuning.
Definition pp_params.h:98
float exposure
Definition pp_params.h:99
Parameters for Fast Approximate Anti-Aliasing.
Definition pp_params.h:135
float edge_threshold_min
Definition pp_params.h:138
float edge_threshold
Definition pp_params.h:137
float subpix
Definition pp_params.h:136
Depth-based atmospheric fog parameters.
Definition pp_params.h:170
float density
Definition pp_params.h:171
float height_falloff
Definition pp_params.h:173
float start
Definition pp_params.h:172
Fine-grained controls for film noise.
Definition pp_params.h:84
float intensity_highlights
Definition pp_params.h:88
float shadows_max
Definition pp_params.h:89
float intensity_midtones
Definition pp_params.h:87
float highlights_min
Definition pp_params.h:90
float intensity
Definition pp_params.h:85
float intensity_shadows
Definition pp_params.h:86
float texel_size
Definition pp_params.h:91
ACES-like filmic tonemapping curve parameters.
Definition pp_params.h:123
float white_clip
Definition pp_params.h:128
float black_clip
Definition pp_params.h:127
float toe
Definition pp_params.h:125
float slope
Definition pp_params.h:124
float shoulder
Definition pp_params.h:126
Controls for the screen-edge darkening effect.
Definition pp_params.h:74
float smoothness
Definition pp_params.h:76
float roundness
Definition pp_params.h:77
float intensity
Definition pp_params.h:75
Temperature and tint correction.
Definition pp_params.h:114
float tint
Definition pp_params.h:116
float temperature
Definition pp_params.h:115