Working with irradiance mapping
Video: Working with irradiance mappingBecause Global Illumination is such an important part of the V-Ray artist toolkit, we're going to spend the entirety of this chapter examining most of the GI engines available to us in V-Ray. In this particular video, we're going to focus on using V-Ray's irradiance mapping engine and just create a basic global illumination solution for our interior start scene. This scene has once again been somewhat artificially engineered. We are making use of the V-Ray Sun and Sky system to provide our daylight illumination.
- What's next?
Viewers: in countries Watching now:
Create highly realistic 3D architectural drawings with V-Ray, a popular third-party renderer for SketchUp. This course shows how to take a single scene with interior/exterior elements and add lights, move cameras, and enhance objects with translucent and reflective surfaces. Author Brian Bradley explains concepts like irradiance mapping, perspective correction, and fixed rate sampling, while showing how to leverage each of the V-Ray tools and its material and lighting types to achieve specific effects.
- Installing V-Ray
- Creating natural daylight with V-Ray Sun and Sky
- Bouncing light around with irradiance mapping and light caches
- Setting up a depth-of-field effect
- Creating diffuse and reflective surfaces
- Working with the Adaptive DMC engine
- Manipulating color mapping
- Adding caustic lighting and occlusion effects
Working with irradiance mapping
Because Global Illumination is such an important part of the V-Ray artist toolkit, we're going to spend the entirety of this chapter examining most of the GI engines available to us in V-Ray. In this particular video, we're going to focus on using V-Ray's irradiance mapping engine and just create a basic global illumination solution for our interior start scene. This scene has once again been somewhat artificially engineered. We are making use of the V-Ray Sun and Sky system to provide our daylight illumination.
However, we have disabled Indirect Illumination in our scene. This of course means that our interior at this moment of time is in almost complete darkness. In fact, if we just come up to our V-Ray toolbar and use the Start Render icon, you will be able to see exactly what we mean. What we have at this moment of course is a direct-light-only render. Now, this of course can be very handy in terms of setting up our scene lighting. We are able to see exactly where our direct light will fall. But of course this is not really a usable lighting solution at this moment in time, so really, we need to go into our indirect illumination controls and turn V-Ray's GI systems on.
We do this by coming up to, first of all, our Options Editor icon. We want to then come into our Indirect Illumination rollout and put a check in the On box. With the GI systems enabled, if we just scroll down a little, you will see that we get some default settings already added in by V-Ray that allow us really to just instantly start taking global illumination renders from our scene. As you can see, we have Irradiance Mapping set as our Primary Engine, whilst our Secondary Engine slot is occupied by the Light Cache system.
Of course, as we are wanting to focus on Irradiance Mapping in this particular video, we're just going to go and set our Secondary Engine to None. Just before we start any test renders in the scene with our GI systems enabled, I just want to draw your attention to one particular option inside of the V-Ray Options Editor. If we just come up to Color Mapping rollout, you can see that at this moment in time we have disabled this Linear Workflow option. Now by default, this is enabled in V-Ray for SketchUp. This control automatically linearizes, or degammas, the colors from both incoming bitmap files and color swatches that we may have in our material types.
Now, unless we have a real need for a completely linearized workflow and we understand what is happening behind the scenes with this particular option enabled, for general rendering situations, I would suggest that you may want to disable this particular control. Certainly take some time to just do test renders in your scenes with this option both enabled and disabled and see which end result most closely matches your expected results. So with that pointer out of the way, and of course with GI systems enabled, let's go and take another test render.
Now, as the render starts, we can see that V-Ray runs through a number of irradiance map passes. That is what we're seeing inside the V-Ray Frame Buffer. It does this in order, obviously, to calculate a GI solution. Each part will refine and add samples to the irradiance map as and where they are needed. Of course then, we get our final render. The ability to see this calculation process as it occurs can be a big timesaver for us. It gives us the opportunity to quickly evaluate lighting levels in our scene and so cancel the render at an early stage if we determine that our lighting is not really working.
At this moment in time, whilst our scene lighting is most definitely more realistic now than our previous direct-light-only render, we are still seeing a limitation. We're running into a limitation of the Irradiance Mapping system itself. You see, irradiance mapping can only produce a single bounce of light; this is why radiance mapping is not available as a secondary bounce engine. So at this moment in time, any light entering this room from our daylight environment really is only bouncing once and then terminating.
This is why we see these unnaturally dark areas in our scene. You can see even behind our curtain here, we are not getting any light bounce, no interaction, so we get some unnaturally dark splotches. Now, this single-bounce behavior is of course not how light behaves in the real world. The falloff, or decay rate, of light there allows it to just keep on bouncing. Of course, with each bounce light loses a little bit of its overall energy. Clearly, computing such a complex calculation would be extremely expensive in terms of the raw computing power required.
And that, generally speaking, translates into slow or even very slow renders for us. For speed reasons then, V-Ray splits HDR calculations into two parts: primary and secondary bounces. Each can be handled by a completely different global illumination engine with differing quality settings. The thing is they both work together to produce a complete lighting solution. Really, I suppose the important point that we're trying to make here is that irradiance mapping on its own will never really give us a realistic lighting solution.
We really need to add a secondary engine into the mix, so as to get those extra bounces of light in our environment. For the moment though, with only Irradiance Mapping enabled, we can focus on just refining our irradiance map solution a little more, before we go and add a secondary engine into the mix. So let's see if we can improve things a little bit. Let's see if we can clean up some of the noise, the blotchiness that we are seeing inside of our solution at this moment in time. To do that of course we need to go into our Irradiance Map controls.
Let's go into the Options Editor, let's close the Indirect Illumination rollout, and let's scroll down and just focus on our Irradiance Map controls. Now to improve things a little, we could increase our irradiance map's resolution. That would be handled by these Min and Max Rate values. At this moment in time, you can see we are actually undersampling our irradiance map. If we set these values to 0 and 0, we would be sampling our irradiance map at the same resolution as our final rendered output.
So if we were rendering at 1280 x 720 and we set these Irradiance Map controls at 0 and 0, we would be rendering our irradiance map. We would be calculating our irradiance map at 1280 x 720. As with all map types, that high of a resolution would naturally translate into higher quality, but the quality would come at a cost, and the cost would be render time. And to be honest, if we only increase the resolution of our irradiance map, we oftentimes don't see a corresponding increase in the quality.
Really, to get an acceptable solution, we need to balance out a number of irradiance map settings in order to really get the best balance of speed and quality from our scene. And in this particular instance, we will increase our Irradiance Map resolution a little, so we'll set our Minimum Rate to a value of -2 and our Maximum Rate to a value of -1. But we will also need to work with our Hemispherical Subdivs control and our Samples setting. The Samples control determines the number of irradiance map samples that V-Ray will interpolate, or blend between.
Do be aware that as with all blurring operations, we will lose some detail from our scene. A higher Interpolation Sample setting means that irradiance mapping will be less accurate when it comes to pulling geometric detail out in our scene. Now, the Hemispherical Subdivs control handles the number of rays, or samples, that are cast from each of the initial irradiance map samples that V-Ray will have placed in the scene. These rays travel out from each sample in a hemispherical manner. They are sent out to test the level of illumination found in the surrounding environment; that of course would come from light sources in the scene.
To get a reasonable solution in our current scene, we're going to set our Hemispherical Subdivs value up to 125 and we're just going to increase our Blending, our Interpolation a little, by setting our Samples to a value of 30. Do remember though, every scene is different; the values that you will probably need to use for your particular project may differ considerably. Just be sure to start with low settings and work your way up until the desired quality level is reached. If we start using higher render settings than necessary at the beginning of our project, we will only eat away at our available time.
Well, with those changes made, we can of course dismiss our Options Editor and see whether or not we have improved our irradiance map lighting solution. And clearly we have improved matters considerably. You can see the noise on the floor, the mottling. The blotchiness is definitely much cleaner than in our previous render. And because of the higher sampling rates that we are using, V-Ray is now more accurately able to gauge the illumination in the scene, and so even interaction between objects is a little more accurate. You can see we've lost some of that unnatural darkness between our curtain and wall, and of course, the area in this little recess here is looking much more natural.
Not again that we could say that this is a final lighting solution, we still clearly have noise problems. We can still see the blotchiness, the mottling that occurs in some areas of the scene. And of course, we still have these unnaturally dark areas, due to the fact that we only have a single light bounce. Fortunately, both of these problems can be solved in a single step. You see, for the reasons stated, it would be a very rare, if ever occurring, occasion where Irradiance Mapping would be used on its own to provide a suitable GI solution for a scene.
As we've said, we don't get accurate real-world behavior from that system. With a single bounce of light we're not representing how light distribution ought to work in a scene of this scale. For that of course we would need our secondary bounces, and in an interior setting such as this, the preferred option would be the light cache engine. So let's go into our Options Editor and enable that system. Just close up Irradiance Mapping, open up Indirect Illumination, and if we come down, we can use the dropdown list to set Light Cache as our secondary engine.
We do need to make a little tweak in terms of our Secondary Multiplier. If we want physically correct behavior from our secondary engine, we do need to set this multiplier to a value of 1. I also want to make a little tweak to our Light Cache settings. Instead of the default 800 set in our Subdivs value, I want to set this up to a value of 1000. Now, we can go and see what we've done to our GI solution. As you can see now, we have clearly improved matters quite considerably.
We've very nicely cleaned up the noise in our scene. What little bit of blotchiness is left in our GI solution would very easily be hidden behind scene material, so that would not be something to worry about at all. We have also drastically improved the quality of lighting in our environment. Our light bounce now feels much more natural. We're getting much more expected behavior. As you can see, we have some lighting even in these very recessed areas, and in this recess to the right you can see we get what feels like natural light bounce. And if you've been following along with this exercise file, you will notice that this particular render was considerably faster than our previous irradiance-map-only version.
And of course, improved render times can only ever be a good thing. So we have seen how we can quickly and easily create a usable irradiance map solution. We have tweaked a few of the quality controls available in the Options Editor for that system. Of course, we have also learned that the Irradiance Map engine on its own is not really capable of producing a complete indirect illumination solution for us. Rather, it needs some help from a secondary bounce engine. For interiors, Light Cache generally would be the preferred solution due to its ability to bounce lots of light around very quickly indeed.
There are currently no FAQs about SketchUp Rendering Using V-Ray.