Most appropriate rendering engine for my short film?

Hello Blender Community,
I know that it mostly boils down to the user’s preference when it comes to picking renderers (internal and external) for a project. But, obviously, some renderers work better at rendering interior scenes than exterior scenes and vice versa… Also given the fact that some people’s computers have a better cpu or graphics card than others.

I am planning on making a short film in the (very) near future, and, obviously, rendering speed matters… a lot! I have used the Blender Internal, Yafaray, Indigo, Luxrender, and most recently, Cycles engine. (Of course, this doesn’t mean that I’m even close to mastering them. My deadline is quite lengthy mostly because I’ve taken into consideration how much learning will be involved. This is one of the reasons why I’m creating a short film. ) Out of the renderers that I mentioned above, my personal favorite is Luxrender, but Cycles is catching up fast.

The Computers I’ll be using for rendering have better cpus than graphics cards.

I am going for semi-photorealism. The Environment (Setting) I’m going for is a lonely, cold, wet, night in a future mega metropolis. (Think of Blade Runner and/or HALO 3: ODST… that should paint a picture in your head! :slight_smile: )

I want the streets and alleys to be wet, cold, and gloomy :
The protagonist is in this environment… The breeze is carrying small droplets of rain that hits his face. Steam is coming from the street pipes. Puddles of water lay here and there… etc.

So, there will be a whole bunch of reflections from the puddles of water. 80% of the short film will be in an exterior environment. What rendering engine would you recommend?.. Luxrender, Cycles, or some other that I might not of tried out before…

Basically:
Best Speed from using CPU
Semi-Photorealism
Dark Environment
Exterior Scenes
Volumetric Lighting
A WHOLE LOT of reflections (but faking it and matte painting will, hopefully, take the place of most reflective materials.)
I hope ya’ll can help me,
Jacob

Your requirements are best matched with Luxrender unless you got an Indigo License.

Fast CPU and network rendering.
Controllable integrators from DirectLighting to Bidirectional Pathtracing.
It has MLT and works good solving complicated equations for lighting, although I tend to say Indigo’s better at that.
The downside of both Luxrender and Indigo is that you can’t really fake a lot or take shortcuts because they’re physically correct.

BI would be a great choise. At night you don’t necessarily need GI but you could only use approximated gathering methods, because for that type of scene you absolutely need indirect lighting, which in combination with reflections is not working too well in BI.

You could also look at Thea. It’s a very versatile renderer, if buying a license is an option.

Yafaray would be a very good choise too for animation, however it lacks quite a few features and isn’t really too stable. Depending on what features you need and how “professional” the project is and stability is required it might be a valid choise.

I want it good quality, But! at the same time, most of the short film will take place in an outdoor, nighttime environment. BI might just be the best for this project. I don’t have the luxury of multi-core cpus… yet! And with BI, I’ll be able to fake a good bit of it. I’m going to run a few more tests with BI, Luxrender, and Yafaray.

Any other suggestions? …Pros & cons of these and other engines?

For your requirements your best bet is Blender Internal until they get everything incorporated into Cycles. Luxrender and Yafaray would be to slow for rendering times as compared to Blender Internal. When Cycles gets up to speed, it is supposed to be faster than Blender Internal, Luxrender, and Yafaray.

Now if you want to spend some money go with Renderman.

Hello dleri,
Thanks for the information. I haven’t looked into the Cycles development much (but I should), but I believe that they were going to use it in Mango. I know that January was their “Coder Sprint”, if that includes Cycles or the camera tracker, or possibly both. From my deadline that I have created, I need to start rendering in August, but knowing what engine I’ll use to render the short film will help me out immensely.

My planning doesn’t involve any spending of money, except for in the extreme case of me having to buy sound snaps. But the next short film I create, I’m going to be more open to buying software or updating my hardware. I haven’t looked much into Pixar’s “standard” but there still might be a possibility of buying it in the future. I do have a question though about it, what would be a good definition of “production” syle rendering?

Where did you read this? Faster than Blender Internal?! Are you sure?

There’s nothing to read, as Cycles is GPU accelerated and BI is known to have a… not very optimized code… it’s a scientific fact that cycles is faster - as a matter of fact it already is faster.

Furthermore Yafaray has no GPU acceleration, and Luxrenders acceleration method is working different to cycles so it’s ways slower.
This might change in the future though, as Luxrender is incorporating Smallluxgpu, however the production target for Cycles and Luxrender are completely different ones.

I’m pretty sure that cycles isn’t faster than blender internal for simple stuff with good resolution. Sometimes I might just want a simulated gloss and with cycles I have to do a real reflective gloss that takes way longer than in BI. I’ve used both, and even with the Blender 2.62 RC1, cycles takes about 100x longer to render than BI… Better quality, but for animation the quality isn’t worth it, cause BI can do a pretty good job… What am I missing here?

To use the GPU instead of the CPU to render?

I can’t use GPU, but I’ve seen comparissons of times between the two and BI was faster, even with Importance rendering. Also Cycles doesnt seem to render subsurfed meshes as well… I have to subsurf it much more for it to work like BI… Personally, I think BI should stay alive, unless Cycles really covers everything BI does in the same time (and even with CPU, cause not everyone’s Graphic card works for this). Cycles seems like a great idea, but it’s just starting… I hope they leave BI for a long time…

I have more cpu power than gpu, so I believe I’ll just use the BI since I’m familiar with it more. But Cycles has much potential, I can’t wait to see where it goes. I assume that Cycles (cpu) is slower than the BI, but on the other hand, Cycles (gpu) is much faster than the BI. Am I right?

A Ci7-2600k can handle around 80 GFLOPS (10^9 floating point operations per second) and has to use the slow system bus to access data in the RAM (~20GB/s for DDR3)

A GTX580 can handle around 1900 GFLOPS and can use it’s on-device bus and memory with around 180-200GB/s.

Easy to do the math for the brute calculation power, not taking the speedup from on-device operations into account.
And Cycles isn’t even optimized yet, there’s much more to get out of it.
And the goals are indeed to make Cycles fit for animation, replace BI and fully support OpenCL.

You can turn it however you want, BI is hoplessly outdated. Pretty much everyone studying computer sciences can write a similar raytracer.

When cycles emerged I too thought that BI has to be kept alive as long as possible fearing not to have a good animation renderer, but the project turns out to be just a prefect match for Blender and now I say, let BI just die off, better focus development power on cycles.

Second this, i´ve read in #blendercoders brecht care about cycles performance in the next developing phase during 2.63 bcon.
This start after 2.62 is out next week or so. Brecht commit only a few bug fixes in the last weeks and i think he has prepared something for us. :slight_smile:

Cheers, mib.

I saw that too: http://code.blender.org/index.php/2012/01/cycles-roadmap/