Adverti horiz upsell
Global illumination and Final gathering.
Global illumination and Final gathering.
sdb1987, added 2005-09-01 10:39:02 UTC 104,192 views  Rating:
(3 ratings)
Page 3 of 4

3 - Final gathering : notices, problems and solutions.

 

Moreover, as this particular use of the Final gathering is really interesting in certain circumstances, and may be something Mental Images didn't even think it could be (otherwise, we would have seen that kind of image in Softimage's gallery for a long time), here are few notices and problems :

 

Rendering speed

 

Even if it's always hard to compare different renderers performances, Arnold seems to be really faster than Mental Ray's FG.
On the right hand image below, Arnold rendered 750,000 polygons in 20 mins with a dual-PIII 600 (as Marcos Fajardo told me)
On the left hand image, XSI rendered 150,000 polygones in 1h 20 mins with a dual PIII 733.
The two images have quite the same quality of sampling (that is same thinness of noise) and are rendered at the same size.
On one hand the Bugatti is more focused, but on the other hand, the Droid is 5 times bigger (in terms of polygons), was rendered 4 times faster with processors a bit slower. All this gives an obvious advantage to the Arnold renderer.

 

click for larger version


Original renderings : 1024 x 768

Luc-Eric wrote, "... Arnold is just using the standard MonteCarlo method..., perhaps with a few enhancements. Most graduating CS students can write some variations of a radiosity renderer. Even better if the renderer can take shortcuts."
I agree, but what's a student alone compared to AVID and Mental images' hundred developers? As far as I saw and believing what Marcos told me, Arnold supports texturing, reflections, bump and displacement mapping, procedural texturing, etc... that is, not only Global illumination. Speaking of the two images above, I only compared the very basic performances of the two renderers, that is how fast do they handle a simple scene only made of lots of polygons and simple gray Lambert materials. In these circumstances, Arnold seems to be really faster (3 times or something), that's all. Conclusion : Final gathering performances can surely be improved a lot.

Bouncing energy effect

 

Something I don't really understand in Final Gathering's behavior is the bouncing energy effect. In the image below, the area surrounded in green shows parts of the bugatti that receive some of the warm light that comes from the opposite side (the sunset light). Apart from the fact that it's quite realistic and pleasing (the warm light bounces upon the breaks 's disks to lighten the sub-frame of the car), it shows the ability of Final Gathering to transmit energy whereas no lights are declared as energy sources and no objects are declared as energy transmitters. In fact, my problem is more to understand what's the real need of activating Global illumination and what's the way Final gathering and Global illumination can team together.
I already made lots of nice looking images using both the two methods together, but it's still not clear to me.

 

click for larger version

Final gathering and reflections of the environment.

 

Once I have played a little bit with the technique of using FG alone (as described before), I went through the problem of reflections.
Since you need to use a sphere with a constant shader to produce the diffuse lighting, any reflective object will "see" this constant color as last reflection (that is behind all other reflected objects of the scene). In the image below, the "glass" grid and the metallic sphere reflect the gray sky (constant sphere) :

 

 

Here are the goals and the problems :
- the colour of the constant sphere lets you control the amount (and even the colouring) of the diffuse lighting ;
- if I use a bright blue colour for the constant sphere, the diffuse lighting will be too strong and too coloured ;
- I need the constant sphere colour to be independent from the colour of the sky (or the picture used as an environment) ;
- I need the background colour (bright blue to match a sky picture or a picture itself) to be different from the constant sphere colour (medium gray) ;

 

At the beginning, I thought there was no workaround to this problem, since you need the secondary rays of the constant sphere to be activated in order to keep getting the diffuse lighting.
As soon as using an environment mapping for each reflective object is definitely not a fast and flexible solution, I was at an absolute loss.
So, as a last chance, I tried to find something in the Render tree that could force the constant sphere itself to behave in a more clever way. After several attempts, I found that the "Ray_type" node was able to help that, at least partially. The shema below illustrates this solution :

 

click for larger version

 

In the image below, the "glass" grid and the metallic sphere now reflect a picture attached to the constant shader of the constant sphere, it's much better :

 

 

Unfortunately, this solution is not accurate for transparencies. In the 2 images below, I switched off the primary rays of the constant sphere, in order to independently control the colour of the sky (background) which is a constant shader attached to the background (environment) of the default passe. As a result, the transparencies are not correct. The "glass" grid is still transparent "over" the gray value of the constant sphere, instead of over the blue or pink colour, as I expected. Off course, I tried to connect the image node or even another constant colour node to the Refraction item of the Ray_type node, but it doesn't work either (then, all the transparent objects become globally coloured rather than actually transparent over this colour).

 

click for larger version

 

At this point, I haven't found a perfect overall solution to this problem. If anybody as an idea... perhaps the Ray_type node isn't the good one. Is there another way to achieve that? The image below shows what would be perfect (effect simulated in Photoshop) :

 

 

Note : apart from the fact that we couldn't use it in this case, I noticed that when you attach a "Sphere" type or a "Constant" colour to the background environment of the passe, the reflective objects don't "see" this environment. Is this the expected behavior of the background environment feature?