As far as I know path tracers (or super-sampling antialiasing) typically calculate the final color of a single pixel by averaging the result of all samples taken inside that pixel. This gives a nice anti-aliasing effect on the edges, however has the side effect of slightly blurring textures, because they most certainly do not have enough samples for each pixel, so samples have to be guessed with some kind of filter (like bilinear). From a mathematical point of view, averaging those samples applies a box low-pass filter to the reconstructed texture. This causes blurring.

How do path traced renderers/SSAA usually deal with this blur? Is there no way around it?

  • $\begingroup$ Adaptive sampling, more samples, gradient domain path tracing. $\endgroup$ – lightxbulb Nov 25 '19 at 17:16
  • $\begingroup$ Ideally you wouldnt average but reconstruct the signal with a slightly higher order filter than a box filter. Yeah box blurs a lot Lanczos filter not so much. $\endgroup$ – joojaa Nov 25 '19 at 18:33
  • $\begingroup$ @joojaa Thanks! So as I understand it, there's no way around other than trying better filters for the final averaging I guess? $\endgroup$ – yggdrasil Nov 26 '19 at 4:25
  • $\begingroup$ Well, i am just pointing out that if you use a strong blur as your reconstruction filter you shouldnt be supprised if you get blur as a result. $\endgroup$ – joojaa Nov 26 '19 at 6:31
  • 1
    $\begingroup$ @SimonF well if you think about it a bit its somewhat clear. Squares and sine waves dont work out very well. This is why something like a windowed sinc (aka Lanczos) works better. Hell even just switching to a triangle filter is better than box. $\endgroup$ – joojaa Nov 27 '19 at 16:04

In signal processing, it is well-understood that you cannot accurately reproduce an analog signal of higher frequency than half the frequency of your digital sampling rate. That's just how the math works. Various aspects of rendering are just forms of signal processing, so this applies here too.

So you're going to get some kind of artifact. You have a choice: aliasing or noise (aka: blur). You're always going to have some of these. Aliasing artifacts are usually very noticeable and considered quite distracting. Human vision tends to focus on motion, and aliasing artifacts almost always create motion where none existed (especially when animating). Human vision is generally much more tolerant of noise, as noise patterns don't appear to move nearly as much. Plus, our eyes have their own anti-aliasing filters that impart some noise to what we see, so we're somewhat used to it.

Broadly speaking, you deal with it by not dealing with it, because it's preferable to the alternative. Yes, you can reduce the effect of noise with better anti-aliasing mechanisms, but broadly speaking, you're still going to have noise.

| improve this answer | |
  • $\begingroup$ Thanks! That pretty much confirms what I was thinking. In the case of my question above, we are not only reconstructing a texture image and resampling it with more samples per pixel (same thing we do when magnifying it), then we are also shrinking it in the final step to make it fit the final resolution. This final step introduces additional blur I guess. $\endgroup$ – yggdrasil Nov 28 '19 at 6:06
  • $\begingroup$ "Plus, our eyes have their own anti-aliasing filters that impart some noise to what we see, so we're somewhat used to it." - source? $\endgroup$ – lightxbulb Nov 28 '19 at 8:17
  • 1
    $\begingroup$ @lightxbulb I'm not sure how Nicol's statement ties in, but with regards to just looking at a real-world scene, I think there was something in Andrew Glasner's "Principles of Digital Image Synthesis" but someone has walked off with my copy of Volume 1.... However IIRC 1) The lens acts as a low-pass filter and then, in the centre regions of the eye, the density of cones is higher than the Nyquist limit and 2) outside the central region, the cells are randomly distributed so the aliasing is remaoped into HF noise. $\endgroup$ – Simon F Nov 28 '19 at 14:51
  • $\begingroup$ @lightxbulb: I found something about it in "An introduction to Ray Tracing", in the chapter "Stochastic Sampling and Distributed Ray Tracing". In the section on Poisson Disk Sampling, it talks about how rod and cone cells are distributed in the retina. In the middle of the retina, they're packed in a honeycomb structure, which is better than a regular grid at handling aliasing. Towards the edges of the retina, the distribution mimics a poisson disk distribution. $\endgroup$ – Nicol Bolas Nov 28 '19 at 15:01
  • $\begingroup$ @Nicol Bolas This doesn't imply that it imparts noise, no? The PSF acts as a low pass filter, I can agree on that. I am not aware of noise being introduced by the human visual system however. At least not for people without defects of the visual system. Am I missing something? The distribution of the cones and rods is just your sample locations for sampling a 2d signal - so you should never get the noise inherent to Monte Carlo. $\endgroup$ – lightxbulb Nov 28 '19 at 17:05

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.