Tutorials

Quick View Other Tutorials   

Image Based Lighting

For use with Poser 6 or 7

One of the exciting features in Poser 6 is its ability to use image-based lighting, in which the lighting values for the scene are computed based on the brightness values of an image which is "wrapped" around the scene. This allows a realistic lighting model to be applied quickly and easily without having to place and fine-tune multiple lights in a scene. Poser 7 expands on this capability with support for HDRI, high dynamic range images, which give even more detailed, realistic shadowing.Poser's image-based lighting computes the lighting values for the scene based on the brightness values of an image which is "wrapped" around the scene. This allows a realistic lighting model to be applied quickly and easily without having to place and fine-tune multiple lights in a scene.

For example, this simple scene was lit and rendered in Poser 7, using the three default Infinite lights, positioned and adjusted for best effect-

It's OK, but not terribly realistic- the lighting seems rather flat and makes the image look artificial. An image-based light using Poser's Ambient Occlusion feature can provide a much more natural look-

The process for using image-based lighting in a Poser scene is fairly simple. Select a light, either from the Actors menu at the top of the preview window or by clicking on one of the light controller "pins" (see below.)

Now, get the properties for that light by selecting Properties from the Object menu. Click the Diffuse IBL radio button and then the Advanced Material Properties button to pick an image to use for your lighting. You'll be taken to the Material Room with the light selected and its shader information available. Once you're in the Material Room, you should attach an image map node to the light's shader. Click and drag from the little plug icon in the light's shader to bring up a menu; select New node > 2D textures > image_map as shown.

Now click in the Image Source section of the new node and open one of the supplied light probe files- for this tutorial we'll use the sunRight.jpg file, found in Poser 6/Runtime/textures/Poser 6 Textures/LightProbes. This is a regular JPEG file shot with a digital camera using a mirrored ball as the light probe. If you want to create your own light-probe images, you will need a mirrored ball to act as the light probe itself; these are available for around $70 from garden supply stores- a good mirrored gazing ball will do nicely, but we have seen people use reflective Christmas ornaments in a pinch. The larger your ball and the higher-resolution your image (up to 512 pixels on a side for ordinary JPEG IBL images), the better quality the lighting will be. With the sunRight image selected, the shader should look something like this-

Now, we can build a scene to make use of this lighting. I've used a high-res ball prop, a cube and a cone on its side- not terribly interesting but together they show how the light affects different surfaces. The components of the scene are clustered rather closely together to show off the shadowing abilities of image-based lighting. A render using basic settings gives this result-

This is OK, but we should have shadows here. First, we should turn the render settings up to where ray-tracing is used; this will increase render times but will definitely improve quality, as shown here-

Now, that's better, but there is still room for improvement. The shadows in particular are not terribly realistic. The trick here is to turn on Ambient Occlusion- a feature of Poser's IBL that lowers the ambient light when objects are close together, as they are in this image. Turning shadows off and ambient occlusion on in the light's Properties allows us to render once again, with this result-

Note that this render was done with the render settings at about half of maximum quality; this setting (shown below) should be quite sufficient for most high-quality rendered images. Certain specific situations will require a higher quality setting, and often in cases like these using custom render settings will provide the best balance between quality and performance. As noted, for ambient occlusion to appear, ray-tracing must be used; for a discussion of Firefly render settings and parameters, see this tutorial.

Now let's look back at our living room scene. As shown in the beginning of the tutorial, a render with image-based lighting and Ambient Occlusion active looks like this-

In Poser 7, we can use one of the supplied HDRI light-probe images (in this case, the HDRVFX_albany_night_v_00_2cca.hdr file found in the Poser 7/Runtime/textures/HDRVFX folder) to provide even more realism-

The light probe used for the 'regular' IBL render above was created from the same file, flattened out and saved as a JPEG file- note the differences in the renders. HDRI light-probes store considerably more information than the ordinary JPEG images used in Poser 6's IBL. To get technical, image data used for computer displays is typically saved in three channels, red, green and blue. A fourth channel is used for transparency- the 'alpha channel'.

Each of these channels has eight bits of data per pixel, allowing 256 levels of each of red, green, blue and transparency per pixel- thus, 32 bits per pixel and millions of colors. However, 256 levels of each color is still far fewer than the human eye can distinguish- and HDRIs store 32 bits of data for each color channel, to give far more detail especially in very bright and very dark areas, which typically lose a lot of detail in a regular image.

Thus, HDRI light-probes allow more realistic lighting in situations where there's a wide range of lighting values from light to dark. HDRI files can be created using image editing programs like Photoshop to combine multiple images of the same scene; some scanners and digital cameras can also capture 16 color bits per channel directly and can save files which can be used to make HDRI files.

One final note- when setting up an image-based light using a HDRI file, it's wisest to reduce the contrast on the Image_Map node, as shown-

- to avoid 'blowing out' the highlights and losing shadow detail in the darks. A value between 0.5 and 1.0 should give the best results.

If you're curious how the JPEG images used for image-based lighting were created, see this.