On HDR lighting

There have been many lively discussions recently about how best to use HDR images for lighting in 3dsMax and Vray. The latest round came after the release of Peter Guthrie’s excellent HDR sky images. Time for me to add my two cents on the subject.

One recurring question is how to obtain sharp shadows that match the photos used to create the HDR map. Often times, sunny-sky HDR images, for instance, only seem to yield renders with big, blurry soft shadows instead of the sharp shadows you’d expect from looking at the map. This is especially obvious when working in LWF or with particularly washed out HDR maps.

There are traditional workarounds for this. One consists in adding a VraySun or a direct light to the scene and align them with the sun in the HDR image. Another is to use the “Smart IBL” system, which does exactly the same thing but automates the process.

But there’s another, simpler way to obtain sharp shadows from nearly all HDR maps – shadows that are 100 per cent consistent with the map, authentic-looking, and do not involve adding any other light sources.  Most of the time, lowering a map’s gamma will do the trick. Yep, that’s it. What this hack does is to increase the contrast of the HDR image, thereby artificially boosting its dynamic range. It is most effective when using maps that have a reasonably high dynamic range, strong and well-defined light sources (spotlights, a sun, etc.), and sufficient resolution. It also helps if you’re using an accurate rendering methode for GI – using a very low-res irradiance map will make it more difficult to generate sharp shadows than using brute force sampling.

The image below shows this trick in action using four home-made, very high-resolution HDR maps. The renders on the left use the maps with their default gamma of 1.0. On the right, the gamma was lowered to 0.5. Look at the difference in shadow definition and general “punchiness” (click for higher resolution). The easiest way to do this is to use .hdr images in a VrayHDRI map, which features a live gamma control.

You can find the high-res maps used for this example in my Turbosquid account.

In all cases, render times were similar and none of the images were post-produced. Of course, the technique has drawbacks. Changing a map’s gamma may change the light’s intensity, it may alter a map’s colours in a way that makes it difficult to use the map as a backplate, it may create unnatural reflections… If you use very high-dynamic range, high-resolution images, you may get sharp shadows out of the box with a gamma of 1. In other situations, the gamma treatment may happen to be  precisely what the doctor had ordered to compensate for an LWF image’s washed-out appearance. In other words, it all depends on the situation. But when all you’re getting are soft shadows and you want them sharp, this one is worth a try.

  1. I cannot find your email address anywhere. Our company are looking for a partner in Germany to target a particular market which I am pretty sure would be of interest, could you email me at the address given so I can fill you in with more details.

    Many thanks,
    Steve

  2. Very interesting tip… I’m actually creating some of my own HDRi’s and i can test this trick of yours in my preview scenes.

    • BBB3VIZ
    • March 1, 2010

    Hey Ronen. I hope it can be useful. Remember you don’t have to use a 0.5 gamma. You can also test anything between 0.5 and 1 as some values may work better on some maps. Really looking forward to your tests.

  3. Thanks for the tip Bertrand, the blog also looks neat and inviting to me. I have the impression that I will learn things and enjoy my time in here.

    • BBB3VIZ
    • March 12, 2010

    Thanks a lot for dropping by.

    • Martijn
    • March 19, 2010

    I am wondering if you take on any freelance work. I am starting a company in Montreal, aren’t you in Montreal as well? If so, I wouldn’t mind taking you out for a beer to discuss how we could work together.

    Drop me a line!

    • BBB3VIZ
    • March 19, 2010

    Grand merci, Martijn. Very much appreciated. Unfortunately, I’m not available for freelance work right now. But I’d happily take you up on your offer next time I’m in the wonderful (though chilly) city of Montreal.

  4. Cool tip – I’ll have to try that. Thanks for sharing.
    b

    • liberado
    • March 25, 2010

    sorry for my english

    peter guthrie use vraylight DOME with hdri texture; vrayhdri not control UVW mapping.

    and you, what used?

    good blog

    thx

    • BBB3VIZ
    • March 26, 2010

    Hi Liberado,
    I also use a Dome light. Much better than the environment.
    I tend to use the VrayHDRI map if I can because it has both a handy rotate tool and a gamma dial, which I use a lot. I don’t mind the lack of vertical rotation as I always use complete spherical HDRs.
    Whenever I use one of Peter’s maps, I convert it to HDR first.

    • liberado
    • March 26, 2010

    thanks for your answer, very clear

    How do you create your hdr?; Open the jpg in PS and saved as hdr?; I mean the control of dynamic range. Or not do anything in PS; beyond the saturation control etc etc.

    • BBB3VIZ
    • March 26, 2010

    Well, you need an hdr file to start with. You can make a jpg (8 bits) out of an hdr (32 bits), but not the opposite. It would require data that is just not there in the much smaller jpg. Your best bet right now is to buy one of Peter Guthrie’s skies and either use it as it is (as an .exr) in 3ds Max’s bitmap loader, or convert it to .hdr in PShop first and use it in a VrayHdri map. They’re big enough to be used as backplates too.

    • Luis
    • March 30, 2010

    An a-ha moment!! thanks!

    • BBB3VIZ
    • March 30, 2010

    No problem Luis. Glad if you find it useful.

    • ariano
    • April 9, 2010

    Hey bertrand, maybe you know my boss Justus Etemeyer from eve-images (berlin). I have to say, you do pretty amazing stuffs!
    I also use Peters method. Cool to ear from your workaround for sharper shadows, i will test it right away.
    The thing is, what i am doing is seting the Light Dome to invisible and using the same VrayHDRI also in the enviroment slot. What i get is control over sky (background) and over GI (light dome).
    Tell me what you think…im still figuring things out.

    Machs gut, gruesse aus berlin.

    • BBB3VIZ
    • April 11, 2010

    Hi Ariano,
    Sorry for the long delay in replying. Indeed, I know your boss. Send him my best regards.
    I use the same methode as you do when the gamma hack spoils my HDR backplate. In such a case, it’s better to keep two different copies of the image with different gamma values. Sometimes you may have to use the non modified map in the reflection slot too.

    • BBB3Viz
    • July 22, 2010

    Hey,

    The correct way of getting shadows from a hdri is to insert the map into a vray dome light. Don’t adjust the resolution option under the light parameters, only the subdiv’s. Usually 30subdiv’s works well.
    Using this method you should be beable to light even interiors.

    I was taught this method during a training session by Chaosgroup.

    Regards

    Alex

    • BBB3VIZ
    • July 23, 2010

    Thanks Alex. Apologies if I wasn’t clear on this. This tuto assumes that you’re using the Vray Dome Light since it alone does importance sampling.

    • Reynhardt
    • October 29, 2010

    Hi There
    I was just wondering….when I use the dome light as you say it causes a lot of noise especially in the shadow areas (it doesn’t make a big difference if I up the subdivisions.) Is there any way to avoid this.
    Thanks
    R

    • BBB3VIZ
    • October 29, 2010

    This can be related to the complexity of the scene. But in most cases, lowering the noise threshold in the Vray settings will sort it out (to something like 0.05 or 0.03). You can also raise the Brute Force subdivs if using this GI Method, or raise your DMC settings. All these will of course increase render time.

  5. Another great tip – thanks again

    • Daniel Dolan
    • March 31, 2011

    Hello:

    I am an Architect in Chicago and I discovered your images of the Ando House in Chicago.

    At the risk of offending….may I ask if you ever create commissioned work?

    Many specialists in your field, I understand are more interested in non-architectural subjects which is why your work is so unique.

    I have an unbuilt residence, designed for a client friend which is pending construction.

    In any case I would be very interested to talk with you further at your convenience.

    Best regards,

    D/D

  6. Pingback: Ewerk - Ronen Bekerman - 3D Architectural Visualization Forums

  7. Hi Bertrand,
    I tried to change the gamma of Peters EXR map. But some how it does not change anything. Where did you change the gamma?
    Regards
    George

  8. Hi George,
    There is an option to change the gamme in the VrayHDRI-loader. That’s the one I use (and successfully with Peter’s maps too).

  9. Pingback: CGSkies open for business «

  10. Bertrand,

    In your post you mention that this method will artificially boost your light source. I think the problem of washed out lights from HDRI’s is a problem caused by 3dsmax. Maybe 3dsmax also gives the hdri the 2,2 correction it gives bitmaps in order to work in a LWF. The problem that occurs is that a 32 bit HDRI doesn’t need this conversion because it’s already lineair. So by lowering the HDRI’s gamma you are actually correcting this mistake. Do you think this could be the case?

    regards,

    Rob

  11. Hi Robert, thanks for the insight. I’m not sure this is the case, actually, though it appears to work that way at least using some specific map that would otherwise appear very faint in the render. However most of the time, using the Gamma HDR workflow results in the maps looking too contrasted in the environment and reflection slots, hence Marcel’s suggestion of using two separate DomeLights: one for lighting and the other for reflection, environment and refraction – but with the lighting turned off.

  12. Pingback: VIZ- CGSkies open for business | StudioLab

  13. Pingback: Освещение сцены с помощью HDRI

    • PBX
    • February 25, 2012

    Thx for the tips and advice in the comments!

  14. Pingback: BBB3viz » Ewerk

  15. Pingback: RT HDRI STAGE 1.0 |

  16. Hey Bertrand,
    It seems to work very nice with exteriors. But with interior with a lot of detail, I have to set my Brute force sub. to 250 to stop the noise. I think this is extremely high. what do you think
    Regards
    George

  17. Hi George. That’s a problem with the light dome in general, not with the gamma of the hdr. It is solved through higher subdivision or by reducing the intensity.

  18. Thanks for your answer,
    the workflow is very clear now.

  19. Your tip is really cool bertrand, thanks. I guess main problem with 32 bit hdr images is gamma curve. We use linear workflow and first we must tweak 32 bit hdr maps for linear workflow. I use hdr files with 0.454 gamma for degamma it and then change output curve for linear workflow. it works.we can get more equalized and less saturated hdr with this method. after render I tweak vray frame buffer curve for linear workflow too…

  20. hello again bertrand

    I’m a little confused about the tone generated by hdr on INTERIOR renderings
    I use peter sky and I can not control (like you do), the tone that dominates the hdri (usually blue in a day sky or magenta in the sunset sky)
    Is a big problem that I can not solve

    I tried the vraycamera WB and lowering the saturation of the GI, but I do not conform

    I have hope that you can answer this question

    thank you again

  21. liberado, if you have vray 2.3 there is a new ‘output’ option in vrayhdri map. Depends to your HDR you can set HDR gamma to 0.454 to 0.6 and after this under vrayhdri map’s output tab check ‘enable color map’. make your curve mid tones up. There is no fixed settings to all HDR maps but if you still stuck I can send a sample curve screenshot

  22. Thanks for the tip, mbeytekin, got to try that.

  23. hi bertand..
    find amazing this tip of lowering the gamma in the hdri image, incredibly simple though pretty usefull..
    I have another issue.. that it seems i cant manage to resolvehow can i get that strong reflections in the surface?? i use maya but vrya i think is pretty much the same. where do i need to map the hdri image?? only in the dome light or also in the ambient slot of the environment override??

  24. I did some tests and I had this same conclusion, but 02 other important factors are resaltar, it can become stronger when the Lienar Workflow color maping is activated.

  25. Hi Bertrand,
    Ive been trying out different render setting for an exterior scene. I use a vray dome and a vray sun. I insert the HDRI within the vray dome. Do I also use insert this hdri in the environment slot(8)? My results are washed out and lack contrast. They look more like a model. Ive tried lowering the sun intensity to,6 and the dome light intensity to 45. Is this overkill? Thanks!

    • Tim
    • May 2, 2013

    hi Bertrand,
    top tip! just to add my 2 cents on the gamma workflow and contrast of hdri’s, my understanding of gamma is that a true LWF should be like a real digital camera, take the image in linear and add gamma after, so throughout your whole max process keep everything at 1.0, everything! in fact if you change anything other than the system gamma you will run the risk of addding a double gamma. if you save an exr render just save at 1.0, if you save a jpg, override 2.2. the max system gamma has to be set to 2.2 in some instances such as using rpm and rendering animations with passes. colour mapping set to linear workflow and 2.2 should do the trick. everything in linear until the last minute and use the srgb box to preview it in the vfb. this is just my thoughts on the topic but I thought it may tie in with manipulating contrast for shadows. regards, Tim

  26. I’m on Vray 2.4 and don’t see a gamma adjustment setting in VRayHDRI. All that is there is Overall multi and Render multi. I do see something called “Inverse gamma” under colorspace, but I don’t think that’s it. Also, there’s something called “Output Amount” under output, but I’m not sure if that’s the same thing as gamma?

  27. Streetwise: “Inverse Gamma” is your friend.

Leave a Comment