Temporary on-screen notification system for user actions.
First-person camera module with realistic physics and head-bobbing.
Automated A/B GPU cost measurement for individual postprocess effects.
Environment and IBL management module.
High-level post-processing pipeline and effects.
void renderer_draw_frame(struct App *app_ref, Scene *scene, PostProcess *postprocess, Camera *camera, GPUProfiler *profiler, GPUProfilerUI *timeline_ui, EnvManager *env_mgr, ActionNotifier *notifier, EffectBenchmark *effect_bench, int width, int height, double delta_time, uint64_t frame_count, int log_gpu_metrics)
Orchestrates the entire frame render (scene, postprocess, ui). Decouples the rendering logic from the...
Definition: renderer.c:10
void app_render_ui(const struct App *app)
Manager for action notifications.
Definition: action_notifier.h:41
The central state container for the entire application.
Definition: app.h:35
Camera camera
Definition: app.h:53
int log_gpu_metrics
Definition: app.h:70
int width
Definition: app.h:56
EffectBenchmark effect_bench
Definition: app.h:69
int height
Definition: app.h:57
EnvManager env_mgr
Definition: app.h:65
PostProcess postprocess
Definition: app.h:38
double delta_time
Definition: app.h:41
GPUProfilerUI timeline_ui
Definition: app.h:49
uint64_t frame_count
Definition: app.h:42
Scene scene
Definition: app.h:37
ActionNotifier notifier
Definition: app.h:68
Represents a 3D camera with orientation, movement, and physical properties.
Definition: camera.h:40
State for the automated benchmark sweep.
Definition: effect_benchmark.h:64
Encapsulates state for environment loading, transitions, and IBL.
Definition: env_manager.h:26
Manages the visual state and animations for the GPU timeline.
Definition: gpu_profiler_ui.h:12
Manages GPU timing using double-buffered queries to avoid stalls.
Definition: gpu_profiler.h:86
Main pipeline state for post-processing.
Definition: postprocess.h:353
Encapsulates all 3D scene data, geometry, and rendering state.
Definition: scene.h:138
Minimal immediate-mode User Interface (UI) library.