Obiettivi Fondamenti di Grafica Tridimenionale Paolo Cignoni p.cignoni@iti.cnr.it http://vcg.iti.cnr.it/~cignoni 1 Conocere gli apetti fondamentali riguardo alle nozioni teoriche e algoritmiche per la modellazione geometrica e il rendering di cene tridimenionali Modelli avanzati di illuminazione Algoritmi per il rendering Modellazione Architetture per la grafica interattiva Strutture e algoritmi per la rappreentazione di geometrie Requiiti Conocenza delle bai della grafica 3D Conocenza del C++ 2 Cori collegati Strumenti Cotruzione di interfacce Fortemente (molto fortemente) conigliato che lo abbiate gia' fatto prima di eguire. Durante il coro aumo che appiate bene: C++ Bai di grafica 3d Sappiate cotruire un app. interattiva con una gui non banale. Laboratorio di computer game (LCG) E' enato aver fatto prima CI e FGT prima di LCG Matematica computazionale: Geometria computazionale (MCG) 3 Per approfondire gli apetti piu' teorici Un po' di analii e un po' di geometria computazionale Linguaggio C++ Lib, Toolkit, ecc Tutto quel che ci erve in modo utilitaritico Qt per le interfacce SDL per i primi eperimenti in opengl STL per non ricrivere I oliti contenitori 4
Eame Baato u progetto Piu' algoritmico di quello di CI dettagli in eguito Compitino/orale più influenti ul voto ripetto a CI Rendering Globale un approccio più formale I x, x ' =g x, x ' [ x, x ' x, x ', x ' ' I x ', x ' ' dx ' ' ] 5 6 Rendering Locale Il modello di rendering che abbiamo uato in OpenGL è detto locale Ogni primitiva è trattata in maniera indipendente da tutte le altre Il concetto di cena, la preenza di altri oggetti etc, intereano olo l utente/programmatore e non il renderer Il modo in cui è diegnato un triangolo dipende olo da: Caratteritiche del triangolo teo, Lo tato dello zbuffer Le luci. Rendering locale Queto tipo di modello ha numeroi vantaggi: Semplicità Parallelimo a livello di primitiva Coto cotante per primitiva 7 8
Global Illumination Global Illumination Ovvero imulare tutto quello che non è un comportamento locale: Ombre, interrifleioni, traparenze, cautiche ecc. 9 10 Il metodo ray tracing è baato ull oervazione che, di tutti i raggi luminoi che laciano una orgente, i oli che contribuicono all immagine ono quelli che raggiungono l oervatore Ray Tracing Poiamo determinare il comportamento dei raggi che contribuicono all immagine e invertiamo la traiettoria dei raggi, e conideriamo olo quelli che partono dalla poizione dell oervatore Ray Tracing 11 12
Nel metodo radioity la cena viene uddivia in pezze (patche), ovvero in molti poligoni piatti e di dimenioni limitate, ciacuno dei quali è coniderato perfettamente diffuivo Radioity Il metodo prevede due pai per determinare le gradazioni di colore da aegnare alle varie pezze Il primo pao conite nel determinare, per ogni coppia di pezze, i fattori di forma (form factor), che decrivono come la luce che lacia una pezza influenza l altra Radioity 13 14 Form Factor In pratica I form factor definicono quanta parte dell energia che ece da una patch arriva u un altra patch, tenendo in coniderazione di occluioni, orientamento delle patch, ditanza ecc. Il calcolo dei form factor delle patch di una cena arebbe inerentemente quadratico, ma la maggior parte dei ff ono praticamente nulli. Patch lontane non i influenzano. Una volta determinati i fattori di forma, apendo quali patch emettono luce, capire come i ditribuice la luce all interno di una cena corriponde ad un itema di equazioni lineari: La omma delle quantità di luce (radianza) che arrivano u una patch deve eere uguale alla radianza che ece piu la luce aorbita dalla patch tea Radioity 15 16
Global Illumination Eitono anche altri approcci per calcolare effetti globali Un buon modo di caratterizzare tutti queti algoritmi è di coniderare il problema che riolvono in maniera più generale To provide an unified context for viewing rendering algorithm a more or le accurate approximation to the olution for a ingle equation [Kajiya 1986] I x, x ' =g x, x ' [ x, x ' x, x ', x ' ' I x', x ' ' dx' ' ] 17 18 Il termine principale è I x, x ' l'intenity tranport cioè la quantità di luce che paa da x' a x 19 g x, x ' È la funzione di viibilità tra x e x'; e e x e x`non i vedono g vale zero. Normalmente e ono inter-viibili g varia con l'invero del quadrato della ditanza. 20
x, x ' x, x ', x ' ' È la funzione di emittanza tra x e x'. denota la quantità di luce creata/emea dal x' vero x 21 È il termine di cattering nel punto x'ripetto alle direzioni vero x e x''. Rappreenta la quantita di energia (luce) che rimbalza u x' vero x proveniendo da x''. 22 x, x ', x ' ' In pratica e' il termine che modella le caratteritiche locali di un punto della uperficie: ad e in una uperficie perfettamente diffuiva, dipende olo da x'' (cioè da come la luce colpice la uperficie) 23 I x, x ' =g x, x ' [ x, x ' x, x ', x ' ' I x', x ' ' dx ' ' ] L'integrale è volto u tutti i punti della uperficie della notra cena L'intenità di traporto da x' a x è uguale alla luce emea da x'vero x più la luce riflea da x' vero x e proveniente da tutto il reto della cena, il tutto modulato da quanto x e x' i vedono. 24
Tutto ciò implica che noi abbiamo un modello della luce emea da una uperficie una rappreentazione di come una uperficie riflette la luce (Lambertian, Phong, Oren-Nayar) un metodo per valutare la funzione viibilità tra due punti della cena. R.E. Oervazioni 1 La compleità dei termini dell'integrale implica che non può eere valutato analiticamente Tutte le approimazioni che i fanno in pratica ono, in un certo eno, varianti dei metodi Monte Carlo (approimano campionando la funzione) 25 26 R.E. Oervazioni 2 Formula il problema in una maniera del tutto view indipendent Se trovo una oluzione generale all'eq. (e quindi conoco il valore di I(x,x') in tutti i punti della uperficie) poo generare qualunque vita deidero. La poizione del viewer può eere coniderata come un metodo per emplificare il proceo di valuatzione. R.E. Oervazioni 3 È un'equazione ricoriva Per trovare il valore di I(x,x') devo valutare I(x',x'') che ua la tea eq. Queto fatto ha generato una clae di algoritmi pratici che riolvono il problema eguendo il percoro della luce all'indietro dall'oervatore alle orgenti luminoe... 27 28
R.E. Oervazioni 4 R.E. Oervazioni 4 È una definizione 'pettrale' Il riultato vale olo per una particolare lunghezza d'onda. Il che ignifica devo farne almeno tre (RGB), o anche di più e voglio imulare accuratamente alcuni effetti 29 30 R.E. e Radianza La Radianza L e' una delle 8 unità fiiche radiometriche del SI. Miura l'intenità di un raggio luminoo definita come la potenza per angolo olido unitario per area proiettata. Si miura in Watt/ r m 2 Sr ono teradianti 31 Steradiante Equivalente 3D dei radianti Def: è l'angolo olido che ottende, u una fera centrata nel uo vertice, una calotta ferica di area uguale al quadrato del raggio Since the urface area of thi phere i 4πr 2, then the definition implie that a phere meaure 4π teradian. A teradian can alo be called a quared radian. 32
Radianza e Irradianza Conideriamo funzione di ditribuzione della radianza per un punto Generalmente molto dicontinua Irradianza e' l'integrale della radianza u tutte le direzioni (peato con il co della direzione) E= L co d 33 Radianza e Irradianza Irradianza e' l'integrale della radianza u tutte le direzioni (peato con il co della direzione) E= L in co d θ è l'angolo tra la normale alla up e ω. L in è la radianza in ingreo da ω1 34 Irradianza Eempio 2D Ditribuzione Irradianza Conideriamo una porz di uperficie in una tanza. Aumiamo per emplicità che ogni parete eibica una radianza cotante L'Irradianza nel punto coniderato, e per quell'orientamento della uperficie, è 3.5π 3 4 L'irradianza dipende dall'orientamento della uperficie Funzione di ditribuzione dell'irradianza In bae all'orientamento della uperfice retituice l'irradianza 3 3 4 4 35 36
Radianza e Irradianza In pratica L'irradianza è di olito continua Eccetto che ai bordi netti delle ombre portate o di cautiche Termini che i uano di olito in GI Shooting e Gathering Shooting ditribuire radianza a partire da una uperficie Gathering ignifica calcolare per integrazione l'irradianza u un punto della uperficie accumulando il fluo luminoo che vi arriva 37 38 In pratica In pratica 39 40
http://vcg.f.net 41