Lux rener vs cycles

Because a point light is, as you say, infinitely small there’s exactly zero chance one will randomly hit it. Thus it needs to be handled specially, with rays being explicitly connected to it. Thus in a sense it’s impossible to miss (well, not quite).

With a finite-sized light, the surface of the light is sampled at random. If it’s a sphere there’s it will try sampling the “far side” of the sphere and not just the near side, which reduces efficiency.

MLT can compensate to some degree, but unless you have geometry all around, it’s best not to use spherical light sources.

But if the lamp is real tiny, then more likely than not, the samples that hit random locations are still not going to be that far apart from each other, there’s still not going to be that much random area that a sample could possibly land in.

I can understand with real big lights, but I was just taken aback by the highly jarring differences in noise-level due to a lamp size difference that wouldn’t create that much of a difference in terms of what the camera would see if the lamp was in the field of view.

And why is it that you’re suggesting that Luxrender doesn’t sample the side of the lamp facing the incoming direction of the ray, it almost seems backwards.

Nice progress. Bit excessive dispersion, so hard to judge the color quality in the caustics.

For reference here’s 8h30m worth on my i7 870 (4 threads only), with a bit more sane dispersion values (0.0135 Cauchy B), rendered using LuxRender 1.3.1 with default settings (MLT, bidir 32/32):


The time statistics at the bottom is skewed by the fact that I managed it from my desktop pc, which I then promptly put into sleep mode. As you can see from the samples per pixel stat, the bulk of the rendering was done by my rendering slave.

This is definitely a scene which MLT does well on. I’ll see if I can do a Sobol comparison, for fun :slight_smile:


Here’s a Sobol version, again rendered on my slave (4 threads) but for slightly longer, a tad over ten hours.

Looks like we have some issues with the Sobol sampler, not sure if that’s expected (I haven’t looked into the qualities of the Sobol sampler) or a bug. I’ll show it to Dade anyway :slight_smile:

Note I should have said “also”. That is, LuxRender samples the whole light surface, not just the part facing the position being lit. It does so because it does not know before sampling which parts of the light surface face the position being lit.

Thus using a light surface which has significant area NOT facing the direction you want to light up will reduce efficiency, as all the light samples falling on the dark side will be wasted, essentially.