693
REAL-TIME RENDERING OF LARGE TERRAIN ON MOBILE DEVICE
JiangWen 8 , BaoshanZhu 8 , FanWang 8
8 Zhengzhou Institute of Surveying and Mapping, No.66, Longhai Road, Zhengzhou, China -
kissfro9642@sina.com
Commission VI, WG VI/4
KEY WORDS: Terrain rendering, Multi-resolution, Level of detail, Quad-tree, Adaptive rendering, Mobile device
ABSTRACT:
Terrain rendering is an important factor in representation of virtual scene. If terrains are large and detailed, there will be huge amount
of data, so it is necessary to reduce the complexity of the rendered scene in real-time on mobile device. This paper proposes a
multi-resolution technique to simplify the scenes and improve the speed of terrains rendering. Firstly, the full terrain height-field is
divided into regular tiles, and then the appropriate level of detail is computed and generated dynamically, allowing for smooth
changes of resolution across area of the surface. Each visible tile is then rendered using a computed triangle strip in an adaptive way
according to viewpoint. The method is different from the triangle-based LOD algorithms and is optimized for modem to minimize
CPU usage during rendering. The key of the technique is to develop an adaptive LOD framework that can optimally feed the graphic
pipeline. At last, this paper also proposes a method of removing cracks on the meshes boundary.
1. INTRODUCTION
Terrain rendering on mobile devices plays an essential role in
wide range of applications such as video games, virtual reality,
3D environmental analysis, personal navigation and many
geographic information system (GIS) applications. Despite
mobile devices have seen dramatic improvements in last few
years, the mobile devices are still clearly less capable than
desktop computers in many ways. They run at a lower speed,
display in smaller size and have lower resolution, there is less
memory for running the programs and for storing them, and the
battery of device can not last for long.
On the other hand, terrain data obtained from the natural
environment is usually very huge, and rendering accurate terrain
implies the manipulation of very massive data sets which may
contain billions of samples (e.g. triangles, points .etc.) and all
those samples must be computed one by one instantly. In
general, real-time rendering of three dimensional computer
graphics requires faster than 15 frames pre second (FPS). Such
a complexity introduces two main limitations: it might not be
possible to store the entire data sets in random-access memory
(RAM) and/or to perform its rendering in real-time on mobile
device.
In fact, rendering 3D terrains on mobile devices is still a very
complex task because of the vast computational power required
to achieve a usable performance. There are many visualization
techniques that have been developed for PCs and workstations.
However, using these same approaches for mobile devices
introduces some unresolved problems. Most of the existing
approaches are simplification of a triangulated model that
represents terrain surface. Some solutions entirely rely on CPU
whereas others use both CPU and GPU (sometimes using
programs). GPU are able to render millions of triangles per
second and even more when using triangles strips. However the
GPU accelerated method still requires the full CPU power to
compute vertex indices at every frame, even if the method is
very efficient, it is not practicable when targeting mobile
devices. Indeed, although some recent mobile devices dispose
of GPU, they are not yet programmable.
Aim at the target of real-time large terrain rendering on mobile
platform; this paper propose a dynamic adaptive
multi-resolution modelling to represent terrain based on
quad-tree. The solution can be decomposed in two main parts.
The first one is pre-processing. The main purpose is to construct
multi-resolution digital elevation models (DEM) to represent
terrains. The quad-tree structure is the key point in this part. The
second one is dedicate to render a maximum number of
triangles in view region. The purpose of this part is reducing the
triangles to be drawn and maintaining the largest polygon area
around the viewpoint. By loading tiles which are in view-field
into client memory dynamically, it can free some memory and
reduce the burden of CPU.
2. PREVIOUS WORKS
There are two familiar methods in the terrain rendering domain.
The first one brings together methods that have been designed
for terrain models which fit in memory (level of details
technique). The second one gathers the algorithms designed for
the rendering of large terrain data which can not be loaded into
memory completely (out-of-core techniques).
2.1 Previous terrain LOD techniques
Terrain LOD algorithms use a hierarchy of mesh refinement
operations to adapt the surface, and the methods are widely used
in large terrain rendering now. LOD can decimate polygons thus
reducing complexity of computation without affecting the
quality of scenes. There are two schemes to choose proper LOD.
One is based on the flatness of terrain surface. Large and coarse
meshes are used at even regions, while tiny and refined meshes
are represented at fluctuant regions. The other is based on the
distance away from the eyes’ position. Regions which are nearer
to the eyes’ position are rendered in refined meshes and the
further regions are rendered in coarse meshes.