Ikiwa itawasha uchujaji wa anisotropiki au la. Kuweka kadi ya picha ya Nvidia kwa michezo ya kubahatisha

Jisajili
Jiunge na jumuiya ya "koon.ru"!
VKontakte:

Jambo wote! Leo ni sana makala ya kuvutia kuhusu kusawazisha kadi ya video utendaji wa juu V michezo ya kompyuta. Marafiki, kukubaliana kwamba baada ya kufunga dereva wa kadi ya video, mara moja ulifungua "Jopo la Kudhibiti la Nvidia" na ukaona maneno yasiyo ya kawaida huko: DSR, shaders, CUDA, pulse ya saa, SSAA, FXAA, na kadhalika, na ukaamua kutokwenda huko tena. . Lakini hata hivyo, inawezekana na hata ni muhimu kuelewa haya yote, kwa sababu utendaji moja kwa moja inategemea mipangilio hii. Kuna maoni potofu kwamba kila kitu kwenye paneli hii ya kisasa kimeundwa kwa usahihi kwa chaguo-msingi, kwa bahati mbaya hii ni mbali na kesi na majaribio yanaonyesha kuwa. mpangilio sahihi kulipwa kwa ongezeko kubwakiwango cha fremu.Kwa hivyo uwe tayari, tutaelewa uboreshaji wa utiririshaji, uchujaji wa anisotropiki na kuakibisha mara tatu. Mwishowe, hautajuta na utalipwa kwa fomukuongeza FPS katika michezo.

Kuweka kadi ya picha ya Nvidia kwa michezo ya kubahatisha

Kasi ya maendeleo ya uzalishaji wa mchezo inapata kasi zaidi na zaidi kila siku, pamoja na kozi kuu kitengo cha fedha nchini Urusi, na kwa hiyo umuhimu wa kuboresha uendeshaji wa vifaa, programu na mfumo wa uendeshaji imepanda kwa kasi. Si mara zote inawezekana kuweka stallion yako ya chuma katika hali nzuri kupitia sindano za mara kwa mara za kifedha, kwa hiyo leo tutazungumzia kuhusu kuongeza utendaji wa kadi ya video kutokana na mipangilio ya kina. Katika makala zangu, nimeandika mara kwa mara kuhusu umuhimu wa kufunga dereva wa video, hivyo , nadhani unaweza kuiruka. Nina hakika nyote mnajua vizuri jinsi ya kufanya hivi, na nyote tayari mmeisakinisha muda mrefu uliopita.

Kwa hiyo, ili kupata orodha ya usimamizi wa dereva wa video, bonyeza-click popote kwenye eneo-kazi na uchague "Jopo la Kudhibiti la Nvidia" kutoka kwenye menyu inayofungua.

Kisha, katika dirisha linalofungua, nenda kwenye kichupo cha "Dhibiti vigezo vya 3D".

Hapa tutasanidi vigezo mbalimbali vinavyoathiri maonyesho ya picha za 3D katika michezo. Si vigumu kuelewa kwamba ili kupata utendaji wa juu kutoka kwa kadi ya video itabidi kupunguza kwa kiasi kikubwa ubora wa picha, hivyo uwe tayari kwa hili.

Kwa hivyo, jambo la kwanza " CUDA - GPUs" Hapa kuna orodha ya vichakataji video ambayo unaweza kuchagua na itatumiwa na programu za CUDA. CUDA (Usanifu wa Kifaa Uliounganishwa wa Kukokotoa) ni usanifu wa kompyuta sambamba unaotumiwa na GPU zote za kisasa ili kuongeza utendaji wa kompyuta.

Hatua inayofuata" DSR - Ulaini"Tunairuka kwa sababu ni sehemu ya mipangilio ya kipengee cha "DSR - Degree", na, kwa upande wake, inahitaji kulemazwa na sasa nitaelezea kwa nini.

DSR (Dynamic Super Resolution)- teknolojia ambayo hukuruhusu kuhesabu picha kwenye michezo kwa azimio la juu, na kisha kuongeza matokeo kwa azimio la mfuatiliaji wako. Ili uweze kuelewa kwa nini teknolojia hii ilivumbuliwa na kwa nini hatuitaji kupata utendaji wa juu, nitajaribu kutoa mfano. Hakika umegundua mara kwa mara katika michezo kwamba maelezo madogo kama vile nyasi na majani mara nyingi huteleza au kukatika wakati wa kusonga. Hii ni kutokana na ukweli kwamba chini azimio, ndogo idadi ya pointi sampuli kwa ajili ya kuonyesha maelezo faini. Teknolojia ya DSR inaweza kusahihisha hili kwa kuongeza idadi ya pointi (zaidi ya azimio la juu, idadi kubwa ya pointi za sampuli). Natumaini hili litakuwa wazi. Katika hali ya tija ya juu, teknolojia hii haipendezi kwetu kwani hutumia pesa nyingi rasilimali za mfumo. Kweli, na teknolojia ya DSR imezimwa, kurekebisha laini, ambayo niliandika juu yake hapo juu, inakuwa haiwezekani. Kwa ujumla, tunaizima na kuendelea.

Inayofuata inakuja kuchuja anisotropic. Uchujaji wa Anisotropiki ni algoriti ya michoro ya kompyuta iliyoundwa ili kuboresha ubora wa maumbo ambayo yameinamishwa kuhusiana na kamera. Hiyo ni, wakati wa kutumia teknolojia hii, textures katika michezo inakuwa wazi zaidi. Ikiwa tunalinganisha kuchuja kwa antisotropiki na watangulizi wake, yaani kuchuja kwa mbili na tatu, basi uchujaji wa anisotropic ni mbaya zaidi katika suala la matumizi ya kumbukumbu ya kadi ya video. Kipengee hiki kina mpangilio mmoja tu - kuchagua mgawo wa kichujio. Si vigumu kukisia hilo kipengele hiki lazima kuwa walemavu.

Hatua inayofuata - mapigo ya usawazishaji wima. Hii ni kulandanisha picha na kasi ya kuonyesha upya ya kifuatiliaji. Ukiwezesha chaguo hili, unaweza kufikia uchezaji laini zaidi unaowezekana (kupasuka kwa picha huondolewa wakati kamera inapogeuka kwa kasi), hata hivyo, matone ya fremu mara nyingi hutokea chini ya kasi ya kuonyesha upya ya mfuatiliaji. Kupokea kiwango cha juu muafaka kwa sekunde, ni bora kuzima chaguo hili.

Wafanyakazi waliopewa mafunzo ya awali ukweli halisi . Utendakazi wa miwani ya uhalisia pepe hautuvutii, kwa kuwa VR bado iko mbali na matumizi ya kila siku ya wachezaji wa kawaida. Tunaiacha kwa chaguo-msingi - tumia mpangilio wa programu ya 3D.

Kivuli cha taa ya nyuma. Hufanya matukio yaonekane ya kweli zaidi kwa kulainisha mwangaza wa mwanga wa nyuso ambazo zimefichwa na vitu vilivyo karibu. Chaguo la kukokotoa halifanyi kazi katika michezo yote na ni rasilimali kubwa sana. Kwa hivyo, tunampeleka kwa mama wa kidijitali.

Uhifadhi wa shader. Kipengele hiki kinapowashwa, CPU huhifadhi vivuli vilivyokusanywa kwa ajili ya GPU kwenye diski. Ikiwa shader hii inahitajika tena, GPU itachukua moja kwa moja kutoka kwa diski, bila kulazimisha CPU kukusanya tena shader hii. Si vigumu kukisia kwamba ukizima chaguo hili, utendaji utashuka.

Idadi ya juu zaidi ya fremu zilizotayarishwa mapema. Idadi ya fremu ambazo CPU inaweza kuandaa kabla ya kuchakatwa na GPU. Thamani ya juu, ni bora zaidi.

Kinga-fremu nyingi (MFAA). Mojawapo ya teknolojia ya kuzuia uwekaji lugha inayotumika kuondoa "ujanja" kwenye kingo za picha (SSAA, FXAA) inahitajika sana kwenye GPU (swali pekee ni kiwango cha ulafi).

Uboreshaji wa utiririshaji. Kwa kuwezesha kipengele hiki, programu inaweza kutumia CPU nyingi kwa wakati mmoja. Ikiwa programu ya zamani haifanyi kazi kwa usahihi, jaribu kuweka hali ya "Otomatiki" au uzima kipengele hiki kabisa.

Hali ya usimamizi wa nguvu. Kuna chaguzi mbili zinazopatikana - hali ya kurekebisha na hali ya juu ya utendaji. Wakati wa hali ya kuzoea, matumizi ya nguvu hutegemea moja kwa moja mzigo wa GPU. Hali hii inahitajika hasa ili kupunguza matumizi ya nguvu. Wakati wa hali ya juu zaidi ya utendakazi, kama unavyoweza kukisia, kiwango cha juu zaidi cha utendakazi na matumizi ya nishati hudumishwa, bila kujali mzigo wa GPU. Hebu tuweke ya pili.

Anti-aliasing - FXAA, Anti-aliasing - marekebisho ya gamma, Anti-aliasing - vigezo, Anti-aliasing - uwazi, Anti-aliasing - mode. Tayari niliandika juu ya kulainisha juu kidogo. Zima kila kitu.

Kuakibisha mara tatu. Aina ya kuakibisha mara mbili; njia ya pato la picha ambayo huepuka au kupunguza mabaki (upotoshaji wa picha). Ikiwa tunazungumza kwa maneno rahisi, kisha huongeza tija. LAKINI! Jambo hili hufanya kazi tu kwa kushirikiana na usawazishaji wima, ambao, kama unavyokumbuka, tulizima hapo awali. Kwa hiyo, sisi pia tunalemaza parameter hii haina maana kwetu.

Uchujaji wa muundo.

Kuchuja hutatua tatizo la kubainisha rangi ya pikseli kulingana na tekseli zilizopo kutoka kwa picha ya unamu.

Njia rahisi zaidi ya kutumia textures inaitwa sampuli za uhakika(sampuli ya nukta moja). Kiini chake ni kwamba kwa kila pikseli inayounda poligoni, tekseli moja huchaguliwa kutoka kwa picha ya unamu iliyo karibu zaidi na katikati ya sehemu ya mwanga. Hitilafu hutokea kwa sababu rangi ya pikseli imebainishwa na tekseli kadhaa, lakini ni moja tu iliyochaguliwa.

Njia hii sio sahihi sana na matokeo ya matumizi yake ni kuonekana kwa makosa. Yaani, kila pikseli zinapokuwa kubwa kwa saizi kuliko tekseli, athari ya kumeta huzingatiwa. Athari hii hutokea ikiwa sehemu ya poligoni iko mbali vya kutosha kutoka kwa mahali ambapo tekseli nyingi zimewekwa juu ya nafasi inayokaliwa na pikseli moja. Kumbuka kwamba ikiwa poligoni iko karibu sana na mahali pa kuchungulia na tekseli ni kubwa kwa saizi kuliko saizi, aina nyingine ya uharibifu wa ubora wa picha huzingatiwa. KATIKA katika kesi hii, picha inaanza kuonekana kuwa ngumu. Athari hii hutokea wakati unamu unaweza kuwa mkubwa vya kutosha, lakini kizuizi katika ubora wa skrini unaopatikana huzuia picha asili kuwakilishwa ipasavyo.

Njia ya pili - kuchuja kwa pande mbili(Bi-Linear Filtering) inajumuisha kutumia teknolojia ya ukalimani. Kuamua texels ambazo zinapaswa kutumika kwa kuingiliana, sura ya msingi ya doa ya mwanga hutumiwa - mduara. Kimsingi, mduara unakadiriwa na tekseli 4. Uchujaji wa Bilinear ni mbinu ya kuondoa upotoshaji wa picha (kuchuja), kama vile "kuziba" kwa maandishi yanapokuzwa. Wakati wa kuzungusha polepole au kusonga kitu (kinakaribia/kusogea), "kuruka" kwa saizi kutoka sehemu moja hadi nyingine kunaweza kuonekana, i.e. kizuizi kinaonekana. Ili kuepuka athari hii, uchujaji wa mstari wa pande mbili hutumiwa, ambao hutumia wastani wa uzito wa thamani ya rangi ya tekseli nne zilizo karibu ili kubainisha rangi ya kila pikseli na, kwa sababu hiyo, huamua rangi ya umbile la kiwekelea. Rangi ya pixel inayotokana imedhamiriwa baada ya shughuli tatu za kuchanganya zinafanywa: kwanza, rangi ya jozi mbili za texels huchanganywa, na kisha rangi mbili zinazosababishwa zimechanganywa.

Hasara kuu uchujaji wa pande mbili ni kwamba ukadiriaji unafanywa kwa usahihi tu kwa poligoni ambazo ziko sambamba na skrini au sehemu ya uchunguzi. Ikiwa poligoni inazungushwa kwa pembe (na hii ni katika 99% ya matukio), ukadiriaji usio sahihi hutumiwa, kwani duaradufu inapaswa kukadiriwa.

Hitilafu za "kutambulisha kwa kina" hutokea kutokana na ukweli kwamba vitu vilivyo mbali zaidi na mtazamo huonekana vidogo kwenye skrini. Ikiwa kitu kinasogea na kuondoka kwenye sehemu ya kutazamwa, taswira ya unamu iliyowekwa juu ya kitu kinachopungua inabanwa zaidi na zaidi. Hatimaye, taswira ya unamu inayotumika kwa kitu hicho inabanwa sana hivi kwamba makosa ya uwasilishaji hutokea. Hitilafu hizi za uwasilishaji zinatatizo hasa katika uhuishaji, ambapo vizalia vya programu vile vinavyosonga husababisha kumeta na athari za mwendo wa polepole katika sehemu za picha ambazo zinapaswa kuwa tuli na dhabiti.

Mistatili ifuatayo iliyo na maandishi mawili yanaweza kutumika kama kielelezo cha athari iliyofafanuliwa:

Mchele. 13.29. Kuweka kivuli kivuli kwa kitu kwa kutumia njia ya kuchuja mara mbili. Kuonekana kwa mabaki ya "kina-aliasing", ambayo husababisha mraba kadhaa kuunganisha katika moja.

Ili kuzuia makosa na kuiga ukweli kwamba vitu vilivyo mbali vinaonekana kuwa na maelezo kidogo kuliko vile vilivyo karibu na eneo la kutazama, mbinu inayojulikana kama uchoraji wa ramani. Kwa kifupi, ramani ya mip ni muunganisho wa maumbo yenye viwango tofauti au viwango vya maelezo, wakati, kulingana na umbali wa mahali pa uchunguzi, unamu wenye maelezo yanayohitajika huchaguliwa.

Mip-texture (mip-map) inajumuisha seti ya picha zilizochujwa awali na zilizopimwa. Katika picha inayohusishwa na safu ya ramani ya mip, pikseli inawakilishwa kama wastani wa pikseli nne kutoka safu ya awali yenye zaidi. azimio la juu. Kwa hivyo, picha inayohusishwa na kila kiwango cha mip-texture ni ndogo mara nne kwa ukubwa kuliko kiwango cha awali cha ramani ya mip.

Mchele. 13.30. Picha zinazohusiana na kila kiwango cha ramani ya mip ya umbile la wavy.

Kutoka kushoto kwenda kulia tuna viwango vya mip-ramani 0, 1, 2, nk. Kadiri picha inavyokuwa ndogo, ndivyo maelezo zaidi yanavyopotea, hadi karibu na mwisho ambapo hakuna kitu kinachoonekana isipokuwa ukungu wa saizi za kijivu.

Kiwango cha Maelezo, au kwa kifupi LOD, hutumika kubainisha ni kiwango gani cha ramani ya mip (au kiwango cha maelezo) kinafaa kuchaguliwa ili kuweka unamu kwenye kitu. LOD lazima ilingane na idadi ya tekseli zilizowekwa kwa pikseli. Kwa mfano, ikiwa maandishi hutokea kwa uwiano wa karibu na 1: 1, basi LOD itakuwa 0, ambayo ina maana kiwango cha mip-ramani yenye azimio la juu zaidi itatumika. Ikiwa tekseli 4 zinapishana pikseli moja, basi LOD itakuwa 1 na kiwango cha mip kinachofuata chenye mwonekano wa chini kitatumika. Kawaida, wakati wa kusonga mbali na hatua ya uchunguzi, kitu ambacho kinastahili tahadhari zaidi kina zaidi thamani ya juu LOD.

Ingawa utumaji maandishi wa mip hutatua tatizo la hitilafu za kutambulisha kina, matumizi yake yanaweza kusababisha vizalia vingine kuonekana. Kadiri kitu kinavyosonga zaidi na zaidi kutoka kwa sehemu ya uchunguzi, mpito hutokea kutoka kiwango cha chini cha ramani ya mip hadi cha juu. Wakati kitu kiko katika hali ya mpito kutoka ngazi moja ya ramani ya mip hadi nyingine, aina maalum makosa ya taswira inayojulikana kama "mip-banding" - banding au lamination, i.e. mipaka inayoonekana wazi ya mpito kutoka ngazi moja ya ramani ya mip hadi nyingine.

Mchele. 13.31. Utepe wa mstatili una pembetatu mbili zilizochorwa na picha inayofanana na wimbi, ambapo vizalia vya "mip-band" huonyeshwa kwa mishale nyekundu.

Shida ya makosa ya "mip-band" ni ya papo hapo katika uhuishaji, kwa sababu ya ukweli kwamba jicho la mwanadamu ni nyeti sana kwa uhamishaji na linaweza kugundua kwa urahisi mahali pa mpito mkali kati ya viwango vya kuchuja wakati wa kuzunguka kitu.

Uchujaji wa mistari mitatu(uchujaji wa trilinear) ni njia ya tatu inayoondoa mabaki ya mip-banding ambayo hutokea wakati mip-texturing inatumiwa. Kwa uchujaji wa trilinear, ili kuamua rangi ya pixel, thamani ya wastani ya rangi ya texel nane inachukuliwa, textures nne kati ya mbili zilizo karibu huchukuliwa, na kutokana na shughuli saba za kuchanganya, rangi ya pixel imedhamiriwa. Unapotumia uchujaji wa mistari mitatu, inawezekana kuonyesha kitu kilicho na maandishi na mabadiliko ya laini kutoka ngazi moja ya mip hadi inayofuata, ambayo hupatikana kwa kuamua LOD kwa kuingilia viwango viwili vya mip-map vilivyo karibu. Kwa hivyo kusuluhisha shida nyingi zinazohusiana na maandishi ya mip na makosa kwa sababu ya hesabu isiyo sahihi ya kina cha eneo ("kina aliasing").

Mchele. 13.32. MIP-ramani ya piramidi

Mfano wa kutumia uchujaji wa trilinear umetolewa hapa chini. Hapa tena mstatili huo huo hutumiwa, ukiwa na picha inayofanana na wimbi, lakini kwa mabadiliko ya laini kutoka ngazi ya mip moja hadi nyingine kupitia matumizi ya uchujaji wa mip mitatu. Kumbuka kuwa hakuna makosa ya uwasilishaji yanayoonekana.

Mchele. 13.33. Mstatili ulio na maandishi yenye picha inayofanana na wimbi hutolewa kwenye skrini kwa kutumia mip-texturing na uchujaji wa mistari mitatu.

Kuna njia kadhaa za kutengeneza maandishi ya MIP. Mojawapo ni kuwatayarisha mapema kwa kutumia vifurushi vya picha kama vile Adobe PhotoShop. Njia nyingine ni kutengeneza maandishi ya MIP kwenye kuruka, i.e. wakati wa utekelezaji wa programu. Miundo ya MIP iliyotayarishwa mapema inamaanisha 30% ya ziada ya nafasi ya diski kwa muundo katika usakinishaji msingi wa mchezo, lakini ruhusu njia rahisi zaidi za kudhibiti uundaji wao na hukuruhusu kuongeza athari mbalimbali na maelezo ya ziada viwango tofauti vya MIP.

Inabadilika kuwa mipmapping ya trilinear ndiyo bora zaidi inayoweza kuwa?

Bila shaka sivyo. Inaweza kuonekana kuwa tatizo sio tu katika uwiano wa saizi na saizi za texel, lakini pia katika sura ya kila mmoja wao (au, kuwa sahihi zaidi, kwa uwiano wa maumbo).

Mbinu ya utumaji maandishi ya mip hufanya kazi vyema zaidi kwa poligoni ambazo zina mwonekano wa moja kwa moja. Walakini, poligoni ambazo ni oblique kwa heshima na sehemu ya uchunguzi hupindisha umbile la kuwekelea ili saizi ziweze kufunika. aina mbalimbali na quadratic katika maeneo ya umbo la picha ya unamu. Mbinu ya utumaji maandishi ya mip haizingatii hili na matokeo yake ni kwamba picha ya unamu ni ukungu sana, kana kwamba tekseli zisizo sahihi zilitumiwa. Ili kutatua tatizo hili, unahitaji kuchukua sampuli zaidi za tekseli zinazounda unamu, na unahitaji kuchagua tekseli hizi kwa kuzingatia umbo la "ramani" la pikseli katika nafasi ya unamu. Njia hii inaitwa kuchuja anisotropic("kuchuja kwa anisotropiki"). Utumaji maandishi wa kawaida wa mip huitwa "isotropiki" (isotropiki au sare) kwa sababu kila wakati tunachuja pamoja maeneo ya mraba ya tekseli. Uchujaji wa anisotropiki unamaanisha kuwa umbo la eneo la texel tunalotumia hubadilika kulingana na hali.

Ili kuelewa tofauti kati ya algorithms tofauti za kuchuja, lazima kwanza uelewe kile uchujaji unajaribu kufanya. Skrini yako ina mwonekano mahususi na inaundwa na kile kinachoitwa pikseli. Azimio linatambuliwa na idadi ya saizi. Ubao wako wa 3D lazima ubainishe rangi ya kila moja ya saizi hizi. Msingi wa kuamua rangi ya saizi ni picha za maandishi ambazo zimewekwa juu ya poligoni ziko katika nafasi ya pande tatu. Picha za muundo huundwa na saizi zinazoitwa texels. Kimsingi, tekseli hizi ni saizi kutoka kwa picha ya 2D ambayo imewekwa juu juu ya uso wa 3D. Swali kuu ni hii: ni texel gani (au tekseli gani) huamua rangi ya saizi kwenye skrini?

Hebu fikiria shida ifuatayo: wacha tuseme skrini yako ni bamba iliyo na mashimo mengi (wacha tuchukue saizi zina. sura ya pande zote) Kila shimo ni pikseli. Ikiwa unatazama kupitia shimo, utaona ni rangi gani inayohusiana na eneo la tatu-dimensional nyuma ya slab. Sasa fikiria mwangaza ukipita kwenye mojawapo ya mashimo haya na kugonga poligoni iliyo na maandishi iliyo nyuma yake. Ikiwa poligoni iko sambamba na skrini (yaani, sahani yetu ya kufikiria yenye mashimo), basi mwanga wa mwanga unaoipiga huunda sehemu ya pande zote ya mwanga (angalia Mchoro 1). Sasa, kwa kutumia mawazo yako tena, hebu tufanye poligoni kuzunguka mhimili wake na ujuzi rahisi zaidi utakuambia kuwa sura ya mwanga itabadilika, na badala ya kuwa pande zote itakuwa elliptical (angalia Mchoro 2 na 3). Labda unashangaa ni nini eneo hili la mwanga linahusiana na shida ya kuamua rangi ya saizi. Kimsingi, poligoni zote zilizo katika sehemu hii ya mwanga huamua rangi ya pikseli. Kila kitu ambacho tumejadili hapa ni maarifa ya msingi ambayo unahitaji kujua ili kuelewa algorithms mbalimbali uchujaji.

Unaweza kuangalia maumbo tofauti ya eneo la mwanga kwa kutumia mifano ifuatayo:


Mchele. 1

Mchele. 2


Mchele. 3

1.Sampuli za Pointi

Sampuli ya Pointi - sampuli ya uhakika. Hii ndiyo njia rahisi zaidi ya kuamua rangi ya pikseli kulingana na picha ya unamu. Unahitaji tu kuchagua texel iliyo karibu zaidi na sehemu ya katikati ya sehemu ya mwanga. Bila shaka, unafanya makosa, kwa kuwa rangi ya pixel imedhamiriwa na texels kadhaa, na umechagua moja tu. Pia huna kuzingatia ukweli kwamba sura ya doa ya mwanga inaweza kubadilika.

Faida kuu ya njia hii ya kuchuja ni mahitaji ya chini ya bandwidth ya kumbukumbu, kwa sababu ili kubainisha rangi ya pikseli, unahitaji tu kuchagua texel moja kutoka kwenye kumbukumbu ya unamu.

Hasara kuu ni ukweli kwamba wakati poligoni iko karibu na skrini (au sehemu ya kutazama) idadi ya saizi itakuwa kubwa kuliko idadi ya tekseli, na kusababisha kuziba na kuzorota kwa jumla kwa ubora wa picha.

Hata hivyo, lengo kuu la kutumia kuchuja sio kuboresha ubora wakati wa kupunguza umbali kutoka kwa hatua ya uchunguzi hadi poligoni, lakini kuondokana na athari ya kuhesabu vibaya kina cha eneo (kina cha kuficha).

2. Uchujaji wa Bi-Linear

Uchujaji wa Bi-Linear - uchujaji wa pande mbili. Inajumuisha kutumia teknolojia ya ukalimani. Kwa maneno mengine, kwa mfano wetu, kuamua texels ambazo zinapaswa kutumika kwa kuingiliana, sura ya msingi ya doa ya mwanga hutumiwa - mduara. Kimsingi, mduara unakadiriwa na tekseli 4. Njia hii ya kuchuja ni bora zaidi kuliko sampuli ya pointi kwa sababu inazingatia kwa kiasi umbo la sehemu ya mwanga na hutumia ukalimani. Hii inamaanisha kuwa ikiwa poligoni itakaribia sana skrini au mtazamo, tekseli nyingi zaidi zitahitajika ili kufasiriwa kuliko zinazopatikana. Matokeo yake ni picha yenye ukungu yenye sura nzuri, lakini ni sawa athari ya upande.

Hasara kuu ya kuchuja kwa njia mbili ni kwamba ukadiriaji unafanywa kwa usahihi tu kwa poligoni ambazo ziko sambamba na skrini au sehemu ya uchunguzi. Ikiwa poligoni imegeuzwa kwa pembe (na hii ni katika 99% ya visa), basi unatumia ukadiriaji usio sahihi. Shida ni kwamba unatumia ukadiriaji wa mduara wakati unapaswa kuwa unakadiria duaradufu. Shida kuu ni kwamba uchujaji wa sehemu mbili unahitaji kusoma tekseli 4 kutoka kwa kumbukumbu ya maandishi ili kubaini rangi ya kila pikseli inayoonyeshwa kwenye skrini, ambayo ina maana kwamba mahitaji ya kipimo data cha kumbukumbu yanaongezeka mara nne ikilinganishwa na uchujaji wa hatua kwa hatua.

3. Uchujaji wa Mistari Mitatu

Uchujaji wa Mistari Mitatu - uchujaji wa mstari tatu ni ishara ya mip-texturing na uchujaji wa mbili. Kimsingi, unachuja mara mbili kwa viwango viwili vya mip, ambayo hukupa tekseli 2, moja kwa kila kiwango cha mip. Rangi ya pikseli ambayo inapaswa kuonyeshwa kwenye skrini imedhamiriwa kwa kujumuisha rangi za mip mbili za maandishi. Kwa hakika, viwango vya mip ni matoleo madogo yaliyohesabiwa awali ya unamu asili, kumaanisha kwamba tunapata ukadiriaji bora wa tekseli zilizo katika sehemu ya mwanga.

Mbinu hii hutoa uchujaji bora, lakini ina tu faida ndogo kabla ya kuchuja mbili. Mahitaji ya kipimo data cha kumbukumbu ni maradufu yale ya kuchuja kwa njia mbili kwa kuwa unahitaji kusoma tekseli 8 kutoka kwa kumbukumbu ya unamu. Kutumia mipmapping hutoa ukadiriaji bora zaidi (kwa kutumia tekseli zaidi zilizo katika sehemu ya mwanga) kwenye tekseli zote mahali pa mwanga, kutokana na matumizi ya mip textures iliyokokotolewa awali.

4. Uchujaji wa Anisotropic

Kuchuja anisotropic - kuchuja anisotropic. Kwa hivyo kupata kweli matokeo mazuri, lazima ukumbuke kuwa tekseli zote kwenye sehemu ya mwanga huamua rangi ya saizi. Lazima pia ukumbuke kuwa umbo la sehemu ya mwanga hubadilika kadiri nafasi ya poligoni inavyobadilika kuhusiana na sehemu ya uchunguzi. Hadi kufikia hatua hii tumetumia tekseli 4 pekee badala ya tekseli zote zilizofunikwa na sehemu ya mwanga. Hii ina maana kwamba mbinu hizi zote za kuchuja hutoa matokeo potofu wakati poligoni iko mbali zaidi na skrini au kutoka kwa sehemu ya uchunguzi, kwa sababu. hutumii taarifa za kutosha. Kwa kweli, unachuja kupita kiasi katika mwelekeo mmoja na hauchuji vya kutosha kwa wengine wote. Faida pekee ya uchujaji wote ulioelezwa hapo juu ni ukweli kwamba wakati unakaribia hatua ya kutazama, picha inaonekana chini ya kuzuia (ingawa hii ni athari tu). Kwa hivyo, ili kufikia ubora bora, ni lazima tutumie tekseli zote zilizofunikwa na sehemu ya mwanga na wastani wa thamani yake. Walakini, hii inaathiri sana kipimo data kumbukumbu - kunaweza kuwa haitoshi, na kufanya sampuli kama hiyo kwa wastani ni kazi isiyo ya kawaida.

Unaweza kutumia aina mbalimbali za vichujio kukadiria umbo la sehemu ya mwanga kama duaradufu kwa pembe kadhaa zinazowezekana za poligoni zinazohusiana na mtazamo. Kuna mbinu za kuchuja zinazotumia tekseli 16 hadi 32 kutoka kwa unamu ili kubainisha rangi ya pikseli. Ukweli, kutumia mbinu kama hiyo ya kuchuja kunahitaji bandwidth kubwa zaidi ya kumbukumbu, na hii karibu kila wakati haiwezekani mifumo iliyopo taswira bila matumizi ya usanifu wa kumbukumbu ya gharama kubwa. Katika mifumo ya taswira kwa kutumia tiles 1, rasilimali za bandwidth ya kumbukumbu zimehifadhiwa kwa kiasi kikubwa, ambayo inaruhusu matumizi ya kuchuja anisotropic. Taswira kwa kutumia uchujaji wa anisotropiki hutoa ubora bora picha, kwa sababu ya kina bora zaidi na uwakilishi sahihi zaidi wa maandishi yaliyowekwa juu kwenye poligoni ambazo hazilingani na skrini au sehemu ya kutazamwa.

1 Tile (tile) - tile au kipande cha picha. Kwa kweli, tile ni sehemu ya picha, kwa kawaida 32 kwa saizi 32 kwa ukubwa; Upangaji unafanywa katika maeneo haya ili kubaini ni poligoni zipi zinazoanguka kwenye kigae hiki zinazoonekana. Teknolojia ya vigae inatekelezwa katika chipsets za VideoLogic/NEC.

Maelezo ya ziada juu ya mada hii yanaweza kusomwa na.

Msaada katika kuandaa nyenzo ulitolewa na Kristof Beets(Nguvu ya PowerVR)

Pamoja na ujio wa michezo ya 3D, matatizo yalianza kuonekana ambayo hayakuwepo katika michezo ya 2D: baada ya yote, sasa unahitaji kuonyesha picha ya tatu-dimensional kwenye kufuatilia gorofa. Ikiwa kitu kiko sambamba na ndege ya skrini iliyo karibu nayo, hakuna matatizo: pikseli moja inalingana na tekseli moja (texel ni pikseli ya picha ya pande mbili iliyowekwa juu juu ya uso wa 3D). Lakini nini cha kufanya ikiwa kitu kimeinama au kiko mbali? Baada ya yote, basi kuna texels kadhaa kwa pixel, na kwa kuwa mfuatiliaji ana idadi ndogo ya saizi, rangi ya kila mmoja inapaswa kuhesabiwa kutoka kwa texels kadhaa kupitia mchakato fulani - kuchuja.


Ili kufanya mambo iwe rahisi kuelewa, hebu fikiria kwamba kila pixel ni "shimo" la mraba katika kufuatilia, tunapiga "rays ya mwanga" kutoka kwa macho, na texels ziko kwenye gridi ya mraba nyuma ya kufuatilia. Ikiwa tutaweka wavu sambamba na kufuatilia mara moja nyuma yake, basi mwanga kutoka kwa pixel moja utafunika texel moja tu. Sasa tutaanza kusonga wavu mbali - tutapata nini? Ukweli kwamba sehemu yetu ya mwanga kutoka kwa pikseli tayari itafunika zaidi ya tekseli moja. Sasa hebu tuzungushe kimiani na tupate kitu sawa: doa kutoka kwa pikseli moja itafunika tekseli nyingi. Lakini pixel inaweza kuwa na rangi moja, na ikiwa kuna texel nyingi ndani yake, basi tunahitaji algorithm ambayo tutaamua rangi yake - inaitwa kuchuja texture.


Hii ndiyo algorithm rahisi zaidi ya kuchuja: inategemea ukweli kwamba kwa rangi ya pixel tunachukua rangi ya texel iliyo karibu na katikati ya doa ya mwanga kutoka kwa pixel. Faida ya njia hii ni dhahiri - inaweka kiasi kidogo cha mzigo kwenye kadi ya video. Pia kuna hasara nyingi - rangi ya texel moja ya kati inaweza kutofautiana kwa kiasi kikubwa kutoka kwa rangi kadhaa na hata mamia ya tekseli zingine ambazo huanguka kwenye eneo la pixel. Kwa kuongeza, sura ya doa yenyewe inaweza kubadilika kwa kiasi kikubwa, lakini kituo chake kinaweza kubaki mahali pale, na kwa sababu hiyo, rangi ya pixel haitabadilika. Kweli, shida kuu ni shida ya "kuzuia": kunapokuwa na tekseli chache kwa pixel (ambayo ni, kitu karibu na kicheza), basi tunapata hiyo kwa njia hii ya kuchuja, sehemu kubwa ya picha imejaa. rangi moja, ambayo inaongoza kwa "vitalu" vinavyoonekana wazi vya rangi sawa kwenye skrini. Ubora wa mwisho wa picha ni... mbaya sana:


Kwa hiyo haishangazi kwamba uchujaji huo hautumiwi tena leo.


Pamoja na maendeleo ya kadi za video, nguvu zao zilianza kuongezeka, kwa hivyo watengenezaji wa mchezo walikwenda mbali zaidi: ikiwa unachukua texel moja kama rangi ya pixel, inageuka kuwa mbaya. Sawa - hebu tuchukue wastani wa rangi kutoka kwa tekseli 4 na kuiita uchujaji wa mbili? Kwa upande mmoja, kila kitu kitakuwa bora - kizuizi kitatoweka. Lakini adui namba mbili atakuja - blurriness ya picha karibu na mchezaji: hii ni kutokana na ukweli kwamba tafsiri inahitaji texels zaidi ya nne.

Lakini tatizo kuu sio hii: uchujaji wa pande mbili hufanya kazi vizuri wakati kitu kinafanana na skrini: basi unaweza kuchagua tekseli 4 kila wakati na kupata rangi ya "wastani". Lakini 99% ya maumbo yameinamishwa kuhusiana na mchezaji, na ikawa kwamba tunakaribia 4. parallelepiped ya mstatili(au trapezoid) kama miraba 4, ambayo si sahihi. Na kadiri muundo unavyoelekezwa, ndivyo usahihi wa rangi unavyopungua na ukungu unakuwa na nguvu zaidi:


Sawa, watengenezaji wa mchezo walisema, kwa kuwa tekseli 4 hazitoshi, hebu tuchukue mara mbili mara nne, na kwa usahihi zaidi kufanana na rangi tutatumia teknolojia ya mip-texturing. Kama nilivyoandika hapo juu, jinsi maandishi yanavyozidi kutoka kwa kicheza, ndivyo tekseli zaidi zitakuwa kwenye saizi, na ni ngumu zaidi kwa kadi ya video kusindika picha. Uandishi wa maandishi wa MIP unamaanisha kuhifadhi maandishi sawa katika maazimio tofauti: kwa mfano, ikiwa saizi ya asili ya maandishi ni 256x256, basi nakala zake huhifadhiwa kwenye kumbukumbu katika 128x128, 64x64, na kadhalika, hadi 1x1:


Na sasa kwa kuchuja, sio tu muundo wenyewe unachukuliwa, lakini pia mipmap: kulingana na ikiwa muundo uko zaidi au karibu kutoka kwa kicheza, ama mipmap ndogo au kubwa ya maandishi inachukuliwa, na tayari juu yake tekseli 4 zilizo karibu katikati ya pixel huchukuliwa, na uchambuzi wa pande mbili unafanywa filtration. Ifuatayo, tekseli 4 zilizo karibu na saizi ya muundo wa asili huchukuliwa, na tena rangi ya "wastani" hupatikana. Baada ya hapo, rangi ya "wastani" inachukuliwa kutoka kwa wastani wa rangi za mipmap na umbile asili na kukabidhiwa kwa pikseli - hivi ndivyo kanuni ya uchujaji wa mistari mitatu inavyofanya kazi. Kama matokeo, inapakia kadi ya video zaidi ya uchujaji wa mbili (mipmap pia inahitaji kuchakatwa), lakini ubora wa picha ni bora zaidi:


Kama unavyoona, uchujaji wa mistari mitatu ni bora zaidi kuliko uchujaji wa mistari miwili na hata zaidi kwa uhakika, lakini picha bado inakuwa na ukungu kwa umbali mrefu. Na picha ya fuzzy ni kutokana na ukweli kwamba hatuzingatii ukweli kwamba texture inaweza kuwa tilted jamaa na mchezaji - na hii ni hasa tatizo kwamba anisotropic filtering kutatua. Kwa kifupi, kanuni ya uendeshaji wa uchujaji wa anisotropic ni kama ifuatavyo: texture ya MIP inachukuliwa, iliyowekwa kwenye mwelekeo wa kutazama, baada ya hapo maadili yake ya rangi yanakadiriwa na rangi ya idadi fulani ya texels kando ya mwelekeo wa kutazama. Idadi ya tekseli inatofautiana kutoka 16 (kwa uchujaji x2) hadi 128 (kwa x16). Ili kuiweka kwa urahisi, badala ya kichungi cha mraba (kama katika kuchuja kwa mbili), iliyopanuliwa hutumiwa, ambayo hukuruhusu kuchagua bora. rangi inayotaka kwa pixel ya skrini. Kwa kuwa kunaweza kuwa na saizi milioni moja au hata zaidi kwenye skrini, na kila texel ina uzito wa angalau biti 32 (rangi 32-bit), uchujaji wa anisotropiki unahitaji kipimo data cha kumbukumbu ya video - makumi ya gigabytes kwa sekunde. Mahitaji hayo makubwa ya kumbukumbu yanapunguzwa kwa sababu ya ukandamizaji wa texture na caching, lakini bado kwenye kadi za video zilizo na kumbukumbu ya DDR au basi ya 64-bit, tofauti kati ya uchujaji wa trilinear na x16 anisotropic inaweza kufikia ramprogrammen 10-15%, lakini picha baada ya kuchuja vile. Inageuka kuwa bora zaidi:

Kuandika maandishi ni kipengele muhimu zaidi ya programu za kisasa za 3D, bila hiyo miundo mingi ya 3D hupoteza mvuto mwingi wa kuona. Walakini, mchakato wa kutumia maandishi kwenye nyuso sio bila mabaki na njia zinazofaa za kuzikandamiza. duniani Michezo ya 3D Kila mara unakutana na maneno maalumu kama vile "mip ramani", "trilinear filtering", n.k., ambayo hurejelea mbinu hizi mahususi.

Kesi maalum ya athari ya uwekaji lak iliyojadiliwa hapo awali ni athari ya uwekaji lak ya nyuso zenye maandishi, ambayo, kwa bahati mbaya, haiwezi kuondolewa kwa njia nyingi au za juu zaidi zilizoelezewa hapo juu.

Fikiria nyeusi na nyeupe ubao wa chess kubwa, karibu isiyo na kikomo kwa saizi. Wacha tuseme tunachora ubao huu kwenye skrini na tuitazame kwa pembe kidogo. Kwa maeneo ya mbali ya bodi, saizi ya seli bila shaka itaanza kupungua hadi saizi ya saizi moja au chini. Hii ndio inayoitwa upunguzaji wa maandishi ya macho (minification). "Mapambano" yataanza kati ya saizi za umbile za kumiliki saizi za skrini, ambayo itasababisha kutetemeka kusikopendeza, ambayo ni moja wapo ya aina za athari ya kudanganya. Kuongeza azimio la skrini (halisi au bora) husaidia kidogo tu, kwa sababu kwa vitu vilivyo mbali vya kutosha maelezo ya muundo bado huwa madogo kuliko saizi.

Kwa upande mwingine, sehemu za ubao zilizo karibu nasi huchukua eneo kubwa la skrini, na unaweza kuona saizi kubwa za maandishi. Hii inaitwa ukuzaji wa maandishi ya macho (ukuzaji). Ingawa tatizo hili si la papo hapo, linahitaji pia kushughulikiwa ili kupunguza athari mbaya.

Ili kutatua matatizo ya maandishi, kinachojulikana kama kuchuja texture hutumiwa. Ukiangalia mchakato wa kuchora kitu chenye mwelekeo-tatu na muundo uliowekwa juu, unaweza kuona kwamba kuhesabu rangi ya saizi huenda "nyuma" - kwanza, saizi ya skrini inapatikana ambapo sehemu fulani ya kitu itakuwa. makadirio, na kisha kwa hatua hii saizi zote za maandishi zinazoanguka ndani yake. Kuchagua saizi za maandishi na kuzichanganya (wastani) ili kupata rangi ya mwisho ya pikseli ya skrini inaitwa uchujaji wa maandishi.

Wakati wa mchakato wa kutuma maandishi, kila pikseli ya skrini hupewa kuratibu ndani ya unamu, na si lazima kuratibu hii iwe nambari kamili. Zaidi ya hayo, pikseli inalingana na eneo fulani katika picha ya unamu, ambayo inaweza kuwa na saizi kadhaa kutoka kwa unamu. Tutaita eneo hili taswira ya pikseli katika unamu. Kwa sehemu za karibu zaidi za ubao wetu, pikseli ya skrini inakuwa ndogo sana kuliko pikseli ya unamu na, kama ilivyokuwa, iko ndani yake (picha iko ndani ya pikseli ya unamu). Kwa wale wa mbali, kinyume chake, kila pixel huanguka idadi kubwa pointi za texture (picha ina pointi kadhaa za texture). Picha ya pixel inaweza kuwa nayo sura tofauti na kwa ujumla ni sehemu ya pembe nne ya kiholela.

Hebu tuzingatie mbinu mbalimbali kuchuja textures na tofauti zao.

Jirani wa karibu

Katika hili, njia rahisi zaidi, rangi ya saizi imechaguliwa tu kuwa rangi ya saizi ya maandishi inayolingana ya karibu. Njia hii ni ya haraka zaidi, lakini pia ubora mdogo. Kwa kweli, hii sio hata njia maalum ya kuchuja, lakini ni njia rahisi ya kuchagua angalau saizi ya maandishi ambayo inalingana na saizi ya skrini. Ilikuwa imetumiwa sana kabla ya ujio wa accelerators za vifaa, ambao matumizi yao yaliyoenea yalifanya iwezekanavyo kutumia njia bora zaidi.

Uchujaji wa Bilinear

Uchujaji wa Bilinear hupata pikseli nne za umbile zilizo karibu zaidi na sehemu ya sasa kwenye skrini na rangi inayotokana hubainishwa kutokana na kuchanganya rangi za pikseli hizi kwa uwiano fulani.

Uchujaji wa jirani wa karibu na uchujaji wa bilinear hufanya kazi vizuri wakati, kwanza, kiwango cha kupunguza texture ni ndogo, na pili, tunapoona texture kwa pembe ya kulia, i.e. mbele. Je, hii inahusiana na nini?

Ikiwa tutazingatia, kama ilivyoelezwa hapo juu, "picha" ya pixel ya skrini kwenye texture, basi katika kesi ya kupunguzwa kwa nguvu itajumuisha saizi nyingi za texture (hadi saizi zote!). Pia, ikiwa tunatazama muundo kutoka kwa pembe, picha hii itapanuliwa sana. Katika visa vyote viwili, njia zilizoelezewa hazitafanya kazi vizuri, kwani kichungi "haitakamata" saizi za muundo zinazolingana.

Ili kutatua matatizo haya, kinachojulikana ramani ya mip na kuchuja anisotropic hutumiwa.

Uchoraji ramani

Kwa upunguzaji mkubwa wa macho, nukta kwenye skrini inaweza kuendana na saizi nyingi za muundo. Hii ina maana kwamba utekelezaji wa hata kichujio bora zaidi itahitaji muda mwingi kabisa kwa wastani pointi zote. Walakini, shida inaweza kutatuliwa kwa kuunda na kuhifadhi matoleo ya maandishi ambayo maadili yanakadiriwa mapema. Na katika hatua ya uwasilishaji, tafuta toleo unalotaka la unamu asili wa pikseli na uchukue thamani kutoka kwayo.

Neno mipmap linatokana na neno la Kilatini multum katika parvo - sana kwa kidogo. Wakati wa kutumia teknolojia hii, pamoja na picha ya texture, kumbukumbu ya kichochezi cha graphics huhifadhi seti ya nakala zake zilizopunguzwa, kila moja mpya ikiwa ni nusu ya ukubwa wa uliopita. Wale. kwa muundo wa saizi 256x256, picha za 128x128, 64x64, nk, hadi 1x1 zimehifadhiwa zaidi.

Ifuatayo, kiwango kinachofaa cha mipmap kinachaguliwa kwa kila pikseli (kadiri ukubwa wa "picha" ya pikseli kwenye unamu ulivyo, ndivyo mipmp inavyochukuliwa kuwa ndogo). Ifuatayo, maadili katika mipmap yanaweza kukadiriwa kwa njia mbili au kwa kutumia njia ya jirani iliyo karibu (kama ilivyoelezwa hapo juu) na uchujaji zaidi hutokea kati ya viwango vya karibu vya mipmmap. Aina hii ya kuchuja inaitwa trilinear. Inatoa matokeo ya hali ya juu sana na hutumiwa sana katika mazoezi.


Kielelezo cha 9. Viwango vya Mipmap

Walakini, shida na picha "refu" ya saizi kwenye muundo inabaki. Hii ndio hasa kwa nini bodi yetu inaonekana fuzzy sana kutoka mbali.

Uchujaji wa Anisotropic

Uchujaji wa Anisotropiki ni mchakato wa kuchuja unamu ambao huzingatia haswa kisa cha taswira ya pikseli ndefu katika muundo. Kwa kweli, badala ya kichujio cha mraba (kama katika kuchuja kwa pande mbili), iliyopanuliwa hutumiwa, ambayo hukuruhusu kuchagua bora rangi inayotaka kwa saizi ya skrini. Uchujaji huu unatumika pamoja na kupanga mipmapping na hutoa matokeo ya ubora wa juu sana. Hata hivyo, kuna pia hasara: utekelezaji wa kuchuja anisotropic ni ngumu kabisa na wakati kuwezeshwa, kasi ya kuchora inashuka kwa kiasi kikubwa. Uchujaji wa Anisotropiki unatumika na vizazi vya hivi karibuni vya NVidia na ATI GPU. Na na viwango tofauti anisotropy - kiwango hiki cha juu, picha za pixel "refu" zaidi zinaweza kusindika kwa usahihi na ubora bora.

Ulinganisho wa vichungi

Matokeo yake ni yafuatayo: ili kukandamiza usanifu wa mabaki ya bandia, njia kadhaa za kuchuja zinatumika katika maunzi, tofauti katika ubora na kasi. Njia rahisi zaidi ya kuchuja ni njia ya jirani ya karibu (ambayo haipigani na mabaki, lakini inajaza saizi tu). Siku hizi, uchujaji wa mistari miwili pamoja na ramani ya mip au uchujaji wa mstari tatu hutumiwa mara nyingi. KATIKA hivi majuzi GPU zilianza kuunga mkono hali ya juu zaidi ya kuchuja - uchujaji wa anisotropic.

Uchoraji ramani

Uchoraji ramani ya matuta ni aina ya madoido maalum ya picha ambayo yameundwa ili kuunda hisia ya nyuso "mbaya" au matuta. Hivi majuzi, utumiaji wa ramani ya bump umekuwa kama kawaida kwa programu za michezo ya kubahatisha.

Wazo kuu nyuma ya utengenezaji wa ramani ya matuta ni kutumia maandishi ili kudhibiti jinsi mwanga unavyoingiliana na uso wa kitu. Hii inakuwezesha kuongeza maelezo mazuri bila kuongeza idadi ya pembetatu. Kwa asili, tunatofautisha nyuso ndogo zisizo sawa na vivuli: donge lolote litakuwa nyepesi upande mmoja na giza kwa upande mwingine. Kwa kweli, jicho haliwezi kugundua mabadiliko katika sura ya uso. Athari hii inatumika katika teknolojia ya uchoraji ramani. Umbile moja au zaidi ya ziada hutumika kwenye uso wa kitu na kutumika kukokotoa mwangaza wa pointi za kitu. Wale. uso wa kitu haubadilika kabisa, udanganyifu tu wa makosa huundwa.

Kuna njia kadhaa za uchoraji wa ramani, lakini kabla ya kuziangalia, tunahitaji kujua jinsi ya kufafanua matuta kwenye uso. Kama ilivyoelezwa hapo juu, maandishi ya ziada hutumiwa kwa hili, na yanaweza kuwa ya aina tofauti:

Ramani ya kawaida. Katika kesi hii, kila pikseli ya unamu wa ziada huhifadhi vekta inayoelekea kwenye uso (ya kawaida), iliyosimbwa kama rangi. Kawaida hutumiwa kuhesabu mwangaza.

Ramani ya uhamisho. Ramani ya uhamishaji ni muundo wa kijivu ambapo kila pikseli huhifadhi uhamishaji kutoka kwa uso asili.

Viunzi hivi vinatayarishwa na wabunifu wa modeli za 3D pamoja na jiometri na maumbo ya msingi. Pia kuna programu zinazokuwezesha kupata ramani za kawaida au za kuhama kiotomatiki

Upangaji wa ramani ya matuta uliohesabiwa mapema

Miundo, ambayo itahifadhi taarifa kuhusu uso wa kitu, huundwa mapema, kabla ya hatua ya uwasilishaji, kwa kutia giza nukta fulani (na kwa hivyo uso wenyewe) wa kitu na kuangazia vingine. Ifuatayo, wakati wa kuchora, muundo wa kawaida hutumiwa.

Njia hii haihitaji hila za algorithmic wakati wa kuchora, lakini, kwa bahati mbaya, mabadiliko katika kuangaza kwa nyuso haifanyiki wakati nafasi za vyanzo vya mwanga au harakati za kitu zinabadilika. Na bila hii, simulation yenye mafanikio ya kweli ya uso usio na usawa haiwezi kuundwa. Njia zinazofanana hutumiwa kwa sehemu za tuli za eneo, mara nyingi kwa usanifu wa ngazi, nk.

Kuchora ramani kwa kutumia embossing (Emboss ramani ya matuta)

Teknolojia hii ilitumiwa kwenye wasindikaji wa kwanza wa graphics (NVidia TNT, TNT2, GeForce). Ramani ya kuhamisha imeundwa kwa kitu. Kuchora hutokea katika hatua mbili. Katika hatua ya kwanza, ramani ya kuhamisha inaongezwa kwa pikseli yenyewe kwa pikseli. Katika kesi hii, nakala ya pili inabadilishwa kwa umbali mfupi katika mwelekeo wa chanzo cha mwanga. Hii hutoa athari ifuatayo: maadili chanya ya tofauti huamuliwa na saizi zilizoangaziwa, maadili hasi na saizi kwenye kivuli. Maelezo haya hutumiwa kubadilisha rangi ya saizi za maandishi ya msingi ipasavyo.

Uchoraji ramani kwa kutumia embossing hauhitaji maunzi ambayo hutumia vivuli vya pikseli, lakini haifanyi kazi vizuri kwa hitilafu kubwa za uso. Pia, vitu havionekani kushawishi kila wakati; hii inategemea sana pembe ambayo unatazama uso.

Uchoraji wa ramani ya pixel

Uchoraji ramani ya pixel bump kwa sasa ndio kilele cha maendeleo ya teknolojia kama hizo. Katika teknolojia hii, kila kitu kinahesabiwa kwa uaminifu iwezekanavyo. Kivuli cha pixel hupewa ramani ya kawaida kama pembejeo, ambayo maadili ya kawaida kwa kila nukta ya kitu huchukuliwa. Kisha thamani ya kawaida inalinganishwa na mwelekeo wa chanzo cha mwanga na thamani ya rangi huhesabiwa.

Teknolojia hii inatumika katika vifaa vinavyoanza na kadi za video za kiwango cha GeForce2.

Kwa hivyo, tumeona jinsi tunaweza kutumia upekee wa mtazamo wa binadamu wa ulimwengu ili kuboresha ubora wa picha zinazoundwa na michezo ya 3D. Wamiliki wenye furaha wa kizazi kipya cha kadi za video NVidia GeForce, ATI Radeon(hata hivyo, na sio tu ya mwisho) inaweza kucheza kwa kujitegemea na baadhi ya madhara yao yaliyoelezwa, kwa kuwa mipangilio ya kuchuja de-aliasing na anisotropic inapatikana kutoka kwa chaguzi za dereva. Njia hizi na nyingine, ambazo ziko nje ya upeo wa makala hii, zinatekelezwa kwa ufanisi na watengenezaji wa mchezo katika bidhaa mpya. Kwa ujumla, maisha yanakuwa bora. Kitu kingine kitatokea!

Rudi

×
Jiunge na jumuiya ya "koon.ru"!
VKontakte:
Tayari nimejiandikisha kwa jamii "koon.ru"