Cum funcționează jocurile video 3D? Folosindu-se de triunghiuri!


Computerphile ne arată modul în care obiectele 3D sunt reprezentate în computere. Secretul stă în abilitatea computerului de a folosi algoritmi speciali care împart obiectele 3D în triunghiuri de diferite dimensiuni.

Pentru cine își aduce aminte, atunci când jucam jocuri video de calitate mai slabă puteam vedea o mulțime de triunghiuri în joc. Mai mult, am prins vremea jocurilor video 2D pe televizor și pe computere, pe când un computer cu procesor AMD la 300 MHz era considerat puternic de tot. E ceva distanță de la jocul Prince în 2D la Call of Duty Ghosts, joc shooter 3D cu o grafică ce imită bine realitatea. Și totul datorită triunghiurilor.

Când vine vorba de reprezentarea obiectelor 3D în computere nu este suficientă definirea colțurilor ce compun o piramidă, de exemplu, ci trebuie luate în considerare și fețele piramidei. Colțurile le definim folosind un sistem de coordonate în 3D, pe axele X, Y, Z, iar fețele pot, și ele, fi definite folosind sisteme de referință.

John Chapman, prezentatorul din filmul de mai sus, este programator grafică și ne explică de ce metoda aceasta nu este utilă în cazul fețelor piramidei. Se folosește, în schimb, metoda aproximării cu triunghiuri, pentru că este mai practică și pentru că orice obiect 3D poate fi descompus într-o mulțime de triunghiuri.

De ce triunghiuri? Pentru că:
– triunghiul este cel mai simplu poligon
– oricum ai plasa acel triunghi în spațiu, cele trei puncte ale sale vor fi în același plan
– cu cât ai mai multe triunghiuri ce compun un obiect, cu atât obiectul 3D este definit într-un mod mai precis

Acest procedeul este numit teselație (traducerea mea), de la computer tessellation, termen provenit de la tesellation – construirea unui plan dintr-un mozaic de forme, cu cât mai mici acele forme, cu atât mai multe încap în acel plan. La grafica de calculator se folosește triangulația poligoanelor, compunerea oricărui poligon din triunghiuri.

Un lucru ce trebuie ținut minte este că triunighiurile în 3D au două fețe: ABC – este cu fața către noi, ABC – este cu fața în partea opusă nouă. Distincția este necesară pentru că nu ai nevoie să randezi toate fețele unui obiect 3D, ci doar cele care sunt orientate către tine. Economisești resurse în acest fel.

Acum că știu lucrurile acestea, jocurile video 3D mi se par tot mai mult o minune a zilelor noastre 😀

2 Responses to “Cum funcționează jocurile video 3D? Folosindu-se de triunghiuri!”