Noisy behavior after camera_eye and vfov adjustments

I’m using Optix-SDK-5.1.1-linux64.

When looking at the optixTutorial demo, I noticed that if I moved the camera_eye back and changed the vfov so that the field of view should be roughly the same, the further away I got, the noisier the image was.

Is there some kind of global world extents that I’m violating? Or perhaps something else I may be missing?

My example takes tutorial3 and compares against the demo as is vs a camera_eye that is:
2x, 5x, 10x, 50x, 100x, 1,000x, and 10,000x times further away from the look_at position.

The noise becomes visible at about 50x, and it really bad at 10,000x.

This is outside my area of expertise. However, based on what you describe about the effect and my general knowledge of fixed-point and floating-point computation for graphical environments, this would appear to be a consequence of limited granularity in the underlying data representation. Accumulated error (e.g. from rounding or truncation) turns into visible noise when one reaches the precision limits of the underlying data formats.

You could confirm or refute this hypothesis by switching the underlying data representation to double precision, use of which would make the artifacts disappear if my hunch is correct (they would re-appear when even more extreme viewpoints are used, however). No idea whether Optix offers such an option.

I may have run into z-fighting. The final images look better when I switch to a scene_epsilon of 1e-1 instead of 1e-4.

[url]https://devtalk.nvidia.com/default/topic/913414/optix/how-can-optix-solve-the-problem-of-z-fighting-/[/url]

You may wish to ask optix questions on the optix forum.

What Robert Crovella said.

I was not aware that Optix, or raytracing in general, makes use of classical z-buffering. Z-fighting is just one example of what happens when one reaches the precision limits of a given data representation.

The underlying numerical issue is typically that when adding a small delta to a number large in magnitude, the result either shows no change, or the change appears somewhat random because this delta change is approximately equal to the numeric format’s resolution (i.e. is at the rounding limit). The banding in your picture is indicative of such granularity/rounding effects. Using a larger scene_epsilon presumably results in bigger delta changes (away from the resolution limit).

Thanks for looking into it. My apologies for posting in the wrong forum.

Moved to OptiX forum.
This is not really z-fighting from coplanar faces. This is shadow acne from self-intersections with the primitive the shadow ray started from.
Find more details in the thread you linked to above.