Paraan ng back trace. Pag-unlad ng VirtualRay engine. Reflection mula sa isang makinis na ibabaw

Ang mga diskarte sa pagsubaybay sa ray ay ang pinakamakapangyarihang paraan para sa paglikha ng mga makatotohanang larawan. Ang pagiging pangkalahatan ng mga pamamaraan ng pagsubaybay ay higit sa lahat dahil sa katotohanan na ang mga ito ay batay sa simple at malinaw na mga konsepto na sumasalamin sa ating karanasan sa pagdama sa mundo sa paligid natin.

Tingnan natin kung paano nabuo ang imahe. Ang imahe ay nakuha dahil sa ang katunayan na ang ilaw ay pumapasok sa camera. Maglabas tayo ng maraming sinag mula sa mga pinagmumulan ng liwanag. Tawagin natin silang mga pangunahing sinag. Ang ilan sa mga sinag na ito ay lilipad sa libreng espasyo, at ang ilan ay mahuhulog sa mga bagay. Ang mga sinag ay maaaring ma-refracted sa kanila, masasalamin. Sa kasong ito, ang bahagi ng enerhiya ng sinag ay masisipsip. Ang refracted at reflected ray ay bumubuo ng isang set ng pangalawang ray. Dagdag pa, ang mga sinag na ito ay muling ire-refract at masasalamin at bubuo ng isang bagong henerasyon ng mga sinag. Sa kalaunan, ang ilan sa mga sinag ay tatama sa camera at bubuo ng isang imahe.

May mga algorithm na gumagana ayon sa naturang algorithm. Ngunit ang mga ito ay lubhang hindi mabisa, dahil ang karamihan sa mga sinag mula sa pinagmulan ay hindi pumapasok sa camera. At ang isang katanggap-tanggap na larawan ay nakuha kung iyong sinusubaybayan malaking numero ray, na magtatagal ng napakatagal. Ang algorithm na ito ay tinatawag na direct ray tracing.

Ang paraan ng reverse ray tracing ay maaaring makabuluhang bawasan ang paghahanap para sa mga light ray. Ang pamamaraang ito ay binuo noong 1980s nina Whitted at Kay. Sa pamamaraang ito, ang mga sinag ay sinusubaybayan hindi mula sa mga mapagkukunan, ngunit mula sa camera. Kaya, ito ay sinusubaybayan tiyak na numero ray na katumbas ng resolution ng imahe.

Ipagpalagay na mayroon kaming isang camera at isang screen sa layo h mula dito. Hatiin natin ang screen sa mga parisukat. Susunod, kami naman ay magsasagawa ng mga sinag mula sa camera hanggang sa gitna ng bawat parisukat (pangunahing mga sinag). Hanapin natin ang intersection ng bawat naturang sinag sa mga bagay ng eksena at piliin sa lahat ng intersection ang pinakamalapit sa camera. Dagdag pa, sa pamamagitan ng paglalapat ng nais na modelo ng pag-iilaw, maaari kang makakuha ng isang imahe ng eksena. Ito ang pinakasimpleng paraan ng pagsubaybay sa sinag. Pinapayagan ka lamang nitong putulin ang hindi nakikitang mga gilid.

Ngunit maaari kang magpatuloy. Kung gusto nating gayahin ang mga phenomena tulad ng pagmuni-muni, repraksyon, kailangan nating maglunsad ng mga pangalawang ray mula sa pinakamalapit na intersection. Halimbawa, kung ang ibabaw ay sumasalamin sa liwanag at ito ay perpektong patag, kung gayon kinakailangan na ipakita ang pangunahing sinag mula sa ibabaw at ilunsad ang pangalawang sinag sa direksyong ito. Kung ang ibabaw ay hindi pantay, pagkatapos ay kinakailangan upang ilunsad ang maraming pangalawang ray. Hindi ito ginagawa sa programa, dahil ito ay lubos na magpapabagal sa bakas.

Kung ang bagay ay transparent, pagkatapos ito ay kinakailangan upang bumuo ng isang pangalawang ray na, kapag refracted, ito ay nagbibigay ng orihinal na ray. Ang ilang mga katawan ay maaaring magkaroon ng pag-aari ng diffuse refraction. Sa kasong ito, hindi isa, ngunit maraming mga refracted ray ang nabuo. Tulad ng sa kaso ng pagmuni-muni, napapabayaan ko ito.

Kaya, ang pangunahing sinag, na natagpuan ang isang intersection sa bagay, ay karaniwang nahahati sa dalawang beam (na sinasalamin at na-refracted). Dagdag pa, ang dalawang beam na ito ay nahahati sa dalawa pa at iba pa.

Ang pangunahing reverse ray tracing procedure sa aking programa ay ang Ray procedure. Mayroon itong sumusunod na istraktura:

Kung ang henerasyon ng beam ay katumbas ng maximum na lalim ng recursion, ibinabalik namin ang average na liwanag sa lahat ng mga bahagi. Kung hindi, then let's move on.

Tukuyin ang pinakamalapit na tatsulok kung saan nagsa-intersect ang sinag.

Kung walang ganoong tatsulok, ibinabalik namin ang kulay ng background, kung mayroon, magpatuloy kami.

Kung ang ibabaw kung saan natagpuan ang intersection ay sumasalamin, pagkatapos ay binubuo namin ang sinasalamin na sinag at tinawag ang pamamaraan ng Ray nang pabalik-balik na may pagtaas ng henerasyon ng ray ng 1.

Kung ang ibabaw kung saan natagpuan ang intersection ay nagre-refract, pagkatapos ay bumubuo kami ng isang refracted ray at tinatawag ang Ray procedure nang recursively na ang ray generation ay nadagdagan ng 1.

Tinutukoy namin ang pangwakas na pag-iilaw ng pixel, na isinasaalang-alang ang lokasyon ng mga mapagkukunan, ang mga katangian ng materyal, pati na rin ang intensity ng sinasalamin at refracted beam.

Isinaalang-alang ko na ang isang bilang ng mga limitasyon ng paraan ng pagsubaybay kapag pinag-uusapan ang tungkol sa nagkakalat na repraksyon at hindi pantay na salamin. Isaalang-alang natin ang iba pa.

Tanging mga espesyal na bagay lamang - mga pinagmumulan ng ilaw - ang makapagbibigay liwanag sa eksena. Ang mga ito ay parang punto at hindi maaaring sumipsip, magre-refract, o magpakita ng liwanag.

Ang mga katangian ng isang mapanimdim na ibabaw ay binubuo ng dalawang bahagi - nagkakalat at specular.

Sa nagkakalat na pagmuni-muni, ang mga sinag lamang mula sa mga pinagmumulan ng ilaw ay isinasaalang-alang. Kung ang pinagmulan ay nag-iilaw sa punto sa pamamagitan ng salamin (kuneho), kung gayon ito ay itinuturing na ang punto ay hindi naiilaw.

Ang specularity ay nahahati din sa dalawang bahagi.

pagmuni-muni - isinasaalang-alang ang pagmuni-muni mula sa iba pang mga bagay (hindi pinagmumulan ng liwanag)

specular - isinasaalang-alang ang liwanag na nakasisilaw mula sa mga pinagmumulan ng liwanag

Ang pagsubaybay ay hindi isinasaalang-alang ang pag-asa sa haba ng daluyong ng liwanag:

refractive index

koepisyent ng pagsipsip

koepisyent ng pagmuni-muni

Dahil hindi ako nagmomodelo ng diffuse reflection at refraction, hindi ako makakakuha ng backlighting. Samakatuwid, ipinakilala namin ang minimum na pag-iilaw sa background. Kadalasan ay nagbibigay-daan lamang ito sa iyo na makabuluhang mapabuti ang kalidad ng imahe.

Ang pagsubaybay sa algorithm ay nagbibigay-daan sa iyo upang gumuhit ng napakataas na kalidad ng mga anino. Hindi ito mangangailangan ng isang malaking reworking ng algorithm. May kailangang idagdag dito. Kapag kinakalkula ang pag-iilaw ng punto, kinakailangang maglagay ng "Shadow Front" sa bawat isa sa mga pinagmumulan ng liwanag. Ang "anino sa harap" ay isang sinag na sumusuri upang makita kung mayroong anumang nasa pagitan ng punto at ang pinagmulan. Kung ang isang malabo na bagay ay nasa pagitan nila, kung gayon ang punto ay nasa anino. Ibig sabihin nito ay ibinigay na pinagmulan, ay hindi nakakatulong sa panghuling pag-iilaw ng punto. Kung ang isang transparent na bagay ay namamalagi, pagkatapos ay bumababa ang intensity ng pinagmulan. Ang pagguhit ng mga anino ay napakatagal. Kaya, sa ilang mga sitwasyon sila ay hindi pinagana.

Sa aking programa, mayroong isang opsyon upang paganahin ang pag-smoothing ng imahe. Ang anti-aliasing ay ang pagtukoy ng kulay ng isang pixel. hindi isang sinag ang inilunsad, ngunit apat, at ang average na halaga ng kulay ng mga sinag na ito ay tinutukoy. Kung kinakailangan upang mahanap ang kulay ng isang pixel (i,j), pagkatapos ay 4 na ray ang pinaputok sa mga punto sa screen plane na may mga coordinate (i-0.25,j-0.25), (i-0.25,j+0.25), (i+0.25,j-0.25) , (i+0.25,j+0.25).

Mga pamamaraan ng pagsubaybay sa ray (Ray Pagsubaybay) ngayon ay itinuturing na pinakamakapangyarihan at maraming nalalaman na pamamaraan para sa paglikha ng mga makatotohanang larawan. Maraming mga halimbawa ng pagpapatupad ng mga algorithm sa pagsubaybay para sa mataas na kalidad na pagpapakita ng mga pinakakumplikadong three-dimensional na eksena. Mapapansin na ang pagiging pandaigdigan ng mga pamamaraan ng pagsubaybay ay higit sa lahat dahil sa katotohanan na ang mga ito ay batay sa simple at malinaw na mga konsepto na sumasalamin sa ating karanasan sa pagkilala sa mundo sa paligid natin.

kanin. 8.12. Mga modelo ng pagninilay: a - perpektong salamin, b - hindi perpektong salamin, c - nagkakalat, d - kabuuan ng diffuse at specular, e - kabaligtaran, f - kabuuan ng nagkakalat, specular at lbrother

Paano natin nakikita ang nakapaligid na katotohanan? Una, kailangan nating magpasya kung ano ang karaniwang nakikita natin. Ito ay pinag-aaralan sa mga espesyal na disiplina, at sa ilang lawak, ito ay isang pilosopikal na tanong. Ngunit dito ipagpalagay natin na ang mga nakapalibot na bagay ay may mga sumusunod na katangian na may kinalaman sa liwanag:

    magningning;

    sumasalamin at sumipsip;

    dumaan sa kanilang sarili.

kanin. 8.13. Radiation - a - pare-pareho sa lahat ng direksyon, b - nakadirekta

Ang bawat isa sa mga katangiang ito ay maaaring ilarawan ng ilang hanay ng mga katangian. Halimbawa, ang radiation ay maaaring mailalarawan sa pamamagitan ng intensity, direksyon, spectrum. Maaaring magmula ang radyasyon sa pinagmumulan ng may kondisyong punto (isang malayong bituin) o mula sa pinagmumulan ng nakakalat na liwanag (sabihin, mula sa nilusaw na lava na nagmumula sa bunganga ng bulkan). Ang pagpapalaganap ng radiation ay maaaring isagawa kasama ang isang medyo makitid na sinag (isang nakatutok na laser beam) o isang kono (isang searchlight), o pantay-pantay sa lahat ng direksyon (ang Araw), o iba pa. Ang pag-aari ng pagmuni-muni (pagsipsip) ay maaaring ilarawan sa pamamagitan ng mga katangian ng nagkakalat na scattering at specular reflection. Ang transparency ay maaaring ilarawan sa pamamagitan ng intensity attenuation at repraksyon.

Ang pamamahagi ng liwanag na enerhiya sa mga posibleng direksyon ng mga light ray ay maaaring ipakita gamit ang mga diagram ng vector, kung saan ang haba ng mga vector ay tumutugma sa intensity (Larawan 8.12 - 8.14).

Sa mga nakaraang talata, pamilyar na tayo sa mga uri ng pagmuni-muni na madalas na binabanggit - specular at diffuse. Mas madalas sa panitikan ay binanggit ang reverse mirror o patayin ang anti-mirrorpagkatalo, kung saan ang maximum na intensity ng pagmuni-muni ay tumutugma sa direksyon sa pinagmulan. Ang ilang mga uri ng mga halaman sa ibabaw ng Earth, mga palayan na naobserbahan mula sa isang taas, ay may reverse mirror reflection.

Dalawang matinding, idealized na mga kaso ng repraksyon ay ipinapakita sa Fig. 8.13.

Ang ilang mga tunay na bagay ay nagre-refract ng mga sinag sa mas kumplikadong paraan, tulad ng nagyeyelong salamin.

Ang isa at ang parehong bagay ng katotohanan ay maaaring perceived bilang isang pinagmumulan ng liwanag, o, sa ilalim ng ibang pagsasaalang-alang, ay maaaring ituring na isang bagay na sumasalamin lamang at nagpapadala ng liwanag. Halimbawa, ang isang simboryo ng isang maulap na kalangitan sa ilang tatlong-dimensional na eksena ay maaaring imodelo bilang isang pinalawak (namahagi) na pinagmumulan ng liwanag, habang sa ibang mga modelo ang parehong kalangitan ay gumaganap bilang isang translucent na daluyan na iluminado mula sa Araw.

kanin. 8.14. Repraksyon a - perpekto, b - nagkakalat

Sa pangkalahatang kaso, ang bawat bagay ay inilalarawan ng ilang kumbinasyon ng tatlong katangian sa itaas. Bilang isang ehersisyo, subukang magbigay ng isang halimbawa ng isang bagay na mayroong lahat ng tatlong mga katangiang ito nang sabay-sabay - naglalabas ito ng liwanag mismo at, sa parehong oras, sumasalamin, at nagpapadala din ng liwanag mula sa iba pang mga mapagkukunan. Marahil ang iyong imahinasyon ay magmumungkahi ng iba pang mga halimbawa kaysa, sabihin nating, red-hot glass.

Ngayon tingnan natin kung paano nabuo ang isang imahe ng isang tiyak na eksena na naglalaman ng ilang spatial na bagay. Ipagpalagay natin na ang mga sinag ng liwanag ay lumalabas sa mga punto ng ibabaw (volume) ng mga ibinubuga na bagay. Matatawag nating pangunahin ang gayong mga sinag - pinaiilaw nila ang lahat ng iba pa.

Ang isang mahalagang punto ay ang pagpapalagay na ang isang light beam sa libreng espasyo ay nagpapalaganap sa isang tuwid na linya (bagaman ang mga sanhi ng posibleng curvature ay pinag-aralan din sa mga espesyal na seksyon ng pisika). Ngunit sa geometric na optika ipinapalagay na ang light beam ay kumakalat sa isang tuwid na linya hanggang sa matugunan nito ang isang sumasalamin na ibabaw o ang hangganan ng isang repraktibo na daluyan. Kaya kami ay mag-assume.

Ang hindi mabilang na mga pangunahing sinag ay nagmumula sa mga pinagmumulan ng radiation sa iba't ibang direksyon (kahit ang isang laser beam ay hindi maaaring ganap na nakatuon - lahat ng parehong, ang liwanag ay magpapalaganap hindi sa isang perpektong manipis na linya, ngunit sa isang kono, isang sinag ng mga sinag). Ang ilang mga sinag ay napupunta sa libreng espasyo, at ang ilan (mayroon ding hindi mabilang sa kanila) ay nahuhulog sa iba pang mga bagay. Kung ang sinag ay tumama sa isang transparent na bagay, kung gayon, ang pag-refract, ito ay lalakad pa, habang ang ilan sa liwanag na enerhiya ay nasisipsip. Katulad nito, kung ang isang specularly reflective surface ay nakatagpo sa landas ng beam, pagkatapos ay nagbabago din ito ng direksyon, at bahagi ng liwanag na enerhiya ay hinihigop. Kung ang bagay ay salamin at transparent sa parehong oras (halimbawa, ordinaryong salamin), pagkatapos ay magkakaroon na ng dalawang beam - sa kasong ito, ang beam ay sinasabing nahati.

Masasabi na bilang resulta ng epekto sa mga bagay ng pangunahing sinag, ang pangalawang sinag ay lumitaw. Hindi mabilang na pangalawang sinag ang napupunta sa libreng espasyo, ngunit ang ilan sa mga ito ay tumama sa iba pang mga bagay. Kaya, paulit-ulit na sinasalamin at na-refracte, ang mga indibidwal na sinag ng ilaw ay dumating sa punto ng pagmamasid - ang mata ng tao o ang optical system ng camera. Malinaw, ang isang bahagi ng mga pangunahing sinag nang direkta mula sa mga pinagmumulan ng radiation ay maaari ring maabot ang punto ng pagmamasid. Kaya, ang imahe ng eksena ay nabuo sa pamamagitan ng ilang hanay ng mga light ray.

Ang kulay ng mga indibidwal na punto ng imahe ay tinutukoy ng spectrum at intensity ng mga pangunahing sinag ng mga pinagmumulan ng radiation, pati na rin ang pagsipsip ng liwanag na enerhiya sa mga bagay na nakatagpo sa landas ng kaukulang mga sinag.

kanin. 8.15. Reverse ray tracing scheme

Ang direktang pagpapatupad ng ray model na ito ng imaging ay mahirap. Maaari mong subukang bumuo ng isang algorithm para sa pagbuo ng isang imahe sa ganitong paraan. Sa ganoong algorithm, kinakailangang ibilang ang lahat ng pangunahing sinag at matukoy kung alin sa mga ito ang tumama sa mga bagay at sa camera. Pagkatapos ay umulit sa lahat ng pangalawang sinag, at isaalang-alang din ang mga tumama sa mga bagay at camera. At iba pa. Maaari mong tawagan ang paraang ito tuwid pagsubaybay sa sinag. Ang praktikal na halaga ng naturang pamamaraan ay kaduda-dudang. Sa katunayan, kung paano isaalang-alang ang walang katapusang bilang ng mga sinag sa lahat ng direksyon? Malinaw, ang isang kumpletong enumeration ng isang walang katapusang bilang ng mga sinag ay imposible sa prinsipyo. Kahit na bawasan natin ito sa isang tiyak na bilang ng mga operasyon (halimbawa, hatiin ang buong globo ng mga direksyon sa mga angular na sektor at gumana hindi sa walang katapusang manipis na mga linya, ngunit sa mga sektor), ang pangunahing disbentaha ng pamamaraan ay nananatili pa rin - maraming hindi kinakailangang mga operasyon na nauugnay sa pagkalkula ng mga sinag, na pagkatapos ay hindi ginagamit. Kaya, gayon pa man, lumilitaw ito sa kasalukuyang panahon.

Pamamaraan bakas sa likod rays ay nagbibigay-daan sa iyo upang makabuluhang bawasan ang paghahanap para sa mga light ray. Ang pamamaraan ay binuo noong 80s, ang mga gawa ay itinuturing na pangunahing Witte-oo At Kay. Ayon sa pamamaraang ito, ang pagsubaybay sa ray ay isinasagawa hindi mula sa mga pinagmumulan ng liwanag, ngunit sa kabaligtaran na direksyon - mula sa punto ng pagmamasid. Sa ganitong paraan, ang mga sinag lamang na nag-aambag sa pagbuo ng imahe ay isinasaalang-alang.

Isaalang-alang kung paano ka makakakuha ng bitmap na imahe ng ilang three-dimensional na eksena gamit ang back tracing method. Ipagpalagay na ang projection plane ay nahahati sa maraming mga parisukat - mga pixel. Pumili tayo ng sentral na projection na may nawawalang sentro sa ilang distansya mula sa projection plane. Gumuhit tayo ng isang tuwid na linya mula sa gitna ng pagbaba hanggang sa gitna ng parisukat (pixel) ng projection plane (Larawan 8.15). Ito ang magiging pangunahing back trace ray. Kung ang tuwid na linya ng ray na ito ay tumama sa isa o higit pang mga eksena, piliin ang pinakamalapit na intersection point. Upang matukoy ang kulay ng isang pixel ng imahe, kinakailangang isaalang-alang ang mga katangian ng bagay, pati na rin kung anong uri ng light radiation ang nahuhulog sa kaukulang punto ng bagay.

kanin. 8.16. Backtracing para sa mga bagay na may specular at refraction properties

Kung ang bagay ay specular (hindi bababa sa bahagyang), pagkatapos ay bumuo kami ng isang pangalawang ray - isang insidente ray, isinasaalang-alang ang nakaraan, pangunahin, traced ray bilang isang reflection ray. Sa itaas, isinasaalang-alang namin ang specular reflection at nakakuha ng mga formula para sa reflected ray vector na ibinigay sa normal at incident ray vectors. Ngunit dito alam natin ang vector ng sinasalamin na sinag, ngunit paano mahahanap ang vector ng sinag ng insidente? Upang gawin ito, maaari mong gamitin ang parehong specular reflection formula, ngunit tinutukoy ang kinakailangang incidence ray vector bilang isang reflected ray. Iyon ay ang kabaligtaran na pagmuni-muni.

Para sa isang perpektong salamin, sapat na upang masubaybayan lamang ang susunod na punto ng intersection ng pangalawang beam na may ilang bagay. Ano ang ibig sabihin ng salitang "perpektong salamin"? Ipinapalagay namin na ang naturang salamin ay may perpektong pantay na pinakintab na ibabaw; samakatuwid, isang insidente na sinag lamang ang tumutugma sa isang sinasalamin na sinag. Ang salamin ay maaaring dimmed, iyon ay, sumipsip ng bahagi ng liwanag na enerhiya, ngunit ang panuntunan ay natutupad pa rin: ang isang sinag ay bumagsak - ang isa ay makikita. Maaari ding isaalang-alang ng isa ang "imperfect mirror." Nangangahulugan ito na ang ibabaw ay hindi pantay. Ang direksyon ng reflected beam ay tumutugma sa ilang incident beam (o vice versa, ang isang incident beam ay bumubuo ng ilang reflected beam), na bumubuo ng cone, posibleng asymmetrical, na may axis sa kahabaan ng linya ng incident beam ng isang perpektong salamin. Ang kono ay tumutugma sa isang tiyak na batas ng pamamahagi ng intensity, ang pinakasimpleng kung saan ay inilarawan ng modelo ng Phong - ang cosine ng anggulo na nakataas sa isang tiyak na kapangyarihan. Ang isang hindi perpektong salamin ay lubos na nagpapahirap sa pagsubaybay - kailangan mong subaybayan ang hindi isa, ngunit maraming mga sinag ng insidente, isaalang-alang ang kontribusyon ng radiation mula sa iba pang mga bagay na nakikita mula sa isang naibigay na punto.

Kung ang bagay ay transparent, pagkatapos ito ay kinakailangan upang bumuo ng isang bagong ray, isa na, kapag refracted, ay magbibigay sa nakaraang traced ray. Dito maaari mo ring gamitin ang reversibility, na may bisa din para sa repraksyon. Upang kalkulahin ang vector ng nais na beam, maaari mong ilapat ang mga formula na tinalakay sa itaas para sa vector ng repraksyon beam, sa pag-aakalang ang repraksyon ay nangyayari sa kabaligtaran na direksyon (Larawan 8.16).

Kung ang isang bagay ay may mga katangian ng nagkakalat na pagmuni-muni at repraksyon, kung gayon, sa pangkalahatang kaso, tulad ng para sa isang hindi perpektong salamin, kinakailangan upang subaybayan ang mga sinag na nagmumula sa lahat ng magagamit na mga bagay. Para sa diffuse reflection, ang intensity ng reflected light ay kilala na proporsyonal sa cosine ng anggulo sa pagitan ng ray vector mula sa light source at sa normal. Dito, ang pinagmumulan ng liwanag ay maaaring maging anumang bagay na nakikita mula sa isang partikular na punto, na may kakayahang magpadala ng liwanag na enerhiya.

Kung ito ay lumabas na ang kasalukuyang back trace ray ay hindi bumalandra sa anumang bagay, ngunit nakadirekta sa libreng espasyo, pagkatapos ay ang pagsubaybay para sa ray na ito ay nagtatapos.

Ang back ray tracing sa anyo kung saan namin ito isinasaalang-alang dito, bagama't binabawasan nito ang enumeration, ay hindi nagpapahintulot sa iyo na mapupuksa ang isang walang katapusang bilang ng mga nasuri na ray. Sa katunayan, ang pamamaraang ito ay nagbibigay-daan sa iyo upang agad na makakuha ng isang pangunahing back tracing ray para sa bawat punto ng larawan. Gayunpaman, maaari nang magkaroon ng isang walang katapusang bilang ng mga pangalawang reflection ray. Kaya, halimbawa, kung ang isang bagay ay maaaring magpakita ng liwanag mula sa anumang iba pang bagay, at kung ang iba pang mga bagay na ito ay medyo malaki, kung gayon aling mga punto ng mga bagay na nagpapalabas ang dapat isaalang-alang upang mabuo ang kaukulang mga sinag, halimbawa, sa nagkakalat na pagmuni-muni? Malinaw na lahat ng mga puntos.

Sa praktikal na pagpapatupad ng paraan ng back tracing, ipinakilala ang mga paghihigpit. Ang ilan sa mga ito ay kinakailangan upang malutas ang problema ng synthesis ng imahe sa prinsipyo, at ang ilang mga paghihigpit ay maaaring makabuluhang taasan ang bilis ng pagsubaybay. Mga halimbawa ng naturang mga paghihigpit.

1. Sa lahat ng uri ng mga bagay, ang ilan ay namumukod-tangi, na tatawagin natin pinagmumulan liwanag. Ang mga ilaw na pinagmumulan ay maaari lamang maglabas ng liwanag, ngunit hindi ito maipapakita o mai-refract (isasaalang-alang lamang natin punto pinagmumulan ng liwanag).

2. Ang mga katangian ng mapanimdim na ibabaw ay inilarawan sa pamamagitan ng kabuuan ng dalawang bahagi - nagkakalat at specular.

3. Sa turn, ang specularity ay inilalarawan din ng dalawang bahagi. Una (pagmuni-muni) isinasaalang-alang ang mga pagmuni-muni mula sa iba pang mga bagay na hindi pinagmumulan ng liwanag. Isang specularly reflected beam lang ang binuo r para sa karagdagang pagsubaybay.Ang pangalawang bahagi ( Specular ) nangangahulugan ng mga pagmuni-muni ng liwanag mula sa mga pinagmumulan ng liwanag. Upang gawin ito, ang mga sinag ay nakadirekta sa lahat ng pinagmumulan ng liwanag at ang mga anggulo na nabuo ng mga sinag na ito na may specularly reflected back tracing ray ay tinutukoy. (r). Sa mirroring, ang kulay ng isang surface point ay tinutukoy ng kulay ng kung ano ang ipinapakita. Sa pinakasimpleng kaso, ang salamin ay walang sariling kulay sa ibabaw.

4. Sa nagkakalat na pagmuni-muni, tanging mga sinag mula sa mga pinagmumulan ng liwanag ang isinasaalang-alang. Ang mga sinag mula sa specularly reflective surface ay hindi pinapansin. Kung ang isang sinag na nakadirekta sa isang ibinigay na pinagmumulan ng liwanag ay sakop ng isa pang bagay, kung gayon ang puntong ito ng bagay ay nasa anino. Sa nagkakalat na pagmuni-muni, ang kulay ng isang iluminado na punto sa isang ibabaw ay tinutukoy ng intrinsic na kulay ng ibabaw at ang kulay ng mga pinagmumulan ng liwanag.

5. Para sa transparent (1hap5ragep() Ang mga bagay ay karaniwang hindi isinasaalang-alang ang pag-asa ng refractive index sa wavelength. Minsan ang transparency ay karaniwang na-modelo nang walang repraksyon, iyon ay, ang direksyon ng refracted beam ako kasabay ng direksyon ng sinag ng insidente.

    Upang isaalang-alang ang pag-iilaw ng mga bagay sa pamamagitan ng liwanag na nakakalat ng iba pang mga bagay, isang bahagi ng background ang ipinakilala (sabient).

7. Upang makumpleto ang pagsubaybay, ang ilang limitasyon ng halaga ng pag-iilaw ay ipinakilala, na hindi na dapat mag-ambag sa resultang kulay, o ang bilang ng mga pag-ulit ay limitado.

Ayon kay Mga puting modelo ang kulay ng ilang punto ng bagay ay tinutukoy ng kabuuang intensity

ako() = KaIa()C() + KdId()C() + KsIs() + KrIr() + KtIt()

kung saan ang λ ay ang wavelength,

C (λ) - binigyan ng paunang kulay ng object point,

K a, K d , K s , K r ​​​​at K t - coefficients na isinasaalang-alang ang mga katangian ng isang partikular na bagay sa pamamagitan ng mga parameter ng backlighting, diffuse scattering, specularity, reflection at transparency,

ako a - intensity ng backlight,

ako d ay ang intensity na isinasaalang-alang para sa diffuse scattering,

ako s - intensity na isinasaalang-alang para sa specularity,

ako r ay ang intensity ng radiation na dumarating kasama ang reflected beam,

ako t ay ang intensity ng radiation na dumarating kasama ang refracted beam.

Ang intensity ng backlight (1 A ) para sa ilang bagay, kadalasan ay pare-pareho. Sumulat tayo ng mga formula para sa iba pang intensidad. Para sa diffuse reflection

ako d =

saan ako i (λ) - intensity ng radiation i- ro pinagmumulan ng liwanag, θ i- ang anggulo sa pagitan ng normal sa ibabaw ng bagay at ang direksyon sa i- vi Banayad na pinagmulan.

Para sa pag-mirror:

ako d =

saan R- exponent mula isa hanggang ilang daan (ayon sa modelo ng Phong), α i ay ang anggulo sa pagitan ng reflected beam (backtracing) at ang direksyon sa r "-th light source.

Mga intensidad ng radiation na dumadaan sa sinasalamin na sinag ( ako r), pati na rin ng refracted beam ( ako t ) , ay pinarami ng isang kadahilanan na isinasaalang-alang ang pagpapahina ng intensity depende sa distansya na nilakbay ng sinag. Ang koepisyent na ito ay nakasulat bilang e - d saan d- layo ng nilakbay ay ang attenuation parameter na isinasaalang-alang ang mga katangian ng medium kung saan ang beam ay nagpapalaganap.

Para sa pangunahing sinag, dapat mong itakda ang direksyon na tumutugma sa napiling projection. Kung ang projection ay nasa gitna, kung gayon ang mga pangunahing sinag ay magkakaiba mula sa isang karaniwang punto, para sa isang parallel na projection, ang mga pangunahing sinag ay parallel. Maaaring tukuyin ang isang ray, halimbawa, sa pamamagitan ng mga coordinate ng simula at pagtatapos ng mga punto ng segment, ang coordinate ng panimulang punto at direksyon, o iba pa. Ang pagtukoy sa pangunahing ray ay natatanging tumutukoy sa projection inilalarawang eksena . Sa reverse ray tracing, ang anumang pagbabago sa coordinate ay hindi na kailangan. Ang projection ay awtomatikong nakuha - kabilang, hindi lamang flat, ngunit din, halimbawa, cylindrical o spherical. Ito ay isa sa mga pagpapakita ng versatility ng paraan ng pagsubaybay.

Sa panahon ng pagsubaybay sa sinag, kinakailangan upang matukoy ang mga punto ng intersection ng isang tuwid na linya ng sinag na may mga bagay. Kung paano tinutukoy ang intersection point ay depende sa kung anong uri ng bagay ito at kung paano ito kinakatawan sa isang partikular na graphics system. Kaya, halimbawa, para sa mga bagay na ipinakita sa anyo ng polyhedra at polygonal meshes, maaaring gamitin ng isa ang mga kilalang pamamaraan para sa pagtukoy ng punto ng intersection ng isang linya at isang eroplano, na isinasaalang-alang sa analytical geometry. Gayunpaman, kung ang gawain ay upang matukoy ang intersection ng isang ray na may mukha, kung gayon kinakailangan din na ang natagpuang intersection point ay nasa loob ng contour ng mukha.

Mayroong ilang mga paraan upang suriin ang isang arbitrary na punto para sa pag-aari sa isang polygon. Isaalang-alang ang dalawang uri ng mahalagang parehong paraan (Figure 8.17).

Unang paraan. Ang lahat ng mga punto ng intersection ng contour na may pahalang, na tumutugma sa Y-coordinate ng ibinigay na punto, ay matatagpuan. Ang mga intersection point ay pinagsunod-sunod sa pataas na pagkakasunud-sunod ng mga halaga ng X coordinate. Ang mga pares ng mga intersection point ay bumubuo ng mga segment. Kung ang puntong sinusuri ay kabilang sa isa sa mga segment (upang gawin ito, ang X coordinates ng ibinigay na punto at ang mga dulo ng mga segment ay inihambing), kung gayon ito ay panloob.

kanin. 8.17. Ang punto ay panloob kung: a - ang punto ay kabilang sa secant segment, b - ang bilang ng mga intersection ay kakaiba

Ang pangalawang paraan. Ang isang punto ay tinutukoy na nasa parehong pahalang na linya bilang ang punto ng pagsubok, at kinakailangan na ito ay nasa labas ng tabas ng polygon. Ang natagpuang panlabas na punto at ang pagsubok na punto ay ang mga dulo ng pahalang na segment. Ang mga intersection point ng segment na ito na may polygon contour ay tinutukoy. Kung kakaiba ang bilang ng mga intersection, nangangahulugan ito na internal ang test point.

Kung ang sinag ay nagsalubong sa ilang mga bagay, kung gayon ang pinakamalapit na punto sa direksyon ng kasalukuyang sinag ay pipiliin.

Ating gawin pangkalahatang konklusyon tungkol sa paraan ng back ray tracing.

Mga positibong katangian

1. Universality ng pamamaraan, ang applicability nito para sa synthesis ng imahe ng medyo kumplikadong spatial scheme. Naglalaman ng maraming batas geometric na optika. Iba't ibang projection lang.

2. Kahit na pinutol na mga pagpipilian ang pamamaraang ito nagbibigay-daan sa iyo upang makakuha ng medyo makatotohanang mga imahe. Halimbawa, kung ito ay limitado lamang sa mga pangunahing sinag (mula sa projection point), pagkatapos ay nagbibigay ito ng pag-alis ng mga hindi nakikitang mga punto. Ang pagsubaybay sa isa o dalawang pangalawang sinag ay nagbibigay ng mga anino, specularity, transparency.

3. Ang lahat ng mga pagbabago sa coordinate (kung mayroon man) ay linear, kaya medyo madali itong gumana sa mga texture.

4. Para sa isang pixel ng isang raster na imahe, maaaring masubaybayan ang ilang malapit na espasyong ray, at pagkatapos ay ang kulay ng mga ito ay naa-average upang maalis ang ladder (stepped) effect (anti-aliasing).

5. Dahil ang pagkalkula ng isang punto ng imahe ay isinasagawa nang hiwalay sa iba pang mga punto, maaari itong epektibong magamit kapag ipinapatupad ang pamamaraang ito sa parallel computing system, kung saan ang mga sinag ay maaaring masubaybayan nang sabay-sabay.

Bahid

1. Mga problema sa pagmomodelo ng nagkakalat na pagmuni-muni at repraksyon

2. Para sa bawat punto ng imahe, ito ay kinakailangan upang magsagawa ng maraming mga pagpapatakbo ng computational. Ang pagsubaybay sa ray ay isa sa pinakamabagal na algorithm ng synthesis ng imahe.

Ministri ng Edukasyon ng Russian Federation

Moscow State Institute of Electronics and Mathematics

(Technical University)

Kagawaran ng Impormasyon at Komunikasyon

mga teknolohiya

Takdang-aralin sa paksa:

"Pagsusuri ng mga prospect ng paggamit ng ray tracing method sa 3D modeling"

Nakumpleto:

Guliyan Boris

Podzorov Ivan

Pangkat C -35

Moscow 2010

1. 3D graphics. Panimula

3. Ray tracing algorithm

4. Ang mga pangunahing pakinabang at disadvantages ng ray tracing

5. Paglalapat ng ray tracing method

6. Eksperimento.

Gawain: "Pagsusuri ng mga prospect ng paggamit ng ray tracing method sa 3D modeling"

Pagbubuo ng problema

Kilalanin ang paraan ng ray tracing at ang paggamit nito sa larangan ng 3D graphics, gumawa ng eksperimento gamit ang isa sa mga ray tracing algorithm.

Sa aming eksperimento, isinasaalang-alang namin ang:
1) ang pagganap ng ray tracing algorithm depende sa bilang ng mga polygons ng modelo (3 bola ang kinuha bilang isang modelo: matte, transparent at mirror).

2) Pagsusuri ng mga nakuhang larawan na may at walang ray tracing.

Ang Blender software ay ginagamit bilang daluyan para sa eksperimento.

3D graphics. Panimula.

Ang three-dimensional na graphics ay isang seksyon ng computer graphics, isang hanay ng mga diskarte at tool na idinisenyo upang ilarawan ang mga three-dimensional na bagay. Ito ay pinakakaraniwang ginagamit upang lumikha ng mga larawan sa isang screen plane o isang sheet ng mga naka-print na produkto sa visualization ng arkitektura, industriya ng entertainment, mga naka-print na produkto, gayundin sa teknolohiya ng agham, industriya at augmented reality.

Ang anumang 3D na imahe ay tinutukoy ng mga sumusunod na parameter at mga bagay:

· Geometry (built model)

· Mga Materyales (impormasyon tungkol sa mga visual na katangian ng modelo)

· Mga pinagmumulan ng ilaw (direksyon, kapangyarihan, mga setting ng spectrum ng ilaw)

· Mga virtual na camera (pagpili ng punto at anggulo ng pagtatayo ng projection)

· Mga puwersa at impluwensya (mga setting para sa dynamic na pagbaluktot ng mga bagay, pangunahing ginagamit sa animation)

· Mga karagdagang epekto (mga bagay na tinutulad ang atmospheric phenomena: liwanag sa fog, ulap, apoy, atbp.)

Ang gawain ng 3D modeling ay ilarawan ang mga bagay na ito at ilagay ang mga ito sa entablado gamit mga pagbabagong geometriko alinsunod sa mga kinakailangan para sa hinaharap na imahe.

Ang pangunahing problema ng 3D graphics at pagmomodelo ay upang makuha ang pinaka-photorealistic na larawan na may kaunting mapagkukunan ng computer at oras na ginugol sa pagproseso ng eksena. Dahil may iba't ibang pangangailangan sa iba't ibang lugar, iba't ibang ideya at algorithm ang nilikha upang malutas ang isang partikular na problema. Isa sa mga ideyang ito ay ray tracing, na isasaalang-alang natin sa ating gawain.

Pasulong at paatras na pagsubaybay sa sinag

Ang Ray tracing ay isang paraan ng pagproseso ng mga 3D na modelo upang makakuha ng isang photorealistic na imahe, na isinasaalang-alang ang relatibong posisyon ng mga bagay, pati na rin ang pisikal na katangian mga bagay bilang mapanimdim at repraktibo na kapangyarihan.

Mayroong 2 paraan ng ray tracing: pasulong at paatras.

Sa direktang pagsubaybay sa sinag, ang lahat ng sinag mula sa mga pinagmumulan ng liwanag na tumama sa mga bagay at kalaunan ay dumarating sa mata ng nagmamasid ay isinasaalang-alang. Ngunit ang gayong pamamaraan ay hindi makatwiran sa mga tuntunin ng pagganap, dahil kinakailangan na iproseso ang lahat ng mga sinag ng kapaligiran (papalabas at repraksyon) sa lahat ng direksyon, kabilang ang mga hindi nahuhulog sa eksena na nakikita ng tagamasid.

Sa reverse ray tracing, ang lahat ng ray ay lumalabas sa mata ng nagmamasid, sa gayon ay tumutukoy sa isang eksena na may mga bagay kung saan isasagawa ang karagdagang pagproseso. Pinapayagan ng pamamaraang ito na huwag iproseso ang mga bagay na hindi nahuhulog sa nakikitang lugar, na makabuluhang binabawasan ang dami ng kinakailangang mga kalkulasyon.

Ang lahat ng ray tracing algorithm ay batay sa reverse ray tracing method.

Mga algorithm ng pagsubaybay sa ray

Isaalang-alang ang pangunahing algorithm ng pagsubaybay (Larawan 1). Kunin natin ang isang globo bilang isang bagay.

1. Para sa bawat pixel sa screen, isang ray ang pinaputok mula sa mata ng nagmamasid.

2. Matapos tumawid ang sinag sa bagay, matutukoy ang sumusunod:

· Ang transparency/opacity ng object. Kung ang bagay ay transparent, pagkatapos ay isang repraksyon ray ay ibinubuga mula sa intersection, kung ito ay malabo, ito ay hindi ibinubuga.

· Liwanag/Anino. Mula sa punto kung saan ang sinag ay nagsalubong sa globo, ang isang sinag ay ibinubuga patungo sa pinagmumulan ng liwanag (o naman para sa bawat pinagmumulan ng liwanag, kung mayroong ilan). Kung ang sinag na ito ay hindi sumasalubong sa iba pang mga opaque na bagay o ibabaw, kung gayon ang pinagmumulan ng liwanag ay direktang nakakaapekto sa pag-iilaw ng puntong ito. Kung mayroong maraming mga mapagkukunan ng ilaw, kung gayon ang resulta na tinutukoy ng halaga ng RGB ng puntong ito ay kinakalkula mula sa impluwensya ng lahat ng mga sinag.

· Kakayahang mapanimdim. Kung ang bagay ay may kakayahang sumasalamin sa mga sinag, pagkatapos ay mula sa punto kung saan ang sinag ay nagsalubong sa globo, isang sinasalamin na sinag ay ibinubuga patungo sa mga bagay na makikita sa globo.

Bilang resulta, nakakakuha tayo ng ilang uri ng ray. Ang mga pangunahing sinag ay ginagamit upang matukoy ang kakayahang makita ng isang bagay, at ang mga pangalawang sinag ay nahahati sa mga sumusunod:

· repraksyon ray;

· sinag ng anino / pag-iilaw;

reflection ray.

kanin. 1 Diagram ng ray tracing algorithm


Ang lahat ng iba pang mga algorithm ay batay sa algorithm na ipinapakita sa itaas at idinisenyo upang i-optimize ang mga kalkulasyon.

kd-puno

Ang algorithm para sa pagbuo ng isang kd-tree ay maaaring katawanin bilang mga sumusunod (tatawagin namin kuboid ang salitang Ingles na "kahon" (kahon)).

1. "Idagdag" ang lahat ng primitive sa kahon ng hangganan. Iyon ay, upang bumuo ng isang kahon na nagbubuklod sa lahat ng mga primitive na tumutugma sa root node ng puno.

2. Kung kakaunti ang mga primitive sa node o naabot na ang limitasyon sa lalim ng puno, ihinto ang pagbuo.

3. Pumili ng split plane na naghahati sa ibinigay na node sa dalawang bata. Tatawagin natin silang kanan at kaliwang node ng puno.

4. Idagdag ang mga primitive na nag-intersect sa kaliwang node box sa kaliwang node, ang mga primitive na nag-intersect sa right node box sa kanang node.

5. Para sa bawat isa sa mga node, recursively isagawa ang algorithm na ito simula sa hakbang 2.

regular na grid

Ang lahat ng 3D space ay nahahati sa isang maliit na regular na grid na binubuo ng N*N*N cube. Ang ideya ay maaari ka lamang makasagasa sa mga cube kung saan dumaan ang sinag.

Ang pamamaraan ay hindi ginagamit sa pagsasanay.

Dkalamangan at kahinaan

Bilang karagdagan sa katotohanan na ang paraan ng pagsubaybay sa ray ay nagbibigay ng pinaka-photorealistic na larawan, mayroon itong maraming iba pang mga pakinabang:

1. Kakayahang mag-render ng makinis na mga bagay nang hindi inilalagay ang mga ito sa mga polygonal na ibabaw (tulad ng mga tatsulok).

2. Ang computational complexity ng method ay mahinang nakadepende sa complexity ng scene.

3. Mataas na algorithmic parallelism ng mga kalkulasyon - posible na masubaybayan ang dalawa o higit pang mga ray nang magkatulad at malaya.

4. Gamit ang paraan ng pagsubaybay sa ray, ang mga pagmuni-muni ay ganap na ipinapakita (Larawan 2), at walang kumplikadong mga algorithm, dahil ang lahat ay kinakalkula ng pangunahing algorithm ng pag-render.

font-size:14.0pt"> Fig. 2 Reflections ng dalawang mirror balls sa isa't isa

Ang ray tracing method ay may mga disadvantages na sinusunod sa lahat ng algorithm na tumutukoy sa saklaw ng pamamaraang ito.

1. Ang pangunahing kawalan ng rendering algorithm na ito ay ang kabagalan nito. Gayunpaman, ang algorithm ng ray tracing ay lubos na nakakatulad at ang bilang ng mga CPU core ay tumataas bawat taon, kaya dapat nating makita ang isang linear na pagtaas sa pagganap ng ray tracing. Ngunit ang diskarteng ito ay hindi isinasaalang-alang ang mga pangalawang ray (mga repleksiyon, repraksyon at mga kahulugan ng pagtatabing), at ang pag-render gamit ang mga pangunahing sinag ay halos hindi nagpapabuti sa kalidad ng imahe kumpara sa klasikal na algorithm.

2. Ang problema sa mga pangalawang beam ay ang mga ito ay ganap na walang pagkakaugnay-ugnay (co-directionality). Kapag lumilipat mula sa isang pixel patungo sa isa pa, dapat kalkulahin ang ganap na magkakaibang data, na nagpapawalang-bisa sa lahat ng karaniwang mga diskarte sa pag-cache na napakahalaga para sa mahusay na pagganap. Nangangahulugan ito na ang pagkalkula ng mga pangalawang ray ay nakasalalay sa mga pagkaantala sa memorya.

3. Kakulangan ng suporta sa hardware para sa pamamaraan (lahat ng GPU ay dalubhasa sa rasterization).

4. Isa pa katangiang problema Ang ray tracing method ay may kinalaman sa anti-aliasing (AA). Ang mga sinag ay iginuhit bilang isang simpleng abstraction ng matematika, at totoong sukat hindi nila isinasaalang-alang. Ang triangle intersection test ay isang simpleng boolean function na nagbibigay ng "oo" o "hindi" na sagot, ngunit hindi nagbibigay ng mga detalye tulad ng "ang sinag ay nag-intersect sa tatsulok na 40%". Ang isang direktang kahihinatnan ng epekto na ito ay ang hitsura ng "mga hagdan" (Larawan 3).

kanin. 3 shadow smoothing

At ang tanging teknolohiya na makapagbibigay magandang resulta, ay ang pagkalkula higit pa ray kaysa sa mga pixel, iyon ay, supersampling (Oversampling o Anti-Aliasing) (nagre-render sa mas mataas na resolution).

Dapat ding tandaan na ang bilis ng pag-render at kalidad ng ray tracing ay lubos na nakadepende sa pag-optimize ng code.

Paglalapat ng ray tracing method

Dahil sa mga tampok nito (photorealistic na imahe, kabagalan ng mga kalkulasyon), ang pamamaraang ito ay ginagamit sa mga lugar kung saan ang kalidad ng imahe ay mahalaga, at hindi ang oras ng pag-render nito (sa kasong ito, ang pinagsamang mga pamamaraan ng pag-render ay madalas na ginagamit, na nagpapabuti pagganap). Kabilang sa mga lugar na ito ang:

· 3D animation;

· Mga espesyal na epekto sa industriya ng pelikula;

· Makatotohanang pag-render ng larawan;

· Cad - mga sistema.

Mga espesyal na tuntunin:

Ang polygon mesh ay isang koleksyon ng mga vertex at polygon na tumutukoy sa hugis ng isang nai-render na bagay.

Rendering (Render) - (English rendering - “visualization”) - ang proseso ng pagkuha ng imahe mula sa isang modelo.

Dito, ang isang modelo ay isang paglalarawan ng anumang mga bagay o phenomena sa isang mahigpit tiyak na wika o bilang isang istraktura ng data. Ang nasabing paglalarawan ay maaaring maglaman ng geometric na data, ang posisyon ng punto ng tagamasid, impormasyon tungkol sa pag-iilaw, ang antas ng pagkakaroon ng ilang sangkap, atbp.


Fig 4. polygon mesh

Eksperimento.

Bilang software para sa eksperimento, pinili namin ang 3D editor Blender.

Ito ay medyo madaling matutunan at naglalaman ng lahat ng mga kinakailangang function:

· Pag-render ng larawan na may kakayahang kumonekta at idiskonekta ang tracer.

Oversampling (anti-aliasing o anti-aliasing)

Sinukat namin ang oras na kinakailangan upang mag-render ng 3 magkakaibang sphere (malasalamin, specular at matte) sa iba't ibang Multeris Equation (bawat antas ay nagdaragdag sa bilang ng mga polygon ng 4 na beses). Habang tumataas ang antas, ang oras ay binibilang mula 0.

0 "style="margin-left:48.35pt;border-collapse:collapse">

Lv. Multeris

Render time ng bawat ur. mula sa 0

Walang RayT [c]

Sa RayT[c]

0,53

3,36

0,46

0,54

2,84

0,55

3,02

0,61

3,85

0,96

5,96

10,64

29,12

43,9

Talahanayan 1.

Ang pag-render ay isinagawa gamit ang maximum na mga parameter upang mapataas ang pagkakaiba sa bilis ng pagproseso.

Bilang resulta, nakikita namin na ang oras na ginugol sa pagproseso ng tatlong sphere na may level 4 (256 polygons per sphere) ay mas mababa kaysa sa oras na ginugol sa pagproseso ng mga sphere na may level 2 (16 polygons bawat isa).


Figure 5. Mga polygon meshes para sa iba't ibang antas

kinalabasan

Makikita mula sa eksperimento na ang oras na ginugol sa pag-render ng 3 bola gamit ang ray tracing ay mas malaki kaysa sa oras na ginugol sa pag-render nang hindi gumagamit ng ray tracing. Ngunit sa panahon ng eksperimento, napansin ang isang kawili-wiling obserbasyon: ang oras para sa pagproseso ng 3, 4 at 5 na antas ng mga modelo ay mas mababa kaysa sa oras para sa pagproseso ng dalawang antas na modelo.

Pagsusuri ng mga natanggap na larawan:
1) Sa larawang nakuha nang hindi gumagamit ng ray tracing (simula dito A), makikita na ang transparent sphere ay hindi nagbibigay ng epekto ng isang lens (paglalapat ng alpha channel), habang sa larawan ay gumagamit ng ray tracing (simula dito B), pinalaki ng transparent na bola ang mga bagay na lampas sa kanya (Larawan 6).

kanin. 6 na transparent na sphere (alpha channel sa kaliwa, ray tracing sa kanan)


2) Walang mirror ball sa larawan A, dahil ang pagkuha ng reflection dito ay batay sa ray tracing (Fig. 7).

Figure 7. Modelo ng eksperimento (alpha channel sa itaas, ray tracing sa ibaba).


3) Ipinapakita ng Figure 8 na kapag nag-render nang hindi gumagamit ng ray tracing, ang mga panloob na cavity ay iluminado, kung saan, lohikal na, ang liwanag ay hindi dapat tumagos.


Fig. 8 Pagbagsak ng liwanag sa kumpol sa bola (kaliwa A, kanan B)

Mula sa pagsusuri na ito, makikita na ang kalidad ng mga imahe gamit ang ray tracing ay makabuluhang mas mahusay kaysa sa mga imahe na nakuha nang wala ito, na nagbibigay-katwiran sa paggamit ng pamamaraang ito sa mga lugar kung saan ang kalidad ng nagresultang imahe ay mahalaga, at hindi ang oras ng pagproseso.

Direktang pagsubaybay. Sa paraan ng direktang pagsubaybay, isang sinag ng mga sinag ang nabuo na lumalabas mula sa pinagmulan sa lahat ng posibleng direksyon.

Karamihan sa mga sinag na ibinubuga ng pinagmulan ay hindi umaabot sa tatanggap, at samakatuwid ay hindi nakakaapekto sa imahe na nabuo dito. Isang napakaliit na bahagi lamang ng mga sinag, pagkatapos ng lahat ng mga pagmuni-muni at repraksyon, sa wakas ay tumama sa receiver, na lumilikha ng isang imahe ng eksena sa mga receptor nito. Maraming diffusely reflected ray ang lumilitaw sa magaspang na ibabaw. Ang lahat ng mga ito ay kailangang mabuo at masubaybayan ayon sa program, na nagpapalubha sa gawain ng pagsubaybay tulad ng isang avalanche.

Ang pagpasa ng isang sinag sa isang di-ideal na daluyan ay sinamahan ng pagkalat at pagsipsip ng liwanag na enerhiya sa mga microparticle nito. Ang mga ito mga pisikal na proseso ito ay lubhang mahirap na sapat na gayahin sa isang computer na may limitadong mapagkukunan ng computing. Sa pagsasagawa, limitado ang mga ito sa paggamit ng attenuation coefficient ng enerhiya ng sinag sa bawat yunit ng distansya na nilakbay nito. Katulad nito, ang mga koepisyent ng pagbawas ng enerhiya ng sinag sa panahon ng pagmuni-muni at repraksyon nito sa interface sa pagitan ng media ay ipinakilala. Isinasaalang-alang ang mga coefficient na ito, ang pagbaba sa enerhiya ng lahat ng pangunahin at pangalawang sinag sa proseso ng kanilang paggala sa espasyo ng eksena ay sinusubaybayan. Sa sandaling ang enerhiya ng isang tiyak na sinag ay nagiging mas mababa sa isang tiyak na antas ng ganap o bumaba sa isang tiyak na bilang ng mga beses, ang pagsubaybay sa sinag na ito ay hihinto.

Kaya, ang pangunahing disadvantages ng direct tracing method ay ang mataas na kumplikado at mababang kahusayan nito. Kapag ipinapatupad ang pamamaraan, ang karamihan sa mga gawain sa pagkalkula ng mga intersection ng mga sinag na may mga bagay ay lumabas na walang kabuluhan.

Bakas sa likod. Ang paraan ng back trace ay binuo noong 80s. Ang mga gawa nina Whitted at Kay ay itinuturing na pangunahing.

Upang putulin ang mga sinag na hindi umaabot sa tatanggap, sapat na upang isaalang-alang ang tagamasid bilang isang mapagkukunan ng mga sinag ng pagbabalik. Ang pangunahing sinag ay ang sinag V mula sa nagmamasid hanggang sa anumang punto sa ibabaw ng bagay.

Ayon sa mga pamamaraan na tinalakay sa itaas, kinakalkula ang pangalawa, tersiyaryo, atbp. sinag. Bilang resulta, para sa bawat pangunahing sinag, isang tracing tree ang itinayo, ang mga sanga nito ay bumubuo ng pangalawang sinag. Ang pagsasanga ng bakas ay nagtatapos kung:

● nawala ang sinag sa eksena,

● ang sinag ay nakakatugon sa isang malabo na katawan na sumisipsip ng liwanag,

● tumama ang sinag sa pinagmumulan ng liwanag,

● Bumababa ang intensity ng beam threshold ng pagiging sensitibo,

● Ang bilang ng mga pangunahing beam split ay nagiging masyadong malaki para sa mga magagamit na mapagkukunan ng makina.

Ang resultang direktang liwanag na enerhiya (kulay at intensity) na pumapasok sa receiver mula sa direksyon V, ay binubuo ng mga energies ng mga terminal vertices ng puno, na isinasaalang-alang ang kanilang mga pagkalugi sa panahon ng pagpapalaganap sa optical media.


Ang paraan ng pagsubaybay sa likod ay aktwal na nag-iipon ng lahat ng mga sinag na aktwal na dumarating sa receiver mula sa isang partikular na direksyon, anuman ang kanilang pinagmulan. Binibigyang-daan ka nitong makita at ipakita sa screen:

● mga opaque na bagay na sumisipsip ng return rays;

● mga transparent na bagay kung saan, dahil sa repraksyon, makikita ng tagamasid ang iba pang mga bagay;

● mga pagmuni-muni ng mga bagay sa ibabaw ng salamin, kabilang ang liwanag na nakasisilaw, na naaayon sa pagpasok ng mga sinag na bumalik sa pinagmumulan ng liwanag;

● mga anino na nabuo sa mga punto sa ibabaw na natatakpan mula sa pinagmulan ng iba pang mga bagay;

● iba pang iba't ibang optical effect.

Ang bilang ng "probing" return rays na sumailalim sa tracing ay limitado sa bilang ng mga puntos sa ibabaw ng mga bagay sa eksena, na nakikita mula sa posisyon ng nagmamasid at tinatahak na may hangganang hakbang depende sa resolution ng screen. Dahil dito, ang halaga ng mga gastos sa computational sa paraan ng back tracing ay makabuluhang nabawasan kumpara sa forward tracing method. Posibleng pagsamahin ang parehong mga pamamaraan upang ma-optimize ang mga algorithm at mabawasan ang pagiging kumplikado ng mga ito.

Ang mga algorithm ng pagsubaybay ay nasa likas na katangian ng isang recursive na pamamaraan na tumatawag sa sarili nito kapag lumitaw ang isang pangalawang ray (ang nasuri na sinag ay makikita o na-refracte). Karamihan ng Ang mga kalkulasyon sa pagpapatupad ng mga pamamaraan ng pagsubaybay ay isinasaalang-alang ang pagkalkula ng mga intersection ng mga sinag na may mga ibabaw, at samakatuwid ang mga ito ay ginagamit para sa imahe optical effect sa mga eksenang may maliit na bilang ng mga bagay.

Sa praktikal na pagpapatupad ng paraan ng back tracing, ang mga sumusunod na paghihigpit ay ipinakilala . Ang ilan sa mga ito ay kinakailangan upang malutas ang problema ng synthesis ng imahe sa prinsipyo, at ang ilang mga paghihigpit ay maaaring makabuluhang taasan ang bilis ng pagsubaybay.

Mga limitasyon ng paraan ng backtrace:

1. Sa lahat ng uri ng mga bagay, pumipili kami ng mga light source. Maaari lamang silang maglabas ng liwanag, ngunit hindi ito maipapakita o mai-refract. Karaniwang isinasaalang-alang ang mga mapagkukunan ng punto.

2. Ang mga katangian ng mapanimdim na mga ibabaw ay inilarawan sa pamamagitan ng kabuuan ng dalawang bahagi: nagkakalat at specular.

3. Ang specularity naman, ay inilalarawan din ng dalawang bahagi. Isinasaalang-alang ng una (pagsalamin) ang pagmuni-muni mula sa iba pang mga bagay na hindi pinagmumulan ng liwanag. Isang specularly reflected beam lang ang binuo r para sa karagdagang pagsubaybay. Ang pangalawang bahagi (specular) ay nangangahulugang mga highlight mula sa mga light source. Upang gawin ito, ang mga sinag ay nakadirekta sa lahat ng mga mapagkukunan, ang mga anggulo na nabuo ng mga sinag na ito na may salamin sa likod na tracing ray ay tinutukoy ( r). Sa mirroring, ang kulay ng isang surface point ay tinutukoy ng kulay ng kung ano ang ipinapakita. Sa pinakasimpleng kaso, ang salamin ay walang sariling kulay sa ibabaw.

4. Sa nagkakalat na pagmuni-muni, tanging mga sinag mula sa mga pinagmumulan ng liwanag ang isinasaalang-alang. Ang mga sinag mula sa specularly reflective surface ay hindi pinapansin. Kung ang isang sinag na nakadirekta sa isang ibinigay na pinagmumulan ng liwanag ay sakop ng isa pang bagay, kung gayon ang puntong ito ng bagay ay nasa anino. Sa nagkakalat na pagmuni-muni, ang kulay ng isang iluminado na punto sa isang ibabaw ay tinutukoy ng intrinsic na kulay ng ibabaw at ang kulay ng mga pinagmumulan ng liwanag.

5. Para sa mga transparent (transparent) na bagay, ang dependence ng refractive index sa wavelength ay karaniwang hindi isinasaalang-alang. Minsan ang transparency ay karaniwang na-modelo nang walang repraksyon, i.e. refracted beam direksyon t kasabay ng direksyon ng sinag ng insidente.

6. Upang isaalang-alang ang pag-iilaw ng mga bagay sa pamamagitan ng liwanag na nakakalat ng iba pang mga bagay, ang bahagi ng background (ambient) ay ipinakilala.

7. Upang makumpleto ang bakas, maglagay ng ilan halaga ng threshold pag-iilaw, na hindi na dapat mag-ambag sa resultang kulay, o limitahan ang bilang ng mga pag-ulit.

Mga positibong katangian ng paraan ng backtrace:

● versatility, applicability para sa synthesis ng imahe ng medyo kumplikadong spatial na eksena. Naglalaman ng maraming batas ng optika. Ito ay lamang na iba't ibang mga projection ay natanto;

● kahit na ang mga pinutol na bersyon ng paraang ito ay nagbibigay-daan upang makakuha ng sapat na makatotohanang mga imahe. Halimbawa, kung nililimitahan natin ang ating sarili sa mga pangunahing sinag lamang (mula sa projection point), magreresulta ito sa pag-aalis ng mga hindi nakikitang punto. Ang pagsubaybay sa isa o dalawang pangalawang sinag ay nagbibigay ng mga anino, specularity, transparency;

● lahat ng mga pagbabago sa coordinate (kung mayroon man) ay linear, kaya medyo madaling gamitin ang mga texture;

● para sa isang pixel ng isang raster na imahe, maaaring masubaybayan ang ilang malapit na espasyong sinag, at pagkatapos ay i-average ang kanilang kulay upang maalis ang epekto ng aliasing;

● dahil ang pagkalkula ng isang punto ng imahe ay isinasagawa nang hiwalay sa iba pang mga punto, maaari itong epektibong magamit kapag ipinapatupad ang pamamaraang ito sa parallel computing system, kung saan ang mga sinag ay maaaring masubaybayan nang sabay-sabay.

Mga disadvantages ng paraan ng backtrace:

● mga problema sa pagmomodelo ng nagkakalat na pagmuni-muni at repraksyon;

● Para sa bawat punto ng imahe, kinakailangan na magsagawa ng maraming pagpapatakbo ng pagkalkula. Ang pagsubaybay sa ray ay isa sa pinakamabagal na algorithm ng synthesis ng imahe.

Hindi pa gaano katagal ang 4A Games, ang lumikha ng kamangha-manghang makatotohanang mga laro Naglabas ang Metro ng isang video gamit ang teknolohiyang RTX ng Nvidia gamit ang METRO: EXODUS bilang isang halimbawa. Ang graphical na innovation na ito ay isang malaki at kumpiyansa na hakbang pasulong sa ray tracing. Ngunit ano ang ibig sabihin ng lahat ng ito?

Sa likod ng tabing ng lihim

Magsimula tayo sa simula pa lang. Una, ang ray tracing rendering ay isa sa mga pangunahing uri ng visualization na ginagamit sa mga pelikula at iba't ibang uri disenyo: mula sa industriya hanggang sa arkitektura. Ibig sabihin, ang nakikita mo sa mga website bilang mga larawan ng kagamitan ay eksaktong 3d render.

Ang kakanyahan ng teknolohiya ay ang mga modelo ng computer sa pisikal na pag-uugali ng liwanag sa pamamagitan ng pagkalkula ng tilapon ng mga kondisyonal na indibidwal na mga photon ng liwanag, iyon ay, kung ang isang sinag ay bumagsak sa isang bagay, kung gayon ito ay na-refracted dito o makikita mula dito sa isa. anggulo o iba pa. Ang resulta ay isang tiyak na bakas ng sinag ng liwanag na ito, kaya tinawag na "ray tracing".

Ang computer na ito ay nakabuo ng imahe ni Enrico Cerica gamit ang OctaneRender ay nagpapakita ng mga sinag, anino at mga repleksyon sa isang kumplikadong ibabaw ng sahig.

Ang tanging problema ay maraming mga sinag ang kailangan at para sa bawat isa sa kanila ay kinakailangan na paulit-ulit na kalkulahin ang bawat banggaan ng sinag na may mga hadlang. Ito ay, sa katunayan, isang madali problema sa matematika. Una, kailangan mong kalkulahin kung saan tumama ang sinag sa isang umiiral na bagay, iyon ay, kalkulahin ang banggaan, pagkatapos, batay sa tinukoy na mga katangian, kailangan mong magsagawa ng karagdagang mga pagbabagong matematikal.


Pinasimpleng ray tracing scheme

Halimbawa, mayroong isang matte na ibabaw na may isang tiyak na ibinigay na kondisyon na pagkamagaspang, ngunit hindi ganap na magaspang, at ang sinag ay lumihis mula dito na may isang tiyak na posibilidad sa ilang anggulo na naiiba mula sa anggulo ng saklaw. Dapat itong isaalang-alang na kung ang bagay ay may pag-aari ng pagiging walang hanggan makinis, kung gayon ang anggulo ng saklaw katumbas ng anggulo mga pagmuni-muni. Kung ang mga katangian ng ibabaw ay nagsasalita ng manipis na ulap, pagkatapos ay mathematically ito ay natanto sa pamamagitan ng paglihis ng anggulo ng pagmuni-muni mula sa anggulo ng saklaw.

Sa buhay, ito ay totoo, ang ibabaw ay halos palaging hindi ganap na makinis. Samakatuwid, kapag ang liwanag ay tumama sa isang punto o iba pa, ito ay makikita na may kaugnayan sa lokasyon ng ibabaw, na maaaring kahit papaano ay paikutin na may kaugnayan sa eroplano na tila sa amin kahit na, at ang kalapit na sinag ay makikita sa isang ganap na naiibang direksyon. Kaya, nagiging malinaw na walang punto sa paggawa ng mga modelo ng bagay na sobrang polygonal, kaya ang mga iregularidad ay itinakda ng mga katangian ng ibabaw. Ang resulta ay katulad ng aktwal na pagkakalat ng liwanag mula sa matte na ibabaw.

Ngayon sa mga laro ay gumagamit sila ng isang bagay na mukhang pinahiran ng isang bagay tulad ng icing. Walang alinlangan, ang lahat ay nakakita ng kakaibang mga dingding at sahig sa mga laro na tila pinahiran ng ilang uri ng putik. Well, hindi mo kailangang gawin ito sa ray tracing - natural na nakakalat ang mga ibabaw ng liwanag. Ito ay perpektong ipinapakita sa demo, mayroong isang bilang ng mga lugar mula sa pinakana-mirror hanggang sa pinaka-matte.

Lalo na kapansin-pansin na sa mga matte na lugar ang pagmuni-muni ay lubos na nakasalalay sa kalapitan ng bagay sa ibabaw. Ibig sabihin, mas malayo ang bagay mula sa ibabaw, mas nagiging malabo ito. Ito ay isang mahalagang pag-aari na hindi natin napapansin sa buhay, bagaman ito ay umiiral.

Ngunit ang pinakamahalagang bagay ay ang mga anino. Walang mas masahol pa sa mga anino sa anumang laro.

Ang mga ito ay karaniwang mga projection lamang ng mga bagay na may matalim, hindi natural na mga gilid. Gayunpaman, mayroong mas mahusay, ayon sa mga pamantayan ng laro, mga anino. Ang mga ito ay malambot na mga pagpipilian na may linya ng paglipat, iyon ay, anino at penumbra.


Upang lumikha ng malambot na mga anino o nagkakalat na mga pagmuni-muni (tulad ng mga nakikita mo sa brushed metal, halimbawa), kailangan ng mas advanced na mga diskarte sa pagsubaybay sa ray.

Ang problema lang ay hindi ito gumagana sa totoong buhay. Kung ang pinagmumulan ng liwanag ay hindi isang punto at hindi walang hanggan ang layo, kung gayon ang halaga ng penumbra ay depende sa ratio ng distansya ng pinagmumulan ng liwanag mula sa bagay at ang distansya ng bagay mula sa anino nito. Iyon ay, ang edging ng penumbra sa iba't ibang lugar nito ay maaaring mas malawak o mas makitid, lalo na kapag nag-uusap kami tungkol sa malalaking pinagmumulan ng liwanag.

Halimbawa, ang liwanag mula sa bintana sa maulap na panahon ay nagbibigay ng malambot na anino na kung maglalagay ka ng bagay na mas maliit dalawang metro mula sa bintanang ito, makakakita ka ng malinaw na anino at bahagyang lilim sa base nito, at maaaring walang anino sa lahat mula sa itaas na bahagi ng bagay, at ang penumbra ay hindi magkakaroon ng malinaw na mga hangganan. Sa mga larong may tradisyonal na rasterization, hindi ito nangyayari.

Ang pagsubaybay sa ray ay hindi mahirap, ngunit mayroong maraming mga sinag, at, sa kasamaang palad, sa sandaling ito ay hindi posible na gawin ang lahat sa real time. Ang katotohanan ay sa buhay ang mga sinag ay magkakaiba sa ganap na magkakaibang direksyon. Magiging mainam kung ang incident beam ay nahahati sa isang walang katapusang bilang ng mga beam, ang kabuuang liwanag nito ay depende sa pag-aari ng sumasalamin na bagay at sa paunang liwanag ng incident beam.

Upang mabawasan ang pagkarga, maaari mong limitahan ang bilang ng mga sinag, ang bilang ng mga banggaan, ngunit ang mga paghihigpit na ito ay humahantong sa katotohanan na sa larawan ay nakakakuha ka ng kakaunting piraso ng anino at hindi natural na maliwanag na mga spot mula sa mga pinagmumulan ng liwanag. Iyon ay, ang isang hindi sapat na dami ng data ay humahantong sa hitsura ng ingay, at ang buong kahirapan ay nakasalalay sa katotohanan na imposibleng kalkulahin ang eksena nang isang beses at pagkatapos ay baguhin lamang kung ano ang nagbabago mula sa frame hanggang sa frame, dahil nagbabago ang anumang gumagalaw na bagay. lahat ng mga ruta ng lahat ng sinag. Mula sa bawat paggalaw ng camera at mga bagay, kailangan mong "muling buuin" ang buong eksena nang muli, kaya naman ang mga pelikula ay nilikha ng mga render farm at maraming mga server na patuloy, sa loob ng ilang buwan, ay nag-render ng mga graphics. Ngunit, sa kasamaang-palad, sa real time sa mga laro imposible pa rin itong gawin.

Samakatuwid, ang tanong ay lumitaw, paano nakalabas ang Nvidia at mga kasosyo sa sitwasyong ito: ano ang kanilang isinakripisyo upang makamit ang real-time na pagsubaybay?

Dalawang kalahati ng isang buo

Kung maingat mong susundin kung paano nai-render ang larawan sa mga yugto, makikita mo na sa isang lugar pagkatapos ng ikalimang pagsasama, ang mga anino at ang liwanag mismo ay halos kapansin-pansing nagbabago. Nagiging malinaw kung saan, ano at paano ito titingnan sa huling anyo. Para dito, sa prinsipyo, kailangan ang real-time na software upang ma-twist mo ang mga light source, maunawaan kung saan magkakaroon ng ilang liwanag na nakasisilaw at pagkatapos ay simulan ang panghuling pag-render. Ito ay nananatiling makikita kung paano mauunawaan ang huling frame mula sa maputik na larawan. Sa katunayan, ang computer ay unang modelo ng orihinal na maingay na larawan, pagkatapos ay pinag-aaralan ito at, batay sa data na nakuha, gumuhit ng isa pa - ang pangwakas. Tulad ng ipinakita ng kasanayan, ang diskarte na ito ay mas simple sa mga tuntunin ng mga gastos sa mapagkukunan.

Sa katunayan, ang isang progresibong hakbang sa pagbuo ng real-time na pagsubaybay ay ang paglikha ng mga algorithm na nagpapahintulot sa amin na suriin ang isang larawan mula sa isang maingay na estado at iguhit ito sa normal. Ito ang pangunahing pagbabago. Lahat ng iba pa ay malawakang ginamit noon. Maraming renderer ang may GPU rendering at OpenGL plugin na sinusuportahan ng anumang OpenGL compatible graphics card.

Ngayon, inaangkin na ang pamamaraang ito sa pagbabawas ng ingay ay gumagana lamang sa mga malambot na core sa hinaharap na mga card mula sa Nvidia. Ngunit sa katunayan, ang teknolohiyang ito ay malawakang ipinakita ngayon lamang, at ito ay lumitaw, tila, noong nakaraang taon, mula noong Oktubre, sa isa sa mga kaganapan, ang Unity ay nagpakita ng mismong teknolohiyang ito para sa pag-alis ng ingay sa real-time na pagsubaybay.

Ang lansihin ay hindi lahat ng bagay ay nakikilahok sa ray tracing gaya ng nararapat. Kaugnay nito, tatalakayin natin ang paksa ng pandaigdigang pag-iilaw - ang pinaka-masinsinang mapagkukunan na mekanismo ng pagsubaybay. Sa buhay, ang anumang bagay kung saan nahuhulog ang liwanag ay sumasalamin sa bahagi ng liwanag na ito. Halimbawa, kung ituturo mo ang isang pinagmumulan ng liwanag sa isang berdeng pader, ang lahat ng ilaw ay magiging berde, dahil berdeng pader hindi mahusay na sumisipsip ng liwanag.


Reflection ng light rays mula sa ibabaw

Walang ganoong epekto sa demo. Sa halip na sumasalamin sa liwanag at baguhin ang pattern ng liwanag ng frame depende sa pinagmumulan ng liwanag, ang buong espasyo ay napuno ng maliliwanag na larawan, na ginagawang dynamic ang liwanag. Sa katunayan, hindi inilapat ng mga developer ang ray tracing sa mga detalye tulad ng haze at apoy.

Ang katotohanan ay ang mga sinag ng liwanag ay dapat kalkulahin anuman ang mahulog sa mga bagay o hindi. Ibig sabihin, pagdaragdag isang malaking bilang ang mga ilaw na mapagkukunan ay medyo mahirap na pagsubok para sa mga kalkulasyon sa pagruruta. Bilang karagdagan, walang mga bagay sa anumang demo ng techno na ginagaya ang mga transparent na bagay.

Kailan natin makikita ang benepisyo?

Batay sa mga pamantayang inilarawan sa itaas (cloudiness ng larawan at pagsubaybay sa hindi lahat ng mga bagay), masasabi nating ang mga graphics sa mga laro ay hindi pa maaaring magmukhang detalyado at makatotohanan tulad ng sa mga pelikula.

Gayunpaman, tiyak na may pag-unlad. Una, ang mga pagmumuni-muni ay mas madaling gawin ngayon, hindi na kailangang lumikha ng mga anino at liwanag na mapa - lahat ng ito ay nalutas sa pamamagitan ng pagsubaybay. Pangalawa, hindi bababa sa ilang pagkakahawig ng mga nakakalat na pagmuni-muni ang lumitaw. Pangatlo, ang pag-iilaw at mga anino ng mga bagay ay bumuti nang malaki. Ang lahat ng sama-sama ay nagpapahintulot sa amin na magtaltalan na ito ay maaaring isaalang-alang pangunahing teknolohiya sa mga laro, na hindi susuko sa mga posisyon nito sa susunod na sampung taon.

Teksto: Alexey Kharitonov, QA, Bytex