Specular materials (glass-like or mirror-like materials) such as conductors, dielectrics, or optical filters can have a "Mollifier". A mollifier is a feature to reduce the rendering time of scenes which contains complex light paths (i.e. caustics in transparent materials). A mollifier works as follow :
at first, specular materials are modified to be less specular (their specular peak is widen) in order to converge quicker to a realistic solution,
then, the materials are getting more and more specular (their specular peak is narrowed) all the way back to their initial state in order to converge to the exact solution.
It introduces some bias to use mollifiers, but the bias is progressively removed to converge to the right solution.
By default, the mollifier is enabled on every material and uses default settings.
The mollifier settings are the following :
Tau is the initial maximum value of the specular peak. A high value introduces less bias but a noisier initial rendering.
Default value: 5.
Accepted values: [1; 10000].
Alpha is the narrowing rate of the width of the specular peak. A high value will result in the bias being reduced faster but the noise being reduced slower.
Default value: 1/6 (optimal value for 2D space - our case).
Accepted values: [0; 1]
Predictive Engine render of a pool without a mollifier
(15h45mn, 2^21 spp)
Predictive Engine render of a pool with a mollifier, Tau=50
(8h15mn, 2^20 spp)
Predictive Engine render of a pool with a mollifier, Tau=10
(8h28mn, 2^20 spp)
The mollifier can be enabled/disabled on each specular material. A global setting is also available on the sensor's integrator to disable all the mollifiers at once. If the sensor global setting is set to true, material mollifiers will be enabled depending on the material "Enabled" field. If it is set to false, all material mollifiers will be disabled.
More details on mollifiers :
Jendersie, J. and Grosch, T., Microfacet Model Regularization for Robust Light Transport. Computer Graphics Forum, 38: 39-47. https://doi.org/10.1111/cgf.13768
Kaplanyan, A. and Dachsbacher, C., Path Space Regularization for Holistic and Robust Light Transport. Comput. Graph. Forum 32(2): 63-72 (2013)
Textures are defined when a 2D image is mapped on a geometry : we use textures on AxF materials, Phong model materials, Oren Nayar model materials, normal maps,...
In Standard Unity shaders, textures cannot be rotated : their rotation is defined by the geometry's UV coordinates. In Predictive Engine, if the Expert Mode is enabled, textures can be rotated. The rotation is given in degrees (°). By default, the rotation of all the textures is set to 0°.
If the Expert Mode is enabled, a toggle "Clamp" is also added to the texture definition : it defines whether the texture should be repeated over all the UV coordinates or only used on UV coordinates in [0,1]. By default, the clamp field of all the textures is set to false.
This setting correspond in Unity to the Wrap Mode field that is defined on the Texture inspector, but it can be set differently on each material that reference a texture.
Original texture
Texture applied to a phong material on a plane with UV coordinates in [0,5].
The rotation is set to 0°.
The clamp field is set to false.
Texture applied to a phong material on a plane with UV coordinates in [0,5].
The rotation is set to 0°.
The clamp field is set to true.
Texture applied to a phong material on a plane with UV coordinates in [0,5].
The rotation is set to 45°.
The clamp field is set to true.
Some materials require the definition of spectrums (like the Fresnel index of refraction for instance). We recommend that you use measured spectrums as much as possible since they ensure the veracity of the rendering.
By default, when you use a measured spectrum in Predictive Engine, the spectrum is used on the entire range it is defined on, with as many values as it contains. In some cases, spectrums are defined on very large ranges and at a very precise scale.
If the Expert Mode is enabled, you can manually reduce the range of the spectrum or the number of values to use in the measure by disabling the "Auto Range" field and defining a custom range and number of channels. This will reduce the memory footprint of the spectrum.
If you define a range that is bigger than the actual range of the measure, the closest value in the measure will be used.
If you define a number of channels that is bigger than the actual number of channels in the measure, the measure will be locally interpolated to generate a new set of data with a thinner resolution.
Some spectrums require an interpolation and/or extrapolation method. These methods define how the spectrum is computed when a value is required between measured wavelengths or outside the measured range. See the Spectrums section for more details on interpolation and extrapolation methods.
If the Expert Mode is enabled, you can define these methods differently for each spectrum. The "Interpolation Method" and "Extrapolation Method" fields are displayed on the concerned spectrums.
If you choose "Default" on a method, the method defined in the Preferences will be used instead.