Search code examples
renderintersectionraytracingnoiselight

Why is my Monte Carlo Raytracing so noisy?


I have implemented global illumination using the Monte Carlo method, using the scratch a pixel tutorial as a guide. My final image renders very noisy! The example below is at 64 samples, I have previously used as high as 512 and its still very noisy.

Any ideas what the problem could be?

64 Samples, 1 Bounce

Edit: Here is the output with 128 samples and 16x Super sampling,resulting in 2048 samples. Still lots of noise!

enter image description here


Solution

  • Path tracing is pretty noisy; it's the nature of the algorithm. Consider this example from Wikipedia:

    enter image description here

    The top left image is at 1 sample per pixel, and from there (left to right, top to bottom), each following square doubles that. So the bottom right square is at 32768 spp.

    There are other, related algorithms that can reduce noise for the same amount of computation: