$darkmode
Suckless OGL 1.0.0
A lean, high-performance C11 PBR Renderer
postprocess.h
Go to the documentation of this file.
1 
11 #ifndef POSTPROCESS_H
12 #define POSTPROCESS_H
13 
14 #include <glad/glad.h>
15 
16 typedef struct PostProcess PostProcess;
18 typedef struct GPUProfiler GPUProfiler;
19 
20 /* --- Lifecycle --- */
21 
22 int postprocess_init(PostProcess* post_processing,
23  GPUProfiler* external_profiler, int width, int height);
24 void postprocess_cleanup(PostProcess* post_processing);
25 void postprocess_compile_optimized(PostProcess* post_processing,
26  unsigned int static_flags);
27 void postprocess_use_dynamic(PostProcess* post_processing);
28 void postprocess_set_dummy_textures(PostProcess* post_processing,
29  GLuint dummy_black);
30 void postprocess_resize(PostProcess* post_processing, int width, int height);
31 
32 /* --- Render Pass Management --- */
33 
34 void postprocess_begin(PostProcess* post_processing);
35 void postprocess_end(PostProcess* post_processing);
36 
37 /* --- Presets --- */
38 
39 void postprocess_apply_preset(PostProcess* post_processing,
40  const PostProcessPreset* preset);
41 
42 /* Sub-API headers for specific consumers */
43 #include "postprocess_readback.h"
44 #include "postprocess_setters.h"
45 
46 #endif /* POSTPROCESS_H */
int postprocess_init(PostProcess *post_processing, GPUProfiler *external_profiler, int width, int height)
Definition: postprocess_init.c:76
void postprocess_use_dynamic(PostProcess *post_processing)
Definition: postprocess_shader.c:218
void postprocess_set_dummy_textures(PostProcess *post_processing, GLuint dummy_black)
Definition: postprocess_init.c:308
void postprocess_apply_preset(PostProcess *post_processing, const PostProcessPreset *preset)
Definition: postprocess_setters.c:249
void postprocess_begin(PostProcess *post_processing)
Definition: postprocess_apply.c:13
void postprocess_cleanup(PostProcess *post_processing)
Definition: postprocess_cleanup.c:65
void postprocess_end(PostProcess *post_processing)
Definition: postprocess_apply.c:23
void postprocess_resize(PostProcess *post_processing, int width, int height)
Definition: postprocess_init.c:314
void postprocess_compile_optimized(PostProcess *post_processing, unsigned int static_flags)
Definition: postprocess_shader.c:140
Async GPU readback and histogram API for post-processing.
Parameter setter/getter API for the post-processing pipeline.
Manages GPU timing using double-buffered queries to avoid stalls.
Definition: gpu_profiler.h:86
Snapshot of every configurable parameter in the pipeline.
Definition: postprocess_internal.h:98
Main pipeline state for post-processing.
Definition: postprocess_internal.h:46