In the previous two tutorials about IM and BF engines, LC and PM engines, we met with all four algorithms for calculating the GI in V-Ray. It is time to decide which of them are best for calculation of the global illumination.
This tutorial answers the following questions:
- Which GI rendering algorithms are best in Vray?
- Which rendering engine should we choose for primary bounces and why?
- With what engine should we render the secondary bounces and why?
- What problems exist in GI maps and what should be done to eliminate them?
- Why does the noise or dirt on the fine detail of the scene appear?
- How to get rid of the smudges in the corners and on the cornices?
Despite the seeming abundance, the choice is quite definite.
Photon map we cut off immediately for described in the previous tutorial reasons.
The most universal, capable of solving any problem is, of course, the Brute Force algorithm. However, the lack of built-in adaptability and the monstrous resource use due to this, just do not leave BF a chance to everyday use as the GI rendering engine. Sometimes, a tenfold increase in the calculation times at the same visual quality that optimized engines give is simply unacceptable in almost all situations. Only in some situations, when optimized engines simply cannot cope with appearing artifacts, which are actually because their optimization, the use of Brute Force can be reasonable.
Narrowing the choice to two algorithms Irradiance map and Light cache, it becomes quite simple :)
Comparing the working algorithms of IM and LC described in the previous tutorials, it is easy to understand that the quality of GI maps, obtained by IM, is significantly higher than the quality of GI maps, obtained by using LC. This is because, despite the partial formation of the result by interpolation, IM’s adaptability IM is able to calculate the GI with greater accuracy in important areas of the scene. While the LC only determines the color of GI for sampling areas in the form of mosaics, indiscriminately dividing scene on them.
Of course, we can significantly overstate the LC settings to obtain a result comparable to the visual quality of the IM. But, in this case, the LC computing time will inevitably increase. This approach will smoothly rollback us in the direction of Brute Force, practically bring to naught the difference in calculation time between LC with strongly raised settings and BF. In addition, the consumption of memory and problems with load distribution on all available system threads for a large LC map will also be a very significant drawback.
Irradiance map algorithm calculates the softer compared to LC GI map. The final render comes out more pleasant, without noisy GI. That is why IM should be used as an engine for global illumination rendering.
However, we should not forget that V-Ray divides the indirect illumination for Primary bounces and Secondary bounces. Returning to the features of IM, we know that the Irradiance map, in principle, cannot be set as the Secondary bounces GI engine. Given all the above, we simply have to select the Irradiance map as the only GI engine for calculation of the Primary bounces.
Think you may have guessed at what engine for Secondary GI bounces will the choice fall :)
Light cache algorithm is rougher than the IM algorithm. However, as we already know the effect of secondary GI bounces on the general lighting is less important than the influence of the primary GI bounce. It is therefore the less accurate LC perfectly copes with the task of rendering Secondary GI bounces. In addition, its function Show calc. phase, which generates excellent previews, is simply irreplaceable. Light cache algorithm should be surely used in the universal starting V-Ray configuration; of course, Light cache should be selected as the GI engine for Secondary bounces.
Now, when we are done with all available V-ray GI rendering algorithms, decided on how they work and have chosen the most rational and practical to use, it is time to consider the possible problems and their solutions.
In general, global illumination has just two major problems, more precisely the two main types of artifacts. They are noise and dirt. Oddly enough, but the causes of appearing and ways to eliminate noise are completely trivial. The cause of these common problems is the lack of GI sampling quality. The HSph. Subdivs parameter in Irradiance map and Subdivs parameter in Brute force and Light cache are responsible for this. Increasing the values of these parameters will reduce the amount of noise on the GI maps and, hence, on the final render. We should not stop on this kind of artifacts.
But the cause of the smudges on the rendering or as they are called "flakes", which are often cover the fine details of the scene, is worth studying in more detail.
Dirt, namely, black, gray, and even the bright spots may appear in the GI map, created by the IM algorithm. This occurs because of insufficient detail of the irradiance map.
Look at the picture. Do not need to look very closely to its left part to see the terrible dirty spots on the grid. Any interior rendering specialist is very familiar with those. Especially clearly these artifacts appear in places where is no direct light and in highly-detailed scene areas, illuminated only by the indirect illumination. For example, they are often on the quaint white ceiling cornices, which are in deep recesses of the ceiling.
Lack of understanding of this problem nature, has led to appearing of extraordinary ways to fight it. The simplest of them is a blind rising up the HSph. subdivs for IM, Subdivs for LC, changing units, sampling sizes, and just sky-high increase of Subdivs parameter for key light sources in the scene. More targeted was a significant overstatement of interpolation in order to blur the GI. However, the most convoluted methods consist in the following. The camera, intended for the final rendering was cloned and moved across the scene for have several frames of the object, which has the described artifacts. Further, using the scripts, which were actually made for other purposes, created one additional camera and its position was animated. This camera exactly repeated the position the primary and secondary cameras with each new animation frame. The result came out something like fly-through animation, in which the camera flied round the problem objects. Next, were rendered the primary and secondary GI bounces maps for each frame of animation, and simultaneously merged into two maps that are general for each type of bounces. Thus, more detailed and dense GI maps were obtained. After that, these maps were used for the calculation of the only final frame from the first original camera view.
Of course, such specific approaches may eliminate in some sense the problems with the GI, but they are just boring in their implementation and they take the lion's share of the scene setup time, while being inelegant and hasty solutions. It makes no sense to bore ourselves with agonizing adjustment and experimentation for each new scene, achieving a desired result. Understanding the essence of the problem, it is very elementary to fix such problems at similar or even lower computing time cost.
To realize the nature of the problem, we should return to the principle of IM. In particular, to its way of probing the geometry of the scene at lower resolutions. In most cases, as well as in the universal starting V-Ray configuration, undersampling is used even in the final IM prepass. That is, the color samples of IM are taken from a much lower resolution than the final one. After that, they are interpolated to the desired resolution, while also filling not sampled areas. In the example above, both images were rendered at a resolution of 400 by 500 pixels. The left image was calculated with the value of Max rate equal to -4. This means that the final prepass of IM was made in 400 by 500 resolution, divided by 2, divided by 2, divided by 2 and again divided by 2. That is, in the resolution of 25 by 31 pixels.
Here is the same render, calculated in 25x31 pixels and then interpolated in Photoshop up to 400x500 pixels.
Gray rectangle to the left is not interpolated render in the resolution of 25x31 pixels. Even with very high values of the interpolation and information about the geometry of the scene, get the small details from such low resolution is simply unrealistic. If two or even three white partitions of our grid at a resolution of 25x31, are marked with one black pixel, and the dark spaces between them all, for example, with one white, then no matter how we interpolate these pixels, after the interpolation they any way will look like blurry smudges. These spots produce those mentioned flakes on the fine details of the scene.
Now you surely understand that to obtain detailed IM and get rid of the stains in the corners, we need to increase the resolution of the last IM prepass. This was done in the previous example in the image on the right. IM was calculated with Max rate equal to 0, i.e., the final rendering resolution. The right example has no visible artifacts as well it has much more clearly visible shadows, which not blurred by low-resolution irradiance map interpolation.
If only some objects of the scene have this like artifacts, there is no need to calculate the entire frame with a more detailed IM. It will unreasonably take many hours of calculations, giving essentially the same results on all other non-problematic scene areas. In order not to consume computing resources vainly, we rather use the Region render and calculate only those parts of the image, where the quality is not good enough.
The approach to the GI setup described in this and three previous tutorials is the most efficient from a practical point of view. Do not waste for nothing your time, money and electric power, spending them on the hit-and-miss methods ;)
Dear friends, we sincerely hope that carefully reading these tutorials, you have clearly learned the essence of indirect lighting, you are now free in its settings and ready to easily apply your knowledge in practice for obtaining great visuals!
In the following tutorials we will learn about V-Ray speed and quality control, and also will go deep into renderer's system settings.
All have easy settings and beautiful 3d renderings!