140 likes | 322 Vues
URBAN. WP4: Efficient visualisation and streaming Tasks 4.1 + 4.2. WP4: Task 4.1. 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
E N D
URBAN WP4: Efficient visualisation and streaming Tasks 4.1 + 4.2
WP4: Task 4.1 • 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
3D Building Data structure • 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
Example data sizes • 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
Paper Accepted for GDTW 2008 • “A Flexible and Extensible Architecture for Visibility Culling” • Miquel À. Rújula, JeroenDierckx, Tom Jehaes, Peter Quax, WimLamotte and Pere A. Palmer • Conference on Computer Game Design and Technology
WP4: Task 4.1 planning • 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.2 • 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
Scripting Example -- Key bindings function onKeyPressed(event) if event.key == Keyboard.KC_1 then billboard1.URL = “controls.swf" elseifevent.key == Keyboard.KC_2 then billboard1.URL = "http://www.youtube.com/v/lcCAh-j_Kvg&hl=en&fs=1&rel=0&autoplay=1" elseifevent.key == Keyboard.KC_3 then billboard1.URL = "http://www.youtube.com/v/8BGbOpm9dyk&hl=en&fs=1&rel=0&autoplay=1" elseifevent.key == Keyboard.KC_3 then billboard1.URL = "http://japonyol.net/maps/swf/slider.swf" end end listener = InputManager:createKeyboardListener() listener.keyPressed = onKeyPressed -- Create the demo billboard settings = BillboardSettings() settings.sceneMgr = Application:getCamera().sceneManager settings.mesh = "../../data/Ogre/meshes/billboards/wall-billboard.mesh" settings.subMesh = 2 settings.zoomTime = 0.5 settings.width = 800 settings.height = 600 settings.startURL = “controls.swf" settings.position = OgreVector3(-48, 2, -61) billboard1 = BillboardManager:createBillboard(1, settings)
WP4: Task 4.2 planning • 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, …