7
$\begingroup$

I have noticed that some lamp types result in less noise than others. For example, a point lamp gives less noise than a mesh lamp (rendered at 10 samples):

enter image description here enter image description here

Here is the blendfile used for this test.

Which lamp types give the least amount of noise and why?
What is the technical explanation of how these lamps are calculated?

$\endgroup$
  • $\begingroup$ I guess I could look in the blendfile, but I am lazy. Is caustics on or off? $\endgroup$ – Gunslinger Dec 23 '13 at 22:59
  • $\begingroup$ @Gunslinger Caustics are on, though I don't think that they would affect this particular scene very much. $\endgroup$ – gandalf3 Dec 23 '13 at 23:16
  • $\begingroup$ You are right, I'm thinking about blender.stackexchange.com/questions/5416/… $\endgroup$ – Gunslinger Dec 24 '13 at 14:26
2
+100
$\begingroup$

Generally, a high view factor between your scene and the lamp you use makes sampling smoother and less noisy, but also reduces the contrast in your scene.

Therefore, point lamps and sun lamps are relatively inefficient, meshlights and other lamps with a significant and homogenous surface area are more efficient and ambient light from an environment map (that has a low contrast or at least not only small points of light on it) is the most efficient lighting source.

While the lamp choice has relatively significant effects on the noise produced in combination with glossy and glass surfaces (especially with caustics enabled), the influence is smaller with matte surfaces.

The "Multiple Importance Sample" option in materials and lamps optimizes the sampling for small view factors and thereby (partially) compensates for the inefficiencies created by them.

$\endgroup$
  • $\begingroup$ How do you account for the point lamp being less noisy than the larger mesh lamp? $\endgroup$ – gandalf3 Dec 27 '13 at 22:43
  • $\begingroup$ Here's your bounty :) This answer is the closest to what I was hoping for, but it still doesn't really answer my question completely. Could you add more info on the reasons point lamps and other lamps seem to result in less noise? $\endgroup$ – gandalf3 Dec 30 '13 at 22:48
2
$\begingroup$

Point lamps tend to be less noisy because they're discrete. I.e. the ray either found the lamp, or it didn't, whereas with a mesh light, a ray can find one of any number of different parts of the mesh light, each of which will produce a slightly different result.

If you're familiar with the single-double-slit experiment in physics, it might help make more sense. If you're not, I can explain very briefly: think of a machine gun randomly spraying bullets at a bullet-proof wall that has a single vertical slit in it. Then imagine the pattern that the bullets will make if they are able to go through the vertical slit and hit the back wall.

If you have a very large slit, then the pattern on the back wall will be large and indistinct. There will be generally more bullets in the middle and it will fade off toward the edges (where bullets are less likely to hit). It will also take a LOT of bullets to fill in that area behind the open slit. If you have a very narrow slit, then the few bullets that are able to make it through will make a much more distinct pattern/line on the back wall.

(Warning: very simple explanation following -->) When Cycles is trying to determine the color of a point on a surface, it sprays rays (like bullets) to see what they hit. If they hit a light source, then the surface is illuminated. The light source is a little bit like the slit. If it's very large and easy to find, then it will take a lot of rays to resolve the pattern. If the light source is small, then the few rays that hit it will be exactly right, and the pattern will converge more quickly (because rays that don't hit the light are relatively easy to discard).

SO, long story short, if you have point light source, then it's like having a slit that is exactly as wide as the bullet going through it. This means that you only need a few bullets to make it through the slit before you get a nice clear line on the other side. With the point light source, you need fewer rays to hit it, so it isn't as noisy.

That being said, the discrete nature of point lights makes it really hard for them to give nice soft shadows. The "size" of the point light is basically a way for Cycles to make a point light give soft shadows by making it bigger...like a mesh light.

Computationally, there might be something about point lights that makes them easier to calculate, even though they have "size," but I don't know anything about that side of things.

Hope that helps!

$\endgroup$
  • 1
    $\begingroup$ It's the "something about point lights that makes them easier to calculate" that I want to know about.. $\endgroup$ – gandalf3 Dec 27 '13 at 23:20
  • $\begingroup$ Yup, I surmised as much... unfortunately, it's not something I know about ;-) I've wanted to hunt down a proper answer, but I haven't had the opportunity, yet. $\endgroup$ – Matt Dec 30 '13 at 20:53
0
$\begingroup$

I think you are not correctly understanding the mechanic of Cycles. Cycles itself doesn't generate noise. Cycles generates a lot of rays from camera, every ray collides with some surface. Then a special light distribution function determines how to reflect this ray and how to calculate returning value. There may be a lot of such ray bounces and on some types of surfaces one ray hit may produce a lot of "sub-rays" reflected not by ideal angle (diffuse BRDF, glossy BRDF with non-zero roughness, etc).

Well there is a random distribution for sub-rays like in real physics. Except for non-rough glossy surfaces each ray may return high value from light source, so they give high value to the point of surface from which they were launched, but it is random-generated behaviour.

Try to change the Seed in rendering settings (panel "Sampling"), then do per-pixel difference between new and previous pictures and you will see. Lot of work with Cycles is to determine balance between values for sampling and light paths, and rendering time for specific scene. You will have a very smooth picture using 200-1000 samples per pixel but about day or two for rendering for example. But you cloud render 4-5 pictures with 20 samples and different seeds, multiply them and you will have almost same smooth result.

About specific lamps. I think there is old-style equation for point lamp, based on calculating angle between reflected ray and direction to lamp from surface point that was hit by ray from camera. Well, it produces sort of solid result, but it is not Cycles style. Look at examples, almost all of them are using mesh lights (mesh with Emission BRDF). It is very useful, because you could build not imitating light rig but physically correct light system. Imagine for example light system based on daylight emitting from exterior through windows into interior. It is amazing: just five years ago you didn't have correct way to build such rig because area lights weren't adequate.

Sorry if tl;dr, I tried to give explanation, not just solution.

$\endgroup$
  • $\begingroup$ Thank you @stacker. English isn't my native language, but I'm trying to do my best. $\endgroup$ – Daniil Romanov Dec 22 '13 at 10:31
  • $\begingroup$ Thanks for your explanation :) I understand how cycles works, sorry if my question was unclear. I want to know more about what is different about the way e.g. point lamps are calculated that makes them produce a render with less/more noise compared to other lamp types. $\endgroup$ – gandalf3 Dec 23 '13 at 0:21
  • $\begingroup$ Ok. As I said, for point lamp there is one old monotonic function which calculates luminosity using just an angle between two vectors: 1) ray from camera reflected by surface and 2) direction to light source. Sometime it includes intersection with other surfaces (to produce shadows) and distance to the light (for the attenuation). There is no way that such equation would produce any noise when surface is smooth. Noise on pictures was produced mostly by secondary light bounces (thanks to the mechanic of Cycles). It is better not to look for "less noice lamp" but for "scene rendering settings". $\endgroup$ – Daniil Romanov Dec 23 '13 at 12:23
  • 1
    $\begingroup$ The majority of your answer explains that Cycles does not directly introduce noise, which is not relevant to the OP's question. Nor is the distinction between Cycles directly producing noise (by introducing it) and indirectly producing noise (by not being done yet). $\endgroup$ – Matt Dec 23 '13 at 18:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.