HDRI Tutorial v.2

By: Gabriele Protti
and R. Annema

High Dynamic Range Image (HDRI)

Brazil r/s offers the option of HDRI to Max. HDR images, as you may know, have wider luminance data stored than other formats.
First of all we have to understand what type of HDRI we need to import. Usually you can find probe images: this is not the type we can use with MAX, we need to transform into latitude mapping with HDR Shop.
You can find a public release here, with thanks to Paul Debevec.



1. Using HDR Shop
HDRshop menu Open the HDR Shop and load the Kitchen probe image you can find here.
Now, let's transform into latitude by choosing Image, Panorama, Panoramic Transormations.

HDRshop panoramic transformations dialog In the Format Source Image take care of selecting the right format, Light Probe in this case.
Then choose Latitude for Destination image format. You can also modify the final resolution and conversion quality.
Hit OK and you'll obtain the wanted image to save to your preferred destination and to use later.

2. Getting Started
Viewport view Open the file HDRI3.max. Click here to download this file.
The scene should be the same as shown on the left.

Bitmap Type selection list Now we'll add a background image: in the Menu bar, choose rendering, environment, environment map, bitmap and go down till Radience Image File (HDRI);
for this example we we'll use the latitude Kitchen image as said before.
We want to setup this image so press the Setup button before you choose Ok.



3. Getting Started
HDRI load setup dialog Now we can adjust the importing options: take care of the Linear white point because we need it later.
If you increase the value you'll see all the magenta areas decreasing; if you decrease linear white point you'll see all magenta areas increasing.

Decreasing the white point Magenta areas identify all the pixels that will be taken as white in the meanwhile cyan areas identify all the pixels which value will be considered as black.
All the pixels which value is greater than white point value will be clamped as white, reducing the available illumination range.
In the image on the left you can see the clamped preview.

Increasing the white point You can choose a value that in the preview area looks quite fine to your purpose.
In this case we leave it at Log. 8 and Linear 256. Doing so we will have all the range available and more illumination informations.
A little tip is to choose the value right before Magenta coming out. Press OK



4. Adjusting the HDRi map
Mapping coordinates Remember to set the Coordinates to Environment - Spherical Environment mapping to create the correct background (3ds max defaults environment map backgrounds to 'Screen', which is wrong.)
Drag the map from the Environment dialog's 'background map' slot to a Material Editor sample slot first

RGB Level control And now you can play with the RGB Level, found in the HDRi map's Output rollout.
If you leave it at 1, The image will be black.
If you remember the previous linear value, it was at 256 and 8 for logaritmic. By placing the 256 value you'll obtain the same light intensity of the previous preview.

different RGB levels You have only to play with RGB Level decreasing it at something like or of the previous value.
On the left you can see various exposure settings: RGB Level at 1,10,20,51.2,100,256.
In our scene we'll use 256 for our background.



5. Correcting filtering and the first true HDRi render
Scene render - showing wrong filtering If you render the Camera01 viewport now, you probably would end up with an image that looks like the one on the left.
The blackness and 'posterized' render of the reflection on the top of the ring is due to 3ds max's HDRi-unfriendly filtering.

In the HDRi map, change the "Blur:" value from 1.0 (default) to 0.1
See dialog in Step 4.
This should correct one of the most common problem that went out in the previous HDRI Tutorial.

Scene render - showing corrected filtering If you render again now, the result should be correct.
However, so far the render doesn't show the power yet of High Dynamic Range data.

In the Material Editor, go to the Wood material, and enable the reflection map.
The reflection map is a simple Falloff map set to 'Fresnel' mode.
The fresnel reflection map will create dimmer reflections of the chrome ring onto the table.

Scene render - showing off HDRi reflections Rendering at this point should get you the image to the left.

This image shows the power of High Dynamic Range data.
Notice how in the chrome ring, the windows are completely blown out, whereas the kitchen is visible normally.
Whereas in the reflection of the chrome ring in the wood top, you can easily see the trees outside the windows, whilst the kitchen is completely dark, except for the kitchen's light.



6. Setting up HDRi lighting (image-based lighting/mapped skylight) - Brazil's specific instructions.
Skylight map slot Open the Luma Server rollout in Brazil r/s and under Direct Illumination, enable the Skylight option.
Next, scroll down to the Skylight group of parameters, and click&drag the map from the Material Editor to the Skylight map slot depicted to the left.
When asked, choose Instance to duplicate the map.

Skylighting - too bright If you render now, you'll end up with an image that appears too bright, as shown to the left.
In addition, the render is fairly slow in rendering, and looks noisy.

That is because the strength of the HDRi map is far too high for lighting purposes.
This of course makes the image blown out, but it also means that there are areas of very high contrast in the HDRI map which 'confuse' the Skylighting - making it waste time.
We'll get to optimizing the speed later - let's first bring lighting levels down to more reasonable values.
Simply lower the Skylight multiplier value (to the left of the Skylight map slot) to something like 0.5

Skylighting - lowered lighting level The lighting level is now more like how one would expect it to be, and You can still see the 'shadows' generated by the kitchen's light and window coming from the chrome ring.
But the render is still a bit slow and noisy due to the contrast of the HDRi map used for the skylight.



7. Optimizing HDRi lighting
HDRshop - resize menu

HDRshop - arbitrary resize dialog

resized hdri
Because diffuse lighting is a far less precise thing than reflections, and because the contrast in some HDRI maps can confuse the lighting, wasting time, we can 'blur' the HDR image a little in order to get a faster and cleaner render.

Switch back to HDRshop, and choose : Image > Size > Arbitrary resize.
In the dialog that pops up, enter the dimensions : Width:64, Height:32 - and click OK.
This resizes the HDR image so that it can be processed faster.

HDRshop - Specular Convolution

HDRshop - Phong Exponent dialog

HDRshop - Specular Convolution result
Now to lower the contrast, we're going to blur the HDRI map.
Not just any simple blur, but rather HDRshop's Specular Convolution.

Won't I lose detail when blurring ?
Yes - but those details are generally lost in image based lighting anyway - it only slows the render down.

When prompted for the "Phong Exponent", enter a value of 16.
1.0 is perfectly diffuse, but in this case, we'd like to keep some distinct features from the HDRi (such as the kitchen light.)

To the left are the dialogs discussed here, and the tiny result of the operation.
Save this image as a new .HDR image, say "kitchen_diffuse.hdr".

Skylighting - blurred skylight map Back in 3ds max, duplicate your existing HDRi map by click&dragging the map to a new Material Editor slot.
Rename this material to "Skylight".
Now click on the bitmap path button, and browse for the blurred HDRi.

Just like in Step 6, click&drag this new map to the Skylight map button.

If you render now, you'll notice that the image renders much faster, and cleaner as well.
The shadows from the chrome ring are less defined - this is a trade-off you make for speed / smoothness.

Skylighting - blurred skylight map - no filtering There's one more optimization you can make.
The previous image rendered in a timeframe that we'll set at 100%.

Back in the "Skylight" HDRi map in the Material Editor, change the Filtering type to None.
Since the image is really just a blurry thing, we don't need correct 'filtering' of the map - it would add nothing but processing time (each time Brazil r/s samples the skylight, 3ds max filters the map.)
Now render again.
Doing this with 0.4.53 public version you could have a strange effect shown on the left. The quick solution to this psycho look is to turn a little bit the plane and the ring as shown below.
The new result rendered in 2/3rds of the time.


Skylighting - HDRi-rendered scenes Just for kicks, add a teapot to the scene, and give it a light grey Standard material set to two-sided (or we'll see right through the teapot.)
This will show off the lighting better than just the table top will (since the chrome ball receives no illumination whatsoever.)

You'll notice that the lighting is quite blue - that's because of this particular HDRi's strong lighting from outside the window - caused by the sky, which is blue.
This is the antialiased render. Note at last the HDRi reflection of the window on the ring: it's all blown up; then note in the middle the windows reflection laying on the table reflected on the ring: you start seeing the trees out of the window, more visible in the third reflection that is on the table.







This end-result is also available in the zip file, named "hdri3_result.max".




All trademarks and copyrights on this page are owned by their respective owners.
Everything else: 2002 SplutterFish, LLC. All Rights Reserved. Privacy