|
the high dynamic range of hdris is truly the reason why we use them but like so many things, there is a 'bad' side as well. even if we can handle renderings with more than 8 bits internally, we still have to compress the high dynamik range to normal ranges to use the pictures for web, print and whatsoever. as you surely can imagine, this isn't a progress without troubles. so i will explain some effects of hdr images and how to handle them. | |
first thing we can recognize is that a lot of hdris are kinda flat. there are no bright colors nor do they look naturally. if you have a closer look on the parameters for the different hdris you will encounter that the more the dynamic range of a hdri is the more the colors will fade off. with this correlation we have the solution automatically. compressing the range brings back the colors. so if you go to use a hdri for lighting, reflection and background you have to find a compromise between range and visual quality. | |
here are some examples of a hdri of a country road at sunset. first
picture is how hdrview and hdrshop represent the hdri as 8 bit rgb
image. |
|
next one is how lightwave handle the image without any gamma nor
exposure. as we can see, hdrview and hdrshop show the image with default
gamma of 2.2 (if not changed) |
|
now i have added 'full precision gamma' with a value of 2.2 and we got
nearly the same 8 bit rgb image. |
|
i still dislike the flatness of the image so i add 'hdr exposure' to
the image plugin list. after setting the black point to 30% and reducing
the gamma to 2 i got the fourth image. this is still a little bit foggy but contains brighter colors than the first version. |
|
last version shows a image with blackpoint set to 10%, white point to 0.5 and a gamma of 1.2. with those settings we lost nearly all hdri features. so this is more a way to extract a normal picture out of a hdri with full control over exposure and contrast. | |
after a short contact to blochi, we decided that the gamma should be applied after the exposure correction. because the exposure affects the hdri linear and the gamma non linear so the exposure has to be the first manipulation of the image. so just move the 'full precision gamma' below the exposure plugin. | |
what are the advance and disadvance of this method? with compressing
the dynamic range, we lose the brightness of lights, especially of the
sun. this means on the other side, that we get rid of noise to which most
of the common render engines are tending. so if you just need some
environmental diffuse light (ambient light) and a background image, use
the last parameter set and add a simple distant light for emulating the
sun. the car is rendered brighter than it should be because the
environment is brighter due our compression and gamma tricks. if you want to use the hdri for reflection/refraction, it is not recommended to compress the dynamic range, if you explore too strong reflection/refraction you should work on your surface settings (take a look at the hdri lighting tutorial) |
|
here are some examples about how the dynamic range affects the render
quality, render time and the lighting. this is a hdri with a large window with is splitted in several small parts. so renderings with this hdri are tending to noise. first version is with radiosity, 16x48 samples, enhanced antialiasing (adaptive sampling), raytraced reflections and it took 1h30min to render it (don't remember which computer i have used for it) |
|
next sample, radiosity, 8x24 samples, enhanced antialiasing (adaptive
sampling), raytraced reflections and it took 35 min to render
it. visual quality is decreased because of less samples for the radiosity renderer. |
|
third sample, radiosity, 8x24 samples, enhanced antialiasing (adaptive
sampling), raytraced reflections and the hdr exposure plugin with
blackpoint set to 50%, it took 25 min to render it. environment is too bright (because the intensity of the background image was increased) and lags of dynamic, as you can see there is no real shadow behind the turtle, just the ambient shadow beneath. |
|
last sample, radiosity, 8x24 samples, enhanced antialiasing (adaptive
sampling), raytraced reflections and the hdr exposure plugin with
blackpoint set to 80%, it took 25 min to render it. too dark and still noisy, decreasing the dynamic darkens the rendering because the light sources lost power. |
|
thanks for reading, and as usual, comments and suggestions are welcome. just send your comments to tut@dbki.de. please be patient if i don't answer within minutes, i'm very busy by default. if you want special hints and tips, please describe your problem more detailed than just 'i want to render a whole city, how should i start?'. and if i don't answer, do not hesitate to email me again ;-) | |
related links: http://www.dbki.de/index.html tutorial index at dbki http://www.realtexture.com/ suggestions, questions, recommendations, corrections are welcome - email |