$darkmode
Suckless OGL 1.0.0
A lean, high-performance C11 PBR Renderer
pp_ubo.h
Go to the documentation of this file.
1 #ifndef PP_UBO_H
2 #define PP_UBO_H
3 
12 #include "gl_common.h"
13 #include <cglm/types.h>
14 #include <stdint.h>
15 
21 typedef struct {
22  uint32_t active_effects;
23  float time;
24  float screen_texel_size[2];
26  /* Vignette */
30  float _pad1;
31 
32  /* Grain */
40  float _pad2;
41 
42  /* Exposure */
44  float _pad3[3];
45 
46  /* Chrom Abbr */
48  float _pad4[3];
49 
50  /* White Balance */
52  float wb_tint;
53  float _pad5[2];
54 
55  /* Color Grading */
59  float grading_gain;
61  float grading_lift;
62  float _pad6[2];
63 
64  /* Tonemapper */
66  float tonemap_toe;
70  float _pad7[3];
71 
72  /* Bloom */
76  float bloom_radius;
77 
78  /* DoF */
83 
84  /* Motion Blur */
85  float mb_intensity;
87  int32_t mb_samples;
88  float _pad9;
89 
90  /* FXAA */
94  float _pad10;
95 
96  /* Banding (32 bytes) */
97  int32_t banding_mode;
101  float banding_channel_levels[3];
102  float _pad11;
103 
104  /* Fog (32 bytes) */
105  float fog_density;
106  float fog_start;
108  float _pad12;
109  vec3 fog_color;
110  float _pad13;
111 
112  /* 3D LUT (16 bytes) */
114  float _pad14[3];
116 
118 
119 #endif /* PP_UBO_H */
Common OpenGL definitions, RAII helpers, and utilities.
#define GL_ASSERT_UBO_ALIGNMENT(type)
Compile-time assertion that a UBO struct meets AVX alignment. Place after the typedef to catch miscon...
Definition: gl_common.h:156
#define GL_UBO_ALIGNED
Attribute to apply on UBO typedef to enforce AVX alignment. Usage: } GL_UBO_ALIGNED MyUBOType;.
Definition: gl_common.h:149
Shared Uniform Buffer structure for shaders.
Definition: pp_ubo.h:21
float tonemap_slope
Definition: pp_ubo.h:65
float fog_height_falloff
Definition: pp_ubo.h:107
float fxaa_quality_edge_threshold_min
Definition: pp_ubo.h:93
float _pad13
Definition: pp_ubo.h:110
float grain_texel_size
Definition: pp_ubo.h:39
float grain_intensity
Definition: pp_ubo.h:33
float vignette_intensity
Definition: pp_ubo.h:27
float dof_focal_distance
Definition: pp_ubo.h:79
float exposure_manual
Definition: pp_ubo.h:43
float banding_perceptual_gamma
Definition: pp_ubo.h:100
float fxaa_quality_subpix
Definition: pp_ubo.h:91
float bloom_radius
Definition: pp_ubo.h:76
float dof_anamorphic_ratio
Definition: pp_ubo.h:82
float grading_lift
Definition: pp_ubo.h:61
float tonemap_toe
Definition: pp_ubo.h:66
float grain_highlights_min
Definition: pp_ubo.h:38
float banding_levels
Definition: pp_ubo.h:98
float bloom_soft_threshold
Definition: pp_ubo.h:75
uint32_t active_effects
Definition: pp_ubo.h:22
float tonemap_white_clip
Definition: pp_ubo.h:69
float fxaa_quality_edge_threshold
Definition: pp_ubo.h:92
float grading_gamma
Definition: pp_ubo.h:58
float lut3d_intensity
Definition: pp_ubo.h:113
float dof_focal_range
Definition: pp_ubo.h:80
float _pad9
Definition: pp_ubo.h:88
float _pad1
Definition: pp_ubo.h:30
float grain_shadows_max
Definition: pp_ubo.h:37
float fog_start
Definition: pp_ubo.h:106
int32_t banding_mode
Definition: pp_ubo.h:97
float _pad12
Definition: pp_ubo.h:108
float grading_contrast
Definition: pp_ubo.h:57
float tonemap_black_clip
Definition: pp_ubo.h:68
float grain_intensity_shadows
Definition: pp_ubo.h:34
float banding_dither_strength
Definition: pp_ubo.h:99
float tonemap_shoulder
Definition: pp_ubo.h:67
float vignette_smoothness
Definition: pp_ubo.h:28
float wb_tint
Definition: pp_ubo.h:52
float grading_saturation
Definition: pp_ubo.h:56
float _pad10
Definition: pp_ubo.h:94
float wb_temperature
Definition: pp_ubo.h:51
float mb_max_velocity
Definition: pp_ubo.h:86
float grading_offset
Definition: pp_ubo.h:60
float fog_density
Definition: pp_ubo.h:105
float bloom_intensity
Definition: pp_ubo.h:73
vec3 fog_color
Definition: pp_ubo.h:109
int32_t mb_samples
Definition: pp_ubo.h:87
float _pad2
Definition: pp_ubo.h:40
float _pad11
Definition: pp_ubo.h:102
float bloom_threshold
Definition: pp_ubo.h:74
float grain_intensity_highlights
Definition: pp_ubo.h:36
float mb_intensity
Definition: pp_ubo.h:85
float grading_gain
Definition: pp_ubo.h:59
float time
Definition: pp_ubo.h:23
float vignette_roundness
Definition: pp_ubo.h:29
float grain_intensity_midtones
Definition: pp_ubo.h:35
float chrom_abbr_strength
Definition: pp_ubo.h:47
float dof_bokeh_scale
Definition: pp_ubo.h:81