Information

Abstract

In computer graphics, ray tracing is a well-known image generation algorithm which exists since the late 1970s. Ray tracing is typically known as an offline algorithm, which means that the image generation process takes several seconds to minutes or even hours or days.

In this thesis I present a ray tracer which runs in real-time. Real-time in terms of computer graphics means that 60 or more images per second (frames per second, FPS) are created. To achieve such frame rates, the ray tracer runs completely on the graphics card (GPU). This is possible by making use of Nvidia’s CUDA -API. With CUDA, it is possible to program the processor of a graphics card similar to a processor of a CPU. This way, the computational power of a graphics card can be fully utilized. A crucial part of any ray tracer is the acceleration data structure (ADS) used. The ADS is needed to efficiently search in geometric space. In this thesis, two variants of so called kD-Trees have been implemented. A kD-Tree is a binary tree, which divides at each node a given geometric space into two halves using an axis aligned splitting plane. Furthermore, a CUDA library for the rendering engine Aardvark, which is the in-house rendering engine at the VRVis Research Center, was developed to access CUDA functionality from within Aardvark in an easy and convenient way.

The ray tracer is part of a current software project called “HILITE” at the VRVis Research Center.

Additional Files and Images

Additional images and videos

Additional files

Weblinks

No further information available.

BibTeX

@mastersthesis{Voglsam_2013_RRT,
  title =      "Real-time Ray Tracing on the GPU - Ray Tracing using CUDA
               and kD-Trees",
  author =     "G\"{u}nther Voglsam",
  year =       "2013",
  abstract =   "In computer graphics, ray tracing is a well-known image
               generation algorithm which exists since the late 1970s. Ray
               tracing is typically known as an offline algorithm, which
               means that the image generation process takes several
               seconds to minutes or even hours or days.  In this thesis I
               present a ray tracer which runs in real-time. Real-time in
               terms of computer graphics means that 60 or more images per
               second (frames per second, FPS) are created. To achieve such
               frame rates, the ray tracer runs completely on the graphics
               card (GPU). This is possible by making use of Nvidia’s
               CUDA -API. With CUDA, it is possible to program the
               processor of a graphics card similar to a processor of a
               CPU. This way, the computational power of a graphics card
               can be fully utilized. A crucial part of any ray tracer is
               the acceleration data structure (ADS) used. The ADS is
               needed to efficiently search in geometric space. In this
               thesis, two variants of so called kD-Trees have been
               implemented. A kD-Tree is a binary tree, which divides at
               each node a given geometric space into two halves using an
               axis aligned splitting plane. Furthermore, a CUDA library
               for the rendering engine Aardvark, which is the in-house
               rendering engine at the VRVis Research Center, was developed
               to access CUDA functionality from within Aardvark in an easy
               and convenient way.  The ray tracer is part of a current
               software project called “HILITE” at the VRVis Research
               Center.",
  month =      apr,
  address =    "Favoritenstrasse 9-11/E193-02, A-1040 Vienna, Austria",
  school =     "Institute of Computer Graphics and Algorithms, Vienna
               University of Technology ",
  URL =        "https://www.cg.tuwien.ac.at/research/publications/2013/Voglsam_2013_RRT/",
}