IBL Filter

Generate diffuse irradiance maps and specular pre-filtered environment maps from HDR images for PBR image-based lighting. Configurable roughness levels for real-time and offline renderers.

Drop your HDRI file here

or browse — HDR, EXR, TIFF up to 256MB

GGX Importance Sampling
GGX Importance Sampling
Lambertian Diffuse
Both (Diffuse + Specular)
OpenEXR (.exr)
OpenEXR (.exr)
Radiance HDR (.hdr)
PNG 16-bit
64
32
64
128
256
512
256
512
1024
2048
4096

Related Tools

HDRI Converter
Convert between HDR, EXR, and other HDR image formats.
Light Probe
Analyze luminance distribution and light direction from HDRI captures.
Lighting Setup
Create studio lighting rigs with HDR environment maps.

Frequently Asked Questions

Diffuse IBL uses a Lambertian convolution of the HDRI to provide ambient diffuse lighting. It's a single low-resolution map (typically 32x16 or 64x32) that represents omnidirectional indirect light. Specular IBL pre-filters the HDRI at multiple roughness levels using GGX importance sampling, creating a mipmap chain where each mip level corresponds to a roughness value. Together they enable full PBR environment lighting.
The mipmap chain stores pre-convolved versions of the environment map at increasing roughness levels. When rendering, the shader samples the appropriate mip level based on the material's roughness value. This avoids expensive real-time convolution and provides accurate microfacet BRDF reflections. Without a pre-filtered chain, real-time IBL specular would be impossibly slow.
256: Quick preview, some noise. 512: Good balance for most use cases (recommended). 1024: Production quality with minimal noise. 2048-4096: Near-perfect convergence for film/VFX. Higher sample counts produce smoother results but take significantly longer. For real-time game assets, 512 samples is usually sufficient.