We propose a conceptual extension of the standard triangle-based graphics pipeline by an additional intersection stage. The corresponding intersection program performs ray-object intersection tests for each fragment of an object's bounding volume. The resulting hit fragments are transferred to the fragment shading stage for computing the illumination and performing further fragment operations.
Our approach combines the efficiency of the standard hardware graphics pipeline with the advantages of ray casting such as pixel-accurate rendering and exact normals as well as early ray termination. This concept serves as a framework for the implementation of an interactive ray casting system for trimmed NURBS surfaces. We show how to realize an iterative ray-object intersection method for NURBS primitives as an intersection program.
Convex hulls are used as tight bounding volumes for the NURBS patches to minimize the number of fragments to be processed. In addition, we developed a trimming algorithm for the GPU that works with an exact representation of the trimming curves. We have integrated this novel trimming technique into our GPU-based NURBS ray casting system and implemented the entire trimmed NURBS rendering algorithm in a single OpenGL GLSL shader. The shader can handle surfaces and trim curves of arbitrary degree, which allows the use of original CAD data without any approximations.
Bernd Froehlich is a full professor with the Media Faculty at Bauhaus-Universität Weimar. His research interests include real-time rendering, 2D and 3D input devices, 3D interaction techniques, multiviewer display technology, and support for tight collaboration in colocated and distributed virtual environments. Froehlich has a PhD in computer science from the Technical University of Braunschweig. He’s a cofounder of the IEEE Symposium on 3D User Interfaces. and received the 2008 Virtual Reality Technical Achievement Award.