Monday, August 20, 2018

ray tracing vs. ray marching vs. beam tracing vs. path tracing

ray tracing vs. ray marching:
https://www.quora.com/What-is-the-difference-between-raytracing-and-raymarching

beam tracing:
https://en.wikipedia.org/wiki/Beam_tracing

path tracing:
https://chunky.llbit.se/path_tracing.html

update 4/2/19
love this description:
from here: https://www.dusterwald.com/2016/07/path-tracing-vs-ray-tracing/
linked from here: https://www.extremetech.com/gaming/288758-new-path-traced-shaders-make-minecraft-look-amazing?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+ziffdavis%2Fextremetech+%28Extremetech%29

Summary from extremetech re:Sebestian Duserwald's description:

[I]n ray tracing a ray is sent out from the virtual camera into the scene and traced until it intersects with a solid body. At this point a ray is cast to each of the light sources in the scene to calculate illumination and surface shading is calculated for the intersection point. If the surface is transparent the ray is sent out further into the scene, possibly at an angle to simulate refraction. If the surface is reflective a ray is sent out at an angle away from the object…
[A] path tracer is like a ray tracer on steroids. Instead of sending out one ray it sends out tens, hundreds or even thousands of rays for each pixel to be rendered. When it hits a surface it doesn’t trace a path to every light source, instead it bounces the ray off the surface and keeps bouncing it until it hits a light source or exhausts some bounce limit. It then calculates the amount of light transferred all the way to the pixel, including any colour information gathered from surfaces along the way. It then averages out the values calculated from all the paths that were traced into the scene to get the final pixel colour value.
Path tracing can be used for effects that ray tracing still has to fake, according to Dusterwald