ATI Radeon pod povrchem (3) – Charisma Engine
17.1.2001, Štěpán Mrázek, zpráva

Charisma Engine je označení pro jednotku vykonávající výpočet geometrických transformací, ořezání a osvětlení (Transformation, Clipping & Lighting - TCL). Jak je u dnešních moderních akcelerátorů běžné, přenášejí se tyto výpočty z CPU do grafického procesoru.
Charisma Engine je označení pro jednotku vykonávající výpočet geometrických transformací, ořezání a osvětlení (Transformation, Clipping & Lighting - TCL). Jak je u dnešních moderních akcelerátorů běžné, přenášejí se tyto výpočty z CPU do grafického procesoru. Snížení nároků na procesor může být využito pro další úkoly jako je například dokonalejší fyzikální model či umělá inteligence ve hrách.
Skeletal Animation and Skinning
Skeletal Animation je metoda která vytváří animace pomocí řady “kostí” (bone), na než se připojuje “kůže” (skin), která je tvořená sítí vrcholů (vertex) nebo polygonů. Animace je potom dána pohybem kostry a přesuny vrcholů, které tvoří kůži, mohou být definovány matematicky.
Nevýhoda této metody spočívá v možnosti vytvoření mezery v okolí kloubu dvou kostí při jejich pohybu.

Obr. 1 – Vzniklá mezera při pohybu dvou kostí
Odstranění této slabé stránky spočívá v technice zvané skinning, která přizpůsobí pozice vrcholů v okolí kloubu a vytvoří souvislou a ohebnou “kůži”.

Obr. 2 – Odstranění vzniklé mezery metodou “skinning”
Vertex skinning
Pro výpočet umístění vrcholů v každém snímku animace jsou požadované transformační matice. To jsou matematické funkce, které se používají pro výpočet pozice objektu v 3D prostoru. Transformační matice je požadována pro každou kost, která může ovlivňovat daný vrchol. Proces postupného míchání matic, příslušných danému vrcholu, z jedné kosti na další se nazývá “vertex skinning”. Při zvýšení počtu smíchaných matic roste i kvalita výsledného obrazu, jak demonstruje obrázek 3. Charisma Engine je schopen podporovat výpočet matic na úrovni hardwaru až pro čtyři matice.

Obr. 3 – Rozdíl v počtu použitých matic při technice “Vertex skinning”
Keyframe Interpolation (Vertex Morphing)
Tato technika má za úkol provedení hladkého přechodu mezi jednotlivými stavy animace. Stačí zadat počáteční a konečný klíčový snímek (keyframe) a grafický procesor se již postará o dopočítání jednotlivých mezisnímků. Pozice vrcholů modelu jsou hladce morfovány do pozic v dalším snímku, proto se také tato metoda také nazývá Vertex Morphing.

Obr. 4 - Keyframe Interpolation
Na obrázku vidíte příklad využití této metody. Jedná se o animaci lidského obličeje, kdy na původním snímku je tvář zamračená a na koncovém se usmívá. Jednotlivé snímky, které se vyskytují mezi dvěma krajními stavy jsou doplněny právě interpolací klíčových snímků.
Zdroj: ATI Technologies
Skeletal Animation and Skinning
Skeletal Animation je metoda která vytváří animace pomocí řady “kostí” (bone), na než se připojuje “kůže” (skin), která je tvořená sítí vrcholů (vertex) nebo polygonů. Animace je potom dána pohybem kostry a přesuny vrcholů, které tvoří kůži, mohou být definovány matematicky.
Nevýhoda této metody spočívá v možnosti vytvoření mezery v okolí kloubu dvou kostí při jejich pohybu.

Obr. 1 – Vzniklá mezera při pohybu dvou kostí
Odstranění této slabé stránky spočívá v technice zvané skinning, která přizpůsobí pozice vrcholů v okolí kloubu a vytvoří souvislou a ohebnou “kůži”.

Obr. 2 – Odstranění vzniklé mezery metodou “skinning”
Vertex skinning
Pro výpočet umístění vrcholů v každém snímku animace jsou požadované transformační matice. To jsou matematické funkce, které se používají pro výpočet pozice objektu v 3D prostoru. Transformační matice je požadována pro každou kost, která může ovlivňovat daný vrchol. Proces postupného míchání matic, příslušných danému vrcholu, z jedné kosti na další se nazývá “vertex skinning”. Při zvýšení počtu smíchaných matic roste i kvalita výsledného obrazu, jak demonstruje obrázek 3. Charisma Engine je schopen podporovat výpočet matic na úrovni hardwaru až pro čtyři matice.

Obr. 3 – Rozdíl v počtu použitých matic při technice “Vertex skinning”
Keyframe Interpolation (Vertex Morphing)
Tato technika má za úkol provedení hladkého přechodu mezi jednotlivými stavy animace. Stačí zadat počáteční a konečný klíčový snímek (keyframe) a grafický procesor se již postará o dopočítání jednotlivých mezisnímků. Pozice vrcholů modelu jsou hladce morfovány do pozic v dalším snímku, proto se také tato metoda také nazývá Vertex Morphing.

Obr. 4 - Keyframe Interpolation
Na obrázku vidíte příklad využití této metody. Jedná se o animaci lidského obličeje, kdy na původním snímku je tvář zamračená a na koncovém se usmívá. Jednotlivé snímky, které se vyskytují mezi dvěma krajními stavy jsou doplněny právě interpolací klíčových snímků.
Zdroj: ATI Technologies