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.
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.
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.
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.
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
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).
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.