title: What is the difference between ray tracing, ray casting, ray marching and path tracing?
body: <p>As far as I know, all the techniques mentioned in the title are rendering algorithms that seem quite similar. All ray based techniques seem to revolve about casting rays through each pixel of an image which are supposed to represent rays of real light. This allows to render very realistic images.</p>
  <p>As a matter of fact <a href="https://github.com/janekb04/CpuRaytracer" rel="noreferrer">I am making a simple program</a> that renders such images myself based on <a href="https://raytracing.github.io/" rel="noreferrer">Raytracing in one Weekend</a>.</p>
  <p>Now the thing is that I wanted to somehow name this program. I used the term “ray tracer” as this is the one used in the book.</p>
  <p>I have heard a lot of different terms however and I would be interested to know what exactly is the difference between ray tracing, ray matching, ray casting, path tracing and potentially any other common ray-related algorithms. I was able to find some comparisons of these techniques online, but they all compared only two of these and some definitions overlapped, so I wanted to ask this question about all four techniques.</p>