User:Heyx3/sandbox

From Simple English Wikipedia, the free encyclopedia
Real-time ray-tracing
Terrain rendered in real-time on the GPU using the Manbil framework.
Some land, created with GPU real-time ray-tracing.
Created by:William Manning
Creation Date:2014

Real-time Ray Tracing is an area of computer graphics that draws 3D shapes by shooting little beams of light, called rays, onto the shapes to create an image of the shapes in a small fraction of a second. It requires more powerful computers than the usual way of drawing 3D shapes (by turning the shapes into triangles and placing each triangle on the screen one at a time). However, it can also result in more beautiful images than the "triangle" way.

Doing Ray Tracing in real-time, where an image can be created in a few milliseconds, only recently became possible. This is thanks to technology getting more powerful and programmers creating smarter ways to do the ray-tracing.

Applications[change | change source]

The most common use for real-time ray tracing is video games, because they need to use the most advanced technology possible in order to create more interesting and fun experiences.[1] Because they demand good performance, few games today use ray-tracing. However, in a few years certain kinds of ray-tracing will be very common. Ray-tracing in video games is nearly always done with the GPU because all the other parts of drawing the game are done with the GPU as well.

There are other uses for real-time ray tracing. For example, some types of electronics can scan parts of nearby 3D objects, and often the scanned data may be rendered with ray-tracing.[2]These other uses are often done with the CPU because the CPU is easier to work with and the performance requirements aren't as big as with games.

Forms of Ray-Tracing[change | change source]

The idea of ray-tracing can be applied to several different graphics effects, not just for the creation of the entire image. Because they are more limited, these effects are sometimes used for video games. They are not often used for other types of 3D programs, which generally don't need to care about having special effects.

Particles[change | change source]

Video games often use billboard particles, which are many small colored rectangles drawn in large groups to show effects such as fire, smoke, and rain. However, this type of particle has problems. For example, in order to work correctly the rectangles always have to be turned to face the user, which can look bad sometimes. As real-time ray tracing becomes more common, game makers can start to draw actual, full 3D gases in real-time by ray-tracing through the 3D gas.[3] This effect does not have any noticeable visual problems like billboard particles do.

Reflection[change | change source]

Reflection is difficult to draw on 3D objects. One new way of doing it is to trace rays from each shape onto other shapes in the program to see what each shape should reflect.

Global Illumination[change | change source]

Global Illumination is a very complicated graphics effect that changes light and shadow in the program based on other nearby shapes. Just drawing hard shadows is not a difficult problem in 3D programs, but Global Illumination does more than that by taking into account the effect of 3D shapes themselves being a light source. All shapes are a source of light because all shapes have some light bounce off of them.

Recently, a way to do this effect in real-time has been created; it is called "Voxel Cone Tracing".[4] The idea is to take all the 3D shapes in the game (which are normally made up of triangles) and turn them into a shape made of small cubes, called a voxel grid. These voxels can be easily ray-traced with thick rays, called cones. The voxel cone-tracing system can then be used for Global Illumination because it only needs to trace a few cones every time the game has to be drawn. The effect is very new, but it has become very important and will be used for many games in the near future.[5]

See Also[change | change source]

References[change | change source]

  1. Voica, Alexandru. "Practical techniques for ray tracing in games". Gamasutra.
  2. Linsen, Lars. "Splat-based Ray Tracing of Point Clouds" (PDF). 22nd International Conference in Central Europe on Computer Graphics, Visualization, and Computer Vision.
  3. "NVIDIA FlameWorks".
  4. Crassin, Cyril. "Interactive Indirect Illumination Using Voxel Cone Tracing".
  5. Walton, Mark, Nvidia Takes on Next-Gen Lighting with its VXGI Global Illumination Tech {{citation}}: Text "web" ignored (help)