The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences. Vol. XXXVII. Part B5. Beijing 2008
696
which lie in frustum view region will be loaded, and search
those tiles is by grid index (see figure 3a). If viewpoint moves
over an adjacent tile the algorithm will tend to maintain a square
of tiles centered on this new tile (which will be load in client
memory new and becomes the current tiles). At the same time,
the algorithm will remove some far tiles which are not within
the field-of-view in order to free memory for the fetching of
new tiles (see figure 3b). As figure 3a indicated, most of the
memory of mobile device was consumed at the step. Note that
the algorithm implicitly handles the case where viewpoint
jumps to a new tile that is not adjacent to the current one. The
quad-tree representation of tile data enables very fast view
frustum culling.
Figure3. Tiles management and adaptive loading
a) . A square area centered on the viewpoint.
b) . Square area preservation on viewpoint move
a.
b.
Figure 4: Eliminating cracks, a) Cracks appear on tiles borders
when adjacent tiles have different levels, b) Using dividing
compulsively technique, crack effects are eliminated or
attenuated.
Farther in more, considering the tiles are made of a set of
triangles, the triangles of the tiles will be judged one by one,
and those trigngles which lie in the field-of-view are fetched. At
last those triangles that lie out of view frustum will be removed.
4.3 Tile rendering and cracks eliminated
When the resolution levels are different between two adjacent
tiles, there will be gaps on tiles boundaries which create a very
unpleasant visual effect (showing in figure 4a) Classical
approaches [Larsen and Christensen 2003; Lossa and hoppe
2004] consist in modifying the geometry of the tile’s border by
introducing new vertices and edges. Another classical method
called filleting, introduced by Sun and also implemented in the
NASA’s World Wind remarkable earth viewer is to add a band
of vertical triangles around the edges of each tile. This band is
stretched down to the lowest terrain elevation. Each side of the
band is textured by stretching the corresponding line/column of
texels. This scheme is fast but quite disgraceful to see for the
user, especially if a neighbour tile has not been load yet.
5. RESULTS AND CONCLUSION
This paper proposes an adaptive approach to render large
terrains. By this means, it simplify the scenes’ complexity
efficiently and reduce the amount of data and therefore of
graphical primitives to render in real-time.
5.1 Experiment and results
Our experiment selected Hp2110 as the experiment platform,
and its primary configurations are shown in table 1.
CPU
Intel PXA270
Memory
64 Mb (32Mb RAM + 32Mb ROM)
Screen resolution
320X240
Storage
1GB SD card
Operating System
Pocket PC 2003
Table 1. Configurations of Hp2110
In this paper, another method which divides the triangles which
are in coarse tile compulsively (see figure 4b) is proposed. If
there appear cracks for the different resolution levels between
adjacent tiles, the triangles which lie on the boundary in coarse
resolution tiles will be divided compulsively to suit the fine
resolution tiles. Even if this solution is not perfect, it is fast,
simple to implement and gives satisfying results most of time.
The experiment first measured the difference between the
simplify scene and primal scene. The amount of primary
triangles in client memory is about 70,000 (see figure 5a), and
after being simplified, the amount of triangles reduced to 16064,
almost 77.1 percent triangles are removed or cached (seeing
figure 5b).