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

Manages the progressive IBL generation process. More...

#include <ibl_coordinator.h>

Collaboration diagram for IBLCoordinator:
[legend]

Data Fields

IBLState state
 
GLsync lum_sync
 
int current_mip
 
int total_mips
 
int width
 
int height
 
float threshold
 
int current_slice
 
int total_slices
 
GLuint pending_hdr_tex
 
GLuint pending_spec_tex
 
GLuint pending_irr_tex
 
GLuint shader_spmap
 
GLuint shader_irmap
 
GLuint shader_lum_pass1
 
GLuint shader_lum_pass2
 
GLuint lum_ssbo [2]
 
PBRSpecUniforms spec_uniforms
 
PBRIrrUniforms irr_uniforms
 
PBRLumUniforms lum_uniforms
 
PerfTimer global_timer
 
PerfTimer stage_timer
 
double stage_gpu_min
 
double stage_gpu_max
 
double stage_gpu_sum
 
int stage_slice_count
 

Detailed Description

Manages the progressive IBL generation process.

Field Documentation

◆ current_mip

int IBLCoordinator::current_mip

Mip level being computed.

◆ current_slice

int IBLCoordinator::current_slice

Cubemap face/slice being processed.

◆ global_timer

PerfTimer IBLCoordinator::global_timer

Benchmarking for the entire process.

◆ height

int IBLCoordinator::height

Source texture height.

◆ irr_uniforms

PBRIrrUniforms IBLCoordinator::irr_uniforms

Cached uniforms for irradiance shader.

◆ lum_ssbo

GLuint IBLCoordinator::lum_ssbo[2]

SSBOs for luminance reduction.

◆ lum_sync

GLsync IBLCoordinator::lum_sync

Sync object for luminance readback.

◆ lum_uniforms

PBRLumUniforms IBLCoordinator::lum_uniforms

Cached uniforms for luminance shader.

◆ pending_hdr_tex

GLuint IBLCoordinator::pending_hdr_tex

Source HDR texture handle.

◆ pending_irr_tex

GLuint IBLCoordinator::pending_irr_tex

Target irradiance map handle.

◆ pending_spec_tex

GLuint IBLCoordinator::pending_spec_tex

Target specular map handle.

◆ shader_irmap

GLuint IBLCoordinator::shader_irmap

Irradiance convolution compute shader.

◆ shader_lum_pass1

GLuint IBLCoordinator::shader_lum_pass1

Luminance reduction pass 1.

◆ shader_lum_pass2

GLuint IBLCoordinator::shader_lum_pass2

Luminance reduction pass 2.

◆ shader_spmap

GLuint IBLCoordinator::shader_spmap

Specular pre-filter compute shader.

◆ spec_uniforms

PBRSpecUniforms IBLCoordinator::spec_uniforms

Cached uniforms for specular shader.

◆ stage_gpu_max

double IBLCoordinator::stage_gpu_max

Maximum GPU time across slices (ms).

◆ stage_gpu_min

double IBLCoordinator::stage_gpu_min

Minimum GPU time across slices (ms).

◆ stage_gpu_sum

double IBLCoordinator::stage_gpu_sum

Accumulated GPU time across slices (ms).

◆ stage_slice_count

int IBLCoordinator::stage_slice_count

Number of slices completed in stage.

◆ stage_timer

PerfTimer IBLCoordinator::stage_timer

Wall-clock timer for the current stage.

◆ state

IBLState IBLCoordinator::state

Current processing phase.

◆ threshold

float IBLCoordinator::threshold

Radiance threshold for sampling.

◆ total_mips

int IBLCoordinator::total_mips

Target mip count.

◆ total_slices

int IBLCoordinator::total_slices

Face count (typically 6).

◆ width

int IBLCoordinator::width

Source texture width.


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