-
Notifications
You must be signed in to change notification settings - Fork 964
Description
A thought I haven't been able to verify in the code yet: I wonder if it is possible that the Book 3 indirect lighting & material changes have something that might cause occasional "hotter pixels" generated than the approaches in the previous books.
With the random, unweighted scattering approach in the first two books, the images as a whole are somewhat noisy with super-low sample counts and improve by increasing the sample count, as expected. However, even from fairly low sample counts onward, the noise looks fairly smooth and uniform across the image.
With the direct-lighting-only, with the probability density functions pointing at the light source as per early parts of Book 3, you get ultra-smooth images, even with super-low sample counts. There's no visible noise pretty much anywhere. Of course this comes with the caveat of lacking any indirect lighting.
With the mixture-pdf lighting, and the other changes in materials at the end of the Book 3, there seems to be a drastic change in the noise profile. It seems like there's suddenly a significant amount of isolated extra-hot pixels, that were not present in previous renders. These can be white or colored, and they "jump out" visually a lot more than the noise in the previous images.
I'm attaching a zip of a progression, rendering a Cornell box with one Lambertian box and one metal box, at samples-per-pixel counts of 1 through 1024, doubling between each image. Observe the hot pixels at various sampling levels: white pixels, red pixels, green pixels, looking distracting in their surroundings. Curiously enough, even at 1024 samples per pixel, you can see those surprise extra-hot pixels here and there. (Sadly due to implementation, these are not a progression of the same exact render adding more iterations; images have been generated as separate runs with a different spp parameter provided as an argument)
progression.zip
For comparison, I checked out my codebase to an older commit - pre-book3 - and did a similar series of renders at varying spp levels. In this zip, you don't really see hot pixels standing out at beyond say, 8 samples per pixel. The noise profile is uniform across the board, and at least to my personal taste, even aesthetically pleasing from say, 128 spp forward.
progression2.zip
While I understand that denoising can be an extensive topic unto its own, and not in the scope of this book series, I do wonder if there could be some bug somewhere in the Book 3 causing the drastic change in noise profile. At least to my personal taste, a uniformly-noisy surface does not look bad, but hot pixels easily distract and become a focus for the eye.
This is probably at least somewhat adjacent to #637