A P10 és a renderelés
Először is le kell szögeznünk, hogy a P10 ugyanúgy rendereli a 3D-s képeket, mint a legtöbb ma használatos grafikus chip, sőt, még annyiban is hasonlít rájuk, hogy a Tile Based deferred rendering nevű eljárás helyett (aka Kyro II) a hagyományos, "pazarlós" renderelést használja, azaz nem csak a végül megjelenített pixelekkel számol (és fordít rengeteg időt, energiát és tranzisztort arra, hogy megállapítsa, hogy melyek azok), hanem -- kis trükkökkel persze, de -- az összessel.
Hirdetés
Hogy is néz ki a hagyományos renderelés? Röviden, és pontatlanul:
- A központi processzor (CPU) elküldi az adatokat a grafikus processzornak (GPU) az AGP/PCI porton keresztül és a drivereken keresztül "utasítja" a GPU-t, hogy mit csináljon.
- A grafikus processzor megkezdi a kapott adatok (háromszögek csúcsai, vertices) feldolgozását. Első körben transzformálja őket a 3D-s világba (transformation, T&L), majd megvilágítja őket (lighting, T&L). Korábban ezt a lépcsőt a CPU-val végeztették, az első hardveres T&L-lel bíró kártyák már maguk csinálták, de csak előre adott módon, míg ma, a programozható vertex shadereknél a programozó állíthatja be, hogy ez a két lépcső hogyan történjen (spéci effekteket lehet tehát kreálni).
- Most jönne a pixelek generálása az immáron transzformált és megvilágított csúcspontokból, de előtte a grafikus chip elvégzi az összes sávszélesség-növelő hókuszpókuszt, azaz eldobja azokat a csúcspontokat, amelyekről így, vagy úgy, de megállapította, hogy a végső képen nem fognak látszani, megkímélve magát a fölösleges számításoktól. Az ún. Occlusion Culling, és az ezen alapuló HyperZ (ATi), vagy Visibility Subsystem (nVidia), Early Z-check és egyéb megoldások mind ide tartoznak. Régebben (Voodoo3, TNT2, stb.) ez a lépcső úgy, ahogy van, hiányzott.
- Megtörténik a 3D => 2D konverzió, azaz a virtuális 3D-s világból a GPU leképezi a koordinátánkat a monitorunkon megjelenítendő 2D-s képre.
- A GPU kiszámolja a generált poligonokra (háromszögekre) "húzandó" textúra koordinátáit, és el is végzi a "textúrázást". A textúra pixeleit már a pixel shaderekkel manipulálhatjuk, és érhetünk el vele szebbnél szebb effekteket.
- Az utolsó lépésben a végső képminőség-javító eljárásoké a szerep. A különböző filterezés, FSAA és egyéb extrák itt kerülnek képbe, majd ezek végeztével a már ténylegesen kész kép megjelenítésre kerül a RAMDAC-on (vagy a TMDS-en, ha digitális megjelenítőt használunk) keresztül.
A fentiek fényében lássuk a P10 pipeline-ját! A sárga dobozok programozható, míg a pirosak fix funkciójú elemeket jelölnek.
Kattanj rá, ha olvasni is akarod....
Kérdés, hogy mik a P10 újdonságai az egyes fázisokban? Lássuk, most már egész konkrétan!
A cikk még nem ért véget, kérlek, lapozz!