• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

What is Ray Tracing?

Imagine a ray of light emanating from your eye, passing through your screen, and striking an object in a computer-generated scene. From there it may be absorbed, or it may reflect, refract, etc. Eventually the ray is absorbed by some object, or leaves the scene, or enters a light source, or gets reflected and re-reflected some number of times, etc.

Imagine many such rays (each emanating from your eye) -- such that one ray passes through each pixel on your screen.

By tracing each ray backwards a color and brightness can be assigned to each pixel of your screen, producing a very realistic image of the scene.

This is obviously a highly (over)simplified explanation, but perhaps it gets the idea across.
 
Yea...in essence its a way of rendering so that every ray of light is 'traced', that way its reaction with objects and whatnot are much more realistic. It requires immense amount of processing power.
 
When the computer is processing the rays, is it processing the 'rays' from the viewer, or the rays from various light sources?
 
It is the rays from the viewer that are processed because those are the rays that are "seen" by the viewer. The vast majority of the rays from the light source(s) never reach the viewer. That's the whole point of looking at just the rays from the viewer's eye that pass through pixels on the screen -- only those rays are visible to the viewer, and by tracing them backwards to the viewer's eye the appropriate color and brightness can be assigned to each pixel on the screen.

Check out this link, it might help:
http://www.siggraph.org/education/materials/HyperGraph/raytrace/rt_java/raytrace.html
 
GoodRevrnd, where did you hear about raytracing? Most of raytracing's applications are in 3D animation/visualization, to create effects such as reflections, refractions, shadows, and (more recently) lighting effects.

There are two ways that raytracing works. There is the method that heliomphalodon described, where each ray is traced backwards from a pixel to the viewer, and then there is forward raytracing, where the ray is traced from an object outwards.

Each method has it's advantages and disadvantages, but it can be broken down like this:

Backwards raytracing (used in renderers such as finalRender, Brazil, Mental Ray, and VRay) is faster, because it only calculates the rays that are seen by the viewer. However, the rays must be calculated for each frame, since every frame displays a different set of pixels to the viewer.

Forwards raytracing (used in renderers such as Lightscape and Viz 4) is slower initially, but after all of the rays in a scene are calculated, then the image is rendered about as fast as a picture without raytracing. So forward raytracing has an initial performance hit (and it's one hell of a hit), but is then less computationally intensive afterwards.

In the end, backwards raytracing is the method best suited to real time applications, since most games contain fairly dynamic environments, which would cause either method of raytracing to recalculate certain parts of the scene.
 
Back
Top