I'm currently working on an experimental raytracer which is currently presenting me with a strange artifact that I can't explain.
If you look at the first attached file, you will see an example render (1 sample per pixel). On the right-hand side, there is a noisy band in line with the light source (red sphere). I've added arrows to point out the noisier areas.
When I increase the number of samples - the noise is averaged out and disappears, but has a blurring effect (visible in the second attached image).
Moving the light source will move the artifact as well. It always appears in line with it, moving across the x axis
Has anyone seen this sort of effect before?
3 replies to this topic
Ad:
#3 Members - Reputation: 690
Posted 14 November 2012 - 10:28 PM
I've seen something very similar to this this, turned out to be precision issues with shadow rays, that is is the ray was intersecting with the surface it was shot from, even though it should be starting from the surface, adding a small offset/bias fixed the problem. it might be a similar issue in your case.
#4 Members - Reputation: 107
Posted 15 November 2012 - 06:15 AM
I've never seen this before. What does the code look like?
The render is written in Haskell. I'm not sure if many people here are too familiar with it but here's an intersection routine for spheres: https://gist.github.com/4078346
I've seen something very similar to this this, turned out to be precision issues with shadow rays, that is is the ray was intersecting with the surface it was shot from, even though it should be starting from the surface, adding a small offset/bias fixed the problem. it might be a similar issue in your case.
I suspected floating point precision and already have a minimum distance I will allow for intersections (epsilon in the sample above). I've tried increasing it with no effect. How similar was your example to this one?






