simvx.graphics.renderer.ibl_pass

Image-Based Lighting pass — compute shader pipeline for IBL map generation.

Generates three IBL textures from an environment cubemap:

  1. Irradiance cubemap (32x32) — diffuse hemisphere convolution

  2. Prefiltered specular cubemap (128x128 with mip chain) — GGX importance sampling

  3. BRDF integration LUT (512x512, RG16F) — split-sum approximation

Module Contents

Classes

IBLPass

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.