OFFLINE VEKTOROVÉ MAPY
Seznam.cz
Ing. Lukáš Korba
www.mugeaters.com
17 December 2012 1
Osnova
• Historie
• Vektory
• OpenGL
• Render
• Camera
• R-Tree
• Triangulace
• Texty
• Optimalizace
• Závěr
17 December 2012 2
Historie - rastr
17 December 2012 3
• Současný produkt ve všech mobilních zařízeních (iOS, Droid, Win)
• ale i tzv. velké mapy (www.mapy.cz)
• Proč nevyhovuje?
Historie - rastr
17 December 2012 4
• Současný produkt ve všech mobilních zařízeních (iOS, Droid, Win)
• ale i tzv. velké mapy (www.mapy.cz)
• Proč nevyhovuje?
1. Objem dat
2. Rozlišení displaye
3. Striktně 2D
4. Nelze editovat
Vektory I
17 December 2012 5
Vektory II
17 December 2012 6
Vektory II
17 December 2012 7
?
Vektory III
• Styly
• Určují vzhled a pořadí
17 December 2012 8
OpenGL
• OpenGL ES 1.1 – fixní pipeline
Ø Nutnost řešit antialiasing
• OpenGL ES 2.0 – programovatelná pipeline
Ø Multisampling
Ø Shadery – verze 1.2, precision
• OpenGL
Ø Nejobecnější
Ø Shadery dle grafické karty
17 December 2012 9
Render
17 December 2012 10
Render
controller
Data
loader
Generator
Render
Camera R-Tree
Camera
• Ortho vs. Frustum (2D vs. 3D)
• Poloha v prostoru
17 December 2012 11
R-Tree
17 December 2012 12
Generator - Triangulace
17 December 2012 13
Texty
• Bodové vs. vektorové
Pozicování na vektor
• Kolize
17 December 2012 14
r y k o v a
P a l a c k é h o
V á c l a v s k é
n á m ě s t íN á r o d n í
m u z e u m
Optimalizace
• Vícevláknová aplikace
• R-Tree s “dlaždicemi”
• Generování vektorů do rasteru
• Čáry pomocí textur
17 December 2012 15
Závěr
• Zpět k nevýhodám rasteru
1. Objem dat řádově MB
2. Nezávislost na rozlišení
3. 2D, 2.5D a 3D efekty
4. Možnost stylizovat
• Dotazy
17 December 2012 16