Differences between Cycles Render, Yafaray and Lux Render

Hello everyone.
I’ve just started working on my thesis that will be about differences between Rendering engines, but I’m basically new to Blender except for a little project I made for an exam.
My supervisor told me to create the same scene with Cycles Render, Yafaray and Lux Render and compare the result between the three. I’ve searched on the internet some manuals and guides, but I’m not really sure about the differences.
If I’m not wrong, both Cycles render and Yafaray are based on raytracing, but what about Lux Render? I’ve read that it is “unbiased” and it can handle the scene in a physically accurate way, but I really can’t understand what are the deep differences between these three engines and how they will affect my scene.
Can someone give me some tips?
Thanks for your time.

All three of them are raytracers (every modern non-realtime engine is). All three are physically based renderers, which means that they solve the light transport equation (as opposed to Blender Internal, for example).
The difference lies in the light transport algorithm they use: Cycles is a forward path tracer (aka unidirectional path tracer), LuxRender offers a lot of algorithms (Path Tracing, Bidirectional Path Tracing, ((Stochastic) Progressive) Photon Mapping, Vertex Connection and Merging etc.), Yafaray has Photon Mapping iirc.
Cycles is unbiased (as long as you don’t use options like clamping), Lux has both unbiased as well as biased modes, Yafaray is biased (at least if it uses Photon Mapping).
Also, of course, a difference are the supported materials etc. Moreover, they are different in lots of implementation details.

“Differences between rendering engines” is a huge area. First of all, rendering engines are really diverse, from realtime game engines (like the Unreal Engine, Unity, CryEngine etc.) over production renderers (Cycles, VRay, Arnold etc., Lux also goes into this direction) to research engines (PBRT, SmallUPBP, Mitsuba etc.). Then, you have different light transport algorithms, different materials, different lights, different camera systems…
A good starting point would probably be to understand how a renderer works internally, “Physically Based Rendering” (the book) might be good for that. In any case, you’ll need to know what they are doing before you compare them.

Lux render has multiple render algorithms
Cycles has one.

What kind of thesis is that? You seem to know nothing about rendering. Is that really a good way to start?

The fact is that I took a course about 3D modeling with this teacher in January and now I decided to do my thesis about that. The topic he gave me was this comparison between these three rendering engine, understanding in what they differ in the result of the scene and also in a theoretical way. The course I took only lasted few weeks so we didn’t have the time to study rendering engines theoretically, but he just gave us some tips on how to use blender and how to create simple things.
What I have to do now is to search on manuals and documentation about these three engines and start doing my scene knowing the theory that’s behind.
I do know something about rendering from the slides, but it’s really basic.

Yes, this is exactly what I have to do for know, but I didn’t find anything on the internet that really helped me compare these three except some user guides.
By the way, thanks a lot for sharing your knowledge.

MaryCooper, you seem to be only interested in the Nerd aspect. But, each has a distinctive look to someone simply attempting to create something. And, the preferred look is subjective of course. So to further complicate your search. :frowning:

if you want super realist glass with caustic you would choose Luxrender or Yafaray
but you have to think that render time might be very long like hours or even days to get final results

right now we don’t really have IES lamps in blender but available in Luxrender or Yafaray

Cycles will finish a render with a given samples in a certain time
which may not be the case for Luxrender or Yafaray

and don’t want to sound negative but to understand the differences between different renderer
requires a lot of render times to really compare the quality and time to render which is not easy.

anyway wish you good luck with your project.

happy cl

@ricky
Actually,

there is an addon for ies lights, it isn’t perfect but it gets the job done

I know but at the same time, I understand why,

BF is spreading themselves too thin,

Like look at how many modules they have to work with

Normally companies have a dedicated team to the render engine,UI,etc
Or a company is dedicated to the render engine(chaos group, solid angle)

The internals of renderers are usually a mix of theory, some practical tricks and lots of optimization to make stuff run fast.
In the first category, you mainly have the light transport algorithms. This part is mostly scientific papers and theses, the most notable one is probably Eric Veach’s PhD thesis. If you’re interested, I can give you some references to the notable papers here.
The second category is things like sampling methods, random number generation, applying MIS wherever possible etc. There are some papers for this as well (especially for the sampling stuff), but most of it is actually found inside the code of renderers - this is where coding skills become helpful. Things like these can usually be found in research rendering systems, I particularly like SmallVCM/SmallUPBP here.
The third category is what often makes the difference between production and research renderers - low-level optimization, memory saving, cache-aware reordering of operations etc. Cycles is a good example here, the device and language abstraction seems weird at first but is actually quite great.

So, yes - for the first two, the best introduction is probably the book I mentioned (you probably notice that I like this one a lot, it was basically how I started serious renderer coding). The third one needs a strong coding and sometimes even hardware background, but I’d say that it has the least influence on how the renderer behaves as seen from the outside, except for its speed.

Of course I do, it’s a topic I enjoy a lot and therefore I want other people to enjoy it as well :wink:

Simple.
Cycles>the rest.

It would be great!

Yes, I got that book from the library and I’m studying it right now! It’s very complete and easy to understand (we’ve studied some ray tracing theory so for now it’s not difficult to read!), so thank you!

Sorry, what do you mean by “Nerd aspect” ?
I may have been misunderstood :slight_smile:
I don’t know what my post sounded like, but what I want to do is really learn how to use Blender(and also modeling software in general) and gain knowledge under every aspect. I’ve searched for a lot of documentation that I’m studying right now, and not just for my thesis, because I want to keep studying this and working with this after my studies at the university. Unfortunately, there are many course we had to follow so each of them just gave us just few and basic knowledge. I’ve always loved to be able to do amazing things with 3D modeling softwares, and for this reason I’ve decided to do my thesis with the teacher who held this course, so that I can start getting to the heart of the matter. I know I need a lot of time and years of practice, and this is what I’ll do. For now I have three months for acquiring some knowledge and write a good paper.
This is just to clear things not for making you think that I’m just someone who’s looking for fast answers and easy work :yes:
I appreciate every single answer and critique because they make me grow in my work and they show me the right path to follow! :stuck_out_tongue:

vray = 5484968498484654 x cycles

John was joking
I was going to follow suit and make a

“cycles master race, lux render peasant race” joke but yeah

Although…

Now I am not going to claim that Cycles is as good as vray(my limited experience with it was great, no noise, never really had to deal with this “sample” issue, all fun and games)

But does vray have…
a title that starts with the letter C
Clearly C is better than the letter “V”
V is for viscous, victim,visceral,etc a pretty bad round up of words
C is for complete and… complete.

In all seriousness though,
Vray doesn’t have GPU support for some reason.

https://en.wikipedia.org/wiki/Rendering_(computer_graphics) there is a list of terms you need to be intimately familiar with, Follow down to the bottom of the page where you see references, Read them all.
Google every term you see on that page, This is your thesis don’t be afraid to treat it like one.

Really ?
Vray for Blender + Vray 3 standalone, GPU cuda renders:
http://puu.sh/i2WkC/7b88cd4e92.jpg
http://puu.sh/i2W8R/464d678987.jpg

http://docs.chaosgroup.com/display/VRAY3/GPU+Rendering

@Juha

When did this happen?

Well anyway I was talking about Vray 2(for C4d and 3ds max 2011)

So that technically means that the Blender version of Vray is superior to Cinema 4ds…

A reminder to everyone in this thread that straight-up versus/comparison threads are not permitted by our Forum Rules. The OP is asking for the technical differences between renderers. Statements regarding superiority or inferiority of one over the other have no place in this thread.