Quake II RTX: ray tracingová laboratoř
5.2.2020, Jan Vítek, recenze
Dnes se podíváme i z praktického hlediska na téma ray tracingu ve hře Quake II. Ta má svou éru již dávno za sebou, ovšem právě kvůli její celkové nenáročnosti se mohli vývojáři slušně rozšoupnout s implementací ray tracingu.
Kapitoly článku:
NVIDIA RTX
Platforma NVIDIA RTX dává vývojářům možnost využít techniku ray tracingu pro vykreslování grafiky v reálném čase a k tomu si mohou vzít k ruce API NVIDIA Optix, Microsoft DirectX Raytracing (DXR) nebo Vulkan od Khronos Group.
scéna vykreslená pomocí ray tracingu
Ray tracing tak dokáže dnes stále ještě jen částečně nahradit vykreslování pomocí rasterizace. Tato tradiční technika využívá pro vykreslení scény její model z trojúhelníků či polygonů, který pak renderovací pipeline převedou na pixely na dvourozměrném obrazu a tyto pixely jsou pak obvykle dále zpracovávány shadery, než na displeji či jiném zobrazovadlu uvidíme finální výsledek.
Rozhodně se nedá říci, že by ray tracing byl novinka, jde o již starou techniku, kterou teoreticky v principu popsal už v 16. století Albrecht Dürer. V praxi jde ovšem o výpočetně velice náročnou techniku, a tak jsme ji ještě donedávna nemohli běžně využívat pro vykreslování grafiky v reálném čase. Byla to doména spíše aplikací jako 3D Studio či Maya, v nichž se scény vykreslovaly hodiny i dny, než přišla NVIDIA a pomocí specializovaného hardwaru ve svých GeForce RTX nabídla ray tracing i ve hrách.
Ray tracing je ovšem v případě real time grafiky stále technologií budoucnosti a ani nejvýkonnější karta dnes nemá výkon na to, aby dokázala pomocí něj zcela vykreslovat scény moderních her ve vysoké kvalitě. Nicméně uvidíme, co s tím provede příští generace karet od NVIDIE a také jak se s tím popere ve své premiéře AMD.
Co se týče toho, co ray tracing je a jak funguje, zde se tomuto základnímu tématu nemusíme věnovat, neboť nahoře máte odkazy na dva starší články, z nichž první se věnuje přímo samotnému ray tracingu a druhý zase technikám grafických enginů obecně. My se zaměříme přímo na implementaci ray tracingu ve hře Quake II. Či lépe řečeno path tracingu.