Sogang Computer Graphics Lab.


High Quality Real-Time Visualization of Static Interior Scenes
Selective and Adaptive Supersampling for Real-Time Ray Tracing
SIMD Optimization of Linear Expressions for Programmable Graphics Hardware
3D RGB Image Compression for Interactive Applications
Compression-Based 3D Texture Mapping for Real-Time Rendering
High Quality Real-Time Visualization of Static Interior Scenes
Abstract

In this work, we have been developing a real-time ray tracer on the GPU that is specialized for the photorealistic rendering of static interior scenes. By efficiently computing global illumination on the fly, the complex lighting effects inside the static interior of a room can be simulated realistically and interactively.

Paper
  • Being prepared, 2009.
Image
  1. Whitted-style ray tracing only.

  2. Computation of indirect illumination.

  3. Whitted-style ray tracing with indirect illumination.

Video
Selective and Adaptive Supersampling for Real-Time Ray Tracing
Abstract

While supersampling is an essential element for high quality rendering, high sampling rates, routinely employed in offline rendering, are still considered quite burdensome for real-time ray tracing. In this paper, we propose a selective and adaptive supersampling technique aimed at the development of a real-time ray tracer on today's many-core processors. For efficient utilization of very precious computing time, this technique explores both image--space and object--space attributes, which can be easily gathered during the ray tracing computation, minimizing rendering artifacts by cleverly distributing ray samples to rendering elements according to priorities that are selectively set by a user. Our implementation on the current GPU demonstrates that the presented algorithm makes high sampling rates as effective as 9 to 16 samples per pixel more affordable than before for real-time ray tracing.

Paper
Image
  1. Selective and adaptive supersampling (Figure 1).
    (a) Bathroom
    (b) Conference
    (c) Room
    (d) Kitchen
    (e) Fairy Forest
    (f) Problematic subpixels
    (g) τ = 0.1, τ = 0.06 (1.28 fps)
    (h) τ = 0.6, τ = 0.06 (3.75 fps)
    (i) τ = τ = 1.0 (4.51 fps)
    (j) Fairy focused(5.02fps)
  2. Examples of selective supersampling(Figure 6).
              (a) Test scene
      (b) Possibly problematic subpixels with respect to respective geometry attributes (from left to right: Object ID, Surface Normal, Shadow Count, Texture Existence; from top to bottom: at primary and secondary intersection points)
    (c) One sample per pixel
    (d) Object ID (Pr.)
    (e) Surface Normal (Pr.)
    (f) Shadow Count (Pr.)
    (g) All except Texture Existence (Sec.)
  3. Single- versus multiple-valued thresholds for adaptive supersampling (Figure 7).
    (a) Color measure only
    (b) τcol = 0.1 :
    Sample Ratio = 22.62%,
    PSNR = 46.20
    (c) τcol = 0.2 :
    Sample Ratio = 16.09%,
    PSNR = 44.17
    (d) τcol = 0.3 :
    Sample Ratio = 13.76%,
    PSNR = 42.96
    (e) τcol = 0.4 :
    Sample Ratio = 11.86%,
    PSNR = 41.21
    (f) Multiple measures
    (g) τcol = 0.1 :
    Sample Ratio = 15.75%,
    PSNR = 46.17
    (h) τcol = 0.2 :
    Sample Ratio = 13.06%,
    PSNR = 45.75
    (i) τcol = 0.3 :
    Sample Ratio = 12.20%,
    PSNR = 45.46
    (j) τcol = 0.4 :
    Sample Ratio = 11.83%,
    PSNR = 45.20
  4. Data structures for our GPU implementation (Figure 8).
Video
Presentation
SIMD Optimization of Linear Expressions for Programmable Graphics Hardware
Abstract

The increased programmability of graphics hardware allows efficient GPU implementations of a wide range of general computations on commodity PCs. An important factor in such implementations is how to fully exploit the SIMD computing capacities offered by modern graphics processors. Linear expressions in the form of $\bar{y} = A\bar{x} + \bar{b}$, where $A$ is a matrix, and $\bar{x}$, $\bar{y}$, and $\bar{b}$ are vectors, constitute one of the most basic operations in many scientific computations. In this paper, we propose a SIMD code optimization technique that enables efficient shader codes to be generated for evaluating linear expressions. It is shown that performance can be improved considerably by efficiently packing arithmetic operations into four-wide SIMD instructions through reordering of the operations in linear expressions. We demonstrate that the presented technique can be used effectively for programming both vertex and pixel shaders for a variety of mathematical applications, including integrating differential equations and solving a sparse linear system of equations using iterative methods.

Paper
Image

The diagonal block $S$ of the matrix $-D^{-1}(L+U)$ in the enhanced block Jacobi solver for 3D Poisson equations ($a = -\frac{1}{5}$ and $b = -\frac{1}{6}$) :

        

3D RGB Image Compression for Interactive Applications
Abstract

This paper presents a new 3D RGB image compression scheme designed for interactive real-time applications. In designing our compression method, we have compromised between two important goals: high compression ratio and fast random access ability, and have tried to minimize the overhead caused during run-time reconstruction. Our compression technique is suitable for applications wherein data are accessed in a somewhat unpredictable fashion, and real-time performance of decompression is necessary. The experimental results on three different kinds of 3D images from medical imaging, image-based rendering, and solid texture mapping suggest that the compression method can be used effectively in developing real-time applications that must handle large volume data, made of color samples taken in three- or higher-dimensional space.

Paper
Image
  1. The Zerobit encoding scheme
  2. Sample rendered images ($st$ -lerp)
    buddha: VQ (8.81MB)
    buddha: ZE (3%, 2.90MB)
    buddha: ZE (5%, 4.31MB)
    dragon: VQ (9.52MB)
    dragon: ZE (3%, 3.15MB)
    dragon: ZE (5%, 5.02MB)
Compression-Based 3D Texture Mapping for Real-Time Rendering
Abstract

While 2D texture mapping is one of the most effective rendering techniques that make 3D objects appear visually interesting, it often suffers from visual artifacts produced when 2D image patterns are wrapped onto the surface of objects with arbitrary shapes. On the other hand, 3D texture mapping generates highly natural visual effects in which objects appear carved from lumps of materials rather than laminated with thin sheets as in 2D texture mapping. Storing 3D texture images in a table for fast mapping computations, instead of evaluating procedures on the fly, however, has been considered impractical due to the extremely high memory requirement. In this paper, we present a new effective method for 3D texture mapping designed for real-time rendering of polygonal models. Our scheme attempts to resolve the potential texture memory problem by compressing 3D textures using a wavelet-based encoding method. The experimental results on various non-trivial 3D textures and polygonal models show that high compression rates are achieved with few visual artifacts in the rendered images and a small impact on rendering time. The simplicity of our compression-based scheme will make it easy to implement practical 3D texture mapping in software/hardware rendering systems including the real-time 3D graphics APIs like OpenGL and Direct3D.

Paper
Image
  1. 3D texture mapping pipeline
  2. Images rendered with GL_LINEAR from compressed textures (10%)
    Teapot with Bmarble
    Dragon with Wood
    Bunny with Eroded
    Sdragon with Wood
    Head with Gmarbpol
    Buddha with Gmarbpol
  3. Aliasing artifacts of compression-based 3D texture mapping (2X)
    uncompressed
    (48 MB)
    compressed
    (10%, 486 KB)
    compressed
    (5%, 334 KB)
    compressed
    (3%, 270 KB)
  4. 3D mipmapping with zerobit encoding
    uncompressed
    (48 MB)
    compressed
    (10%, 486 KB)