Transcript
Page 1: Davy v počítačové grafice

Davy v počítačové grafice

Jakub Fintora

Page 2: Davy v počítačové grafice

Úvod

• Dav– Častý fenomén• Vizualizace simulací (evakuace, nepokoje,…)• Zábavní průmysl

– Částicový systém– Animované nebo statické částice– Rychlost vs. Rozmanitost

Page 3: Davy v počítačové grafice

Reprezentace částice

• Vertex buffer – Pozice– Normála– UV souřadnice– Údaje pro skeletální animace

• Index buffer – spojení vrcholů do sítě

Page 4: Davy v počítačové grafice

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

Page 5: Davy v počítačové grafice

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

Page 6: Davy v počítačové grafice

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

Page 7: Davy v počítačové grafice

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

Page 8: Davy v počítačové grafice

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ů

Page 9: Davy v počítačové grafice

Souvislost datových struktur

Page 10: Davy v počítačové grafice

Generování davu

• Druhý vertex buffer (instance buffer)• Náhodně vygenerované atributy– Startovní klíčový snímek– Rozestupy– Odstín pleti

Page 11: Davy v počítačové grafice

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

Page 12: Davy v počítačové grafice

Vykreslený dav

Page 13: Davy v počítačové grafice

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


Top Related