Skip to end of metadata
Go to start of metadata

An extremely difficult sampling case.
A difficult sampling case for most unbiased engines, but not for Arion.

Sampling settings


NameFunctionExtra
ModeLets you select the sampling algorithm to render the image

Two options are available:

  • Unbiased sampling (PT) is a sophisticated Montecarlo path tracer that can render noise-free images very efficiently in almost any rendering scenario. However, in some particularly difficult global illumination situations, it might be very hard for the engine to efficiently pickup enough samples to eliminate noise in a reasonable time. For those cases, Arion provides another sampling engine based on the popular Metropolis Light Transport algorithm.
  • Unbiased sampling (MLT) is an 'intelligent' path tracing engine. Every time it will detect a light path that carries much energy, it will consider it 'more important' than others and perform a small mutation in the random numbers generator in the hope to generate a very similar path that will still carry as much energy. If it succeed, it will keep going slightly mutating the previous successful path until it fails. If the new mutated path 'fails' (i.e. it does not carry as much energy as desired), the mutation will be dropped and a new, fresh and fully random sample will be taken. The mutation process will start over from this new path.
MutationsThis value basically defines how often a failed mutation is completely dropped in favor for a fresh sample. It is more commonly known as the 'maximum consecutive rejections'For example the default setting of 65% means that 65% of the failed mutations will be dropped and a brand new random path will be fired, even if the next mutation could have been successful. This default has been analytically determined to be the most efficient in a variety of situations. Using a too low value will result in a very low amount of consecutive mutations, making the render look almost like plain path tracing, while a very high setting will mutate every single time until the maximum number of consecutive rejection is reached (internally fixed to 1000)

 

MLT should be used with care and only on problematic scenes with plain brute-force path tracing. Mutations are very likely to fail on scenes mostly based on lambertians and glossies. When a ray hits a rough surface, its bouncing direction is quasi-random, so the mutation of that path is very unlikely to stay similar to the previous one. MLT should be used on scenes with specular surfaces and caustics, where it will shine in all its glory. A nice property of MLT is that the difficult scenes more or less converges equally and clean the same everywhere.

Below is a comparison of path tracing vs. Metropolis sampling on a very hard case for a path tracer: Volume light and volume caustics. Both images were rendered for the same time:

 

Path tracing sampling.
Path tracing sampling here has a great difficulty to find the light paths efficiently.

 

Metropolis sampling
Metropolis sampling does a much better job on those very difficult cases.

GI bounces / Exit color

Arion v2.5.0 introduces a new, non-physically correct way of improving your render times by reducing the maximum number of times a ray can bounces off a specific material quality before being killed (and returning the color black). This can immensely improve the rendertime in exchange for a controlled darkening of areas where a high number of bounces is necessary to reach full global illumination. To help controlling that undesired darkening, Arion also provides Exit colors controls to compensate for it. Instead of returning black, the engine will return the specified Exit color. This comes for free in term of rendertime since it's just replacing black by another color.

Exit color is also a great way to find out exactly how many bounces you 'need' to achieve good global illumination. By enabling a flashy color, like the default fluo green, you can see very clearly if a particular kind of materials (i.e. glossies, specular, diffuse...) requires a lot of bounces or very little. Keeping the amount of green in an acceptable range is where the best speed gain vs. quality loss lies. If the image turns out all green, there is a need for more bounces on this particular threshold, if it does not return any green at all, it means that you have set a number of bounces that's higher than necessary.

 

GI bounces crop
Using the Exit color to determine the best speed vs. quality ratio.
left: Full GI - Middle: too low number of bounces - right: acceptable number of bounces

 

NameFunctionExtra
SpecularDefines how many times a ray can bounce of a specular material consecutively before returning black or the specified Exit colorSpecular materials are those in the roughness range defined by the Roughness threshold parameters
GlossyDefines how many times a ray can bounce of a specular material consecutively before returning black or the specified Exit colorGlossy materials are those in the roughness range defined by the Roughness threshold parameters
DiffuseDefines how many times a ray can bounce of a specular material consecutively before returning black or the specified Exit colorDiffuse materials are those in the roughness range defined by the Roughness threshold parameters
RefractionDefines how many times a ray can bounce of a refractive material consecutively before returning black or the specified Exit colorRefraction exit color can also be controlled per material in the material's root settings
ScatteringDefines how many times a ray can bounce of a Sub-surfae scattering material consecutively before returning black or the specified Exit colorScattering exit color can also be controlled per material in the material's root settings

 

SSS Exit color
Using Exit color to cut down sub-surface scattering materials
render time while maintaining good visual quality.

Roughness thresholds

Since there is no such thing as specular, glossy or diffuse materials in Arion (they are all done using the same all-in-one BSDF model), it is necessary to define a range of roughness values to separate these kind of surfaces from each other. These thresholds are used by the GI bounces / Exit color settings but also by the AOVs to send specular, glossy and diffuse surfaces to their respective AOV.

 

NameFunctionExtra
SpecularDefines the roughness level under which a surface is considered specularAnything above this threshold and below the diffuse one is considered glossy
DiffuseDefines the roughness level over which a surface is considered diffuseAnything below this threshold and above the specular one is considered glossy

 

 

  • No labels