simvx.graphics.renderer.ibl_pass¶
Image-Based Lighting pass — compute shader pipeline for IBL map generation.
Generates three IBL textures from an environment cubemap:
Irradiance cubemap (32x32) — diffuse hemisphere convolution
Prefiltered specular cubemap (128x128 with mip chain) — GGX importance sampling
BRDF integration LUT (512x512, RG16F) — split-sum approximation
Module Contents¶
Classes¶
Compute-shader IBL processing: irradiance, prefiltered specular, and BRDF LUT. |
Data¶
API¶
- simvx.graphics.renderer.ibl_pass.__all__¶
[‘IBLPass’]
- simvx.graphics.renderer.ibl_pass.log¶
‘getLogger(…)’
- simvx.graphics.renderer.ibl_pass.IRRADIANCE_SIZE¶
32
- simvx.graphics.renderer.ibl_pass.PREFILTER_SIZE¶
128
- simvx.graphics.renderer.ibl_pass.PREFILTER_MIP_LEVELS¶
5
- simvx.graphics.renderer.ibl_pass.BRDF_LUT_SIZE¶
512
- class simvx.graphics.renderer.ibl_pass.IBLPass(engine: Any)¶
Compute-shader IBL processing: irradiance, prefiltered specular, and BRDF LUT.
Initialization
- setup() None¶
Create compute pipelines for all three IBL processing stages.
- get_irradiance_view() Any¶
Return the irradiance cubemap image view.
- get_prefiltered_view() Any¶
Return the prefiltered specular cubemap image view.
- get_brdf_lut_view() Any¶
Return the BRDF LUT image view.
- get_sampler() Any¶
Return the IBL sampler.
- process_cubemap(cubemap_view: Any, cubemap_sampler: Any) None¶
Run all IBL processing on the given environment cubemap.
This is a one-shot operation executed via one-time command buffer. Call after loading the skybox cubemap.
- cleanup() None¶
Destroy all GPU resources owned by the IBL pass.