3D Rendering Pipeline



3-mõõtmeline visualiseerimine

1. Geomeetria genereerimine. Rakendusprogramm valib välja, millised hulktahukad (stseeni kirjeldavad pinnad) jäävad nähtavale. Seejärel lahutatakse need hulktahukad kolmnurkadeks, mida kirjeldatakse kolme tipu x, y ja z koordinaatidega mingi fikseeritud referentspunkti suhtes
2. Geomeetrilised teisendused. Valitud kolmnurgad teisendatakse 3-mõõtmelise maailma koordinaatidest sellisteks koordinaatideks, mida 3-mõõtmelise visualiseerimise mootor suudab käsitleda (vastavalt sellele, mida antud vaatepunktist on näha)
3. Kolmnurkade väljapraakimine ja kärpimine. Kolmnurgad, mida pole näha või mis vaatavad tahapoole, kustutatakse. Kolmnurki, mis on näha osaliselt, kärbitakse selliselt, et nähtamatut osa ei arvutata
Valgustamine. Lisatav valgustus (harilikult värviline) arvutatakse välja, kuid veel ei rakendata
5. Kolmnurkade paigaldamine. Kolmnurkade koordinaadid teisendatakse vastavaks ekraanipikslitele (täisarvudeks) ning arvutatakse välja tekstuuri varjutamise gradiendid
6. Rasterdamine (iga piksel arvutatakse eraldi)

a) Perspektiivi korrigeerimine. Kaugusse suunduvad kolmnurgad (näit. maantee) arvutatakse ümber nii, et mida kaugemal, seda väiksemad nad on
b) Z-puhverdamine. Iga piksli jaoks käiakse läbi kõik seda pikslit katvad tekstuurid ning kaugus ekraani esipinnast tahapoole (z-koordinaat) salvestatakse z-puhvris, kui see on eelmisest tekstuurist eespool (omab väiksemat z väärtust). Hiljem kuvatakse ainult seda tekstuuri, mis on kõigist teistest eespool
c) Tekstuuri leidmine ja filtreerimine. Igal kolmnurgal kuvatavad tekstuurid arvutatakse välja MIP-vastendust ja bilineaarset või trilineaarset filtreerimist kasutades
d) Pinna värvuse korrigeerimine. Tekstuuri värvus sujutatakse iga värvilise valgustuse ja varjutamisega, et fikseerida selle tekstuuri tegelikku väljanägemist
e) Udu ja vine. Udu ja vine kujutamiseks arvutatakse iga piksli jaoks välja helesinine värvus, mille intensiivsus sõltub z-puhvrisse salvestatud väärtusest
f) Sujutamine. Valgustusele ning vinele lisatakse värvilised tekstuurid ning valmis piksel kirjutatakse kaadripuhvrisse. Mõnede 3D-mootorite puhul võib rasterdamisprotsess nüüd suunduda tagasi punkti a., kui on vajalik mõni teine efektide komplekt
7. Kuvamine. Kaadripuhvrist saadetakse andmed RAMDAC-muundurile kuvamiseks