Ray-triangle intersection is an important algorithm, not only in the field of realistic rendering (based on ray tracing), but also in physics simulation, collision detection, modelling, etc. Obviously, the speed of this well-defined algorithm’s implementations is important because calls to such a routine are numerous in rendering and simulation applications. Contemporary fast intersection algorithms, which use SIMD instructions, focus on the intersection of ray packets against triangles. For intersection between single rays and triangles, operations such as horizontal addition or dot product are required. The SSE4 instruction set adds the dot product instruction which can be used for this purpose. This article presents a new modification of the fast raytriangle intersection algorithms commonly used, which – when implemented on SSE4 – outperforms the current state-of-theart algorithms. It also allows both a single ray and ray packet intersection calculation with the same precomputed data. The speed gain measurements are described and discussed in the article.
Download Full PDF Version (Non-Commercial Use)