Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

 

WIP - PLESE DO NOT EDIT: UNDER WRITING!!!Image Added
 

Image-Based Lighting Lighting (IBL) is a CG technique/workflow to light a 3D scene via the sole use of and High Dynamic Range Imagery (HDRI) usually under a form of a file pre-processed texture or a procedural generated texture (e.g. a sky) which encompass the whole scene.

Info

Prior to the IBL workflow per se, two other aspects are a pre-requisite to produce proper imagery:

  1.  establishing a proper linear workflow
  2.  using phisically/visually plausible materials

rendering technique used in many workflows which involves using an omni-directional representation of light information encoded as an image. Typically, the image is captured and processed as a high dynamic range image (HDRI) for greater realism. This image is then projected onto a dome or sphere analogously to environment mapping. Path tracing is then used to resolve all the visibility and light paths that illuminate the objects in the 3D scene from the HDRI. Accounting for both the materials' scattering response (BSDF) and the lighting information encoded into the image, multiple importance sampling (MIS) is used to resolve both indirect diffuse and indirect specular effects.

IBL is the de-facto standard lighting technique in global illumination and physically-based renderers. It provides fast, easy to setup, highly detailed lighting, shadowing, reflections and refractions. It is good for both exteriors and interiors lighting (often in combination with area lights and portals). IBL can be also used as a complement to the more standard techniques that try to model illumination using classic CG lights, blockers and bouncers.

Info

For a proper IBL workflow, three aspects are key to achieve eye-pleasing imagery:

  1. Establishing an appropriate, color managed, linear workflow.
  2. Understanding the value range in the HDRI used as the source for IBL.
  3. Using physically/visually plausible, energy-conserving, materials.

Unlike other renderers (that generally fail at sampling environments efficiently), 3Delight provides a proprietary, state of the art, environment sampling Unlike other renderers which do not exploit MIS or exploit MIS in non optimal ways. 3delight provides a state of the art algorithm which does not require users to rely on caveats like:

 

  • downsize the HDRI
  • blur the HDRI
  • use using multiple versions of the HDRI input for different ray types;
  • downsizing the HDRI;
  • blurring the HDRI;
  • manually control controlling the multiple importanc esampling importance sampling of the the HDRI, e.g. by setting a "sampling resolution" number.

In 3Delight we encourage you to, instead, you should follow these two basic rules:

...

  1. Use a large pixel resolution for your HDRI: ideally, twice the size your render output resolution

...

  1. (e.g. if you are rendering a full HD frame

...

  1. @ 1920x1080, then your ideal HDRI resolution is 3840x2160).

...

  1. No need to pre-blur your HDRI:

...

  1. 3Delight can efficiently use the same image for both diffuse and specular lighting. Pre-blurring environment maps can get rid of important lighting cues in the

...

  1. scene.

Lighting:

How does IBL contributes to the final image?

...

  • illumination

...

  • shadowing

...

  • reflections/

...

  • refractions

- background

- athmospherics

Imagery:

...

  • background
  • atmospherics (TBD)

How HDRI alterations contributes to illumination changes?

  • Painting areas
  • Changing intensities
  • Color correcting
  • Blurring/Sharpening

What image should I use as input for IBL?

  • An image captured on set by taking multiple photographic exposures and

...

  • post-processed them into a single image.

...

  • A procedural sky texture (

...

  • the Hosek & Wiklie model, used in the 3Delight Sky, provides superior quality than the Preetham model).

...

  • A manually crafted image,

...

  • wether hand painted in an application that supports floating point data (e.g. Nuke) or created with ad-hoc authoring tools (such as "

...

  • HDR Light Studio"

...

Mapping:

  • ).
  • A pre-rendered HDR image in lat-long format: you can use the "spherical camera projection" to render a HDR rendering of your 3D set and then re-use it as environment in situation where the full 3D set is not required.

What mapping should I use?

...

  • latitude/longitude

...

  • spherical image

 

Step-by-step guide

Setting up IBL is very simple in 3Delight:

  1. create the IBL node and map a hdri image or a procedural sky
  2. enable indirect illumination

for image-based lighting

First you should turn on "color management" in the common section of the Maya Render Globals:

Image Added

Then, setting up IBL in 3Delight can accomplished in three simple steps:

  1. Create an Environment node and map a HDRI image. You can choose to use:
    1.  via a Maya File node. In such case, make sure to carefully understand input file textures Color Management first (most likely you will need to set the color profile for your Maya File node holding the HDRI image as "linear"):
      Image Added Image Added
    2. or, if you want to use a procedural physical sky model, use the 3Delight Sky node (which is always linear).
       
    3. or any other 2D texture/procedural node such as ramp etc.

      Info

      If you are using the 3Delight OSL renderer you can optionally use a solid color (therefore having no 2dtexture connected)


  2. Enable Indirect Illumination and choose an appropriate number of indirect bounces (the default value of  2 is a good start for exteriors)

    Info

    3Delight features highly optimized multi-bounce path tracing global illumination with tiny performance impact on larger number of indirect illumination bounces. Values up to 16 bounces are possible and can be beneficial in complex interior setups (see relative section below).

    Image Added

  3. Render in i-Display (make sure to use the right image viewer color profile in i-Display, most likely you will need "Linear to sRGB").

    Now you can render:

Image Added

Here are more detailed steps Here detailed step that take into account the pre-requisites:

...

  • Make sure the 3Delight for Maya plugin is loaded for your version of Maya.
  • Create a new scene and select 3Delight as a main renderer in render globals. 
  • Create/import some geometries — for this scene you can use the beautiful and free "Ajax 3D OBJ scan model" from Jotero.
  • Apply the general purpose 3Delight Material, a “physically/visually plausible” material which uses the Cook-Torrance BSDF.
  • In the Preference choose to render in the Maya Render View or in i-Display (where you can see all the image layers (AOVs) in one go).
  • Enable Color Management, to achieve a proper linear workflow, in the Render Globals > Common section.
  • In Render Globals > 3Delight's defaul render pass: create a delightEnvironment node.
  • Apply an HDRI texture.
  • Download an HDRI image, for example you can use the "pisa.hdr" texture from Paul Debevec's High Res Probes:

    Info

    Because you have enabled Color Management and because by default the setting in the Render Settings assume you will be inputting to the renderer sRGB images (which is the default too as we implicitly assume the majority of input texture come from non-linear authoring tools, such as Photoshop, and are not pre-linearized) you must remember to override the color profile for the Maya File texture node where you will plug, in this example, the pisa.hdr environment.

    If, on the other hand, all your input textures are pre-linearised, then you can switch to linear input color profile in the Render Settings and leave the default inherit behaviour for the Maya File texture node.


    Image Added

    Image AddedImage Added


  • or you can use a procedural texture such as the 3Delight Sky:
    Image Added
     
  • or create and use a "hand made" HDRI texture:

    In Nuke you can experiment by roto-painting areas with high dynamic range HSV values, in the following screenshot HSV's V value is set to 4. The size, softness or hardness of the strokes will produce different results in the illumination from the environment. The image should be written out as a 16/32bit EXR or 32 bit HDR.

    Aside Nuke there are other tools, such as HDR Light Studio, where you can procedurally author HDRI images or edit existing ones to add new image-based or procedural lights. 

     Image Added

  • Render – you will get mostly a black image except, if

...

...

  • Material, you should see some reflectivity

...

  • stored in the

...

  • corresponding image layer since the default settings of the 3Delight Material have 10% of reflectivity at grazing angles. This step should make clear to you that the environment is visible to reflections and refractions. In order to receive indirect illumination from the environment you will now need indirect illumination.
Info

If you do not enable indirect illumination

...

, the environment will be visible in reflections and refractions (because they are active by default in the Render Settings) but it will not illuminate your scene (

...

no "environment diffuse

...

") and you will not obtain surface-to-surface light and color transport

...

(no "indirect diffuse").

Image Added

  • Setup more render layers and render in i-Display, where all additional AOVs are filled accordingly:
    Image Added

  • If you inspect the other channels, now your main buffer also feature the "indirect diffuse" and "environment diffuse" image layers along with their sub-components:

Image Added

  • As an option,

...

  • you can put the environment image in the background: this is for previews only, ideally the

...

  • environment should be composited in

...

  • the compositing application of your choice.

Image Added


Here are additional rendering examples done following this basic tutorial using different HDRI imagery:

Image AddedImage AddedImage AddedImage AddedImage Added

 

...

 

 

Info
Note the

Here are key aspects

in this workflow

of the IBL workflow in 3Delight:

the the

→ The illumination and shadowing reacts from the details in the HDRI.

 

The illumination is not noisy

 you did not

.
There is no need to

select

set any "sampling

/ importance parameter you did not need to blur your hdri

resolution" parameter on the IBL.
There is no need to pre-blur the HDRI: you can get sharp reflections and soft shadows with

1

one single image

 you did not

.
There is no need to downsize your HDRI

 many image layers are available and

.
There is no need to use multiple version of the HDRI and associate them to different ray types (commonly known as "ray switching")
Many image layers (AOVs) are at your disposal in

one

a single

renering operation

rendering operation, at no additional cost in rendering time.
→ You can have multiple delightEnvironment nodes in your scene, each with different textures connected, and you can choose the appropriate ones for the shot you are working on.

 

Notes for Interiors Lighting (To Be Completed)

For interior rendering there are two cases:

  1. Fully enclosed interiors, without any openings towards the exterior allowing external light to come in.
  2. Interiors with openings towards the exterior (e.g. a room with windows, doors, or other type of openings).

Fully enclosed interiors

  • Create (geo) Area Lights, matching size and position, for each important light sources that illuminates the scene (typically large area lights, neons etc.)
  • Make sure all Lights have inverse square falloff (required by physics for plausible lighting)
  • Assign to less important emissive objects a material with incandescence (make sure to not push the color values above 1 because of color management, instead use the incandescence intensity).
  • Turn on Indirect Illumination
  • Set Indirect Illumination Diffuse Bounces to 3 or more (increase by 1 unit as the effect might become neglectable after many bounces, looking at statistics will help).

Or:

  • It is also possible to create an HDRI environment with a texture that loosely matching the interior you are rendering. If you have a texture acquired on set for VFX this is the best case scenario. If the set is full 3D you can render a spherical projection version of your environment.
  • Set the Indirect Illumination> Max Distance to force environment rays to be called inside the interior: e.g if your room would fit in a sphere of radius 50 units, set the max distance to 25 (or less) units.

 

Info

Note that 3Delight has no problem using a higher number of diffuse bounces. It not unlikely for fully enclosed interiors to require higher numbers of diffuse bounces (check statistics for precise feedback)

Interiors with openings

  • Setup the HDRI environment with a texture representing the exterior lighting
  • Set indirect diffuse bounces to 3 or more (check statistics for feedback)
  • Positioning Area Lights behind openings (typically doors / windows) towards the exterior will help "pushing light" inside the room

...