Welcome to Antonio's Portfolio

The Home Section it's dedicated to general VFX subject.
To view my works please click in one of the tabs above.
I am responsible for modeling, texturing, shading, lighting, rendering and compositing.
Thanks for visiting, I hope you enjoy.

Sunday, March 29, 2015

Renders Comparisons

Hey guys, I've been using Vray and Arnold Render for a long time, and last week Renderman 19 was released so I couldn't skip a spin with it, and see how it looks in comparison with the renders that I normally use.

So here's a quick scene I did to test each of them, and some of their different GI calculation method.
It is a "cubic room" so no light can't get in, and GI can bounce all the way around. There are a few other objects in the left of the camera that you can't see at this distance.
The main light is a Big Area Light with an HDR image assigned to it that illuminates the scene from right to left, and the number of bounces are limited to 5.
I tried to match the same light intensity and shaders look. Basically Diffuse 0.5 for all and Specular pure white with 1.56 of IOR and some value in the spec roughness/glossiness.
I locked the resolution of each render to Full HD 1080p and it is been rendered in a 2.0ghz 8cores machine with 8gb of ram.
Also the numbers of the Samples/Subdivds used by Camera rays(AA), shaders, GI, and lights for all the renderers in order to produce similar results. Then we can compare quality/speed between their engines, of course some of them will have optimizations that others don't have, and that will affect render time vs quality, but this is the most correct methodology to use, considering that quality could be a subject thing that may vary between each person... In theory all of them have similar math in what relates to Monte Carlo Ray traicing. 
Another methodology could be if all of them have support to progressive render, where you set a time of 20min to render a frame. Then you would just go and compare results in a fixed time, instead of a "fixed sampling ratio".
Keep in mind that the test does not count subjective aspects related to artists or pipeline. We are trying to keep it out of the equation here, comparing general fixed aspects of the renders, this should cover general scenes that people may face from time to time. In other means nothing very fancy with millions of geometry, with a lot of lights, complex shaders and textures. We may try something more complex in future.

So here are the results:
Vray - the fastest one:

Renderman:
Arnold  - Slowest one but best quality of all:


Some notes:
First of all the models are from the internet, and I should had fix the quads with issues in the front...
All the three renders were done using the latest versions of each respective render for Maya.

For some reason I don't know why, Renderman got a warm color temperature. But I checked my lights in all settings, and none of them was been tweaked by any color swatch or color temperature attribute and even so I in all of the renders they was set to 6500K.
Also I am not sure why some parts of the car in the second image of Arnold test, had presented a bright highlight. I will not consider that assuming that could be something with the geometry or for some odd reason the shader may not get assign to those parts(the scene make uses of referenced objects...)

Surprisingly the BF+LC render time was 7minutes lower then the settings that I tend to use with Irradiance Map + Light Cache in Vray...
Also the render times could be lower if you don't need to use the LC feature Retrace Threshold, I will explain why in the conclusion.
I am sure that people will think that for the Vray tests the Light Cache Subdivs are too low. I would say maybe, but as a secondary GI it doesn't need as much as people think out there over the net... In other renders of mine even for animation the LC for second GI don't make much difference for the final quality from a 100 Subdivds to something like 1500...


Conclusion
In this initial test it's proved how each engine perform and their quality withing a "fixed Sample". Keep in mind that in a Complex scene you probably need AA 10 or 16 if you dealing with Motion Blur and Dof in render. Also you may have to rise your shaders, lights and GI samples as well, and I would say probably 2-4x times if you want fine results.
The images above have some noise inside the shadows that are related to the contribution of the Indirect Specular or GI that is hitting those part. None of the parts of the images that are been illuminated directly by the light have any kind of noise. And from what I know AA does help to alleviate noise in images but it can't do it efficiently or remove completely some specific type of noises, like the ones related to low samples in light that normally cause noise in it's shadow, that could also affect the speculars, and GI. or lower sample values in the shaders, that normally create noises in the reflection or refraction of it, or over GI
Now a days you can get rid of shadow noise in GI and lights by using a Denoiser in Comp, but I would advice that specular/reflection pass can't take benefit from that.

It's obvious that Arnold needs optimization in their render settings like the others.
From past experiences with Vray I know for sure that he needs the Russian Roulette optimization as well, to avoid spawning unnecessary rays. That is essentially critical with Refraction because of the Retrace Threshold feature Vray would shot Brute Force rays where he thinks it's necessary, and that tend to slowdown a bit everywhere the bucket goes rendering your scene. But the main issue will be objects with Refraction where he always will shot that type of rays really slowing down the render. Without that feature ON your animation will get flickering in the GI, and not only that but the GI and Direct light pass contribution in the materials with refraction will be wrong.
I suffered a huge impact by that feature in an animation project involving Blended Glass materials, with 2 glass objects one inside of the other, using Bump, Refraction glossiness texture maps and non-white color in their Refraction Fog color swatch... The impact would make the render time goes up close to the render time of the BF+BF mode depending on the scene considering he will shot BF rays for the secondary rays(all the other ray bounces after the first hit)...

So I guess for that particularly scenario I would try to use Renderman now a days because of the Russian Roulette optimization, and see how it goes, specially when they appear big in screen close to the camera like mine was...
Also I am sure there is still people how complain about Vray quality, or some issues it may appear surprisingly in render. I will assume part of that has gone in it's latest version 3.0. I could complain so far, 1 year of using this version already, and it was a good upgrade since the version 2.0 where I started to use it when I was studying at Gnomon School.

Despite the fact I like Arnold Render for what it is, "a beautiful pure Brute Force Render that create very good quality images", and have been using/testing it for 1 year, I can't fit him in my projects because of his higher render times for my taste. I am more happy now with it because the alShaders(shader developed by Anders Langlands) has some nice optimizations that makes it render times got much more acceptable, but even so it still the slowest of them.

I would like to open a little parenthesis here to mention what I hear from friends of mine who was big users of Vray in Architectural projects. Now a days they all switched to Corona Render. They say it is more fast then Vray with same or better quality(it seems Corona have all the optimizations up to these days, like Russian Roulette and others...). For now I can't test it in Maya, it still under development, and I don't know how well he does in Animation, of course he still does not have all the many features the above renders have support such as skin shaders, hair, volumetrics and many others features crucial to the standards of big vfx productions of our time...

So that's it for now, more over I will add few more lights and shaders for the other objects and see how it's going to behave.

Feel free to leave your comments and questions many thanks,
Antonio Neto.

Render Comparisons part 2 - Complex Scene:
http://netocg.blogspot.com.br/2015/04/renders-comparison-part-2.html


Additional notes updates:
I've spook with Vlado from Chaos group about the Russian Roulette technique, and he pointed me out this:
In V-Ray 2.x, this was controlled by the adaptive amount. In V-Ray 3.x, it is completely automatic depending on the type of ray and the situation in which the shading evaluation takes place - the user shouldn't have to worry about any of that.

1 comment: