Effects of HDR vs MDR on Image Based Lighting
When attempting photo-real CG renderings using high dynamic range images (HDRI) with image-based lighting (IBL), you need an accurately photographed environment that contains the full dynamic range available. One of the main benefits to using IBL is the 'drag and drop' nature of it - you load your environment HDRI and render, almost instantly giving you highly realistic lighting.
Before carrying on about this topic, (full disclosure) I'm a photographer of HDRIs at Hyperfocal Design - however this applies to any and all HDRIs.
Is it really HDRI?
Unfortunately, some HDRIs are often barely higher in terms of range than an LDR (Low Dynamic Range Image/8 bit depth/Jpgs etc). Even if the dynamic range is good, but not great (you could call them "Medium Dynamic Range Images" or MDRI). You can end up with bad colour casting, as your renderer will grab some dull, white light from the tiny sun, plus loads of bright blue sky, and apply that to your scene's lighting in an unbalanced and unrealistic manner.
So while any image can be saved in .exr or .hdri format in 32bit, there will not always be any more additional information than an 8 or 16bit image - it has to be photographed correctly in the first place. Some HDRIs are little more than a 3 bracket spherical environment, so the sun is hardly much brighter than the surroundings. This isn't always bad, as you can substitute the missing sun with an artificial directional light, however you'll miss out on the complexities in reflections, lighting and shadows that you'd otherwise get with a full HDRI. Also notably, a full HDRI can be clamped down if you'd like more control from an artificial light source, but the reverse is impossible.
What's the visual difference then?
What exactly is the difference between a poor HDRI (or so called MDRI) and a good HDRI? Here's some renders!
The first HDRI I've used was photographed with what I'd assume is only a few brackets, and therefore a very clamped sun - a good example of an MDRI. I've blurred the image background to hide any clue to the creator. Underneath it is another HDRI using an accurately captured sun - one of the most accurate ever in fact, by Paul Debevec. http://gl.ict.usc.edu/Data/skyprobes/
Image based lighting render using an "MDR" image environment:
"Medium dynamic range or MDR", rendered with Blender Octane Edition
Image based lighting render using an HDRI by Paul Debevec:
Perfectly captured HDRI sky, rendered with Blender Octane Edition
The colour cast I talked about is incredibly obvious in the MDR version, as the environment in the lower dynamic range HDRI creates an awful blue cast - this is essentially unusable without an artificial sun to fill in the range and bring the lighting colour back to normal. Most likely you will need to tone down the HDR strength to reduce colour casting then relight.
When the sun is clamped as it is in a MDRI, and not photographed correctly, the sun is a similar strength to the surrounding environment, meaning you get little directional lighting. It also affects bounce light, which can reflect off of diffuse or reflective surfaces (not easily visible above because the sun is fairly overhead, without any highly reflective surfaces). Here's a render using my own Hyperfocal sunset HDRI:
Strong HDR sunlight creates bounce light (caustics) on the ground plane and nearby spheres. Rendered with Blender Octane Edition.
Highlights and reflections
The other fairly obvious downside is the loss of the highlight on the diffuse reflective black sphere on the MDR render. These highlights are lost in any non-mirrored reflective materials, and will also be lost when viewed through tinted glass, water, smoke or fog. If using an animation, these highlights will also blur out to nothing if using motion blur when compared to a real HDRI. Motion blur has been boosted greatly for illustrative purposes:
MDR, blurred. The sun fades out noticeably.
A high dynamic range sky, motion blurred to the same level as the above MDR. The sun remains bright.
The last thing lacking from a low range HDRI is the shadows. Because there is so little range, there is no difference between the intensity of light hitting objects and the intensity of shadows or fill light - so the sky and environment merely lights everything the same intensity from all angles, causing diffuse shadows that you’d normally see on an overcast day.
A sliding scale of dynamic range
The highest dynamic range environments are always shot at mid-day with a visible sun, which has not been obscured by any cloud or haze. On the opposite end of the spectrum, a rainy day at dusk is super low dynamic range, easily photographed with a single low dynamic range capture. Of course, the harsh midday sun is not the most popular time of day for photographers or CG artists as it is the highest contrast, and features razor sharp, dark shadows.
The rule of thumb you want to use when looking at HDRIs is that it needs to have a dynamic range or number of stops that matches the conditions. A mid-day sun should be shot with enough brackets + a neutral density filter, so that the resulting HDR actually features a bright sun, sharp shadows and only subtle blue sky lighting. A sunset will require less brackets, and features less range, but is still entirely within the realm of HDRI. An overcast sunset may barely require HDRI at all, other than to capture some extra detail in the clouds near the sun - here we start to venture into the realm of MDRs.
Things to look for in HDRIs in terms of specifications are either "dynamic range", "stops" or “EV” of around 16-18 for mid-day skies, up to 15 stops prior to sunset, and more like 1-3 for overcast, night and dusk situations. Depending on cloud cover, a concealed sun can bring the dynamic range down a great deal. If you’re looking at full environments with landscapes and shadow, you can add more stops to the above guidelines.
Fixes for MDRs
If you happen to have some HDRIs that are more on the "M" side, you can still account for this and add you own artificial light source, you'll just have to light it as you would a normal scene, using the HDRI for some ambient lighting and colour. This is even applicable if you are using a good HDRI sunset that you'd like to have more punch.
Alternatively, there are two tricks you can use to make any MDR or even LDR (with differing levels of success!) into an HDRI.
1. Copy paste a correctly captured sun into your M or LDR image. Go into Photoshop, select the good HDRI sun with a bit of a feather, copy, load your sky that needs some help, and paste it in. You can adjust the strength and colour of the sun on its own layer to tweak the end result.
2. Make an elliptical selection where the sun is, ensure your image is in 32bit mode, and then boost the exposure (Image>Exposure in Photoshop). Different sizes and strengths of sun and feathering can control the shadow sharpness. As above, watch your colours here as you can end up with a strong coloured light if you aren't careful.
I hope this helped you understand with more clarity what the benefits are to your IBL renders when using real, accurately captured HDRIs, also what to look out for, and how to improve a HDRI that has less dynamic range than you may like.
Jay Weston is the principal photographer at Hyperfocal Design, who specialise in HDRI sky environments. His latest project is an ambitious time-lapse HDRI sky dome collection.