Ray-Tracing
Photo-Realistic Rendering of 3D Pictures
Advantages of Ray-Tracing

This section introduces the existing parts of the ray tracing technology which is employed in the Avalon chip. After pointing out the advantages of ray tracing over current z-buffering technologies, a rough estimation of the processing requirements of real-time ray tracing is given. 

The difference between the current methods and ray tracing is the ability to calculate the graphical models of shadows, reflections and refraction, whereas current rendering engines only try to simulate these effects by painting shadow pictures or reflection pictures (so called textures) onto objects. Since these effects are highly geometry dependent, those "fake" methods look rather unrealistic in case of changing object positions and will never meet the requirements of film industry or professional design environments. 

 


Current rendering methods perform a projection of triangles onto the screen. As depicted in the figure above, ray tracing works the other way around.

  • From a virtual spectator trace rays are emitted through each screen pixel into the scene.

  • The triangle which is first intersected by this trace ray is calculated.

  • From diffuse surfaces, so called shadow rays are emitted in direction of every light source. They are necessary to detect if there are obstacles between every light source and the previously mentioned intersection point. If there is nothing in between, the shading algorithm is performed. The algorithm considers angles and distances between light sources, intersection point and eye. If there is an obstacle between intersection point and light source, the intensity of the shadow is calculated.

  • If the surface is specular or semitransparent (reflection or refraction), secondary rays are emitted from the intersection point. The Snellius refraction law determines the direction and the intensity of those secondary rays. If the secondary rays hit a diffuse surface the calculation mentioned above takes place. The influence of all secondary rays are superposed. If secondary rays hit specular surfaces, again new secondary rays are generated. The process is repeated until an adjustable maximum depth is reached.


Ray-Tracing Processing Requirements

Current real time rendering systems do not use ray tracing because it requires very high computation power. The rendering of a single complex image can take up to 50 hours and more on general purpose high speed PCs.

In 1980 T. Whitted published a statistic analysis frequently quoted in literature. Whitted pointed out that 95% of the computational time is spent on finding the primitive object (the triangle) that is first hit by a given ray. Thus the feasibility of the Avalon chip depends mainly on the implementation of this triangular intersection algorithm. To estimate the complexity of an exhaustive search through all triangles of a given scene, the number of operations is calculated using realistic parameters. 

If aliasing techniques are omitted, a screen resolution of 1024x768 pixel would generate 786,432 primary rays, i.e. one primary ray per pixel. To avoid aliasing and to take secondary (reflected/refracted) rays into account, a number of 3,000,000 rays is more realistic. A detailed environment requires about 500,000 triangles. If each ray is tested against all triangles, this causes 1.5E12 intersection tests for the whole  picture frame. A frame rate of 25 frames per second requires 37.5E12 intersections per second. As explained below,  one intersection has the complexity of at least 27 high precision multiplications.  Thus the exhaustive intersection test for all triangles causes about 1E15 multiplications per second which definitely cannot be implemented. This leads to the requirement for an enhanced search algorithm for the very first intersection point of a ray with a triangle. Therefore the AVALON system subdivides the whole scene into an adaptive  3-dimensional grid.