WP4: Efficient visualisation and streaming Tasks 4.1 + 4.2.
-
Upload
jeffrey-atkins -
Category
Documents
-
view
217 -
download
0
description
Transcript of WP4: Efficient visualisation and streaming Tasks 4.1 + 4.2.
URBANWP4: Efficient visualisation and streaming
Tasks 4.1 + 4.2
Efficient visualization and streaming◦ Problem: huge datasets
Guarantee interactive framerates Data transfer from servers
Status◦ Interactive City Viewer demo
Both on desktop and Mobile (iPhone) systems Streaming data from server Using TeleAtlas 3D city data Horizon Culling
WP4: Task 4.1
Quadtree◦ Splitting rule: number of buildings◦ Leaf cells store building data
Geometry Collision geometry Segments for horizon culling (building tops)
Each cell can be requested separately
3D Building Data structure
Paris◦ Geometry: 1.4 GB◦ Collision geometry: 89 MB◦ Texture Atlas: 5 texture atlas files (2048x2048)
106 MB (.dds format with mipmap levels)◦ Segments: 40 MB
Barcelona◦ Geometry: 600 MB◦ Collision geometry: 31 MB◦ Texture Atlas: 4 texture atlas files (2048x2048)
87 MB (.dds format with mipmap levels)◦ Segments: 14 MB
Example data sizes
Texture Atlas Example
Interactive City Viewer (Desktop)
Interactive City Viewer (iPod)
Horizon Culling Results
1 15 29 43 57 71 85 99 11312714115516918319721122523925326728129530932333701020304050607080
Framerate
Horizon OFFHorizon ON
1 15 29 43 57 71 85 99 1131271411551691831972112252392532672812953093233370
100000
200000
300000
400000
500000
600000
Triangle Count
Horizon OFFHorizon ON
“A Flexible and Extensible Architecture for Visibility Culling”
Miquel À. Rújula, Jeroen Dierckx, Tom Jehaes, Peter Quax, Wim Lamotte and Pere A. Palmer
Conference on Computer Game Design and Technology
Paper Accepted for GDTW 2008
Further experimentation with different splitting strategies for building the quadtree◦ Important factors: render performance, download size per cell,
segment count, … Experiment with different strategies for building the
texture atlas◦ One for the whole city <-> one for each cell
Build on previous experience with LoD solutions◦ Combinations of traditional 3D models with image-based and
procedurally generated models Leverage the existing quadtree data model for LoD
◦ Parent nodes store a lower resolution version of the merged children
Procedurally generated data?
WP4: Task 4.1 planning
Interaction framework◦ Flexible interaction specification
Status◦ Scripting completely integrated into the existing
framework◦ Application interaction is defined by writing
scripts◦ Visual world editor preliminary version
WP4: Task 4.2
Scripting Example-- Key bindingsfunction onKeyPressed(event)
if event.key == Keyboard.KC_1 thenbillboard1.URL = “controls.swf"
elseif event.key == Keyboard.KC_2 thenbillboard1.URL = "http://www.youtube.com/v/lcCAh-j_Kvg&hl=en&fs=1&rel=0&autoplay=1"
elseif event.key == Keyboard.KC_3 thenbillboard1.URL =
"http://www.youtube.com/v/8BGbOpm9dyk&hl=en&fs=1&rel=0&autoplay=1"
elseif event.key == Keyboard.KC_3 thenbillboard1.URL = "http://japonyol.net/maps/swf/slider.swf"
endend
listener = InputManager:createKeyboardListener()listener.keyPressed = onKeyPressed
-- Create the demo billboardsettings = BillboardSettings()settings.sceneMgr = Application:getCamera().sceneManagersettings.mesh = "../../data/Ogre/meshes/billboards/wall-billboard.mesh"settings.subMesh = 2settings.zoomTime = 0.5settings.width = 800settings.height = 600
settings.startURL = “controls.swf"settings.position = OgreVector3(-48, 2, -61)billboard1 = BillboardManager:createBillboard(1, settings)
Visual World Editor (WYSIWYG)
Integration into a webbrowser◦ ActiveX, Firefox plugin, …
WorldEditor◦ Flexible interaction specification
Flow diagrams? Services: synchronize with SMIT Service examples
◦ Targeted advertising Based on user profile, previous interests, …
◦ Accounting Number of viewers, number of clicks, …
WP4: Task 4.2 planning