Recursive Ray Tracing

The first project of this class was about a small part of ray tracing. Here is a description of another method used for ray tracing, a recursive algorithm.

The basic idea is identical in the root finding project: shoot a ray, find the first one instance intersecting with the light. And it finds all the objects intersecting, and gets the nearest. Here is where the recursion goes: From the point of intersection, the algorithm shoots more rays from the point of intersection to see what objects are reflected at that point, what objects may be seen through the object at that point, which light sources are directly visible from that point, and so on. These additional rays are often called secondary rays to differentiate them from the original, primary ray. Each takes effect as soon as the ray is fired and the nearest surface that intersects that ray is found. And there are some complex problems occuring:

1. Reflection
When a ray lands on a surface, it has to take not only the color, texture of the surface into consideration, but also other objects which as been reflected on that point of the object. To solve this problem, the recursive algorithm calculates the angle the ray should bounce off, and now ‘recursively’ shoots another ray for that angle to find out what object was reflected first.
2. Refraction
It is similar to reflection, but instead of shooting a ray to the angle of refraction, the algorithm examines the index of each material and calculates the angle of refraction.
3. Shadows
One unique feature of this algorithm, the ray shoots ’shadow’ ray recursively, to find out where the shadow should be located.

Reference
http://www.geocities.com/jamisbuck/raytracing.html

Posted in Topics: Uncategorized

Jump down to leave a comment.

One response to “Recursive Ray Tracing”

  1. investment stocks Says:

    investment stocks…

    Cool Beans. After reading your blog I now understand “online currency trading forex”. Thank For the great post!…

Leave a Comment

You must be logged in to post a comment.



* You can follow any responses to this entry through the RSS 2.0 feed.