 
Summary: Ray Tracing Triangular Meshes
John Amanatides
Kin Choi
Dept. of Computer Science
York University
North York, Ontario
Canada, M3J 1P3
amana@cs.yorku.ca
ABSTRACT
This paper describes two approaches that allow us to intersect rays with triangular meshes
more quickly by amortizing computation over neighbouring triangles. The first approach accom
plishes this by performing the inout test for each triangle using three plane equations, each one
representing a boundary edge for the triangle. Each plane is shared between four neighbouring
triangles and the cost of intersecting each plane is amortized over all four of these triangles. The
second approach, which is more numerically robust than traditional approaches, uses Pl¨ucker
coordinates to decide on which side of a triangle's edge a ray passes through. In this case side
information can be amortized over two triangles. Speedups of over 25% have been recorded
when incorporating these approaches in a typical ray tracer. Extending the algorithms to more
general polygonal meshes is straightforward.
The Problem
