|
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.
|