GPU-kkal kapcsolatos fogalmak

Aliasing: az aliasing-jelenség tulajdonképpen egy mintavételezési hiba. A monitoron előállított kép legkisebb egysége a pixel, de a 3D-s világban létezhet a pixelnél is kisebb elem. A monitor ezt nem tudja kirajzolni (mivel a pixelnél kisebb egység nem jeleníthető meg), így létrejön az aliasing nevű probléma. Érdemes megjegyezni, hogy valójában a monitornak ehhez a gondhoz nem sok köze van, mivel az aliasing a GPU-n belül jön létre, így a mintavételezési hiba a rendszeren belül keletkezik a raszterizálás során. A monitort csak azért vontuk be a definícióba, hogy könnyebb legyen megérteni, miről is van szó.

Alpha csatorna: egy képpont színét három adat határozza meg, a piros, a zöld és a kék színösszetevők értéke. Mindhárom színösszetevő – 32 bites részletességet feltételezve – 8 biten van ábrázolva, azaz 256 db különböző színárnyalatot tartalmaz. A fennmaradó 8 bit az alfa csatorna, amely a képpont megjelenésével kapcsolatos további információkat hordozza az átlátszóságára vonatkozóan.

CBV (constant buffer view): a DirectX 12-ben definiált típus a konstanspufferre.

GPU disassembler: a mai PC-s játékfejlesztés világában ez az egyik legfontosabb eszköz, ugyanis a fejlesztők képesek szabványos magas szintű shader kódokat írni az adott API specifikációi szerint, de azt már nem láthatják, hogy az abból fordított bájtkód hogyan fordul le az adott hardver utasításarchitektúrájára. A GPU disassembler azt a célt szolgálja, hogy a fejlesztő a kész bájtkódból kapjon egy olyan állományt, amely pontosan azt tartalmazza, hogy a megcélzott architektúrán az adott kód hogyan fog futni.

Instancing: a DirectX ezzel a technológiával a shader futószalag bármely pontján képes, bármilyen eddig betöltött objektumot lemásolni és ismét kirajzolni egyetlen utasítással. A DirectX 10-től kezdve az Instancing 2.0-t tartalmazza az API, ami megengedi a lemásolt objektum tulajdonságainak (eltérő textúrák, shaderek használhatók) módosítását is.

LOD: Level Of Detail, azaz részletességi szint. Átmenet a mipmap szintek között. Emellett számos objektum a 3D-s világban kisebb geometriai részletességgel lesz kirajzolva, ha egy bizonyos távolságra van a kamerától.

Mélységpuffer (Z-buffer): a képernyőn egy adott pixel több poligont is lefedhet, ezek közül el kell dönteni, melyik poligon látható. A Z-buffer eljárás a pixel által lefedett összes poligonnak meghatároz egy Z értéket. Ezek közül a legkisebbet kiválasztja és az értékhez tartozó poligon lesz látható.

Mipmap: amennyiben a textúra egy bizonyos távolságra van a kamerától a mipmap eljárás lecsökkenti a textúra méretét. A mipmap szintek közti átmeneteket a LOD határozza meg.

Pixel (Picture Element): az adott kép, vagy esetleg a kijelző legkisebb megkülönböztethető egysége.

Poligon: egymáshoz kapcsolódó szakaszokkal behatárolt, egyszerű síkbeli alakzat.

Setup motor: nehezen megfogalmazható dologról van szó, mivel az egyes hardverek másképp épülnek fel és másképp is működnek, de tulajdonképpen azokról a részegységekről beszélünk, melyek a háromszögek beállítását elvégzik a raszterizáláshoz. Erre azért van szükség, mert a szoftverben az egyes objektumok reprezentációja többféle lehet, így ezeket tiszta geometriai vázzá kell konvertálni, amit már megemészt a hardver.

Shader: a shaderek legegyszerűbb megfogalmazással élve programok. Különböző bemeneti adatok alapján elvégezik a kívánt számítást,majd a kimeneti adatot elmentik. A modern grafikus API-k futószalagján többféle shader van megkülönböztetve, melyek az API szempontjából lényegesek, mivel más-más erőforrásokat érhetnek el, de a hardverek szempontjából már ugyanazok az úgynevezett shader processzorok futtatják az összes shader programot. A shader processzorok egyébként leginkább ALU-ként, azaz aritmetikai és logikai egységekként jellemezhetők.

SRV (shader resource view): ez határozza meg, hogy egy shader a textúrából az információkat hogyan olvashatja ki.

Stencil buffer: 1999 óta szinte mindegyik videokártya támogat pixelenként minimum 24 bites Z-buffert, a fennmaradó 8 bitet a programozó bármire felhasználhatja.

Tesszellátor: a tesszelláció segítségével alacsony poligonszámú felületből lehet magasabb poligonszámút kreálni. Erre a mai modern (DirectX 11-es) futószalagokon már több lehetőség is van, ezen belül is a modern hardverek rendelkeznek úgynevezett fixfunkciós tesszellátorral. Utóbbi felel azért, hogy egy adott mennyiségű háromszögekből álló modell vagy felület több kisebb háromszögből épüljön fel, de ezt előre definiált algoritmusokkal lehet elvégezni, tehát hagyományos értelemben nem programozható a rendszer. A tesszellátorhoz kapcsolódó shader lépcsők viszont lehetőséget adnak a paraméterezésre, tehát a létrehozandó felület minősége relatíve jól kontrollálható.

Texel: a textúra legkisebb alkotóeleme.

Textúra: a poligonokra feszülő texelekből felépülő bitkép.

ROP: a Render Output Pipeline a Render Output Unit elterjedtebb alakja. Ez elsősorban annak köszönhető, hogy a modern hardverekben már blokkokba építik a leképzés utolsó fázisaiért felelős részegységeket, így csoportos névként utalunk rájuk. A ROP blokk részének tekinthetők a blending és a Z egységek. Ezek felelnek azért, hogy a számos mintavétel után kialakulhasson a pixel színe, amelyet kiírnak a memória megfelelő pufferébe.

RT (render target): Képkockára vonatkozó adatpufferek, melyek a leképzéshez szükséges adatokat tartalmazzák.

UAV (unordered access view): a DirectX 11 vezetett be a futószalag pixel, valamint compute shader részére. Segítségével az általános és strukturált adatpuffereket lehet kezelni, ezen belül is gather operációval olvasható, vagy scatter operációval írható a tartalmuk, akár párhuzamosan. A DirectX 11.1 újítása erre vonatkozóan, hogy több UAV-t lehet kreálni, továbbá most már a futószalag összes programozható lépcsője olvashatja a tárolt adatokat. Egyidejűleg írni és olvasni csak egyetlen formátumot lehet (single uint32).

Vertexa 3D-s térben elhelyezkedő poligonok csúcsait jelölő pontok.

Hirdetés