HDR Rendering -- WebGL Meetup

alt text

Lars and I were proud to present at the meetup hosted by the Khronos NY Chapter.

Here are the slides we promised:

Introduction to HDR Rendering

HDR in Luma

and the Demo Scene

Shoutout to Nick's post in 2013 when we already had an HDR engine for lighting! Our presentation fills in some of the newer techniques we've tried in our quest for realism.

For those interested in how the image-based lighting (IBL) we showed is relevant to our scenes: Our indirect lighting is probe-based so any images from probes will act like an "HDR skybox" used to light the scene. That indirect light is in addition to the direct lighting from our point, area, and directional lights (and emission). For instance, the sky is reflected on surfaces because the sky is in our indirect light.

We touched on falling back to all half-float textures on iPad/iPhone. A good example of an effect that requires full float support is our light meter's histogram. On iPad, the histogram was overflowing the half-float values. Our histogram height is usually dependent on the resolution of the frame. Our solution on iPad has been to throttle the number of luminance samples taken from the frame when building the histogram.