300 likes | 467 Views
Vi zuelizacija 3D scena. Prof. dr Milorad K. Banjanin. Student : Gorjana Tošić. ∙ O dvija se u vi š e sukcesivnih faza (pipeline). Lokalni koordinatni sistem. Globalni (world) koordinatni sistem. Koordinatni sistem posmatrača (view). Prostor prikaza. 3D prostor ekrana. definisanje
E N D
Vizuelizacija 3D scena Prof. dr Milorad K. Banjanin Student: Gorjana Tošić
∙Odvija se u više sukcesivnih faza (pipeline) Lokalni koordinatni sistem Globalni (world) koordinatni sistem Koordinatni sistem posmatrača (view) Prostor prikaza 3D prostor ekrana definisanje objekata sastavljanje scene; definisanje pogleda; definisanje osvetljenja Uklanjanjenevidljivihdelovaobjekata; Isecanje odjekata Uklanjanje zaklonjenih površi;rasterizacija;senčenje
Lokalni (local) koordinatni sistem • Jednostavnije modelovanje objekata • Primeri - Centar sfere kao koordinatni početak - Teme paralelopipeda kao koordinatni početak z y x
Globalni (world) koordinatni sistem • Postavljeni svi objekti • Postavljeni izvori svetla • Definisan pogled na scenu • Lokalni → globalni • translacija • rotacija • skaliranje
Koordinatni sistem posmatrača (view space) • Dva koordinatna sistema u istom prostoru V U Zw Yw N Xw Globalni koordinatni sistem Koordinatni sistem posmatrača - Globalni sistem → sistem posmatrača
Koordinatni sistem posmatrača • Vidljivi deo prostora Vidljivi deo prostora Centar projekcije Ravan projekcije (ekran) Prednja ravan isecanja Zadnja ravan isecanja
Koordinatni sistem posmatrača • Operacije u koordinatnom sistemu posmatrača - Eliminacija potpuno zaklonjenih površi (backface elimination / culling) Površ je vidljiva ako je: Np ∙ N > 0 Npvektor normale na površ u centru poligona N vektor pogleda – spaja posmatrača i podnožje normale
3D prostor ekrana (3D screen space) • Dobija se transformacijom koordinatnog sistemaposmatrača • centar projekcije u 3D prostoru ekrana se nalazi u -∞ Ys Yv Zs Zv -∞ Xs Xv 3D prostor ekrana Koordinatni sistem posmatrača
3D prostor ekrana • Koordinatni sistem • posmatrača f Yv d h Zv Prednja ravan isecanja Zadnja ravan isecanja - 3D prostor ekrana Ys 1 1 Zs -1 Prednja ravan isecanja Zadnja ravan isecanja
3D prostor ekrana • Operacije u 3D prostoru ekrana - isecanje poligona na ivicama vidljivog dela prostora - senčenje - uklanjanje zaklonjenih površi - rasterizacija
Isecanje poligona (clipping) Granica isecanja poligon Left clip Right clip Top clip Bottom clip
Senčenje (shading) • objekti su inicijalno u apsolutnom mraku – necemo puno videti • potrebno je postaviti izvore svetla • modeliranje refleksije svetla - lokalni modeli • flat / facet (“ravno” senčenje) • Gouraud • Phong - globalni modeli • ray tracing • radiosity
Senčenje • Lokalni modeli refleksije • Uzimaju u obzir samo osvetljenje koje stiže direktno od izvora • svetlosti Direktan zrak Direktan zrak Indirektan zrak Indirektan zrak
Senčenje • Simulacija fizičkih pojava - savršena tačkasta refleksija - savršena difuzna refleksija - nesavršena tačkasta refleksija
Senčenje • Aproksimacijafizičkih pojava • Reflektovana svetlost = ambijentna komponenta + difuznakomponenta • + tačkasta komponenta • ambijentna komponenta je potrebna zbog osvetljavanja onih površi • koje nisu direktno osvetljenje a vidljive su sa tačke posmatrača - Intenzitet reflektovane svetlosti
- Difuzna komponenta N3 Površina 3 Većina objekata koje vidimo ne emituju sopstvenu svetlost. N1 Umesto toga, oni apsorbuju sunčevu svetlost ili svetlost emitovanu od nekog veštačkog izvora i reflektuju njegov deo. Površina 2 Površina 1 N2 Ova refleksija nastaje zbog molekularne interakcije između upadne svetlosti i površine materijala Izvor svetlosti
Senčenje • Komponente reflektovane svetlosti N θ θ Id = Ii cos θ Is = Ii cosnΩ Ia = const R Ω
Senčenje • Flat – “ravno senčenje” • - za svaki poligon: • odredi se normala na površ u centru poligona • izračuna se reflektovana svetlost u toj tački – u centru • dobijena vrednost koristi se za sve tačke poligona N
Senčenje • Gouraud • - za svaki poligon : • Odredi se normala u svakom temenu poligona • - normala u temenu je zbir vektora normala onih poligona koji dele to teme • Izračuna se reflektovana svetlost u temenima • Refleksija u ostalim tačkama poligona se dobija interpolacijom ovih vrednosti N2 N1 ↦ ↦ ↦ ↦ ↦ NA = N1 + N2 + N3 + N4 NA N4 N3
Senčenje • Gouraud • - interpolacija p1 (x1 ,y1 ) Scan line pa (xa ,ya ) pb (xb ,yb ) ∙ ps p4 (x4 ,y4 ) p2 (x2 ,y2 ) p3 (x3 ,y3 )
Senčenje • Phong • - za svaki poligon • odredi se normala u temenima poligona, na isti način kao kod Gouraud-a • za svaku tačku poligona izračunava se sopstvena normala • - interpolacija normala u temenima • za dobijenu normalu računa se reflektovana svetlost
Senčenje - Gouraud vs Phong NA NB IA IP IB IA = shade (NA) IB = shade (NB) IP = interpolate (IA , IB) Gouraud piksel NP NP NB NA Phong IP = shade (NP) piksel
Senčenje • Gouraud vs Phong • - Gouraud je računski jednostavniji – veća brzina • - Phong bolje aproksimira tačkastu refleksiju kada je ugao posmatrača blizak uglu • idealno reflektovanog zraka • - Gouraud dobro aproksimira površine koje difuzno reflektuju svetlost Gouraud Phong
Uklanjanje zaklonjenih površi Prikaz bez ikakvog uklanjanja Uklanjanje potpuno nevidljivih površi (backface elimination / culling) Uklanjanje zaklonjenih površi (hidden surface removal)
Uklanjanje zaklonjenih površi - Z- buffer algoritam Ys Xs • Za svaku tačku (xs, ys) koja se projektuje na ekran traži se najbliži poligon: • - odredi se konkretna tačka (xs, ys) • - za sve poligone izračuna se z-koordinata u tački (xs, ys) • - za izračunate vrednosti pronađe se minimum; to je poligon najbliži projekcionoj ravni • - iscrta se tačka izabranog poligona, u skladu sa metodom za senčenje • koja se koristi
Uklanjanje zaklonjenih površi • Z-bufferalgoritam • - [Gouraud + Z-buffer] i [Phong + Z-buffer] su najčešće korišćene metode za brzo • renderovanje Phong Gouraud Flat
Senčenje i boja • Za RGB model • - ambijentalna komponenta : R, G, B • - difuzna komponenta (boja objekta) : R, G, B • - tačkasta komponenta (boja izvora svetla): za belu svetlost je ista vrednost IR = IakaR + IdkdR + Isks IG = IakaG + IdkdG + Isks IB = IakaB + IdkdB + Isks Boja ambijentalne svetlosti Boja objekta Boja svetlosnog izvora
RASTERIZACIJA • Rasterizacija (skaniranje) je proces prevođenja kontinualnih opisa • grafičkih primitiva u diskretne opise preko piksela. • Koordinate piksela moraju biti celi brojevi
Senčenje • Senčenje (shading) je upotreba interpolacije u svrhu stvaranja glatkog uzorka • boje ili sjajnosti na površinama geometrijskih objekata. • Bez senčenja, svaki poligon bi bio prikazan u konstantnoj boji i slika vrlo “poligonalna” • Interpolacja је uopštenopojam koji seodnosinapostupak umetanjaizmeđu • dve vrednosti.