Previous | Next --- Slide 3 of 71
Back to Lecture Thumbnails
alyssal

I didn't know that we could achieve photorealism with rasterization! Do you have any examples, or something that comes close?

motoole2

First, I'll preface this comment by saying that producing photorealistic computer graphics is still hard.. really hard. The computer-generated (CG) images from blockbuster movies are still not perfect, and it is especially hard to make CG faces look realistic and not a creepy, alien version of someone's face (our brains are very good at detecting faces). So it depends on our definition of photorealism.

One definition of photorealism is to accurately solve the rendering equation, so that we can accurately reproduce all the interesting ways that light interacts with real-world scenes (including inter-reflections, specular reflections, caustics). Now a ray tracer does this through a long process that involves shooting out millions upon millions of rays from a camera. One trick is to precompute some of these light transport effects and rendering the results on the fly with a GPU.

byungjul

is ray-marching is one of techniques in ray-tracing? or is it separated one?

motoole2

They are similar in that both ray marching and ray tracing intersect rays with geometry, but they differ in the approach.

If our scene is composed of a bunch triangles, then we typically compute intersections via some ray tracing procedure: for every triangle, we compute an intersection between a line (ray) and plane (triangle), and test if the intersection point is contained within the triangle. (Btw, there are techniques to computationally speed up the ray tracing procedures, which avoids testing all triangles.)

Ray marching involves testing whether an intersection has occurred at each point along the ray. This process involves starting from one point on the ray, testing for intersections, stepping to another point on the ray, and repeating as many times as necessary. This is a really inefficient way to compute intersections with triangles, compared to a ray tracing procedure. But ray marching comes in handy when dealing with geometry expressed in terms of implicit surfaces, where conventional ray tracing might not be possible.