První teselaci neměla Nvidia, aneb Ati Truform: Zapomenutá revoluce v kulatých hlavách, která předběhla dobu

Vlevo ukázka bez Ati TRUform vpravo ukázka stejného renderingu s ATI truform v counter-strike 1.6.

Když v roce 2001 ATI představila Radeon 8500, nemířila jen na tehdejší nadvládu GeForce 3. Přinesla s sebou technologii, která měla navždy skoncovat s „hranatými“ modely v 3D hrách. Jmenovala se TruForm a slibovala, že z vašich oblíbených hrdinů udělá skutečně organické bytosti. Proč se ale z této hardwarové teselace stal jen historický unikát? Radeon 8500 se začal prodávat 14. srpna 2001. Koncem října 2001 Ati začalo prodávat slabší verzi Radeon 8500 LE.

V éře počátku milénia byl výkon grafických karet silně limitován počtem polygonů, které dokázal hardware „uchroustat“. Výsledkem byly postavy s špičatými rameny a hlavy, které připomínaly spíše kvádry než koule. ATI se tehdy rozhodla pro elegantní řešení: místo aby nutila procesor posílat tisíce nových trojúhelníků, naučila grafickou kartu, jak si je sama „domyslet“.

Magie jménem N-Patches

Technologie TruForm (technicky založená na tzv. N-Patches) fungovala na principu hardwarové teselace. Zjednodušeně řečeno: vzala stávající trojúhelník modelu a pomocí matematických výpočtů jej „vyboulila“ a rozdělila na mnohem jemnější síť menších trojúhelníků. Výsledek byl patrný na první pohled – zbraně byly hladší, tváře lidštější a monstra v Serious Samovi vypadala o generaci moderněji.

To vše se dělo přímo v grafickém čipu (SIP block), což znamenalo minimální dopad na výkon procesoru. Radeon 8500 tak byl v tomto směru technologickým pionýrem, který o deset let předběhl standardy DirectX 11.

Když se z vojáka stane Michelin

Proč tedy TruForm dnes nepoužíváme u každé retro hry? Problém byl v tom, že technologie byla „tupá“ v interpretaci toho, co má být kulaté. Algoritmus prostě zaoblil všechno. Pokud vývojáři hru přímo neupravili (pomocí speciálních příznaků/flagů), stávalo se, že meče vypadaly jako nafouknuté klobásy a krabice v Counter-Striku měly boule.

Aby TruForm vypadal k světu, vyžadovalo to od vývojářů práci navíc. A protože NVIDIA (tehdejší úhlavní rival) nic podobného nepodporovala, tvůrcům her se nevyplatilo optimalizovat modely jen pro majitele Radeonů.

Jak si TruForm užít dnes?

Pokud stavíte dobové „retro PC“ s Radeonem 8500 nebo 9000-9800, TruForm je přesně ta funkce, kterou chcete vidět v akci. I když ji ATI později z ovladačů Catalyst odstranila, v komunitě se na ni nezapomnělo.

Hry s TruForm podporou z vogons.org seznamu

Odkaz TruFormu

Přestože TruForm jako značka zanikl s příchodem řady Radeon X1000, jeho myšlenka přežila. Hardwarová teselace se stala povinnou součástí standardů až s DirectX 11 v roce 2009 (architektura TeraScale 2).

ATI tehdy s Radeonem 8500 ukázala cestu, kterou se grafika bude ubírat o dekádu později. Pro nás retro nadšence zůstává TruForm fascinující ukázkou doby, kdy se výrobci nebáli experimentovat s unikátními hardwarovými funkcemi, které dodávaly hrám specifický vizuální charakter.

Ukázka Ati Truform na Radeon 8500

Odložím si tento článek, protože z tohoto mě čeká udělat video a všechno navzájem porovnat.

ATI TruForm was a brand by ATI (now AMD) for a SIP block capable of doing a graphics procedure called tessellation in computer hardware. ATI TruForm was included into Radeon 8500 (available from August 2001 on) and newer products.[1]

The successor of the SIP block branded „ATI TruForm“ was included into Radeon HD 2000 series (available from June 2007 on) and newer products: hardware tessellation with TeraScale.

Support for hardware tessellation only became mandatory in Direct3D 11 and OpenGL 4. Tessellation as defined in those APIs is only supported by newer TeraScale 2 (VLIW5) products introduced in September 2009 and GCN-based products (available from January 2012 on). The GCN SIP block carrying out the tessellation is the „Geometric processor“.

Od Radeonu 8500 po moderní GCN

Historie teselace u ATI/AMD je však fascinující svou kontinuitou:

  • Radeon 8500 (2001): První nasazení TruFormu.
  • Radeon 9200/9500/9700/9800 – X1000: TruForm už nebyl propagován jako hlavní funkce, ale hardware podporoval funkci Render to Vertex Buffer (R2VB), která umožňovala podobné kousky přes shadery.
  • Radeon HD 2000 (2007): Skutečný nástupce TruFormu se objevil v architektuře TeraScale (čipy R600).
  • Direct3D 11 (2009): Až s touto verzí rozhraní se teselace stala povinným standardem pro všechny. Plnou podporu pak přinesla architektura TeraScale 2 a následně známá architektura GCN (2012), kde už teselaci řeší specializovaný „Geometric processor“.

Počínaje řadou RadeonX1000 již nebyl TruForm propagován jako hardwarová funkce. Nicméně Radeon 9500 a vyšší modely (stejně jako hardware podporující Shader Model 3.0) obsahují funkci Render to Vertex Buffer  (R2VB), kterou lze pro účely teselace využít. V případě řady Radeon X1000 je podporováno současné navázání až pěti R2VB bufferů. Teselace jako dedikované hardwarové řešení se pak vrátila u čipu Xenos (grafický procesor Xboxu 360) a u GPU řady Radeon R600.

Závěr

TruForm byl fascinující slepou uličkou, která ukázala budoucí směr celého odvětví. Pro nás, fanoušky retro hardwaru, je to symbol éry, kdy ATI dělala odvážné experimenty, které sice trh hned nepřijal, ale které definovaly základy moderní 3D grafiky, jak ji známe dnes.

Před zavedením metod bump mappingu vylepšených pixel shadery, jako jsou normal a parallax mapping, které simulují vyšší detaily geometrie, se zakřivené 3D tvary ve hrách vytvářely pomocí velkého počtu trojúhelníků. Čím více trojúhelníků je použito, tím detailněji a méně ‚hranatě‘ povrch působí. TruForm vytváří zakřivený povrch s využitím stávajících trojúhelníků a tento povrch následně tesseluje (rozděluje), čímž vzniká nový, detailnější polygonální model. Je navržen tak, aby díky hardwarovému zpracování geometrie zvýšil vizuální kvalitu, aniž by přitom výrazně ovlivnil plynulost snímkování (FPS).

Vývojáři her technologii TruForm ve velkém nepřijali, protože v ideálním případě vyžadovala, aby byly modely navrhovány už s ohledem na její využití. Aby bylo možné tuto funkci aktivovat bez vizuálních defektů, jako byly například nepřirozeně nafouknuté zbraně, musely modely obsahovat speciální příznaky (flagy) určující, které oblasti mají být teselovány a které nikoliv. Absence širší podpory této techniky u konkurence pak vedla k tomu, že ji vývojáři začali ignorovat.

zdroj1: https://www.vogons.org/viewtopic.php?t=83000&start=20

zdroj2: https://cs.wikipedia.org/wiki/TruForm

Další zdroje: přímo v textu.

Ukázka nafouknuté zbraně ve hře Serious SAM Na obrázku nafouknutá brokovnice, vznášející se v prostoru, nabízející se hráči k vyzvednutí. okolo dlážděná podlaha a dlážděné zdi lemované aztéckým vodorovným pruhem.
Grafický glitch v některých hrách, kde nebylo nastaveno, které modely mají být zaoblené a které nikoliv – výsledkem byly nafouklé zbraně. Toto byla brokovnice ve hře Serious SAM. zdroj: https://www.reddit.com/r/hardware/comments/1rr3rs/til_that_ati_used_tessellation_14_years_ago/

ukázka vlevo bez truform, vpravo s truform counter-strike 1.6
ukázka vlevo bez truform, vpravo s truform counter-strike 1.6
ukázka vlevo bez truform, vpravo s truform counter-strike 1.6
ukázka vlevo bez truform, vpravo s truform counter-strike 1.6

ukázka vpravo bez truform, vlevo s truform counter-strike 1.6
ukázka vlevo bez truform, vpravo s truform counter-strike 1.6
ukázka vlevo bez truform, vpravo s truform counter-strike 1.6
ukázka vlevo bez truform, vpravo s truform counter-strike 1.6
ukázka vlevo bez truform, vpravo s truform counter-strike 1.6
retromasters
Přehled ochrany osobních údajů

Tyto webové stránky používají soubory cookies, abychom vám mohli poskytnout co nejlepší uživatelský zážitek. Informace o souborech cookie se ukládají ve vašem prohlížeči a plní funkce, jako je rozpoznání, když se na naše webové stránky vrátíte, a pomáhají našemu týmu pochopit, které části webových stránek považujete za nejzajímavější a nejužitečnější.