I jednoduchý Minecraft s ray tracingem na steroidech může vypadat úžasně
2.4.2019, Jan Vítek, aktualita
Minecraft je přímo prototypem hry, která dává ostentativně najevo svou jednoduchou grafiku a nemá vyšší ambice. Nicméně s novými "Path-Traced" shadery může i takto jednoduchá grafika vypadat velice dobře. O co jde?
Na webu se objevilo video, které ukazuje jednoduchou chodbu Minecraftu renderovaného pomocí techniky Path Tracing. Nebude to tedy rovnou takovýto výjev z členitého exteriéru, ale jako ukázka možností to bohatě stačí.
Dle popisku jde o nové vývojářské sestavení Minecraftu, které využívá ray tracing, ovšem ve skutečnosti to jsou Path Tracingové shadery. Mluvíme o modifikacích SEUS (Sonic Ether’s Unbelievable Shaders), které mají pracovat společně s OptiFine nebo s GLSL Shaders Mod.
they added ray tracing in the new minecraft shader dev build i am absolutely shitting myself pic.twitter.com/sEbY78Vuz5
— notglacier (@notglacier) 30. března 2019
A jak se ray tracing vůbec liší od path tracingu? V případě první techniky se počítá dráha paprsku vyslaného z pomyslné kamery snímající scénu. Až ten narazí na nějaký objekt v této scéně a z tohoto bodu se zase vyšlou paprsky ke všem zdrojům, které scénu osvětlují, aby se mohlo vypočítat nasvícení daného bodu, atd. Pokud je daný objekt průhledný, paprsek putuje dále s případně započítanou refrakcí, čili lomem a pokud je naopak zrcadlový, počítá se s reflexí a paprsek putuje odražený dále.
Path tracing je dle programátora Sebastiana Dusterwalda jako ray tracing na steroidech, protože namísto jednoho paprsku se jich vysílají desítky až tisícovky na každý vykreslovaný pixel. Když ty narazí na objekt, neputují z bodu dopadu automaticky ke všem zdrojům světla. Prostě se odrazí a to se opakuje do té doby, než paprsek narazí na zdroj světla, nebo než vyprší předem stanovený maximální počet odrazů. Na základě toho, jaké vlastnosti mají materiály, o nichž se paprsek na své cestě ke zdroji světla odrazil, se pak vypočítá, jak silné světlo nakonec doputuje do kamery a jak bude zbarveno.
Díky tomu může path tracing nabídnout mnohem kvalitnější a reálnější grafiku než ray tracing a jeho nasazení v Minecraftu také napomáhá jednoduchá grafika, v níž se to jen hemží pravými úhly.