Deterministic Calculation Properties with Photon Map

This page describes the parameters to set when wanting to create a deterministic inverse simulation while generating a photon map.

The deterministic algorithm allows you to perform determinist simulations. This type of simulation produces results showing little to no noise but that are considered as biased.

The deterministic simulation is entirely appropriate to analyze and render simple optical paths with unidirectional contributions.

When contributions and optical interactions are multiple, you should use Monte Carlo algorithm or generate a photon map.

Note: A simulation with build photon map generates map noises and manages diffuse inter-reflections.

It is safe to use photon maps when surfaces are lambertian, diffuse or specular.

It is not safe to use photon maps when surfaces are gaussian with a small FWHM angle.

Photon Mapping

The Photon Mapping is a luminance algorithm used to take into account multiples diffuse inter-reflections. But in the preset case, it is a two pass algorithm.

  • The first step of photon mapping is a photon propagation phase. A first pass is done using a Monte Carlo direct simulation to send photons from sources into the scene. Photons are then stored in a map.

  • The second pass is a deterministic inverse simulation and is called the Gathering phase. The photon map from the first pass is used to compute local radiance.

    Note: If you need more information on Photon Mapping, see Understanding Photon Mapping for a Deterministic Simulation .

Algorithm

Three modes are available with Photon Mapping:

  • Build allows you to fully generate a photon map.

  • Load allows you to use a previously generated map.

  • BuildAndSave allows you to fully generate and store a photon map.

The parameters to set may vary depending on the option selected. When loading an existing map, less parameters need to be set.

Note: The parameters described in the following sections correspond to the Build photon map mode.

Propagation Properties

Use Rendering Properties as Optical Properties

Activating this option allows you to automatically convert appearance properties into physical parameters according to the following conversion table.

Appearance Parameters

Physical Parameters PP(l)

Intensity + Color[RGB]

Lambertian L(l)

Ambient + Color[RGB]

Lambertian L(l)

Shine

Gaussian Angle a

Highlight + Highlight[RGB]

Gaussian Reflection

Reflection

Specular reflection SR(l)

Transparency + Highlight[RGB]

Specular transmission ST(l)

Ambient Sampling

This parameter defines the sampling. The sampling corresponds to the quality of the ambient source. The greater the value, the better the quality of the result, but the longer the simulation. The following table gives some ideas of the balance between quality and time.

Note: A default value could be 20 and a value for good results could be 100.

Ambient Sampling = 20 Reference Time / 3

Default value Ambient Sampling = 100 Reference Time

Ambient Sampling = 500 Reference Time x 4

Maximum Number of Surface Interactions

This number defines the maximum number of impacts a ray can make during propagation. Once the ray has interacted N times with a surface, it is stopped.

Anti-Aliasing

The anti-aliasing option allows you to reduce artifacts such as jagged profiles and helps refine details. However, this option tends to increase simulation time.

Anti-aliasing deactivated Reference Time / 2

Default Value Anti-aliasing activated Reference Time

Specular Approximation Angle

The specular approximation angle option allows you to replace the specular reflection by a gaussian reflection to increase the probability of the propagated rays to reach the sources.

This option also allows you to decrease the noise in the simulation's results and improve simulation time.

The typical application is the rendering of automotive tail lamps lit appearance. For this application, a typical value would be 5 to 10 degrees.

Note: For more information, see Specular Approximation Angle.

Numbers of Photons Launched in Direct Phase

This number represents the number of rays sent in the direct phase.

Direct Photon Number = 10000

Direct Photon Number = 5000

Maximum Number of Surface Interactions in Direct Phase

This number defines the maximum number of impacts a ray can make during the propagation phase. Once the ray has interacted N times with a surface, it is stopped.

Max Neighbors

Max neighbors represents the number of photons from the photon map taken into account to calculate the luminance.

Default

Double neighbors number

Max Search Radius

Max search radius represents the maximum distance from the luminance calculation's point to search for neighbors contribution.

The Max search radius parameter could have a strong impact on the results according to the Max neighbors parameter setting.

A balance shall be found between these two parameters to ensure good calculation and rendering.

Consider, for example, a wall with one face illuminated and the other face not illuminated and that does not transmit any light.

In the case of a sensor observing the no transmitting face, if the Max search radius is higher than the depth of the wall, the sensor gives some luminance values corresponding to the illuminated side of the wall.

Infinite max search radius

Max search radius equals to the depth of the walls

In the following example, the effect of a too large max search radius in simulation results is described.

Note the white dots on the right illustration. They result from an unbalanced relationship between max search radius and max neighbors.

For a given max neighbors value, if the max search radius is too small, the sensor does not collect enough neighbors and generates noisy result.

And vice versa if the max search radius is fixed and the max neighbors value is too high, the sensor gathers all the neighbors but there are not enough information on the defined area of research.

Max search radius = 10

Max search radius = 100

Use Final Gathering

Note: Diffuse transmission is not taken into account with Final gathering.

This option allows you to exploit the secondary rays and not the primary impacts.

This algorithm produces better results but is much slower to compute.

  • Final gathering max neighbor allows you to pilot the number of neighbors after the secondary rays. The neighbors are used to compute the luminance for each split ray.

  • Splitting Number allows you to set the number of split rays.

    Note: The value usually used is15.

    If there is an ambient source, the splitting number is not taken into account and is replaced by the ambient sampling value.

Fast Transmission Gathering

Fast Transmission Gathering accelerates the simulation by neglecting the light refraction that occurs when the light is being transmitted though a transparent surface.

This option is useful when transparent objects of a scene are flat enough to neglect the refraction effect on the direction of a ray (windows, windshield etc).

Note: Fast Transmission Gathering does not apply to 3D Texture, Polarization Plate and Speos Component Import.

With Fast transmission gathering activated:

  • The result is correct only for flat glass (parallel faces).

  • The convergence of the results is faster.

  • The effect of the refraction on the direction is not taken into account.

  • Dispersion is allowed.