Ray marching
Jump to navigation
Jump to search
The topic of this article may not meet Wikitia's general notability guideline. |
In the field of rendering (computer graphics), the term ray marching denotes methods in which simulated ray (optics)|rays are traversed iteratively, effectively dividing each ray into smaller ray segments, sampling some function at each step. These methods are often used in cases where creating explicit geometry, such as triangles, is not a good option. The 1989 paper Hypertexture[1] by Ken Perlin contains an early example of a ray marching method.
Examples
- In volume ray casting|volume ray marching, each ray is traced so that color and/or density can be sampled along the ray and then be combined into a final pixel color. Common examples are medical imaging and rendering of clouds.
- In SDF ray marching, or sphere tracing[2], an intersection point is approximated between the ray and a surface defined by a signed distance function (SDF). The SDF is evaluated for each iteration in order to be able take as large steps as possible without missing any part of the surface. A threshold is used to cancel further iteration when a point has reached that is close enough to the surface. This method is often used for 3D fractal rendering[3]. As powerful gpu hardware became more widely available, this method was popularized by the Demo Scene|PC Demo Scene and Shadertoy|Inigo Quilez.
- When rendering screen space effects, such as screen space reflection (SSR) and screen space shadows, rays are traced using pixel buffers containing depth and surface normal data.
References
- ↑ Perlin, Ken (July 1989), "Hypertexture" (PDF), Computer Graphics
- ↑ Hart, John C. (June 1995), "Sphere Tracing: A Geometric Method for the Antialiased Ray Tracing of Implicit Surfaces" (PDF), The Visual Computer
- ↑ Hart, John C.; Sandin, Daniel J.; Kauffman, Louis H. (July 1989), "Ray Tracing Deterministic 3-D Fractals" (PDF), Computer Graphics
External links
This article "Ray marching" is from Wikipedia. The list of its authors can be seen in its historical. Articles taken from Draft Namespace on Wikipedia could be accessed on Wikipedia's Draft Namespace.