Upload
hazel
View
60
Download
0
Embed Size (px)
DESCRIPTION
Davy v počítačové grafice. Jakub Fintora. Úvod. Dav Častý fenomén Vizualizace simulací (evakuace, nepokoje,…) Zábavní průmysl Částicový systém Animované nebo statické částice Rychlost vs. Rozmanitost. Reprezentace částice. Vertex buffer Pozice Normála UV souřadnice - PowerPoint PPT Presentation
Citation preview
Davy v počítačové grafice
Jakub Fintora
Úvod
• Dav– Častý fenomén• Vizualizace simulací (evakuace, nepokoje,…)• Zábavní průmysl
– Částicový systém– Animované nebo statické částice– Rychlost vs. Rozmanitost
Reprezentace částice
• Vertex buffer – Pozice– Normála– UV souřadnice– Údaje pro skeletální animace
• Index buffer – spojení vrcholů do sítě
Skeletální animace
• Dynamika částice• Skeleton - hierarchie• Kloub• Klíčové snímky• BVH – Biovision Hierarchy
Zdroj: http://doc.gold.ac.uk/~mas02mg/IntroToAV/lectures/skeleton.png
MakeHuman
• makehuman.org• Otevřený kód (Python + C)• Parametrické modelování• Princip– Jedna základní trojúhelníková síť– Změny v podobě vektorů posunů konkrétních
vrcholů základní trojúhelníkové sítě• Export – OBJ, COLLADA
Zdroj: http://makehuman.org/sites/mhnew.jwp.se/files/mhlogo3.png
Navržené řešení
• Použití dat exportovaných z MakeHuman• Převedení dat ze souborů do datových
struktur přístupných grafickou kartou• Generování davu• Vykreslování davu• Implementace: SPA framework + DirectX
Vykreslování davu
• Shadery• Geometry instancing• Řešení skeletálních animací– Přečtení pohybových dat na základě adres z vertex bufferu– Složení dílčích transformačních matic kloubů– Vytvoření výsledné transformační matice, vynásobením
dílčích matic vahami a sečtením• Umístění ve scéně• Zobrazení s odlišnými barvami pleti
Převedení do datových struktur
• Výsledkem je:– Vertex buffer– Index buffer– Hierarchie a proporce kostry– Textura s pohybovými daty– Pole sémantických údajů
Souvislost datových struktur
Generování davu
• Druhý vertex buffer (instance buffer)• Náhodně vygenerované atributy– Startovní klíčový snímek– Rozestupy– Odstín pleti
Výsledky• Nejnáročnější částí
– skládání transformací vertexů.– pokles rychlosti v průměru o 80%
• Desynchronizace animací– počet různých startovních snímků animace = počet všech klíčových
snímků.• Odstíny barvy pleti
– Počet možných kombinací -2678 – Podle pravidla:
• d = 15% - 20% rozsahu jednoho barevného kanálu • r = náhodné číslo v rozsahu jednoho barevného kanálu• b = r – d• g = (r + b)/2
Vykreslený dav
Závěr
• Data z projektu MakeHuman jsou vhodná• Je třeba využít HW akcelerace– Geometry instancing
• Výpočetně nejnáročnější částí – skeletální animace