bul 2004
and CSG
' CSG to
> 4 shows
Rep.
Rep
isands of
er, many
cometric
f typical
lem is
city 3d
| in large
) reduce
D scene
at high
aging of
r texture
frustum,
Culling ,
International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Vol XXXV, Part BS. Istanbul 2004
and LOD (level of detail ) technique in rendering of large area
3D scene (Figure.5). [Woodl 1999][ Rossignac
1993][Duchaineau 1997]
Object Culling
\ View axis
Asa ef
ack Face Culling.
View Range ; |
‘ Bx]!
(IO
/ /
/ 1
I
I
I
Fig.5 3D Scene Accelerate Rendering strategy
Using object culling, those sightless objects will be culling and
only those visual objects can be rendering. For the object’s
visibility, we can use triangle to describe the view range
(Figure.5) and judge whether the object is in triangle. The
object’s visibility can be defined as:
: v>0 inside
IIx » 1 s
e v< 0 outside
(z123537;2123)
Where, (X, y) is the coordinate of object, (x,,7,) is
triangle vertex coordinate.
For those visual objects, we can give it a weight coefficient
according to its weightiness and its position away from
viewpoint to decide its detail. So we use a function
D(O,d,m) to describe object detail.
ne 0 d>d,
"| D(O,d,m) d<d,
Where, O is object id, d is distance which object away from
viewpoint, m is object weight coefficient. D is object detail.
According to D, we can use different level of detail (LOD) to
describe and render the object.
(2)
3.2 LOD Terrain Rendering
In Large 3D scene, we will spent a lot of resources on rendering
terrain. The terrain data include digital elevation model (DEM)
and texture. Currently, methods of LOD terrain rendering can be
divided into two parts, GRID LOD and TIN LOD[Hamann
1990][ Hoppe 1996][Hoppe 1998][ Duchaineau 1997]. the
GRID terrain data are simplified in bintree or quadtree.
In this paper, we divided the GRID terrain into some patches
which its size must be power(2),for example ,32x32,64x64. we
first judge whether the patch is visible, then use bintree to
splitting the visible patch(Figure 6). When the terrain be
rendering, the detail of level can be decided by the weight of
bintree node calculated in advance and the distance from node
io viewpoint.
Fig6 bintree partition
Binary Triangle Trees are used to store the splitting process.
Binary Triangle Trees can be defined as:
struct TriTreeNode
{ TriTreeNode *LeftChild;
TriTreeNode *RightChild;
TriTreeNode *BaseNeighbor;
TriTreeNode *LefiNeighbor;
TriTreeNode *RightNeighbor;
2.
fa
Figure.7 shows the topologic relationship of Binary Triangle
Trees.
Base Neighbor
; Left
Left MW Child
Neighbor
Righ
Child
Right
Neighbor
Fig.7 topologic relationship of binary triangle trees
The following Figure.8 is LOD DEM patches render based on
view range culling.
Fig.8 DEM patches culling
/S a birds-eve view of the LOD terrain
pe
Deos Ee ree An
HN A e
zs ES
C ee
de