Suckless OGL 1.0.0
A lean, high-performance C11 PBR Renderer
Loading...
Searching...
No Matches
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
21typedef struct {
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 */
62 float _pad6[2];
63
64 /* Tonemapper */
70 float _pad7[3];
71
72 /* Bloom */
77
78 /* DoF */
83
84 /* Motion Blur */
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) */
108 float _pad12;
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:172
#define GL_UBO_ALIGNED
Attribute to apply on UBO typedef to enforce AVX alignment. Usage: } GL_UBO_ALIGNED MyUBOType;.
Definition gl_common.h:165
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