NOX, Cycles Mitsuba, yafaray (now lux) comparision

Scene setup - blender file:

Renders with render times:

- right click ->open image to see bigger res (but no 100% though)
I tried to make similar setup for all engines.
NOX seems to be slowest, but MLT should work better with caustics right? It’s plugin works ok, and is easy to setup. I guess it’s shader is based on microfacet material.

Cycles, not so slow and have great integration. It seems that areas lit with small light and big intensity are very noisy (lack of MIS problem maybe), versus noise free region lit by big area light. Material based on diffuse and gloss closure = phong shader?

Mitsuba is freaking fast. And also second render have bigest resolution with - PT 128 samples, and Low disperancy sampler. Third render with microfacet material and independent sampler, 256 samples. But plugin is broken so you have to work in notepad to edit it scene.

Update2 (do not read):
With yafaray - PT 32 samples, 2AA, 2Pases, Coated phong shader, 640x800 px - 9min render.
After fixing emitters i have 7,5 min with 16 PT samples. Results seems comparable to mitsuba which is good. But 2 buts:

  • longer result
  • noise on mitsuba seems even on all image surface, while in yafa there are areas with smaller noise, and areas with bigger noise (face area). that is not cool, cos I will have to render longer just to clean those problematic areas. But I guess, on the other hand, if I set error margin correctly i should fix only those noisy areas, in next passes, right?

lux - PT, Low discrepancy sampler 3.5 min. I always thought it is impossible to get good result in lux below 20hours :wink: Now I’m proven wrong.
I give it second place after mitsuba. Yafaray seems close, but it’s glossy coated phong material looks bit less natural that microfacet shader of lux, mitsuba or other engines.
It is big surprise to me to see how fast PT in lux is. And including all features of lux it is very nice renderer for simple scenes like this.

What was the value you had for minimum bounces in Cycles?

I just did some tests today that showed that raising the minimum bounce value could eliminate noise more quickly in many cases at the cost of a minute or two of extra rendering time (and also reduce the amount and longevity of fireflies with various materials).

Though I’m surprised of how different the NOX render looks after 12 minutes, there’s still an area on the side that has a significant amount of noise remaining though the lighting may be the result of a tonemapping difference.

may be the result of a tonemapping difference.

Or camera behavior, AFAIK NOX uses realistic camera simulation.

I am actually quite surprised how quick Mitsuba is.

Too bad he does not join the Blender team to dev an external renderer for Blender.

However it is nice to see how Cycles performs time wise here considering what rendering approach it uses.

Yes, cycles is quick, but have you noticed the noise in the background? You have to render it for a longer time to get it noise free. Maybe even longer than NOX did.
I love the Cycles way of handling materials, but it takes usual a long time to get noise free.

Ok Ace Dragon, I increased min and max bounces to 5 and 10, no caustic, 128 passes. So cycles and NOX for comparision again, with same render times 6 min each:

sadaj72 - about camera I only multiplied 100x emitter intensities, to compensate darkness.

cekuhnen - yep mitsuba seems very fast even on my old cpu. It could work for animation quite good imo.

RickdeWolf - yep, but it is hard to tell when it is noise free, so I prefer to post render with same render times, rather than wait until they are clean.

mitsuba is neat, has awesome network render settings. when the render api is done, to have node based materials + mitsuba Oooooh!

I bet Cycles will get faster later…
I’d really like to see some quick render methods for Cycles, like photon mapping for example…

Hmm… tests like this seem a little pointless to me…who really tries to render a box room with just a shiny plastic bust in the middle?

much more interesting are realworld tests with a reasonable number of objects, a range of materials, maybe animations too… an exzmple with cycles… a simple scene might render and be noise free @ 500 passes whereas a little more complexity might soon take 4000 to clear the noise… render times of minute a frame can easily leap to 30 minutes…

Cycles gets much much slower for example as you add geometry…

Michael W, you are kind of right, but in the end it was just loose comparision. I don’t really think adding more stuff would make eg. NOX render faster than mitsuba. I was more to show what can you expect from those rendering engines.
In the end Path Tracing won’t give good results in all scenarios.

Anyway I managed to fix mitsuba exporter, so it render without error, but I have problem with materiall assigment. For interested here is fixed exporter:

It is 7z file, so delete ‘.blend’ after downloading.
Export to ./addons/ -> save preferences , and if it won’t work restart blender.

There is small problems like: material not refreshing in preview (u need to swith tab for it to refresh). But I will try to deal with it later.

btw. Anyone know how do i export scene with modifiers, so modifiers(and constraints) are applied in exported dae file, but not inside blender? (something like obj exporter have).

The cgtalk lighting challenge scenes could probably make very good test scenes. The are some with good complex lighting problems.

wow, Mitsuba looks very good.

I am not able to use it. I have set path right but still it doesn’t render anything and the console shows:

location:<unknown location>:-1

I am using mitsuba 0.2.1 and blender 2.58

mohd.itqan, bit hard to tell from such short message, but maybe u need enable mitsuba at startup (it need to be saved in user preferences)- it worked for me. Also u may try run blender as admin. I have no other ideas, sorry.

edit: tried something that was pretty sure it should work but didn’t :expressionless: will give it new try later… right now all i have is this script to bake all meshes transformations, modifiers and constraints, see you can always undo later and it seems faster than doing it by hand i think

# bake all meshes... kind of #

import bpy
for obj in bpy.context.scene.objects:
    if obj.type == 'MESH':
        data =
        temp = obj.to_mesh(bpy.context.scene, True, 'RENDER')
        for m in obj.modifiers: obj.modifiers.remove(m)
        for c in obj.constraints: obj.constraints.remove(c)
        obj.rotation_euler = [0]*3
        obj.location = [0]*3
        obj.scale = [1]*3 = temp

I tried your script with blender 2.58a and got this error

Traceback (most recent call last):
File “H:\Documents and Settings\blender-2.58a-windows32\blender-2.5
8a-windows32\2.58\scripts\addons\mitsuba\”, line 121, in render
File “H:\Documents and Settings\blender-2.58a-windows32\blender-2.5
8a-windows32\2.58\scripts\addons\mitsuba\”, line 602, in expor
TypeError: Scene.collada_export(): takes at most 1 arguments, got 2

location:<unknown location>:-1

location:<unknown location>:-1

Any ideas ?

liero - thank I will try it later - bu if I understand I need to apply all modifiers, then export scene, and then undo applying modifiers ??

@sx-1 - I had opposite error - method
needed 2 arguments so I added one. Weird but maybe because api changes or something. You need to go to file:

And simply edit line 601:
form :


I use this build so that may be the problem.
Anyway u guys heard that there will be new release of mitsuba - more speed and bump mapping.

Check-out the new update info at mitsuba. :smiley:

ooops… i should have read the previous post :o

Mitsuba is awesome indeed and I feel very proud of having made that material preview model for it :slight_smile:

How does Mitsuba prevent the usual noise problem?