davy v počítačové grafice

Post on 24-Feb-2016

68 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

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

top related