- 最后登录
- 2017-9-18
- 注册时间
- 2011-1-12
- 阅读权限
- 90
- 积分
- 12276
  
- 纳金币
- 5568
- 精华
- 0
|
1 Introduction
In interactive applications such as video games, light maps are often
used to generate realistic images. However, baking light maps
is time consuming because it is necessary to compute global illumination.
This sketch presents a simple and fast rendering system
for light maps. Our system exploits ray-bundles on DirectX
R 11
capable GPUs and outperforms ray tracing based methods. Furthermore,
it supports tessellation for DirectX 11 games.
1.1 Related Work
Ray-bundles The use of global ray-bundles was introduced by
Sbert [1996]. Szirmay-Kalos and Purgathofer [1998] used global
ray-bundles for global illumination algorithm based on finite elements.
They compute radiance exchange between visible surfaces
using rasterization. Hachisuka [2005] proposed ray-bundles using
rasterization for final gathering. To obtain each depth fragment,
depth peeling [Everitt 2001] was used. Hermes et al. [2010] used
k-buffer [Callahan et al. 2005] and they demonstrated high-quality
global illumination with multiple glossy reflections using their radiance
exchange.
Per Pixel Linked-list Everitt [2001] introduced a multi-pass rendering
method called depth peeling for order independent transparency.
Ideally, we would need to store a list of fragments per
pixel as A-buffer [Carpenter 1984] in a single-pass. Callahan et
al. [2005] proposed k-buffer. Although it can be created in a
single-pass, the number of fragments per pixel is fixed. Yang et
al. [2010] introduced a method to dynamically construct highly
concurrent linked-list on DirectX 11 GPUs. This method is faster
than depth peeling for calculating order independent transparency,
and provides unlimited storage per pixel unlike k-buffer. For order
independent transparency, the fragments in the list need to be
sorted.
Tessellation DirectX 11 GPUs support hardware tessellation. It
enables real-time graphics to use arbitrary tessellation methods.
However, it is not easy for offline rendering. In order to obtain
exactly the same appearance both in real-time graphics and offline
rendering, offline renderers and real-time rendering engines have to
use the same tessellation method. The simplest solution is to first
tessellate the polygons. However, this is memory consuming. A
complex and costly out-of-core rendering system may be needed.
Direct ray tracing [Smits et al. 2000; Ogaki and Tokuyoshi 2011] is
one of the solutions, but arbitrary tessellation methods are still difficult.
Our renderer is able to support the same tessellation methods
for real-time graphics without a complex implementation. |
|