10.10.2019

Anizotropna filtracija: čemu služi, na kaj vpliva, praktična uporaba


IN sodobne igre Vse več grafičnih učinkov in tehnologij se uporablja za izboljšanje slike. Vendar se razvijalci običajno ne trudijo razložiti, kaj točno počnejo. Ko nimate najzmogljivejšega računalnika, morate žrtvovati nekatere zmogljivosti. Poskusimo pogledati, kaj pomenijo najpogostejše grafične možnosti, da bi bolje razumeli, kako sprostiti vire računalnika z minimalnim vplivom na grafiko.

Anizotropno filtriranje
Ko je na monitorju prikazana katera koli tekstura, ki ni v prvotni velikosti, je treba vanjo vstaviti dodatne slikovne pike ali, nasprotno, odstraniti dodatne. Za to se uporablja tehnika, imenovana filtriranje.


trilinearno

anizotropno

Bilinearno filtriranje je najpreprostejši algoritem in zahteva manj računalniške moči, vendar daje tudi najslabše rezultate. Trilinear dodaja jasnost, vendar še vedno ustvarja artefakte. Anizotropno filtriranje velja za najnaprednejšo metodo za odpravo opaznih popačenj na objektih, ki so močno nagnjeni glede na kamero. Za razliko od prejšnjih dveh metod se uspešno bori proti učinku gradacije (ko so nekateri deli teksture zamegljeni bolj kot drugi in postane meja med njimi jasno vidna). Pri uporabi bilinearnega ali trilinearnega filtriranja postane tekstura z večanjem razdalje vedno bolj zamegljena, vendar anizotropno filtriranje nima te pomanjkljivosti.

Glede na količino podatkov, ki se obdelujejo (in v sceni je lahko veliko 32-bitnih tekstur visoke ločljivosti) je anizotropno filtriranje še posebej zahtevno. pasovna širina spomin. Promet je mogoče zmanjšati predvsem s stiskanjem tekstur, ki se zdaj uporablja povsod. Prej, ko se ni izvajalo tako pogosto in je bila prepustnost video pomnilnika veliko manjša, je anizotropno filtriranje znatno zmanjšalo število sličic. Na sodobnih video karticah skoraj ne vpliva na fps.

Anizotropno filtriranje ima samo eno nastavitev faktorja filtra (2x, 4x, 8x, 16x). Višje kot je, jasnejše in bolj naravne so videti teksture. Običajno so pri visoki vrednosti majhni artefakti vidni samo na najbolj oddaljenih slikovnih pikah nagnjenih tekstur. Vrednosti 4x in 8x sta običajno povsem dovolj, da se znebite levjega deleža vizualnega popačenja. Zanimivo je, da bo pri prehodu z 8x na 16x kazen zmogljivosti precej majhna celo v teoriji, saj bo dodatna obdelava potrebna le za majhno število predhodno nefiltriranih slikovnih pik.

Senčniki
Shaderji so majhni programi, ki lahko proizvajajo določene manipulacije s 3D sceno na primer spremenite osvetlitev, uporabite teksturo, dodate naknadno obdelavo in druge učinke.

Senčniki so razdeljeni v tri vrste: senčniki vozlišč delujejo s koordinatami, senčniki geometrije lahko obdelujejo ne samo posamezne točke, ampak tudi celotne geometrijske oblike, sestavljene iz največ 6 točk, senčniki pikslov delujejo s posameznimi piksli in njihovimi parametri.

Senčniki se uporabljajo predvsem za ustvarjanje novih učinkov. Brez njih je nabor operacij, ki bi jih razvijalci lahko uporabljali v igrah, zelo omejen. Z drugimi besedami, dodajanje senčil je omogočilo pridobitev novih učinkov, ki niso bili privzeto vključeni v video kartico.

Shaderji delujejo zelo produktivno v vzporednem načinu, zato imajo sodobni grafični adapterji toliko pretočnih procesorjev, ki jih imenujemo tudi shaderji.

Preslikava paralakse
Preslikava paralakse je spremenjena različica znane tehnike preslikave izboklin, ki se uporablja za dodajanje reliefa teksturam. Preslikava paralakse ne ustvari 3D objektov v običajnem pomenu besede. Na primer, tla ali stena v prizoru igre bosta videti groba, medtem ko bosta v resnici popolnoma ravna. Reliefni učinek tukaj dosežemo le z manipulacijo tekstur.

Ni nujno, da je izvorni objekt raven. Metoda deluje na različnih igralnih predmetih, vendar je njena uporaba zaželena le v primerih, ko se višina površine gladko spreminja. Nenadne spremembe so nepravilno obdelane in na predmetu se pojavijo artefakti.

Preslikava paralakse znatno prihrani računalniške vire računalnika, saj pri uporabi analognih objektov z enako podrobno 3D strukturo zmogljivost video adapterjev ne bi bila dovolj za upodabljanje prizorov v realnem času.

Efekt se najpogosteje uporablja na kamnitih tlakih, stenah, opeki in ploščicah.

Anti-Aliasing
Pred DirectX 8 je bilo izravnavanje v igrah izvedeno z uporabo SuperSampling Anti-Aliasing (SSAA), znanega tudi kot Full-Scene Anti-Aliasing (FSAA). Njegova uporaba je privedla do znatnega zmanjšanja zmogljivosti, zato so ga z izdajo DX8 takoj opustili in nadomestili z Multisample Anti-Aliasing (MSAA). čeprav ta metoda dal slabše rezultate, je bil veliko bolj produktiven kot njegov predhodnik. Od takrat so se pojavili naprednejši algoritmi, kot je CSAA.

AA izklopljen AA vklopljen

Glede na to, da se je v zadnjih nekaj letih zmogljivost grafičnih kartic opazno povečala, sta AMD in NVIDIA ponovno vrnila podporo za tehnologijo SSAA v svoje pospeševalnike. Vendar ga v sodobnih igrah še zdaj ne bo mogoče uporabiti, saj bo število sličic/s zelo nizko. SSAA bo učinkovit le pri projektih iz preteklih let ali v trenutnih, vendar s skromnimi nastavitvami ostalih grafičnih parametrov. AMD je implementiral podporo SSAA samo za igre DX9, vendar v NVIDIA SSAA deluje tudi v načinih DX10 in DX11.

Načelo glajenja je zelo preprosto. Preden se okvir prikaže na zaslonu, se določene informacije izračunajo ne v izvorni ločljivosti, temveč v povečani ločljivosti in večkratniku dveh. Nato se rezultat zmanjša na zahtevano velikost, nato pa "lestev" vzdolž robov predmeta postane manj opazna. Višja kot sta izvirna slika in faktor glajenja (2x, 4x, 8x, 16x, 32x), manj bo na modelih nazobčanosti. MSAA za razliko od FSAA zgladi samo robove predmetov, kar znatno prihrani vire video kartice, vendar lahko ta tehnika pusti artefakte znotraj poligonov.

Prej je Anti-Aliasing v igrah vedno znatno zmanjšal število sličic na sekundo, zdaj pa le malo vpliva na število sličic, včasih pa sploh nima učinka.

Teselacija
Z uporabo teselacije v računalniškem modelu se število poligonov poveča za poljubno število krat. Da bi to naredili, je vsak poligon razdeljen na več novih, ki se nahajajo približno enako kot prvotna površina. Ta metoda vam omogoča preprosto povečanje podrobnosti preprostih 3D-predmetov. Hkrati pa se bo povečala tudi obremenitev računalnika in v nekaterih primerih ni mogoče izključiti majhnih artefaktov.

Na prvi pogled lahko teselacijo zamenjamo s preslikavo paralakse. Čeprav gre za popolnoma različne učinke, saj teselacija dejansko spremeni geometrijsko obliko predmeta in ne le simulira relief. Poleg tega se lahko uporablja za skoraj vse predmete, medtem ko je uporaba paralaksnega preslikave zelo omejena.

Tehnologija teselacije je v kinu znana že od 80. let prejšnjega stoletja, v igrah pa se je začela podpirati šele pred kratkim, oziroma potem, ko so grafični pospeševalniki končno dosegli zahtevano raven zmogljivosti, na kateri se lahko izvaja v realnem času.

Da igra uporablja teselacijo, potrebuje video kartico, ki podpira DirectX 11.

Vertikalna sinhronizacija

V-Sync je sinhronizacija okvirjev igre z navpično frekvenco skeniranja monitorja. Njegovo bistvo je v tem, da se v trenutku, ko se na njem posodobi slika, na zaslonu prikaže popolnoma izračunan okvir igre. Pomembno je, da se naslednji okvir (če je že pripravljen) prav tako pojavi najkasneje in ne prej kot se konča izpis prejšnjega in se začne naslednji.

Če je frekvenca osveževanja monitorja 60 Hz in ima grafična kartica čas za upodabljanje 3D-scene z vsaj enakim številom sličic, bo vsaka osvežitev monitorja prikazala novo sličico. Z drugimi besedami, v intervalu 16,66 ms bo uporabnik na zaslonu videl popolno posodobitev scene igre.

Treba je razumeti, da ko je omogočena navpična sinhronizacija, fps v igri ne more preseči frekvence navpičnega skeniranja monitorja. Če je število sličic nižje od te vrednosti (v našem primeru manj kot 60 Hz), je treba, da se izognete izgubi zmogljivosti, aktivirati trojno medpomnilnik, pri katerem se okvirji izračunajo vnaprej in shranijo v tri ločene medpomnilnike, kar jim omogoča pogostejše pošiljanje na zaslon.

Glavna naloga vertikalne sinhronizacije je odpraviti učinek premaknjenega okvirja, ki se pojavi, ko je spodnji del zaslona zapolnjen z enim okvirjem, zgornji del pa z drugim, premaknjenim glede na prejšnji.

Naknadna obdelava
To je splošno ime za vse učinke, ki se prekrivajo z že pripravljenim okvirjem popolnoma upodobljene 3D scene (z drugimi besedami, z dvodimenzionalno sliko) za izboljšanje kakovosti končne slike. Naknadna obdelava uporablja senčnike slikovnih pik in se uporablja v primerih, ko dodatni učinki zahtevajo popolne informacije o celotnem prizoru. Takšnih tehnik ni mogoče uporabiti ločeno za posamezne 3D-predmete, ne da bi se v okvirju pojavili artefakti.

Visok dinamični razpon (HDR)
Učinek, ki se pogosto uporablja v prizorih iger s kontrastno osvetlitvijo. Če je en del zaslona zelo svetel, drugi pa zelo temen, se na vsakem delu izgubi veliko podrobnosti in izgledajo monotono. HDR doda okvirju več gradacije in omogoča več podrobnosti v prizoru. Če ga želite uporabiti, morate običajno delati s širšim razponom barv, kot ga lahko zagotovi standardna 24-bitna natančnost. Predhodni izračuni se izvajajo z visoko natančnostjo (64 ali 96 bitov) in šele na končni stopnji se slika prilagodi na 24 bitov.

HDR se pogosto uporablja za uresničitev učinka prilagoditve vida, ko junak v igrah izstopi iz temnega tunela na dobro osvetljeno površino.

Bloom
Bloom se pogosto uporablja v povezavi s HDR, ima pa tudi precej bližnjega sorodnika Glow, zato se te tri tehnike pogosto zamenjujejo.

Bloom simulira učinek, ki ga lahko opazite pri snemanju zelo svetlih prizorov z običajnimi fotoaparati. Na dobljeni sliki se zdi, da intenzivna svetloba zavzame več volumna, kot bi morala, in »pleza« na predmete, čeprav je za njimi. Pri uporabi Blooma se lahko na robovih predmetov pojavijo dodatni artefakti v obliki barvnih črt.

Zrnatost filma
Zrnatost je artefakt, ki se pojavi na analogni televiziji s slabim signalom, na starih magnetnih videokasetah ali fotografijah (zlasti digitalnih slikah, posnetih pri šibki svetlobi). Igralci pogosto onemogočijo ta učinek, ker nekoliko pokvari sliko, namesto da bi jo izboljšal. Da bi to razumeli, lahko zaženete Mass Effect v vsakem načinu. V nekaterih grozljivkah, kot je Silent Hill, hrup na zaslonu, nasprotno, doda vzdušje.

Meglitev gibanja
Motion Blur je učinek zameglitve slike, ko se kamera hitro premika. Uspešno se lahko uporablja, ko je treba sceni dati več dinamike in hitrosti, zato je še posebej iskana v dirkalnih igrah. Pri strelcih uporaba zameglitve ni vedno zaznana nedvoumno. Pravilna uporaba Motion Blur lahko dogajanju na zaslonu doda kinematografski občutek.

Učinek bo po potrebi tudi pomagal prikriti nizko hitrost sličic in dodati gladkost igranju.

SSAO
Ambientalna okluzija je tehnika, ki se uporablja za fotorealističnost prizora z ustvarjanjem bolj verodostojne osvetlitve predmetov v njem, ki upošteva prisotnost drugih predmetov v bližini z lastnimi značilnostmi absorpcije in odboja svetlobe.

Screen Space Ambient Occlusion je spremenjena različica Ambient Occlusion in prav tako simulira posredno osvetlitev in senčenje. Pojav SSAO je bil posledica dejstva, da na trenutni ravni zmogljivosti GPE Ambient Occlusion ni bilo mogoče uporabiti za upodabljanje prizorov v realnem času. Večja zmogljivost v SSAO prihaja na račun nižje kakovosti, vendar je tudi to dovolj za izboljšanje realizma slike.

SSAO deluje po poenostavljeni shemi, vendar ima številne prednosti: metoda ni odvisna od kompleksnosti prizora, ne uporablja RAM-a, lahko deluje v dinamičnih prizorih, ne zahteva predhodne obdelave okvirja in naloži samo grafični adapter brez porabe virov procesorja.

Cel senčenje
Igre z učinkom senčenja Cel so začele izdelovati leta 2000 in najprej so se pojavile na konzolah. Na osebnih računalnikih je ta tehnika postala resnično priljubljena šele nekaj let kasneje. S pomočjo senčenja Cel se vsak okvir praktično spremeni v ročno narisano risbo ali delček iz risanke.

Stripi so ustvarjeni v podobnem slogu, zato se tehnika pogosto uporablja v igrah, povezanih z njimi. Med zadnjimi znanimi izdajami je strelec Borderlands, kjer je senčenje Celja vidno s prostim očesom.

Značilnosti tehnologije so uporaba omejenega nabora barv, pa tudi odsotnost gladkih gradientov. Ime efekta izhaja iz besede Cel (Celluloid), torej prozornega materiala (filma), na katerega so narisani animirani filmi.

Globinska ostrina
Globinska ostrina je razdalja med bližnjim in daljnim robom prostora, znotraj katere bodo vsi predmeti izostreni, preostali del prizora pa bo zamegljen.

Do določene mere lahko opazujete globinsko ostrino preprosto tako, da se osredotočite na predmet blizu vaših oči. Vse, kar je za njim, bo zamegljeno. Velja tudi obratno: če se osredotočite na oddaljene predmete, bo vse pred njimi videti zamegljeno.

Na nekaterih fotografijah lahko vidite učinek globinske ostrine v pretirani obliki. To je stopnja zamegljenosti, ki jo pogosto poskušajo simulirati v 3D prizorih.

V igrah, ki uporabljajo globinsko ostrino, igralec običajno čuti močnejši občutek prisotnosti. Na primer, ko gleda nekam skozi travo ali grmovje, vidi le majhne delčke izostrenega prizora, kar ustvarja iluzijo prisotnosti.

Vpliv na uspešnost

Da bi ugotovili, kako omogočanje določenih možnosti vpliva na zmogljivost, smo uporabili igralno merilo uspešnosti Heaven DX11 Benchmark 2.5. Vsi testi so bili izvedeni na sistemu Intel Core 2 Duo e6300, GeForce GTX460 pri ločljivosti 1280×800 slikovnih pik (razen pri vertikalni sinhronizaciji, kjer je bila ločljivost 1680×1050).

Kot smo že omenili, anizotropno filtriranje praktično ne vpliva na število sličic. Razlika med onemogočeno anizotropijo in 16x sta samo 2 sličici, zato vedno priporočamo, da jo nastavite na največjo.

Anti-aliasing v Heaven Benchmark je zmanjšal fps bolj, kot smo pričakovali, zlasti v najtežjem načinu 8x. Ker pa je 2x dovolj za opazno izboljšanje slike, priporočamo, da izberete to možnost, če je igranje na višjih nivojih neprijetno.

Teselacija, za razliko od prejšnjih parametrov, lahko sprejme poljubno vrednost v vsakem ločena igra. V Heaven Benchmark se slika brez njega bistveno poslabša, na najvišji ravni pa postane, nasprotno, nekoliko nerealna. Zato je treba vmesne vrednosti nastaviti na zmerno ali normalno.

Za navpično sinhronizacijo je bila izbrana višja ločljivost, tako da fps ni omejen z navpično hitrostjo osveževanja zaslona. Kot je bilo pričakovano, je število sličic v skoraj celotnem preizkusu z vključeno sinhronizacijo ostalo trdno pri približno 20 ali 30 sličicah na sekundo. To je posledica dejstva, da se prikažejo hkrati z osveževanjem zaslona in s frekvenco skeniranja 60 Hz to ni mogoče storiti z vsakim impulzom, temveč le z vsako sekundo (60/2 = 30 sličic/s) ali tretjino (60/3 = 20 sličic/s). Ko je bil V-Sync izklopljen, se je število sličic povečalo, vendar so se na zaslonu pojavili značilni artefakti. Trojno medpomnjenje ni imelo nobenega pozitivnega učinka na gladkost scene. To je lahko posledica dejstva, da v nastavitvah gonilnika grafične kartice ni možnosti za prisilno onemogočanje medpomnjenja in da merilnik uspešnosti prezre običajno deaktivacijo in še vedno uporablja to funkcijo.

Če bi bil Heaven Benchmark igra, bi bilo pri največjih nastavitvah (1280 × 800; AA 8x; AF 16x; Tessellation Extreme) neprijetno igrati, saj 24 sličic za to očitno ni dovolj. Z minimalno izgubo kakovosti (1280×800; AA 2x; AF 16x, Tessellation Normal) lahko dosežete sprejemljivejših 45 fps.



Preizkusi delovanja:

In zdaj, ko smo se seznanili z osnovnimi koncepti filtriranja in glajenja teksture, lahko nadaljujemo s prakso.

Konfiguracija računalnika:
Procesor: Intel Core 2 Quad Q6600 @ 3200MHz (400x8, 1.3125V)
Video kartica: Palit Nvidia GeForce 8800GT
Matična plošča: Asus P5Q PRO TURBO
Pomnilnik: 2x2048MB DDR2 Corsair XMS2 @ 1066MHz, 5-5-5-15
Napajalnik: Corsair CMPSU-850HXEU 850W
CPU hladilnik: Zalman CNPS9700 LED
OS: Windows 7 Ultimate x64
Različica video gonilnika: Nvidia 195.62 x64

Glavna tema našega današnjega testiranja je bila zelo stara, a nič manj znana igra Counter-Strike: Source, saj je to ena redkih resnično razširjenih iger, ki ponuja ogromno različnih nastavitev anti-aliasinga in filtriranja. Kljub starodavnosti motorja (2004) lahko ta igra še vedno precej dobro naloži tudi najsodobnejšo platformo. Tukaj je tako bogat nabor nastavitev, ki so predstavljene uporabniku:

Preizkusi izravnave in filtriranja so bili izvedeni v vgrajenem merilu uspešnosti pri ločljivosti 1280x1024. Vse druge nastavitve so bile vzete kot največje, kot na zgornjem posnetku zaslona. Da bi rezultat čim bolj približali resnici, je bil vsak parameter testiran trikrat, nato pa je bila ugotovljena aritmetična sredina dobljenih vrednosti.

In tako, kaj smo dobili:

Rezultati so bili precej nepričakovani. Tehnologija vzorčenja pokritosti (CSAA), ki naj bi po definiciji porabila manj sredstev kot MSAA, tu kaže povsem nasprotno sliko. Razlogi ta pojav lahko obstaja velika raznolikost. Najprej je treba upoštevati, da je zmogljivost pri vklopu anti-aliasinga v mnogih pogledih odvisna od arhitekture GPU. Optimizacija različnih tehnologij same igre in različice gonilnika igra enako pomembno vlogo. Zato so lahko rezultati pri uporabi drugih grafičnih kartic ali celo druge različice gonilnika popolnoma drugačni.

Preizkusi z onemogočenim anti-aliasingom (označeno modro za lažje zaznavanje) so pokazali približno enako sliko, kar kaže na rahlo razliko v obremenitvi grafične kartice.

Poleg tega obstaja jasno ujemanje med indikatorji FPS pri uporabi istega načina izravnave za AF 8x in AF 16x. Hkrati se razlika giblje od 1 do 4 fps (z izjemo MSAA 8x, kjer je razlika 11 fps). To nakazuje, da je uporaba 16-kratnega filtriranja lahko zelo koristna, če želite izboljšati kakovost slike brez pomembnega vpliva na zmogljivost.

In vendar je treba opozoriti, da je preprosto nerealno dobiti enake vrednosti FPS neposredno v igri, saj se veliko prizorov izkaže za veliko težje, zlasti pri številnih igralcih.

Testne slike:

Torej, kaj imamo? Spoznali smo učinke različnih konfiguracij nastavitev na zmogljivost. "Toda zakaj je vse to potrebno?" - vprašate. Za izboljšanje kakovosti prikazane slike bom odgovoril. Ali sploh obstaja takšno povečanje? Za odgovor na to vprašanje predlagam, da si ogledate naslednje posnetke zaslona:

Billinearno/MSAA 2xTrilinear/MSAA 2xAF 2x / MSAA 2x
AF 2x / CSAA 8xAF 2x / MSAA 8xAF 2x / CSAA 16x
AF 2x / CSAA 16xQAF 8x/MSAA x2AF 8x / CSAA 8x
AF 8x / MSAA 8xAF 8x / CSAA 16xAF 8x / CSAA 16xQ
AF 16x / MSAA 2xAF 16x / CSAA 8xAF 16x / MSAA 8x
AF 16x / CSAA 16xAF 16x / CSAA 16xQBillinear/CSAA 16xQ

Kot vidite, bistvene razlike v kombinacijah "nad" AF 8x / MSAA 8x (CSAA 8x) preprosto ni. Toda to ima za posledico opazen zadetek v zmogljivosti, zlasti pri uporabi vzorčenja pokritosti AntiAliasing.

Sklepi:

Zagotovo med bralci Ta članek tam bodo igralci Cs:s, HL2 in drugih iger, ki temeljijo na pogonu Source. Ta članek se jim bo zdel bolj zanimiv in poučen od drugih. Vendar je bil namen tega pisanja le povedati o sodobne tehnologije, ki pomaga izboljšati vizualno percepcijo iger. In testi so način, kako pokazati navedeno teorijo v praksi.

Da bi zagotovili zanesljivost odčitkov, bi morali seveda opraviti teste zmogljivosti na drugih video čipih in na dodatnih igrah.

Kakor koli že, če se vrnemo na temo tega članka, vsakdo izbere, s katerimi nastavitvami se bo igral. In ne bom dajal nasvetov ali priporočil, saj so vnaprej obsojeni na neuspeh. Upam, da vam bodo zgornja teorija in testi pomagali bolje spoznati opisane tehnologije.

Avtor Stormcss


Hudo brcanje

Sodeč po informacijah na forumih in člankih na internetu, se ATI igra s trilinearnim filtriranjem tekstur na novem GPU X800. So pa tudi takšni, ki ATi zagrizeno branijo. Na splošno nas takšne razprave spominjajo na škandal, povezan z nVidio pred letom dni.

Povod za tako burno razpravo je bil članek na nemški spletni strani Computerbase. Pokazalo je, kako ATI uporablja optimizirano trilinearno filtriranje tekstur, ki se pogosto imenuje "brilinearno" zaradi mešanice bilinearnega in trilinearnega filtriranja, na grafičnih procesorjih Radeon 9600 in X800. Novica je bila res osupljiva, saj je ATI vedno govoril o uporabi pravega trilinearnega filtriranja.

Kakšna pa je situacija v resnici? Je to optimizacija, trik ali samo pametna rešitev? Za presojo se moramo poglobiti v tehnologijo na različne načine filtracijo. In prav temu bo posvečen prvi del članka, nekatere tehnologije pa bomo predstavili na zelo poenostavljen način, da bi ga strnili na nekaj strani. Oglejmo si torej osnovne in temeljne funkcije filtriranja.

Ali bo nadaljevanje? Morda zato, ker se polemika o nedavno odkritem brilinearnem filtriranju na karticah Radeon 9600 in X800 nadaljuje. ATi je treba priznati, da kakovost slike kartic zaradi tega filtriranja vizualno ne trpi. Vsaj nimamo primerov, ki bi kazali drugače. Medtem ko se brilinearno filtriranje kaže v umetno ustvarjenem laboratorijske razmere. Hkrati ATi za omenjene kartice ne omogoča vklopa polnega trilinearnega filtriranja, pa naj bo to prilagodljivo ali ne. Zaradi novega filtriranja vrednosti zmogljivosti v testih ne pokažejo celotnega potenciala X800, saj so vrednosti FPS dobljene po optimizaciji, katere vpliv na hitrost je težko oceniti. In beseda "prilagodljiv" pusti grenak priokus. ATI nam ni posredoval nobenih informacij o delovanju gonilnika in je večkrat izjavil, da kartica ponuja popolno trilinearno filtriranje. Šele po omenjenem razkritju je ATi priznal, da je filtriranje optimizirano. Upajmo, da na drugih mestih v vozniku ni takšne "prilagodljivosti".

Vendar se proizvajalci počasi, a zanesljivo bližajo točki, ko bo stopnja tolerance presežena. "Prilagodljivost" ali definicija aplikacije, ki se zažene, ne dovoljuje, da bi primerjalni programi prikazali dejansko zmogljivost kartice v igrah. Kakovost slike igre se lahko razlikuje od enega gonilnika do drugega. Proizvajalci se lahko zabavajo z voznikom, odvisno od tega, kakšno zmogljivost v tistem trenutku potrebuje marketinški oddelek. No, pravica potrošnika, da ve, kaj pravzaprav kupuje, pri nas nikogar več ne zanima. Vse to je prepuščeno medijem – naj izpolnjujejo svoje izobraževalno poslanstvo. In triki filtriranja, o katerih smo razpravljali v našem članku, so le najbolj znani takšni primeri. Kaj je še skrito naši pozornosti, lahko le ugibamo.

Vsak proizvajalec se sam odloči, kakšno raven kakovosti slike bo standardno zagotavljal. Vendar bi morali proizvajalci dokumentirati optimizacije, ki jih uporabljajo, zlasti če so skrite pred znanimi merili uspešnosti, kot v nedavnem primeru ATI. Rešitev je očitna: omogočite izklop optimizacij! Potem se bo potrošnik lahko sam odločil, kaj mu je bolj pomembno - več FPS ali boljša kakovost. Tudi na Microsofta kot arbitra ne morete računati. Testi WHQL ne merijo veliko stvari in jih je mogoče zlahka zaobiti: Ali poznate pomen besede "odziven"?

Trenutno znane optimizacije filtriranja
ATi nVidia
Trilinearno
optimizacija
R9600
X800
GF FX5xxx
(GF 6xxx)*
Kotna optimizacija
anizotropno filtriranje
R9xxx
X800
GF 6xxx
Prilagodljivo
anizotropno filtriranje
R9xxx
X800
GF FX5xxx
GF 6xxx
Optimizacija stopnje R9xxx
X800
GF FX5xxx
LOD optimizacija R9xxx
X800(?)

Na splošno imajo takšne razprave svoje prednosti: kupci in po možnosti stranke OEM začnejo prisluhniti težavi. Ne dvomimo, da se bo manija nebrzdane optimizacije nadaljevala. Vendar se je v temnem kraljestvu pojavil žarek svetlobe, kar je nazorno pokazala nVidia s svojo trilinearno optimizacijo. Upajmo na nadaljnje podobne korake!

Tehnologije za prikaz 3D-predmetov na zaslonu osebnih računalniških monitorjev se razvijajo skupaj z izdajo sodobnih grafičnih adapterjev. Pridobivanje idealne slike v tridimenzionalnih aplikacijah, ki je čim bližje pravemu videu, je glavna naloga razvijalcev strojne opreme in glavni cilj poznavalcev računalniških iger. Tehnologija, uporabljena v najnovejši generaciji video kartic, je zasnovana tako, da pomaga pri tem - anizotropno filtriranje v igrah.

Kaj je to?

Vsak igralec računalniških iger si želi, da se na zaslonu prikaže barvita slika virtualni svet, tako da lahko, ko se povzpnete na vrh gore, opazujete slikovito okolico, tako da s pritiskom na gumb za pospeševanje na tipkovnici do konca vidite ne samo ravno linijo dirkalne steze, ampak tudi polnopravno okolje v obliki mestnih krajin vse do obzorja. Predmeti, prikazani na zaslonu monitorja, idealno stojijo neposredno pred uporabnikom v najprimernejšem merilu; pravzaprav je velika večina tridimenzionalnih predmetov pod kotom glede na linijo pogleda. Poleg tega različne virtualne razdalje tekstur od zornega kota prav tako prilagajajo velikost predmeta in njegove teksture. Izračuni za prikaz tridimenzionalnega sveta na dvodimenzionalnem zaslonu se uporabljajo v različnih 3D tehnologijah, namenjenih izboljšanju vizualne percepcije, med katerimi je nenazadnje tudi filtriranje tekstur (anizotropno ali trilinearno). Tovrstno filtriranje je eden najboljših dosežkov na tem področju.

Na prstih

Če želite razumeti, kaj počne anizotropno filtriranje, morate razumeti osnovna načela algoritmov teksturiranja. Vsi predmeti tridimenzionalnega sveta so sestavljeni iz "okvirja" (tridimenzionalni tridimenzionalni model predmeta) in površine (teksture) - dvodimenzionalne slike, "raztegnjene" čez okvir. Najmanjši del teksture - barvni tekseli, ti so kot piksli na zaslonu, glede na "gostoto" teksture so tekseli lahko različnih velikosti. Sestavljen je iz večbarvnih tekselov polna slika kateri koli predmet v tridimenzionalnem svetu.

Na zaslonu so tekseli v kontrastu s piksli, katerih število je omejeno z razpoložljivo ločljivostjo. Medtem ko je lahko v območju navidezne vidnosti skoraj neskončno število tekselov, imajo slikovne pike, ki prikazujejo sliko uporabniku, določeno število. Torej pretvorbo vidnih tekselov v barvne piksle izvaja algoritem za obdelavo tridimenzionalnih modelov - filtriranje (anizotropno, bilinearno ali trilinearno). Več podrobnosti o vseh vrstah je podanih spodaj po vrstnem redu, saj prihajajo ena od druge.

Srednja barva

Najenostavnejši algoritem filtriranja je prikazati barvo, ki je najbližja zornemu kotu vsake slikovne pike (točkovno vzorčenje). Preprosto je: vidna linija določene točke na zaslonu pade na površino tridimenzionalnega predmeta, tekstura slik pa vrne barvo teksela, ki je najbližje vpadni točki, in filtrira vse druge. Idealno za enobarvne površine. Z majhnimi razlikami v barvah daje tudi dokaj kvalitetno sliko, vendar precej dolgočasno, ker kje ste videli tridimenzionalne predmete iste barve? Samo osvetlitev, sence, odsevi in ​​drugi senčniki so pripravljeni obarvati kateri koli predmet v igrah božična jelka, kaj naj rečemo o samih teksturah, ki včasih predstavljajo likovna dela. Tudi siva brezdušna betonska stena v sodobnih igrah ni le pravokotnik neopisne barve, je površina, posejana s hrapavostmi, včasih razpokami in praskami ter drugimi umetniškimi elementi, ki videz virtualne stene čim bolj približajo resničnim stenam. ali stene, ki so si jih zamislili razvijalci. Na splošno je bilo skoraj barvo mogoče uporabiti v prvih tridimenzionalnih igrah, zdaj pa so igralci postali veliko bolj zahtevni glede grafike. Kar je pomembno: filtriranje bližnje barve ne zahteva skoraj nobenih izračunov, kar pomeni, da je zelo ekonomično v smislu računalniških virov.

Linearno filtriranje

Razlike med linearnim algoritmom niso prevelike, namesto najbližje točke teksela linearno filtriranje uporablja 4 naenkrat in izračuna povprečno barvo med njimi. Edina težava je, da na površinah, ki se nahajajo pod kotom glede na zaslon, vidna linija tvori elipso na teksturi, medtem ko linearno filtriranje uporablja popoln krog za izbiro najbližjih tekselov, ne glede na kot gledanja. Uporaba štirih tekselov namesto enega lahko bistveno izboljša upodabljanje tekstur, ki so oddaljene od zornega kota, vendar še vedno ni dovolj za pravilen odsev slike.

Mip-preslikava

Ta tehnologija vam omogoča rahlo optimizacijo upodabljanja računalniške grafike. Za vsako teksturo se ustvari določeno število kopij v različnih stopnjah podrobnosti, za vsako raven podrobnosti je izbrana drugačna slika, na primer za dolg hodnik ali veliko dvorano bližnja tla in stene zahtevajo čim več podrobnosti, oddaljeni koti pa pokrivajo le nekaj slikovnih pik in ne zahtevajo bistvenih detajl. Ta funkcija 3D grafike pomaga preprečiti zameglitev oddaljenih tekstur ter popačenje in izgubo slike ter deluje skupaj s filtriranjem, ker se video adapter pri izračunu filtriranja ne more odločiti, kateri tekseli so pomembni za popolnost slike. sliko, in ki jih ni toliko.

Bilinearno filtriranje

S skupno uporabo linearnega filtriranja in teksturiranja MIP dobimo bilinearni algoritem, ki nam omogoča še boljši prikaz oddaljenih predmetov in površin. Vendar pa isti 4 tekseli tehnologiji ne zagotavljajo zadostne prilagodljivosti; poleg tega bilinearno filtriranje ne prikrije prehodov na naslednjo stopnjo skaliranja, saj dela z vsakim delom teksture posebej, njihove meje pa so lahko vidne. Tako, na velika razdalja ali pod velikim kotom so teksture močno zamegljene, zaradi česar je slika nenaravna, kot da bi pri ljudeh s kratkovidnostjo, pri teksturah s kompleksnimi vzorci pa so opazne stičišča tekstur različnih ločljivosti. Ampak mi smo za zaslonom monitorja, ne potrebujemo kratkovidnosti in raznih čudnih črt!

Trilinearno filtriranje

Ta tehnologija je zasnovana za popravljanje risbe na črtah spreminjanja lestvice teksture. Medtem ko bilinearni algoritem deluje z vsako stopnjo preslikave mip posebej, trilinearno filtriranje dodatno izračuna meje ravni podrobnosti. Ob vsem tem se zahteve po RAM-u povečujejo, izboljšanje slike na oddaljenih predmetih pa ni zelo opazno. Seveda so meje med bližnjimi stopnjami povečave obdelane bolje kot pri bilinearni in izgledajo bolj harmonično brez ostrih prehodov, kar vpliva na splošni vtis.

Anizotropno filtriranje

Če izračunate projekcijo vidne črte vsake piksle zaslona na teksturo glede na kot gledanja, boste dobili napačne oblike - trapeze. Skupaj z uporabo več tekselov za izračun končne barve lahko to da veliko boljši rezultat. Kaj naredi anizotropno filtriranje? Glede na to, da v teoriji ni omejitev glede števila uporabljenih tekselov, je takšen algoritem sposoben prikazati računalniško grafiko neomejene kakovosti na poljubni razdalji od zornega kota in pod poljubnim kotom, idealno primerljivo z realnim videom. Anizotropno filtriranje v svojih zmožnostih je omejeno le s tehničnimi lastnostmi grafičnih adapterjev osebnih računalnikov, za katere so zasnovane sodobne video igre.

Primerne video kartice

Način anizotropnega filtriranja je mogoč na video adapterjih po meri od leta 1999, začenši s slavnimi karticami Riva TNT in Voodoo. Vrhunske konfiguracije teh kartic so bile povsem sposobne upodabljati trilinearno grafiko in so celo ustvarile spodobne številke FPS z uporabo x2 anizotropnega filtriranja. Zadnja številka označuje kakovost filtriranja, ki je posledično odvisna od števila tekselov, vključenih v izračun končne barve piksla na zaslonu; v tem primeru jih je uporabljenih kar 8. Poleg tega se pri izračunih uporablja območje zajemanja teh tekselov, ki ustreza kotu gledanja, in ne kroga, kot v linearnih algoritmih prej. Sodobne grafične kartice so sposobne obdelave filtriranja z anizotropnim algoritmom na ravni x16, kar pomeni uporabo 128 tekselov za izračun končne barve slikovnih pik. To obljublja znatno izboljšanje prikaza tekstur, ki so oddaljene od zornega kota, pa tudi resno obremenitev, vendar je najnovejša generacija grafičnih adapterjev opremljena z dovolj RAM-a in večjedrnimi procesorji, da se spopadejo s to nalogo.

Vpliv na FPS

Prednosti so očitne, a koliko bo anizotropno filtriranje stalo igralce? Vpliv na zmogljivost igralnih video adapterjev z resno strojno opremo, izdanih najkasneje do leta 2010, je zelo nepomemben, kar potrjujejo testi neodvisnih strokovnjakov v številnih priljubljene igre. Filtriranje anizotropne teksture v kakovosti x16 na proračunskih karticah kaže zmanjšanje splošni indikator FPS za 5-10%, nato pa zaradi manj produktivnih komponent grafičnega adapterja. Takšna zvestoba sodobne strojne opreme računalništvu, ki zahteva veliko virov, govori o nenehni skrbi proizvajalcev za nas, skromne igralce. Povsem možno je, da prehod na naslednje stopnje kakovosti anizotropije ni daleč, če nas izdelovalci iger ne pustijo na cedilu.

Seveda je samo anizotropno filtriranje vključeno v izboljšanje kakovosti slike. Igralec se sam odloči, ali ga bo omogočil ali ne, vendar srečni lastniki najnovejših modelov Nvidia ali AMD (ATI) ne bi smeli niti pomisliti na to težavo - nastavitev anizotropnega filtriranja na najvišjo raven ne bo vplivala na zmogljivost in bo pokrajinam in prostranim lokacijam dodajte realističnost. nekaj situacija je bolj zapletena lastniki integriranih grafičnih rešitev Intel, saj je v tem primeru veliko odvisno od kakovosti RAM-a računalnika, njegove taktne frekvence in zmogljivosti.

Možnosti in optimizacija

Nadzor nad vrsto in kakovostjo filtracije je na voljo zahvaljujoč posebni programski opremi, ki ureja gonilnike grafične kartice. V menijih iger so na voljo tudi napredne nastavitve anizotropnega filtriranja. Implementacija visokih ločljivosti in uporaba več monitorjev v igrah je proizvajalce prisilila k razmišljanju o pospeševanju delovanja svojih izdelkov, tudi z optimizacijo anizotropnih algoritmov. Proizvajalci kartic v najnovejše različice predstavljeni vozniki nova tehnologija imenovano adaptivno anizotropno filtriranje. Kaj to pomeni? Ta funkcija, ki jo je uvedel AMD in je delno implementirana v nedavnih izdelkih Nvidia, omogoča zmanjšanje faktorja filtriranja, kjer je to mogoče. Tako lahko anizotropno filtriranje s koeficientom x2 obdela bližnje teksture, medtem ko bodo oddaljeni predmeti upodobljeni z uporabo bolj zapletenih algoritmov do največjega koeficienta x16. Kot običajno optimizacija zagotavlja precejšnje izboljšave na račun kakovosti, ponekod je prilagodljiva tehnologija nagnjena k napakam, kar je opazno na ultra nastavitvah nekaterih novejših 3D video iger.

Kaj naredi anizotropno filtriranje? Poraba računalniške moči video adapterjev je v primerjavi z drugimi tehnologijami filtriranja veliko večja, kar vpliva na zmogljivost. Vendar pa je problem zmogljivosti pri uporabi tega algoritma že dolgo rešen v sodobnih grafičnih čipih. Skupaj z drugimi 3D tehnologijami anizotropno filtriranje v igrah (že predstavljamo, kaj je) vpliva na splošni vtis celovitosti slike, zlasti pri prikazovanju oddaljenih predmetov in tekstur, ki se nahajajo pod kotom na zaslon. To je očitno glavna stvar, ki jo igralci potrebujejo.

Pogled v prihodnost

Sodobna strojna oprema s povprečnimi lastnostmi in več je povsem kos zahtevam igralcev, zato je beseda o kakovosti tridimenzionalnih računalniških svetov zdaj v rokah razvijalcev video iger. Najnovejša generacija grafičnih adapterjev podpira ne le visoke ločljivosti in tehnologije obdelave slik, ki zahtevajo veliko virov, kot je filtriranje anizotropne teksture, temveč tudi tehnologije VR ali podporo za več monitorjev.

Teksturiranje je kritičen element današnjih 3D aplikacij in brez njega številni 3D modeli izgubijo velik del svoje vizualne privlačnosti. Vendar proces nanašanja tekstur na površine ni brez artefaktov in ustreznih metod za njihovo zatiranje. V svetu tridimenzionalnih iger se vsake toliko časa pojavijo specializirani izrazi, kot so »mip mapping«, »trilinear filtering« ipd., ki se posebej nanašajo na te metode.

Poseben primer učinka zvijanja, o katerem smo govorili prej, je učinek zvijanja teksturiranih površin, ki ga na žalost ni mogoče odstraniti z zgoraj opisanimi metodami večkratnega ali supervzorčenja.

Predstavljajte si črno-belo šahovnica velike, skoraj neskončne velikosti. Recimo, da to ploščo narišemo na zaslon in jo pogledamo pod rahlim kotom. Za dovolj oddaljena področja plošče se bo velikost celic neizogibno začela zmanjševati na velikost ene slikovne pike ali manj. To je tako imenovano optično zmanjšanje teksture (minifikacija). Začel se bo "boj" med slikovnimi pikami teksture za posedovanje slikovnih pik zaslona, ​​​​kar bo povzročilo neprijetno utripanje, ki je ena od vrst učinka aliasinga. Povečanje ločljivosti zaslona (dejanske ali dejanske) le malo pomaga, ker pri dovolj oddaljenih predmetih podrobnosti teksture še vedno postanejo manjše od slikovnih pik.

Po drugi strani pa deli plošče, ki so nam najbližje, zavzamejo veliko površino zaslona in lahko vidite ogromne slikovne pike teksture. To se imenuje optična povečava teksture (povečava). Čeprav ta težava ni tako pereča, se je treba tudi z njo spopasti, da zmanjšamo negativni učinek.

Za reševanje težav s teksturiranjem se uporablja tako imenovano filtriranje teksture. Če pogledate postopek risanja tridimenzionalnega predmeta s prekrito teksturo, lahko vidite, da gre izračun barve slikovne pike "obratno" - najprej se slikovna točka zaslona najde tam, kjer bo določena točka predmeta. projicirana, nato pa za to točko vse slikovne pike teksture, ki spadajo v njeno. Izbiranje slikovnih pik teksture in njihovo kombiniranje (povprečenje) za pridobitev končne barve slikovnih pik zaslona se imenuje filtriranje teksture.

Med postopkom teksturiranja je vsaki slikovni piki zaslona dodeljena koordinata znotraj teksture in ta koordinata ni nujno celo število. Poleg tega piksel ustreza določenemu območju v sliki teksture, ki lahko vsebuje več pikslov iz teksture. To območje bomo imenovali slika piksla v teksturi. Za bližnje dele naše plošče postane slikovna pika zaslona znatno manjša od slikovne pike teksture in se tako rekoč nahaja znotraj nje (slika je v slikovni piki teksture). Pri oddaljenih, nasprotno, vsak piksel pade veliko število teksturne točke (slika vsebuje več teksturnih točk). Slika slikovnih pik ima lahko drugačna oblika in je v splošnem primeru poljuben štirikotnik.

Razmislimo različne metode filtriranje tekstur in njihovih različic.

Najbližji sosed

Pri tej najpreprostejši metodi je barva pikslov preprosto izbrana tako, da je barva najbližje ustrezne piksle teksture. Ta metoda je najhitrejša, a tudi najmanj kakovostna. Pravzaprav to niti ni posebna metoda filtriranja, ampak preprosto način, kako izbrati vsaj nekaj piksla teksture, ki ustreza pikslu zaslona. Široko se je uporabljal pred pojavom strojnih pospeševalnikov, katerih široka uporaba je omogočila uporabo boljših metod.

Bilinearno filtriranje

Bilinearno filtriranje najde štiri piksle teksture, ki so najbližje trenutni točki na zaslonu, in nastala barva je določena kot rezultat mešanja barv teh pikslov v določenem razmerju.

Filtriranje najbližjega soseda in bilinearno filtriranje delujeta precej dobro, ko je, prvič, stopnja zmanjšanja teksture majhna, in drugič, ko vidimo teksturo pod pravim kotom, tj. čelno. S čim je to povezano?

Če upoštevamo, kot je opisano zgoraj, "sliko" slikovne pike zaslona v teksturi, potem bo v primeru močnega zmanjšanja vključevala veliko slikovnih pik teksture (do vseh slikovnih pik!). Tudi, če pogledamo teksturo pod kotom, bo ta slika močno podaljšana. V obeh primerih opisani metodi ne bosta dobro delovali, saj filter ne bo "zajel" pripadajočih teksturnih pikslov.

Za reševanje teh težav se uporablja tako imenovano mip preslikavo in anizotropno filtriranje.

Mip preslikava

Z znatnim optičnim zmanjšanjem lahko točka na zaslonu ustreza precejšnjemu številu slikovnih pik teksture. To pomeni, da bo implementacija tudi najboljšega filtra zahtevala precej časa za povprečje vseh točk. Vendar pa je težavo mogoče rešiti z ustvarjanjem in shranjevanjem različic teksture, v kateri so vrednosti povprečne vnaprej. In na stopnji upodabljanja poiščite želeno različico izvirne teksture za slikovno piko in vzemite vrednost iz nje.

Izraz mipmap izhaja iz latinskega multum in parvo - veliko v malem. Pri uporabi te tehnologije pomnilnik grafičnega pospeševalnika poleg slike teksture shrani nabor svojih pomanjšanih kopij, pri čemer je vsaka nova natanko polovica velikosti prejšnje. Tisti. za teksturo velikosti 256x256 se dodatno shranjujejo slike 128x128, 64x64 itd., do 1x1.

Nato se za vsako slikovno piko izbere ustrezna raven mipmapa (večja ko je velikost pikselske "slike" v teksturi, manjši je mipmap). Nato je mogoče vrednosti v mipmapu povprečiti bilinearno ali z uporabo metode najbližjega soseda (kot je opisano zgoraj), poleg tega pa pride do filtriranja med sosednjimi ravnmi mipmapa. Ta vrsta filtriranja se imenuje trilinearna. Daje zelo kakovostne rezultate in se pogosto uporablja v praksi.


Slika 9. Ravni mipmapa

Ostaja pa problem "podolgovate" slike piksla v teksturi. Ravno zato je naša tabla na daleč videti zelo nejasna.

Anizotropno filtriranje

Anizotropno filtriranje je postopek filtriranja teksture, ki posebej upošteva primer podolgovate slikovne pike v teksturi. Pravzaprav se namesto kvadratnega filtra (kot pri bilinearnem filtriranju) uporablja podolgovat, ki vam omogoča boljšo izbiro želene barve za piksel zaslona. To filtriranje se uporablja v povezavi z mipmappingom in daje zelo kakovostne rezultate. Vendar pa obstajajo tudi slabosti: izvedba anizotropnega filtriranja je precej zapletena in ko je omogočena, se hitrost risanja močno zmanjša. Anizotropno filtriranje podpirajo najnovejše generacije grafičnih procesorjev NVidia in ATI. Poleg tega z različnimi stopnjami anizotropije - višja kot je ta raven, bolj "podolgovate" slikovne pike je mogoče pravilno obdelati in boljša je kakovost.

Primerjava filtrov

Rezultat je naslednji: za zatiranje artefaktov aliasinga teksture je v strojni opremi podprtih več metod filtriranja, ki se razlikujejo po kakovosti in hitrosti. Najenostavnejša metoda filtriranja je metoda najbližjega soseda (ki se dejansko ne bori proti artefaktom, ampak preprosto zapolni slikovne pike). Dandanes se najpogosteje uporablja bilinearno filtriranje skupaj s preslikavo mip ali trilinearno filtriranje. IN Zadnje čase GPU-ji so začeli podpirati način filtriranja najvišje kakovosti - anizotropno filtriranje.

Preslikava izboklin

Bump mapping je vrsta grafičnih posebnih učinkov, ki so zasnovani za ustvarjanje vtisa "hrapavih" ali neravnih površin. V zadnjem času je uporaba bump mappinga postala skoraj standard za igralne aplikacije.

Glavna ideja za preslikavo izboklin je uporaba tekstur za nadzor interakcije svetlobe s površino predmeta. To vam omogoča dodajanje majhnih podrobnosti brez povečanja števila trikotnikov. V naravi ločimo majhne neravne površine po sencah: vsaka izboklina bo na eni strani svetla, na drugi temna. Pravzaprav oko morda ne more zaznati sprememb v obliki površine. Ta učinek se uporablja v tehnologiji preslikave izboklin. Ena ali več dodatnih tekstur se nanese na površino predmeta in uporabi za izračun osvetlitve točk predmeta. Tisti. površina predmeta se prav nič ne spremeni, ustvari se le iluzija nepravilnosti.

Obstaja več metod preslikave izboklin, a preden jih pogledamo, moramo ugotoviti, kako dejansko definirati izbokline na površini. Kot je navedeno zgoraj, se za to uporabljajo dodatne teksture, ki so lahko različnih vrst:

Normalni zemljevid. V tem primeru vsaka slikovna pika dodatne teksture shrani vektor, pravokoten na površino (normalno), kodiran kot barva. Za izračun osvetlitve se uporabljajo normalne vrednosti.

Zemljevid premikov. Zemljevid premika je tekstura v sivinah, kjer vsaka slikovna pika shrani odmik od prvotne površine.

Te teksture pripravijo oblikovalci 3D modelov skupaj z geometrijo in osnovnimi teksturami. Obstajajo tudi programi, ki omogočajo samodejno pridobivanje zemljevidov normale ali pomika

Vnaprej izračunano preslikavo izboklin

Teksture, ki bodo hranile informacije o površini predmeta, so ustvarjene vnaprej, pred fazo upodabljanja, tako da zatemnite nekatere teksturne točke (in s tem površino samo) predmeta in osvetlite druge. Nato se med risanjem uporablja običajna tekstura.

Ta metoda ne zahteva nobenih algoritemskih trikov med risanjem, žal pa ne pride do sprememb v osvetlitvi površin, ko se spremeni položaj svetlobnih virov ali gibanje predmeta. In brez tega ni mogoče ustvariti resnično uspešne simulacije neravne površine. Podobne metode se uporabljajo za statične dele scene, pogosto za nivojsko arhitekturo itd.

Preslikava izboklin z vtiskovanjem (Emboss bump mapping)

Ta tehnologija je bila uporabljena na prvih grafičnih procesorjih (NVidia TNT, TNT2, GeForce). Za objekt se ustvari zemljevid premika. Risanje poteka v dveh fazah. Na prvi stopnji se zemljevid pomikov dodaja piksel za pikselom. V tem primeru se druga kopija premakne na kratko v smeri vira svetlobe. To povzroči naslednji učinek: vrednosti pozitivne razlike določajo osvetljene slikovne pike, negativne vrednosti pa slikovne pike v senci. Te informacije se uporabljajo za ustrezno spreminjanje barve spodnjih slikovnih pik teksture.

Preslikava izboklin z vtiskovanjem ne zahteva strojne opreme, ki podpira senčnike slikovnih pik, vendar ne deluje dobro pri razmeroma velikih površinskih nepravilnostih. Prav tako predmeti ne izgledajo vedno prepričljivo, to je močno odvisno od kota, pod katerim gledate na površino.

Preslikava pikslov

Pixel bump mapping je trenutno vrhunec razvoja tovrstnih tehnologij. V tej tehnologiji je vse izračunano čim bolj pošteno. Senčnik slikovnih pik dobi kot vhod normalni zemljevid, iz katerega so vzete normalne vrednosti za vsako točko predmeta. Normalna vrednost se nato primerja s smerjo vira svetlobe in izračuna se vrednost barve.

Ta tehnologija je podprta v opremi, ki se začne z video karticami ravni GeForce2.

Tako smo videli, kako lahko uporabimo posebnosti človeškega dojemanja sveta za izboljšanje kakovosti slik, ustvarjenih s 3D igrami. Srečni lastniki najnovejše generacije grafičnih kartic NVidia GeForce, ATI Radeon (vendar ne le najnovejši) se lahko samostojno igrajo z nekaterimi od svojih opisanih učinkov, saj so nastavitve za odstranjevanje vzdevkov in anizotropno filtriranje na voljo v možnostih gonilnika. Te in druge metode, ki presegajo obseg tega članka, razvijalci iger uspešno implementirajo v nove izdelke. Na splošno se življenje izboljša. Še nekaj se bo zgodilo!