This page provides general information on the irradiance map GI engine.
Irradiance is a function defined for any point in the 3D space and represents the light arriving at that point from all possible directions. In general, irradiance is different at every point and from every direction, which means calculating all irradiance for a scene would yield a great deal of data. However, there are two useful restrictions that can be made to speed up irradiance calculations. The first restriction is the surface irradiance, which is the irradiance arriving at points which lie on the surface of objects in the scene. Restricting calculations to surface irradiance is natural since we are usually interested in the illumination of objects in the scene, and objects are usually defined through their surfaces. The second restriction is that of diffuse surface irradiance, which is the total amount of light arriving at a given surface point regardless of 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, irradiance mapping is a method of efficiently computing the diffuse surface irradiance for objects in the scene. Since not all parts of the scene have the same level of detail with regard to indirect illumination, it makes sense to compute GI more accurately in parts with more lighting variations (where objects are close to each other, or in places with sharp GI shadows), and less accurately in parts with less variation (such as 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 result of irradiance mapping is an irradiance map, 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 whether the indirect illumination for the current point can be adequately interpolated from the points already in the irradiance map. 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.
The following diagram shows the way the Irradiance map is generated. Since the method is view-dependent, the first rays (black) are traced from the camera into the scene to determine the placement of the irradiance samples. Once this is done, GI rays (red) are traced from the samples into the scene in order to determine the illumination coming from the environment. The number of traced rays is determined by the Subdivs parameter. The irradiance map only traces one bounce of light. All additional bounces (blue) are traced from the secondary GI engine. The irradiance map is created by several passes, each pass adding more samples where this is needed. During rendering, for each rendered point, V-Ray takes several samples from the already complete Irradiance map and interpolates between them in order to create a smooth GI solution. The number of samples taken is determined by the Interp. samples parameter.