Content uploaded by Matthias Trapp
Author content
All content in this area was uploaded by Matthias Trapp on Jan 02, 2019
Content may be subject to copyright.
▶
▶
▶
▶
→
[Glander, ACMGIS 2007, ICA WS 2008]
[Glander, ACMGIS 2007, ICA WS 2008]
[Glander, ACMGIS 2007, ICA WS 2008]
[Glander, ACMGIS 2007, ICA WS 2008]
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶LOA VDS
▶FNC = map(VDS LOA)
▶render(FNC)
Preprocessing
LOA = generalization(CM)
Mapping FNC=(M, C)Volumetric Depth Sprites VDS
Generalization Data LOA
Rendering
render(FNC)
Image
City Model CM
Preprocessing
VDS = createVDS(S)
Mapping
M = map(VDS, LOA)
Solid Lens Volumes S
Preprocessing Phase Rendering Phase
CM
LOA
Preprocessing
LOA = generalization(CM)
Volumetric Depth Sprites VDS
Generalization Data LOA
City Model CM
Preprocessing
VDS = createVDS(S)
Solid Lens Volumes S
Preprocessing Phase
Weighted
streets
(9 levels)
Building
geometry
Facade
images
Cell-based
Generalization
Levels of Abstraction: LOA = (LOA1, …, LOA9)
S
VDS
Preprocessing
LOA = generalization(CM)
Volumetric Depth Sprites VDS
Generalization Data LOA
City Model CM
Preprocessing
VDS = createVDS(S)
Solid Lens Volumes S
Preprocessing Phase
n
▶i
▶
▶
Mapping FNC=(M, C)Volumetric Depth Sprites VDS
Generalization Data LOA
Rendering
render(FNC)
Image
Mapping
M = map(VDS, LOA)
Preprocessing Phase Rendering Phase
( )
( )
VDSLOA
M
M,
=
==
=
iiiii
iVDSLOALOAVDSM
niM
CFNC
,:
...0|
render(FNC)
{
" Mi M {
VDS ¬ VDSi Mi
setActive(VDS, true)
setParity(VDS, false)
}
renderGeometry(C)
i = || M ||
while(i > 0)
{
VDS ¬ VDSi Mi
LOA ¬ LOAi Mi
if(!culling(VDS)
{
setParity(VDS, true)
renderGeometry(LOA)
setActive(VDS, false)
}
i = i-1
}
}
▶
▶
▶i = n
( ) ( ) ( )
21100 ,,,, LOALOAVDSLOAVDSFNC =
render(FNC)
{
" Mi M {
VDS ¬ VDSi Mi
setActive(VDS, true)
setParity(VDS, false)
}
renderGeometry(C)
i = || M ||
while(i > 0)
{
VDS ¬ VDSi Mi
LOA ¬ LOAi Mi
if(!culling(VDS)
{
setParity(VDS, true)
renderGeometry(LOA)
setActive(VDS, false)
}
i = i-1
}
}
▶
▶
▶i = n
( ) ( ) ( )
21100 ,,,, LOALOAVDSLOAVDSFNC =
render(FNC)
{
" Mi M {
VDS ¬ VDSi Mi
setActive(VDS, true)
setParity(VDS, false)
}
renderGeometry(C)
i = || M ||
while(i > 0)
{
VDS ¬ VDSi Mi
LOA ¬ LOAi Mi
if(!culling(VDS)
{
setParity(VDS, true)
renderGeometry(LOA)
setActive(VDS, false)
}
i = i-1
}
}
▶
▶
▶i = n
( ) ( ) ( )
21100 ,,,, LOALOAVDSLOAVDSFNC =
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶