Irradiance map

General

This section allows the user to control and fine-tune various aspects of the irradiance map. This section is enabled only when the irradiance map is chosen as the GI method for primary diffuse bounces.

Some background for understanding how the irradiance map works is necessary in order to grasp the meaning of these parameters.

Irradiance is a function defined for any point in the 3D space and represents the light arriving at this point from all possible directions. In general, irradiance is different in every point and in every direction. However, there are two useful restrictions that can be made. The first is the surface irradiance - which is the irradiance arriving at points which lie on the surface of objects in the scene. This is a natural restriction since we are usually interested in the illumination of objects in the scene, and objects are usually defined through their surface. The second restriction is that of diffuse surface irradiance - which is the total amount of light arriving at a given surface point, disregarding the direction from which it comes.

In more simple terms, one can think of the diffuse surface irradiance as being the visible color of a surface, if we assume that its material is purely white and diffuse.

In V-Ray, the term irradiance map refers to a method of efficiently computing the diffuse surface irradiance for objects in the scene. Since not all parts of the scene have the same detail in indirect illumination, it makes sense to compute GI more accurately in the important parts (e.g. where objects are close to each other, or in places with sharp GI shadows), and less accurately in uninteresting parts (e.g. large uniformly lit areas). The irradiance map is therefore built adaptively. This is done by rendering the image several times (each rendering is called a pass) with the rendering resolution being doubled with each pass. The idea is to start with a low resolution (say a quarter of the resolution of the final image) and work up to the final image resolution.

The irradiance map is in fact a collection of points in 3d space (a point cloud) along with the computed indirect illumination at those points. When an object is hit during a GI pass, V-Ray looks into the irradiance map to see if there are any points similar in position and orientation to the current one. From those already computed points, V-Ray can extract various information (i.e. if there are any objects close by, how fast the indirect illumination is varying etc). Based on that information, V-Ray decides if the indirect illumination for the current point can be adequately interpolated from the points already in the irradiance map, or not. If not, the indirect illumination for the current point is computed, and that point is stored in the irradiance map. During the actual rendering, V-Ray uses a sophisticated interpolation method to derive an approximation of the irradiance for all surfaces in the scene.

Parameters

Basic parameters

Min rate

This value determines the resolution for the first GI pass. A value of 0 means the resolution will be the same as the resolution of the final rendered image, which will make the irradiance map similar to the direct computation method. A value of -1 means the resolution will be half that of the final image and so on. You would usually want to keep this negative, so that GI is quickly computed for large and flat regions in the image. This parameter is similar to (although not the same as) the Min rate parameter of the Adaptive subdivision image sampler.

Max rate

This value determines the resolution of the last GI pass. This is similar to (although not the same as) the Max rate parameter of the Adaptive subdivision image sampler.

Color threshold
(Clr thresh)

This parameter controls how sensitive the irradiance map algorithm is to changes in indirect lighting. Larger values mean less sensitivity; smaller values make the irradiance map more sensitive to light changes (thus producing higher quality images).

Normal threshold
(Nrm thresh)

This parameter controls how sensitive the irradiance map is to changes in surface normals and small surface details. Larger values mean less sensitivity; smaller values make the irradiance map more sensitive to surface curvature and small details.

Distance threshold
(Dst thresh)

This parameter controls how sensitive the irradiance map is to distance between surfaces. A value of 0.0 means the irradiance map will not depend on object proximity at all; higher values place more samples in places where objects are close to each other.

Hemispheric subdivs
(HSph. subdivs)

This controls the quality of individual GI samples. Smaller values make things faster, but may produce blotchy result. Higher values produce smoother images. This is similar to the Subdivs parameter for direct computation. Note that this is not the actual number of rays that will be traced. The actual number of rays is proportional to the square of this value and also depends on the settings in the DMC sampler rollout.

Interpolation samples
(Interp. samples)

This is the number of GI samples that will be used to interpolate the indirect illumination at a given point. Larger values tend to blur the detail in GI although the result will be smoother. Smaller values produce results with more detail, but may produce blotchiness if low Hemispheric subdivs are used.

Options

Show

When this option is on, V-Ray will show the irradiance map passes as the irradiance map is calculated. This will give you a rough idea of the indirect illumination even before the final rendering is complete. Note that turning this on slows the calculations a little bit, especially for large images. This option is ignored when rendering to fields - in that case, the calculation phase is never displayed.

Direct

This option is only available when Show is on. It will cause V-Ray to show direct lighting for primary diffuse bounces in addition to indirect lighting while the irradiance map is being calculated. Note that V-Ray does not really need to compute this. The option is only for convenience. This does not mean that direct lighting is not calculated at all - it is, but only for secondary diffuse bounces (only for GI purposes).

Sample

This option is only available when Show is on. When this option is on, V-Ray will show visually the samples in the irradiance map as small dots in the scene.

Detail enhancement

Detail enhancement is a method for bringing additional detail to the irradiance map in the case where there are small details in the image. Due to its limited resolution, the irradiance map typically blurs the GI in these areas or produces splotchy and flickering results. The detail enhancement option is a way to calculate those smaller details with a high-precision brute-force sampling method. This is similar to how an ambient occlusion pass works, but is more precise as it takes into account bounced light.

DE

Turns on detail enhancement for the irradiance map. Note that an irradiance map calculated in this mode should not be used without the detail option. When detail enhancement is On, you can use lower irradiance map settings and higher Interpolation samples. This is because the irradiance map is only used to capture the general far-off lighting, while direct sampling is used for the closer detail areas.

Radius

This determines the radius for the detail enhancement effect. Smaller radius means that smaller parts around the details in the image are sampled with higher precision - this would be faster but may be less precise. Larger radius means that more of the scene will use the higher precision sampling and may be slower, but more precise. This is similar to a radius parameter for an ambient occlusion pass.

Subdivs

This determines the number of samples taken for the high-precision sampling as a percentage of the irradiance map Hemispheric subdivs. A value of 1.0 means that the same number of subdivs will be used as for the regular irradiance map samples. Lower values will make the detail-enhanced areas more noisy, but faster to render.

W

This determines the units for the Radius parameter: On - the radius is in image pixels; Off - the radius is in world units (meters).

Advanced options

Interpolation type

This option is used during rendering. It selects the method for interpolating the GI value from the samples in the irradiance map.

Weighted average

This method will do a simple blend between the GI samples in the irradiance map based on the distance to the point of interpolation and the difference in the normals. While simple and fast, this method tends to produce a blochiness in the result.

Least squares fit

The default method; it will try to compute a GI value that best fits in among the samples from the irradiance map. Produces smoother results than the weighted average method, but is slower. Also, ringing artifacts may appear in places where both the contrast and density of the irradiance map samples change over a small area.

Delone triangulation

All other methods of interpolation are blurry methods - that is, they will tend to blur the details in indirect illumination. Also, the blurry methods are prone to density bias (see below for a description). In difference, the Delone triangulation method is a non-blurry method and will preserve the detail while avoiding density bias. Since it is non-blurry, the result might look more noisy (blurring tends to hide noise). More samples will be needed to get a sufficiently smooth result. This can be done either by increasing the hemispheric subdivs of the irradiance map samples, or by decreasing the Noise threshold value in the brute force sampler rollout.

Least squares with Voronoi weights

This is a modification of the least squares fit method aimed at avoiding the ringing at sharp boundaries by taking in consideration the density of the samples in the irradiance map. The method is quite slow and its effectiveness is currently somewhat questionable.

Although all interpolation types have their uses, it probably makes most sense to use either Least squares fit or Delone triangulation. Being a blurry method, Least squares fit will hide noise and will produce a smooth result. It is perfect for scenes with large smooth surfaces. Delone triangulation is a more exact method, which usually requires more hemispheric subdivs and high Max irradiance map rate (and therefore more rendering time), but produces accurate results without blurring. This is especially obvious in scenes where there are a lot of small details.

Sample lookup

This option is used during rendering. It selects the method of choosing suitable points from the irradiance map to be used as basis for the interpolation.

Nearest

This method will simply choose those samples from the irradiance map which are closest to the point of interpolation. (How many points will be chosen is determined by the value of the Interpolation samples parameter.) This is the fastest lookup method and was the only one available in early versions of V-Ray. A drawback of this method is that in places where the density of the samples in the irradiance map changes, it will pick more samples from the area with higher density. When a blurry interpolation method is used, this leads to the so-called density bias which may lead to incorrect interpolation and aritfacts in such places (mostly GI shadow boundaries).

Quad-balanced

This is an extension of the nearest lookup method aimed at avoiding density bias. It divides the space about the interpolated point in four areas and tries to find an equal number of samples in all of them (hence the name quad-balanced). The method is a little slower than the simple Nearest lookup, but in general performs very well. A drawback is that sometimes, in its attempt to find samples, it may pick samples that are far away and not relevant to the interpolated point.

Overlapping

The default method. This method was introduced in an attempt to avoid the drawbacks of the two previous ones. It requires a preprocessing step of the samples in the irradiance map during which a radius of influence is computed for each sample. This radius is larger for samples in places of low density, and smaller for places of higher density. When interpolating the irradiance at a point, the method will choose every sample that contains that point within its radius of influence. An advantage of this method is that when used with a blurry interpolation method it producses a continuous (smooth) function. Even though the method requires a preprocessing step, it is often faster than the other two. These two properties make it ideal for high-quality results. A drawback of this method is that sometimes lonely samples that are far-away can influence the wrong part of the scene. Also, it tends to blur the GI solution more than the other methods.

Density-based

It combines the Nearest and the Precalculated overlapping methods and is very effective in reducing ringing artifacts and artifacts due to low sampling rates. This method also requires a preprocessing step in order to compute sample density, but it performs a nearest neighbour look-up to choose the most suitable samples while taking sample density in account.

Being the fastest of the three methods, Nearest lookup may be used for preview purposes. Quad-balanced performs fairly well in the majority of cases. Overlapping is fast and in many cases performs very well, but may tend to blur the GI solution. The Density-based method produces very good results in the majority of cases and is the default method.

Note that the lookup method is mostly important when using a blurry interpolation method. When using Delone triangulation, the sample lookup method does not influence the result very much.

Calc. pass samples

This is used during irradiance map calculation. It represents the number of already computed samples that will be used to guide the sampling algorithm. Good values are between 10 and 25. Low values may speed the calculation pass, but may not provide sufficient information. Higher values will be slower and will cause additional sampling. In general, this parameter should be left to the default value of 15.

M

Use current pass samples - this is used during irradiance map calculation. When checked, this will cause V-Ray to use all irradiance map samples computed so far. Unchecking it will allow V-Ray to use only samples collected during previous passes, but not those computing earlier during the current pass. Keeping this checked will usually cause V-Ray to take less samples (and therefore compute the irradiance map faster). That means that on multiprocessor machines, several threads will be modifying the irradiance map at the same time. Because of the asynchronous nature of this process, there is no guarantee that the rendering the same image twice will produce the same irradiance map. Normally this is not a problem at all and it is recommended to keep this option checked.

R

Randomize samples - this is used during irradiance map calculation. When it is checked, the image samples will be randomly jittered. Unchecking it will produce samples that are aligned in a grid on the screen. In general, this option should be kept checked in order to avoid artifacts caused by regular sampling.

C

Check sample visibility - this is used during rendering. It will cause V-Ray to use only those samples from the irradiance map, which are directly visible from the interpolated point. This may be useful for preventing "light leaks" through thin walls with very different illumination on both sides. However it will also slow the rendering, since V-Ray will trace additional rays to determine sample visibility.