$darkmode
Suckless OGL 1.0.0
A lean, high-performance C11 PBR Renderer
App Struct Reference

The central state container for the entire application. More...

#include <app.h>

Collaboration diagram for App:
[legend]

Data Fields

Scene scene
 
PostProcess postprocess
 
GLFWwindowwindow
 
double last_frame_time
 
double delta_time
 
uint64_t frame_count
 
float * lum_histogram_buffer
 
FpsCounter fps_counter
 
AdaptiveSampler fps_sampler
 
GPUProfiler gpu_profiler
 
GPUProfilerUI timeline_ui
 
AppUIOverlay overlay
 
AppBindingRegistry binding_registry
 
Camera camera
 
int width
 
int height
 
int is_fullscreen
 
int saved_x
 
int saved_y
 
int saved_width
 
int saved_height
 
int resize_pending
 
int pending_width
 
int pending_height
 
int camera_enabled
 
EnvManager env_mgr
 
int perf_mode_active
 
PerfModeContext perf_context
 
ActionNotifier notifier
 
EffectBenchmark effect_bench
 
int log_gpu_metrics
 
GLuint lum_ssbo [2]
 
TracyManager tracy_mgr
 
float u_metallic
 
float u_roughness
 
float u_ao
 
float u_exposure
 
AsyncLoaderasync_loader
 
AsyncCoordinator async_coord
 

Detailed Description

The central state container for the entire application.

Field Documentation

◆ async_coord

AsyncCoordinator App::async_coord

Manages PBO allocation & async synchronization.

◆ async_loader

AsyncLoader* App::async_loader

Background asset loader context.

◆ binding_registry

AppBindingRegistry App::binding_registry

◆ camera

Camera App::camera

View/Proj state.

◆ camera_enabled

int App::camera_enabled

Pause camera movement.

◆ delta_time

double App::delta_time

Time elapsed since last frame.

◆ effect_bench

EffectBenchmark App::effect_bench

A/B effect cost measurement.

◆ env_mgr

EnvManager App::env_mgr

Environment/IBL state.

◆ fps_counter

FpsCounter App::fps_counter

Rolling average FPS manager.

◆ fps_sampler

AdaptiveSampler App::fps_sampler

Jitter compensation for input.

◆ frame_count

uint64_t App::frame_count

Monotonic frame counter.

◆ gpu_profiler

GPUProfiler App::gpu_profiler

◆ height

int App::height

Current window/viewport height.

◆ is_fullscreen

int App::is_fullscreen

Fullscreen toggle state.

◆ last_frame_time

double App::last_frame_time

Absolute time of last frame start.

◆ log_gpu_metrics

int App::log_gpu_metrics

Toggle console logging of GPU stats.

◆ lum_histogram_buffer

float* App::lum_histogram_buffer

Pre-allocated buffer for histogram.

◆ lum_ssbo

GLuint App::lum_ssbo[2]

Double-buffered storage for luminance.

◆ notifier

ActionNotifier App::notifier

Temporary user notifications.

◆ overlay

AppUIOverlay App::overlay

Overlay and text rendering state.

◆ pending_height

int App::pending_height

Deferred resize target height.

◆ pending_width

int App::pending_width

Deferred resize target width.

◆ perf_context

PerfModeContext App::perf_context

Performance mode state context.

◆ perf_mode_active

int App::perf_mode_active

Performance/GameMode optimization active.

◆ postprocess

PostProcess App::postprocess

Main post-processing pipeline.

◆ resize_pending

int App::resize_pending

Deferred resize flag.

◆ saved_height

int App::saved_height

Cached size for window restore.

◆ saved_width

int App::saved_width

◆ saved_x

int App::saved_x

◆ saved_y

int App::saved_y

Cached pos for window restore.

◆ scene

Scene App::scene

The 3D scene (Includes GI Probe Grid).

◆ timeline_ui

GPUProfilerUI App::timeline_ui

◆ tracy_mgr

TracyManager App::tracy_mgr

Tracy instrumentation manager.

◆ u_ao

float App::u_ao

Override AO for all objects.

◆ u_exposure

float App::u_exposure

Manual exposure compensation.

◆ u_metallic

float App::u_metallic

Override metallic for all objects.

◆ u_roughness

float App::u_roughness

Override roughness for all objects.

◆ width

int App::width

Current window/viewport width.

◆ window

GLFWwindow* App::window

The GLFW window context.


The documentation for this struct was generated from the following file: