56 const char* filename);
75 const char* filename);
92 int width,
int height);
104 uint64_t frame_count);
119#define APP_ENV_MGR_DESCRIPTOR \
120 {"env_mgr", env_mgr_subsys_init, env_mgr_subsys_cleanup}
Global application constants, configuration macros, and default values.
Subsystem descriptor pattern for structured init/cleanup.
Threaded asynchronous file loader engine (Format-agnostic).
EnvMapLoadingState
Definition env_manager.h:23
@ EML_START_IBL
Definition env_manager.h:27
@ EML_STOP
Definition env_manager.h:24
@ EML_MIPMAP
Definition env_manager.h:26
@ EML_UPLOAD_HDR_FROM_PBO
Definition env_manager.h:25
void env_manager_update_transition(EnvManager *mgr, Scene *scene, PostProcess *postproc, double delta_time, uint64_t frame_count)
Updates the environment transition animation.
Definition env_manager.c:256
void env_manager_process_loading_step(EnvManager *mgr, GLuint *recycled_hdr_tex, IBLCoordinator *ibl)
Processes the multi-frame HDR environment loading state machine.
Definition env_manager.c:58
int env_manager_load(EnvManager *mgr, AsyncLoader *loader, const char *filename)
Starts an asynchronous load of an environment map.
Definition env_manager.c:23
int env_mgr_subsys_init(struct App *app)
Definition env_manager.c:333
void env_manager_render_overlay(const EnvManager *mgr, const Scene *scene)
Renders the transition overlay (fade/crossfade).
Definition env_manager.c:299
void env_mgr_subsys_cleanup(struct App *app)
Definition env_manager.c:349
void env_manager_update_ibl(EnvManager *mgr, Scene *scene, PostProcess *postproc, uint64_t frame_count, int width, int height)
Updates the IBL state machine and handles transition events.
Definition env_manager.c:238
int env_manager_trigger_transition(EnvManager *mgr, AsyncLoader *loader, const char *filename)
Triggers a new environment transition.
Definition env_manager.c:135
Common OpenGL definitions, RAII helpers, and utilities.
TransitionState
States for the environment map transition.
Definition app_settings.h:162
Coordinator for progressive Image-Based Lighting (IBL) generation.
The central state container for the entire application.
Definition app.h:24
Definition async_loader.c:14
Données de la requête asynchrone transférées entre les threads.
Definition async_loader.h:33
Encapsulates state for environment loading, transitions, and IBL.
Definition env_manager.h:34
GLuint pending_env_tex
Definition env_manager.h:45
int env_transition_mode
Definition env_manager.h:44
bool env_map_loading
Definition env_manager.h:35
TransitionState transition_state
Definition env_manager.h:40
float transition_alpha
Definition env_manager.h:41
bool is_first_load
Definition env_manager.h:43
AsyncRequest current_env_req
Definition env_manager.h:39
EnvMapLoadingState env_map_loading_step
Definition env_manager.h:37
float transition_duration
Definition env_manager.h:42
Manages the progressive IBL generation process.
Definition ibl_coordinator.h:36
Main pipeline state for post-processing.
Definition postprocess_internal.h:46
Encapsulates all 3D scene data, geometry, and rendering state.
Definition scene.h:27