davy v počítačové grafice

13
Davy v počítačové grafice Jakub Fintora

Upload: hazel

Post on 24-Feb-2016

68 views

Category:

Documents


0 download

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

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