Ano ang Ray Tracing?

Talaan ng mga Nilalaman:

Ano ang Ray Tracing?
Ano ang Ray Tracing?
Anonim

Ang Ray tracing ay isang pamamaraan para sa pag-render ng mga computer graphics na lumilikha ng isang larawan sa pamamagitan ng pagsubaybay sa daanan ng mga sinag sa isang eksena. Ang mga sinag ay maaaring makipag-ugnayan sa mga bagay sa eksena, tumatalbog sa mga ito at nakakakuha ng mga katangian, gaya ng kulay.

Ray Tracing: Ang Mga Pangunahing Kaalaman

Ang Ray tracing ay tumutulad sa totoong mundo na pag-iilaw. Ang liwanag na nakikita natin ay resulta ng mga photon na ibinubuga mula sa mga pinagmumulan ng enerhiya, tulad ng araw. Ang mga photon ay maaaring tumalbog at magkalat habang sila ay bumangga sa mga bagay. Isang salamin lang ang kailangan mo para makita ito sa pagkilos. Lumilikha ng repleksyon ang liwanag na tumatama sa salamin.

Image
Image

Ray tracing ay ginagaya ito. Ang bilang ng mga sinag na sinusubaybayan ay maliit kumpara sa totoong mundo, kung saan milyon-milyong mga photon ang tumatalbog sa aming larangan ng pagtingin. Ang mga modernong laro ay sumusubaybay sa isang lugar sa pagitan ng isa at apat na ray bawat pixel. Gayunpaman, sapat na iyon para gayahin ang totoong mundo.

Ang pagsubaybay sa landas ng isang sinag ay nagbibigay-daan din dito na makipag-ugnayan sa mundo ng laro. Ang isang sinag na tumatalbog sa isang pulang bagay ay maaaring maimpluwensyahan ng kulay na iyon, na naglalabas ng pulang glow sa malapit. Maaaring magkalat ang mga sinag sa iba't ibang paraan batay sa mga katangian na ibinibigay ng mga artist ng isang laro sa mga bagay, na nagbibigay-daan sa mga makatotohanang semi-reflective o magaspang na ibabaw.

Ang Ray tracing ay isang makabuluhang hakbang pasulong para sa 3D graphics. Lumilikha ito ng isang makatotohanang imahe sa pamamagitan ng pagtulad sa landas ng mga sinag habang lumilipat sila sa isang laro. Ito ay humahantong sa pag-iilaw na maaaring makipag-ugnayan sa kapaligiran kahit na ang kapaligiran ay hindi nakikita ng player. Ang Ray tracing ay hindi nangangailangan ng layunin na binuo ng hardware upang gumana, ngunit ito ay praktikal lamang sa isang video card o game console na maaaring mapabilis ang ray tracing dahil ito ay napaka-demanding.

Ray Tracing vs. Rasterization (o, 3D graphics gaya ng alam mo)

Image
Image

Maaaring malito ka pa rin kahit naiintindihan mo ang paliwanag na ito. Ang mga pagmumuni-muni ay naroroon sa mga nakaraang laro, kahit na ang mga ilang dekada na ngayon. Paano naiiba ang ray tracing?

Mga nakaraang larong 3D, at karamihan sa mga modernong laro, gumamit ng rasterization. Pinagsasama ng rasterization ang mga elemento ng isang 3D game world na nakikita ng player sa isang 2D na imahe. Nagre-render lang ito kung ano ang dapat makita ng player, dahil nasasayang ang anumang performance na ginamit para bumuo ng hindi nakikita ng player. Gayunpaman, nagdudulot ito ng problema.

Balik tayo sa halimbawa ng salamin. Ang kapaligiran ng manlalaro at ang karakter ng manlalaro ay hindi nakikita ng manlalaro (sa isang first-person na laro, hindi bababa sa). Sa rasterization, wala nang masasalamin ang salamin.

Siyempre, may mga salamin sa mga modernong laro. Dalawang beses nilang ginawa ang eksena. Ang isang pass ay mula sa punto ng view ng player, habang ang isa ay mula sa ibang pananaw. Dinodoble nito ang pagganap na kailangan para mag-render ng eksena, gayunpaman.

Screen space reflections, isang technique sa sikat na 3D game engine, gumamit ng on-screen na data para gumawa ng reflection. Tamang-tama ang diskarteng ito para sa mga reflective surface sa isang anggulo sa pananaw ng player, tulad ng tubig. Gayunpaman, nawawala ang mga na-reflect na bagay kung ang item na na-reflect ay lumalabas sa screen.

Hindi ibinabahagi ng ray tracing ang mga problemang ito dahil, hindi tulad ng rasterization, maaari itong mag-trace sa labas ng perspektibo ng player.

Gayundin, sa mga larong nagbibigay-daan sa ray na makipag-ugnayan sa mga surface, ang ray tracing ay maaaring magpakita ng makatotohanang color bleed at semi-reflective na ibabaw na mahirap hawakan ng rasterization.

Anong Hardware ang Kinakailangan ng Ray Tracing?

Image
Image

Ray tracing ay hindi isang bagong ideya. Nag-eksperimento ang mga computer scientist sa ray tracing noong unang bahagi ng 1980s, na lumilikha ng mga static na imahe na may makatotohanang pag-iilaw, pagmuni-muni, at mga anino. Sa kasamaang palad, inabot sila ng ilang oras bago mag-render.

Ang isang video game ay nangangailangan ng real-time na ray tracing sa 30 frame bawat segundo o mas mataas. Posible lang iyon sa isang video card na idinisenyo upang mapabilis ang pagsubaybay sa sinag.

Nakaasa ang RTX ray tracing ng Nvidia sa silicon na tinatawag na Tensor Core. Ang mga Tensor Core ay matatagpuan lamang sa mga RTX video card. Ang mga GTX card ng Nvidia ay maaaring mag-render ng laro gamit ang ray tracing dahil, gaya ng sinabi, ang ray tracing ay hindi nangangailangan ng purpose-built na silicon. Gayunpaman, ang pagganap ay hindi maganda kumpara sa mga RTX card. At ang ilang laro, tulad ng Minecraft na may RTX ray tracing, ay nangangailangan ng RTX video card dahil sa partikular na paraan ng pag-enable ng ray tracing.

Ang AMD card na nagpapabilis sa ray tracing ay walang partikular na pagba-brand at walang nakalaang silicon. Sa halip, gumagamit sila ng mga hardware tweak at software update para sa mas magagandang resulta. Mas mahirap tukuyin ang mga AMD card na nagpapabilis ng ray tracing, kaya bigyang pansin ang mga detalye.

May graphics hardware mula sa AMD ang PlayStation 5 at Xbox Series X at S ng Sony na maaaring mapabilis ang ray tracing. Nasa mga developer kung paano paganahin, gayunpaman, at maraming mga laro ang hindi. Ang isang kapansin-pansing halimbawa ay ang Cyberpunk 2077, na sumuporta sa RTX ray tracing sa PC sa paglulunsad ngunit hindi sumusuporta sa ray tracing sa mga susunod na gen console. Ang tampok ay ipinangako para sa mga susunod na gen console sa hinaharap na patch.

Inirerekumendang: