2 comments

Cum arată Quake 2 cu Ray Tracing

by on 03/08/2017
 

Acum aproape 10 ani părea de parcă ne aflam pe undeva pe la punctul la care Ray Tracing în timp real devenea posibil. Țin minte și acum demonstrațiile ce rulau la 6 cadre pe secundă în cel mai bun caz, la rezoluții ce fac 640×480 să pară 4K. Era multă vâlvă atunci, în special din partea Intel, ce încerca atunci să lanseze Larrabee, dar nu s-a materializat nimic.

Totuși, nu înseamnă că lumea a renunțat la idee, așa că experimentarea continuă. Un exemplu recent publicat de un dezvoltator numit Edd Biddulph a publicat un clip în care demonstrează cât de mult a progresat conceptul de Ray Tracing pentru redarea graficii jocurilor în timp real.

Poate că nu vi se pare prea impresionant, fiind vorba de Quake 2, iar captura fiind realizată cu un cartof, dar vă asigur că ceea ce vedeți merită luat în seamă. Sigur, încă apar clasicele punctulețe rezultate din redarea incompletă a întregii scene, dar cea mai mare parte din ecran este vizibilă și este redată în timp real folosind Ray Tracing.

Ce trebuie să luați în calcul este modul în care funcționează lumina în acea demonstrație. Totul are o umbră, tot ce trebuie are o reflecție, totul arată pur și simplu natural, chiar dacă este vorba de Quake 2, un joc mai vechi decât abilitatea de-a reda suprafețe rotunde. Merită să vă uitați în special la modelele inamicilor, cum se mulează atât de bine în mediu, nu au o iluminare diferită, nu au străluciri bizare în jurul lor, fiindcă fiecare rază de lumină este calculată cu acuratețe.

Tot ce vedeți este redat pe un Titan XP, care reușește cât de cât să calculeze calea fiecărei raze, fără nevoia de a se folosi trucuri precum umbre volumetrice, ocluziuni ambientale sau cine mai știe ce alte invenții. Lumina este pur și simplu corectă. Dacă erau folosite texturi și modele de calitate mai bună, secvența de mai sus ar fi foto-realistă. Dar asta nu se poate realiza, fiind vorba de Quake 2. Dezvoltatorul a ales Quake 2 deoarece este un joc ce nu are cerințe de sistem mari, iar motorul are câteva particularități ce îl fac mai maleabil pentru implementarea unui renderer de Ray Tracing.

Dacă vreți să vedeți cum funcționează totul, puteți găsi codul sursă pentru această minunăție pe Github.

[Amietia]

comments
 
Leave a reply »

 

Leave a Response