Technologická dema ATi na Radeonu X800
26.5.2004, Zdeněk Kabát, článek
Společně s vypuštěním Radeonu X800 se před dvěma týdny objevila i dvě nová technologická dema předvádějící jeho schopnosti. Jedná se o demo Ruby: The Double Cross a Subsurface scattering, na která se teď podrobněji podíváme. Jsou v nich využity některé nové efekty, ale efektivní je hlavně jejich přehrávání v reálném čase.
Před dvěma týdny jste se mohli v tomto preview dočíst o tom, co všechno dokáže grafický čip nové generace ATi Radeon X800 a o něco později doplnil Martin i recenzi. Protože se nám tato grafická karta dostala do ruky dříve než o tři týdny starší GeForce 6800, můžeme se podívat, co dokáže po vizuální stránce. Tento článek se bude věnovat grafickým možnostem, které ATi představilo ve svých technologických demech Double Cross a Subsurface scattering.
Ruby: The Double Cross
První demo, možná z obou zajímavější, je Ruby: The Double Cross. Setkáváme se v něm s ženskou hrdinkou Ruby, která je symbolem nové generace GPU ATi. Ruby přichází na jakousi vzdušnou základnu a předává „záporňákovi“ Opticovi krystal výměnou za informace. Ovšem aby to neměla jednoduché, vrhne se na ni při odchodu několik ninjů, kteří ale, jak už to tak v podobných situacích bývá, dostávají výprask. Scéna končí výbuchem stanice a útěkem Ruby i Optica.
Děj je ovšem vedlejší. Na rozdíl od dema Nalu pro GeForce 6800 je toto demo zaměřeno spíše na skutečné schopnosti grafické karty renderovat akční scény a nastiňuje cestu, kterou se možná budou nadcházející hry ubírat. Každá scéna se skládá asi ze 400 tisíc trojúhelníků a nacházejí se na ní většinou tři postavy najednou. Je využito několika světelných zdrojů.
Pro zajímavost jsem pomocí Fraps změřil průměrnou rychlost snímkování a na Radeonu X800 Pro je to 35,8 fps v rozlišení 1024x768 a 4x FSAA. Zkoušel jsem i vyšší rozlišení, ale to už se demo značně trhalo. Pokud by podobně vypadala nějaká budoucí hra, bylo by nutné ještě grafiku zrychlit, protože dobrý průměr je tak kolem 50-60 fps.
Mnohem zajímavější ale je, jak vypadá Double Cross technologicky a jakých nových schopností GPU je v něm využito. To, co je vidět v téměř každé scéně, je použití depth-of-field. Takto se nazývá efekt, který jakoby zaostřuje na objekt/postavu v popředí a pozadí scény rozmaže (efekt blur). Simuluje tak poměrně reálně lidské oko.
Dále jsou velice hojně využity dynamické měkké stíny. V současných hrách se téměř vždy používají tvrdé stíny (hard shadows), které nekladou příliš velké nároky na grafický čip a k vytvoření stínu dostačují. Ovšem většina světla v přírodě je nehomogenní a stíny, které vytváří, vypadají jinak. Toho se snaží docílit nový hardware implementací měkkých stínů, které více odpovídají reálu. Navíc jsou použity dynamické zdroje světla. Celkově jsou tyto stíny tak náročné, že v podstatě nejdou použít na celou scénu. Používají se převážně na stíny v obličeji apod.
V demu jsou využity i další náročné shadery, jak jsem zmínil, hlavně v obličejích, které jsou plné detailů. Propracované jsou např. odrazy, celá podlaha v hlavní místnosti je zrcadlově lesklá, ale zároveň hrbolatá. Proto jsou odrazy poměrně složité, což je realizováno pomocí shaderů.
V obličeji Ruby i Optica je použit bump-mapping, pravděpodobně normálové mapy, které využívají 3Dc kompresi Radeonu X800. Bump-mapping je využit k osvětlování objektů, které se sice skládají z menšího počtu polygonů, ale pomocí normálových map lze simulovat nerovný povrch. Více je vidět na obrázcích.
Celé demo, stejně jako následující, je renderováno pomocí HDR (High Dynamic Range), což je přesnost výpočtů v 3D pipeline. ATi používá 32-bitovou hloubku ve vertex shaderech (fp32) a 24-bitovou hloubku v pixel shaderech pro jeden barevný kanál (RGBA). Díky tomu lze téměř libovolně manipulovat s barvou, aniž by se výrazněji změnil odstín (při použití celých čísel se může celá scéna degradovat, např. po zvýšení jasu textury 100x a jeho následovném snížení 100x získáme u celočíselných výsledcích černou).
Subsurface scattering
O druhém technologickém demu ATi se již tolik rozepisovat nemusím, protože je jednodušší a je zaměřeno na jeden určitý jev. Ten je obsažen přímo v názvu, jedná se o tzv. subsurface scattering. V tomto demu je jakýsi kruhový chrám, uprostřed nějž stojí šachovnice. Na šachovnici je postava chlapíka s křídly (viz screenshoty), který je nejprve sochou a poté se začne zmenšovat na figurku v úrovni šachovnice.
Subsurface scattering se nazývá jev, který simuluje skutečné materiály vnitřním osvětlením. Většina nekovových látek totiž propouští určité množství světla, které se uvnitř láme a v konečném důsledku způsobuje iluminaci i z neosvětlené strany objektu. ATi dokáže u Radeonu X800 tento jev hardwarově renderovat, takže rozdíly mezi scénou bez a s použitím subsurface scatteringu jsou relativně velké (ačkoliv v demu jsou jistě ještě trochu přibarveny).
I zde je použit depth-of-field, po zmenšení sochy jsou stěny chrámu rozmazané. Dále jsou aplikovány i měkké stíny s dynamickým osvětlením. Velký důraz také klade ATi v tomto demu na rozdíl mezi vnitřním a venkovním osvětlením, jak vidíte na screenshotu. Dále je použit tzv. Precomputed Radiance Transfer (detaily zde) se Spherical Harmonic Lighting. To je typ globálního osvětlení, který nevytváří jednoznačné stíny a blíží se nehomogennímu přírodnímu světlu.
Více snad již není třeba k tomuto demu říkat, obrázky mluví samy za sebe. Pokud byste si chtěli některé demo stáhnout, zde jsou odkazy. EXE soubory lze použít jen na Radeonu X800, MPG a Quicktime lze samozřejmě přehrát na jakémkoliv počítači s příslušným softwarem:
Ruby: The Double Cross
Subsurface scattering
Ruby: The Double Cross
První demo, možná z obou zajímavější, je Ruby: The Double Cross. Setkáváme se v něm s ženskou hrdinkou Ruby, která je symbolem nové generace GPU ATi. Ruby přichází na jakousi vzdušnou základnu a předává „záporňákovi“ Opticovi krystal výměnou za informace. Ovšem aby to neměla jednoduché, vrhne se na ni při odchodu několik ninjů, kteří ale, jak už to tak v podobných situacích bývá, dostávají výprask. Scéna končí výbuchem stanice a útěkem Ruby i Optica.
Děj je ovšem vedlejší. Na rozdíl od dema Nalu pro GeForce 6800 je toto demo zaměřeno spíše na skutečné schopnosti grafické karty renderovat akční scény a nastiňuje cestu, kterou se možná budou nadcházející hry ubírat. Každá scéna se skládá asi ze 400 tisíc trojúhelníků a nacházejí se na ní většinou tři postavy najednou. Je využito několika světelných zdrojů.
Pro zajímavost jsem pomocí Fraps změřil průměrnou rychlost snímkování a na Radeonu X800 Pro je to 35,8 fps v rozlišení 1024x768 a 4x FSAA. Zkoušel jsem i vyšší rozlišení, ale to už se demo značně trhalo. Pokud by podobně vypadala nějaká budoucí hra, bylo by nutné ještě grafiku zrychlit, protože dobrý průměr je tak kolem 50-60 fps.
Mnohem zajímavější ale je, jak vypadá Double Cross technologicky a jakých nových schopností GPU je v něm využito. To, co je vidět v téměř každé scéně, je použití depth-of-field. Takto se nazývá efekt, který jakoby zaostřuje na objekt/postavu v popředí a pozadí scény rozmaže (efekt blur). Simuluje tak poměrně reálně lidské oko.
Dále jsou velice hojně využity dynamické měkké stíny. V současných hrách se téměř vždy používají tvrdé stíny (hard shadows), které nekladou příliš velké nároky na grafický čip a k vytvoření stínu dostačují. Ovšem většina světla v přírodě je nehomogenní a stíny, které vytváří, vypadají jinak. Toho se snaží docílit nový hardware implementací měkkých stínů, které více odpovídají reálu. Navíc jsou použity dynamické zdroje světla. Celkově jsou tyto stíny tak náročné, že v podstatě nejdou použít na celou scénu. Používají se převážně na stíny v obličeji apod.
V demu jsou využity i další náročné shadery, jak jsem zmínil, hlavně v obličejích, které jsou plné detailů. Propracované jsou např. odrazy, celá podlaha v hlavní místnosti je zrcadlově lesklá, ale zároveň hrbolatá. Proto jsou odrazy poměrně složité, což je realizováno pomocí shaderů.
V obličeji Ruby i Optica je použit bump-mapping, pravděpodobně normálové mapy, které využívají 3Dc kompresi Radeonu X800. Bump-mapping je využit k osvětlování objektů, které se sice skládají z menšího počtu polygonů, ale pomocí normálových map lze simulovat nerovný povrch. Více je vidět na obrázcích.
Celé demo, stejně jako následující, je renderováno pomocí HDR (High Dynamic Range), což je přesnost výpočtů v 3D pipeline. ATi používá 32-bitovou hloubku ve vertex shaderech (fp32) a 24-bitovou hloubku v pixel shaderech pro jeden barevný kanál (RGBA). Díky tomu lze téměř libovolně manipulovat s barvou, aniž by se výrazněji změnil odstín (při použití celých čísel se může celá scéna degradovat, např. po zvýšení jasu textury 100x a jeho následovném snížení 100x získáme u celočíselných výsledcích černou).
Subsurface scattering
O druhém technologickém demu ATi se již tolik rozepisovat nemusím, protože je jednodušší a je zaměřeno na jeden určitý jev. Ten je obsažen přímo v názvu, jedná se o tzv. subsurface scattering. V tomto demu je jakýsi kruhový chrám, uprostřed nějž stojí šachovnice. Na šachovnici je postava chlapíka s křídly (viz screenshoty), který je nejprve sochou a poté se začne zmenšovat na figurku v úrovni šachovnice.
Subsurface scattering se nazývá jev, který simuluje skutečné materiály vnitřním osvětlením. Většina nekovových látek totiž propouští určité množství světla, které se uvnitř láme a v konečném důsledku způsobuje iluminaci i z neosvětlené strany objektu. ATi dokáže u Radeonu X800 tento jev hardwarově renderovat, takže rozdíly mezi scénou bez a s použitím subsurface scatteringu jsou relativně velké (ačkoliv v demu jsou jistě ještě trochu přibarveny).
I zde je použit depth-of-field, po zmenšení sochy jsou stěny chrámu rozmazané. Dále jsou aplikovány i měkké stíny s dynamickým osvětlením. Velký důraz také klade ATi v tomto demu na rozdíl mezi vnitřním a venkovním osvětlením, jak vidíte na screenshotu. Dále je použit tzv. Precomputed Radiance Transfer (detaily zde) se Spherical Harmonic Lighting. To je typ globálního osvětlení, který nevytváří jednoznačné stíny a blíží se nehomogennímu přírodnímu světlu.
Více snad již není třeba k tomuto demu říkat, obrázky mluví samy za sebe. Pokud byste si chtěli některé demo stáhnout, zde jsou odkazy. EXE soubory lze použít jen na Radeonu X800, MPG a Quicktime lze samozřejmě přehrát na jakémkoliv počítači s příslušným softwarem:
Ruby: The Double Cross
Subsurface scattering