|
Grafikus fogalomtár Írta: Papdi Attila |
|
|
Aliassing: Az Aliassing 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 Aliassing nevű probléma. Alpha blending: Egy képpont színét három adat határozza meg, a piros, zöld és 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. AMD-ATi Crossfire: Az ATi által kifejlesztett Multi-GPU technológia. Háromféle módot támogatott a leképzéshez: Scissor, Supertilling és AFR (Alternate Frame Rendering). Az Scissor működése szempontjából megpróbálja kiegyenlítetten szétosztani a képkocka leképzésének terhelését a két GPU között. A kép felső és alsó részét külön GPU számolja. A technika hátránya, hogy mindkét GPU-nak le kell számolni a képkocka geometriáját, illetve a terhelés elosztása nem mindig volt megfelelő. A Supertilling mód sakktábla szerűen osztja fel a kép számítását és az egyes szomszédos kockákat, felváltva számoltatja a két GPU-val. A Scissor-hoz képpest annyi előnye van, hogy kvázi maximális hatékonysággal lesz elosztva a kép kalkulálásának terhelése, de képkocka geometriája még mindig terheli mindkét GPU-t. Az AFR külön számoltatja a teljes képkockát az egyes GPU-kon, majd ezeket a sorrendnek megfelelően kiküldi a monitorra. Hátránya, hogy esetenként speciális optimalizálást igényel. Anti-Aliassing: Az Aliassing jelenséget próbálja minimálisan láthatóvá tenni. Többféle Anti-Aliassing megoldás létezik: - Supersampling: Az Anti-aliassing legrégebbi, legegyszerűbb és legjobb képminőséget nyújtó megoldása. Minden egyes pixelt többször számol ki a videókártya, de az eredeti pixel pozícióhoz képpest mindig egy kicsit eltolva, majd összemossa a képet. Ezzel a módszerrel a legnagyobb a teljesítmény veszteség, nagymértékben fogyasztja a Fill Rate-et és a memória sávszélességet. - Multisampling: Ez az eljárás azt vizsgálja, hogy a renderelt poligon mennyire fedi le az adott pixelt. Ehhez a pixelen belül mintavételezési pontokat helyez el, majd Z-tesztet hajt többször végre. Ez eljárás előnye, hogy nem fogyasztja a Fill-Rate-et mivel nem számítunk ki több pixelt csak amennyit az alkalmazott felbontás megkövetel, viszont az extra adatok a memória-sávszélességet továbbra is terhelik. - Fragment: Csak a poligonok mentén lévő pixelességre fókuszál. Megvizsgálja, hogy a poligonok által a pixel fedve van-e, nincs fedve, vagy csak részben van fedve. Az első két esetben nincs semmi teendő, annál izgalmasabb viszont a harmadik, ahol a fedettség függvényében a pixeleket alpixelre (fragment-ekre) osztja fel, majd az alpixelek színeinek az átlagolásával határozza meg a végső pixelek színét. Sem a Fill-Rate-et, sem a memória sávszélességet nem terheli le, nagy hátránya, hogy csak a poligonok szelénél dolgozik (ez azért baj, mert a textúrákban lévő csíkokat nem veszi számításba), és Stencil buffer használta esetén nem alkalmazható. - Edge Detect (képminőség javító eljárás): A poligonok mentén elhelyezkedő pixeleken történő szűrés esetén, a rendszer több mintát használ fel a számoláshoz. - Temporal (képminőség javító eljárás): Ez egy régóta ismert élsimítási eljárás. A számítás az egymást követő pixeleken mindig más, véletlenszerű mintával történik. Kihasználja, hogy az emberi szem és az agy képes kiszűrni a véletlen zajt a képek értelmezésénél, így a monitoron leképzett képet szebbnek látjuk, mint amilyen valójában. A hátránya, hogy egy bizonyos képfrissítési érték alatt ronthat is a képminőségen. - Gammakorrekció (képminőség javító eljárás): Szemünk érzékenysége és pontossága nagyban függ a fény erősségétől. A videokártyák az élek simításához lineáris színátmenetet használnak, ezt exponenciálisra alakítják és több értéket csoportosítanak abba a tartományba amelyre szemünk érzékeny. A képpont kiszámítás utolsó fázisában alkalmazható. - Transparency/Adaptive (képminőség javító eljárás): Megvizsgálja a textúrát és annak alpha csatornáját, és a nem átlátszó területeken is élsímítást végez. Anizotróp Filter: Ez a szűrési eljárás a legmodernebb. A pixel színének meghatározásához az összes pixelen belüli texel színeit átlagolja, illetve még figyelembe veszi a poligonok elhelyezkedését is. A memória sávszélesség igénye viszont nagyon nagy, hiszen nem ritka, hogy egy pixelen belül akár 32, vagy több texel is található. API (Application Program Interface): Az alkalmazásprogramozási felület a szabványos függvények és eljárások segítségével lehetőséget add egy rendszer programozására anélkül, hogy a felépítését komolyabban ismerni kellene. Bilinear Filter: Egy kör alakú ábrával elemzi a texeleket. A középső 4 texel színeinek az átlaga lesz a pixel színe. Hátránya, hogy csak akkor végez tökéletes munkát, ha a kamera merőleges a poligonkora, mivel kör alakzattal dolgozik. A Point Samplinghoz képpest négyszeres a memória sávszélesség igénye. Bump Mapping: Amikor a 3D-s környezetben ezt az eljárást használjuk egy sima felületre, az domborúnak és egyenetlennek fog látszani. Megvalósításához szükséges az alaptextúra, amelyhez egy egyenetlenségi térképet (bump map) adunk hozzá. Ez a térkép megváltoztatja a felület normálvektorát, így érdes hatást fog kölcsönözni neki. Nagyon fontos, hogy az effektel csak a felület egyenetlenségének a látszatát valósítjuk meg. Cube Map: Ahogy a neve is mutatja ez egy kocka textúra. Több mindenre lehet használni. Főleg a 3D-s világ végtelen messze elhelyezkedő, tájegységeit szokás így leképezni. Double Buffering: A látható mozgás folyamatosságát biztosítja. A megjelenített képet reprezentáló Frame Buffer a renderelés alatt nem változik, a következő képkocka a Back Buffer-ben jön létre. A renderelés végeztével a videokártya egyszerűen átváltja a megjelenítésért felelős DAC-ot a Back Buffer területére, és az eddigi Frame Buffer lesz a Back Buffer. Fill Rate: Filterezés: A 3D-s világ poligonokból épül fel. Ezekre textúrák feszülnek, amik texelekből állnak. A monitoron látható kép, viszont pixelekből tevődik össze. Mivel egy pixel több texelt is magába foglalhat, videokártyának el kell dönteni a pixel színét. Frame Buffer: Képek tárolására használt memóriaterület. Nagyságát a kép felbontása és színmélysége határozza meg. HDR (HPDR): High Dynamic Range (High-Precision Dynamic Range). A képpontok megjelenítéshez használt színeket három alapszín, a vörös, a zöld és a kék árnyalataiból keverik össze. 32 bites színábrázolás esetében, színenként 256 különböző árnyalat áll rendelkezésre, ami elegendőnek tekinthető az élethű ábrázoláshoz. Viszont a teljesen sötét és a vakítóan világos között csak 254 különféle átmenet lehetséges, holott az emberi szem ennél sokkal többet képes megkülönböztetni. A magas dinamikatartomány lehetővé teszi egy olyan nagy pontosságú Frame puffer mód használatát, amelynek segítségével több fényértéket lehet ábrázolni. Többféle HDR szabvány létezik, a legelterjedtebbek az FP16, az FP32, az int10b és az RGBE. A legjobb képminőséget az FP32 tudja előállítani, ennek megfelelően ezen eljárásnak van a legnagyobb erőforrás igénye. LOD: Level Of Detail. Részletességi szint. Átmenet a mipmap szintek között. Mip-Mapping: 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. Multi-GPU: Ezen technológiák lehetőséget teremtenek arra, hogy a képkockák számolásában több grafikus processzor is dolgozhasson. (Windows Vista, vagy modernebb rendszer esetén már kettőnél több GPU is képes résztvenni a feladatban.) Normal mapping: A bump mapping-hoz hasonlóan a sima felület egyenetlenné való varázslásához használják, de valamivel jobb eredmény hozható létre ezzel az eljárással. Nvidia SLI: Scalable Link Interface. A 3dfx által kifejlesztett Multi-GPU technológia. Kétféle módot támogatott a leképzéshez: SFR (Split Frame Rendering) és AFR (Alternate Frame Rendering). Az SFR működése szempontjából megpróbálja kiegyenlítetten szétosztani a képkocka leképzésének terhelését a két GPU között. A kép felső és alsó részét külön GPU számolta. A technika hátránya, hogy mindkét GPU-nak le kell számolni a képkocka geometriáját, illetve a terhelés elosztása nem mindig volt megfelelő. Az AFR külön számoltatja a teljes képkockát az egyes GPU-kon, majd ezeket a sorrendnek megfelelően kiküldi a monitorra. Hátránya, hogy esetenként speciális optimalizálást igényel. Pixel: A monitoron látható kép legkisebb alkotóeleme. Point Sampling: A pixelen belül elhelyezkedő, középső texel színe lesz a pixel végső színe. Ez a megoldás a legegyszerűbb, és a legkisebb memóriasávszélesség igényű. Viszont nem valami szép a képe. Poligon: Egymáshoz kapcsolódó szakaszokkal behatárolt egyszerű síkbeli alakzat. Shader Modell:
A Shader Modell verzióinak tulajdonságait az aktuális Direct3D API-ban definiálják. Mielőtt belekezdenék
tisztázzuk, hogy a 3D-s program renderelése folyamán
a grafikus processzor milyen is munkát végez: Stencil Buffer: 1999 óta szinte mindegyik videokártya képes pixelenként 24 bites Z-bufferelésre, a fennmaradó 8 bitet a programozó bármire felhasználhatja. Texel: A textúra legkisebb alkotóeleme. Textúra: A poligonokra feszülő texelekből felépülő bitkép. Textúra tömörítés:
A textúrának felhasználható bitkép,
kiváló minőségű, viszont felbontástól
függően igen nagy helyigénnyel rendelkező fájl.
Mivel a videokártya memóriája és annak
sávszélessége korlátozott,
beépített textúra tömörítést
használ, amennyiben az adott alkalmazás támogatja
és engedélyezi azt. Többféle textúra
tömörítés létezik: T&L: Transform & Lightning. A 3D-s program renderelése folyamán
a grafikus processzor a következőket végzi: Trilinear Filter: A MIP-Mapping eljárást adja hozzá a bilinear-hoz, de még mindig kör alakzattal dolgozik. A memória sávszélesség igény duplája a bilinear szűréshez képpest. Truform: A TruForm nem tesz egyebet, minthogy menet közben veszi a feldolgozás előtt álló poligonok adatait, azokból görbe felületet hoz létre, majd a kapott eredményt visszaalakítja több, kisebb poligonná, a grafikus processzor már ezeken végzi el a további műveleteket. Ezért úgy kaphatunk nagyobb poligonszámú, szebb és élethűbb modelleket, hogy nem kell terhelni a teljes rendszert. Ez így mind szép és jó, viszont a probléma ott kezdődik, hogy a Truformot támogatni kell. A szép eredmény érdekében a modelleket előre fel kell készíteni a technológiára. Mivel az nvidia nem támogatja a technológiát, nagyon nehéz elterjednie. Továbbá a legtöbb fejlesztőknek nincs elég ideje addig készíteni egy modelt, hogy az truform-mal és anélkül is jól mutasson. UltraShadow: Az nVidia által kifejlesztet stencil árnyék optimalizációs technika. Ezzel az eljárással a programozók pontosan meg tudják határozni, hol látszódjon az adott árnyék és hol ne. Többnyire azokban a 3D-s programokban használható, amelyek Stencil Shadow Volume használatával képzik az árnyékokat. Vertex: A 3D-s térben elhelyezkedő poligonok csúcsait jelölő pontok. 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 lefedet összes poligonnak meghatároz egy Z értéket. Eme értékek közül a legkisebbet kiválasztja és az ehhez tartozó poligon lesz látható. |
|