Getting a usable approximation of the above inside a frame budget.
Colour is the family; a dashed line is the second member of it.
Projects distant lighting onto low-order spherical harmonics. Nine coefficients reproduce diffuse irradiance from any environment to within a percent… · 2001
Estimates occlusion by sampling the depth buffer around each pixel, making ambient occlusion fully dynamic and independent of scene complexity. · 2007
Marches the depth buffer to find the horizon angle in several directions and integrates the unoccluded wedge, which is a defensible approximation of… · 2008
Bins lights into screen tiles or view-space froxels so each pixel iterates only the lights that can reach it, making thousands of local lights afford… · 2012
Factors the specular IBL integral into a prefiltered radiance lookup times a precomputed BRDF response table. Both halves fit in textures, which is w… · 2013
Stores only a triangle id per pixel and refetches attributes during shading, trading arithmetic for a dramatic reduction in the memory traffic a fat… · 2013
Reformulates horizon-based occlusion with the correct cosine weighting and normalization so it converges to reference ambient occlusion instead of a… · 2016
Represents a GGX lobe as a linear transform of a clamped cosine, and cosines can be integrated over a polygon in closed form. Turns area- light shadi… · 2016
Stores filtered depth alongside irradiance at each probe and weights probe contributions by a visibility test, so a probe on the far side of a wall s… · 2019
A scalar factor for how much of the hemisphere above a point is blocked by nearby geometry, multiplied into ambient light. Not physically justified,…
Rasterize surface attributes into a G-buffer first, then light every visible pixel exactly once in a full-screen pass. Decouples lighting cost from s…
Shade each fragment as its triangle is rasterized, looping over lights inside the shader. Simple and MSAA-friendly, but cost is paid again for every…
The set of screen-space textures holding albedo, normal, roughness and depth between the geometry pass and the lighting pass.
Uses a captured or rendered environment map as the light source, so that ambient light carries the colour and directionality of a real location.
Samples indirect irradiance at a grid of points and interpolates between them for dynamic objects, decoupling indirect lighting cost from the number…
Bakes static indirect lighting into textures parameterized over surfaces. Still the highest-quality option for static geometry, at the cost of build…
Convolves the environment map against the BRDF lobe ahead of time, storing successively rougher versions in mip levels so a runtime lookup replaces a…
Ray-marches the depth buffer to find reflected surfaces. Convincing while the reflected geometry is on screen, and falls back to an environment map t…