Page heading
Languages and Services
 deutsch 
    You are here menu
    Subpage heading
    Virtual Reality Systems Group / Prof. Dr. Bernd Fröhlich
    Navigation
    Additional Content
    Main Content

    Interactive Ray Tracing and Ray Casting on Programmable Graphics Hardware

    Christian Lessig, Bachelor Thesis
    Bauhaus University Weimar, Dezember 2004
     

    Supervisors:
    Prof. Dr. Bernd Fröhlich, Bauhaus University Weimar
    Prof. Dr. Charles A. Wüthrich, Bauhaus University Weimar

     

    [abstract]

    This work proposes a framework for direct rendering of implicit surfaces and parametric patches such as quadrics and NURBS on graphics processing units (GPUs). First, we investigate a full ray tracing system on standard PCs. In contrast to related work, we argue that tree-based acceleration structures, necessary for interactive ray tracing of large scenes, cannot be implemented efficiently on current GPUs with its limited memory access and restricted function set. Therefore, the acceleration structure, a 5D-hypercube tree, is implemented on the CPU. Only the computationally most expensive part of the ray tracing algorithm, the ray-object intersection test, is performed on the GPU. This partitioning of the computations between CPU and GPU also enables load balancing among both processing units. Although the chosen acceleration structure reduces the necessary bandwidth between the graphics board and the host system significantly, the current data transfer rates of the PCI Express bus prevent a successful implementation.

     

    Due to these limitations, a system for ray casting of implicit surfaces and parametric patches on the GPU has been implemented. To avoid an exhaustive search by intersecting every ray with every object, we invert the approach of typical acceleration structures for ray tracing: instead of determining the set of objects which might be intersected by a ray, we efficiently find the set of rays which might intersect an object. This search is performed efficiently by using the highly-optimized standard rendering pipeline of today's GPUs to project the triangulated convex hull of the objects. For the resulting fragments, which represent the rays that pass through its center, the ray-object intersection test is performed. Those fragments for which no intersection occurs are discarded. Using the current depth buffer as a lookup table, the effect of the scene's depth complexity on the rendering speed can be reduced significantly when rendering in front-to-back order. In the original implementation, the rendering of parametric patches suffered from serious visual artifacts; later work showed that these problems solely arose from compiler deficits at that time.

     

    This work presents interactive ray casting of parametric surfaces on current GPUs. Interactive frame rates are achieved by using the standard rendering pipeline to reduce the number of intersection tests and performing these computations in the fragment shader; the processing unit with the highest floating-point power in today's PCs. By performing per-fragment intersection tests, we achieve per-pixel accurate images and avoid the visual artifacts inevitable when using triangulated approximations. Furthermore, using analytical object descriptions significantly reduces the memory requirements, especially for complex models. Potential applications of our ray casting system include high-quality rendering and CAD software.

     

     

    [documents]

     

     

    [contact]

    • lessing (at) dgp.toronto.edu

    Content signature