Casual Shadertoy Path Tracing 2: Image Improvement and Glossy Reflections
blog.demofox.org
blog.demofox.org
Update: it’s called a dichroic mirror: https://en.m.wikipedia.org/wiki/Dichroic_filter
You started part 1 with:
> When you see a photorealistic image that someone says is “ray traced” what they likely mean is that it is “path traced” ...
well, you just became my new hero. Thank you for saying what is my pet peeve ever since nVidia started using the term ray tracing for some stupid reason that I will never understand.
> Path tracing is a type of ray tracing
contradicting itself.
You can use that for path tracing, but not only.
Of course, the long-term goal is to have real-time path tracing, but that does seem to be a ways off still.
Raytracing accurately describes GPU hardware, it's not a fixed function path tracer, although you can use it to implement a path tracer (Quake 2 RTX for example). Developers talk about using it for non-graphics use cases like physics, AI and audio even.
NVIDIA’s RTX hardware provides only ray tracing capability. User software is required to add any path tracing, and path tracing is always built using ray tracing, whether you use RTX or not. The choice to use “ray tracing” when referring to RTX is deliberate and accurate. Calling it “path tracing” would be wrong and misleading. But it’s perfectly fine, and encouraged, to use RTX to make path tracing renderers and games.
“Ray tracing” has overloaded meanings. It means any time you literally trace a ray to test the visibility between two points (which path tracing does) and it also, depending on context, refers to Turner Whitted’s recursive shading model, and/or a ray tracing renderer that forks a ray path at reflection & refraction events.
“Path Tracing” also has overloaded meaning, and it tends to most commonly refer to the more vague meaning of any time you do global illumination using ray tracing. The more precise meaning of the term is referring to using a single high dimensional number, one that represents a connected path of rays, as a single sample in the space of the rendering equation. It’s a way of thinking about integration of the rendering equation that is analogous to what an individual photon does.
The strict form of path tracing is a single path that connects the camera or your eye to a light source. Almost nobody actually does that, because it’s more efficient to do direct lighting, or “next event estimation” at each bounce along a path.
So, “path tracing” is almost always used now in the more hand-wavy meaning that indicates there’s some global illumination. “Ray tracing” can also mean tracing rays on the way to global illumination. There is no distinct or hard line between these terms, but a good rule of thumb is if you’re doing global illumination, use “path tracing”, and if you’re testing visibility between points with a ray for any other reason, or referring to the mechanics of tracing one segment of a longer path, then use “ray tracing”.