- 最后登录
- 2017-9-18
- 注册时间
- 2011-1-12
- 阅读权限
- 90
- 积分
- 12276
- 纳金币
- 5568
- 精华
- 0
|
1 Introduction
Real-time rendering of vegetation is important in many applications,
such as video games, internet graphics applications, landscape
design and visualization. However, the visualization of large-scale
forests has always been a challenge not only due to the high geometric
complexity but also due to the small batch problem. Moreover,
generating real-time shadows for forests will heavily increase the
burden. The batch problem is caused by a large number of graphics
API draw calls launched in every frame. Normally, rendering a tree
model requires at least one graphics API draw call. As a forest usually
consists of thousands of trees and the graphics API invocation
is a relatively high cost for CPU, the large-scale forest rendering is
often CPU bound.
As the computational capabilities of GPU are growing much faster
than that of CPU, more and more methods focus on minimizing
the number of driver invocations to solve the CPU bound problem.
Most methods such as [C***cci and Studios 2005] work like this: in
each frame, they first update all geometry instances in the view ***stum
and then put the updated data into several vertex buffer objects
(VBOs) and finally render the VBOs in a few draw calls. These
methods still need CPU interventions such as culling instances against
the view ***stum and determining appropriate LOD models.
The method of [Shopf et al. 2008] uses geometry shaders to perform
culling and dynamic LOD selecting on GPU. However, it is not
intended for modern graphics hardware and it needs many rendering
passes to separate LODs. The method of [Decaudin and Neyret
2004] utilizes no periodic tiles of volumetric textures to render vast
and dense forests by using the texturing power of graphic hardware.
It relies on LODs and a GPU-friendly s***cture to produce dense
forests corresponding to continuous non-repetitive fields. However,
e-mail:xiaopeng.zhang@ia.ac.cn
walking through into these forests is not available.
We present a novel framework which renders a large-scale forest
scene containing over one million highly detailed trees in real-time
with real-time shadowing effects. The framework is well integrated
with GPU-based dynamic geometry LOD [R´akos 2010] and
parallel-split shadow mapping (psSMs) [Zhang et al. 2006]. Our
method overcomes the limitation in [R´akos 2010] that separates instances
into only a limited number of LOD levels. By taking advantage
of the latest functionalities introduced in OpenGL 4, the
number of driver invocations is dramatically reduced. Culling and
LOD determining are entirely implemented on GPU without breaking
the drawing batches by complicated and expensive CPU-based
methods. This method is straightforward and does not need any extra
scene management algorithm. Occlusion culling is beyond the
scope of this paper |
|