Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione 10: la L di T&L
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 2/40 Lighting Laltra metà del rendering Determinare la luce –quanta luce –di che colore che arriva –da un punto della scena –allocchio Problema complesso...
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 3/40 Lighting: alcuni fattori LUCE OCCHIO OGGETTO trasmissione (con rifrazione) assorbimento riflessione interna assorbimento da parte del mezzo (e.g. nebbia) scattering sotto la superficie ALTRA LUCE blocker in ombra rifelssione raggio incidente
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 4/40 Lighting: alcuni fattori LUCE OCCHIO OGGETTO riflessioni multiple (illuminazione indiretta)
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 5/40 Lighting: globale VS locale –tiene conto solo di: condizioni di luce –N. luci –loro pos –loro colore pezzetto della superficie da illuminare –orientamento (normale) –caratteristiche ottiche »per es, colore –il resto del mondo non cè –riflessioni multiple –ombre –scattering sottosuperficiale –rifrazione –... Illuminazione locale Illuminzione globale torna molto più facile da fare con il nostro Hardware
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 6/40 Lighting locale LUCE OCCHIO OGGETTO rifelssione raggio incidente
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 7/40 Cosa è facile fare Illuminazione locale: –riflessioni della luce su oggetti con proprietà ottiche molto semplici –con multiple fonti di luci ma molto semplici: puntiformi Illuminazione globale: –riflessioni multiple in maniera BRUTALMENTE approssimata –assorbimento da parte del mezzo assunzioni semplificanti (nebbia uniforme) –tutto il resto solo "a fatica" escogitando algoritmi ad-hoc che si adattano al nostro l'HW
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 8/40 I 3 fattori che consideriamo luce finale = ambiente + riflessione + emissione per ogni addendo, ho una componente R, G e B. definite sia per l'oggetto, (sotto forma di attributi per vertice) sia per ogni luce che uso le proprieta ottiche dell'oggetto, (di solito sono attributi per vertice) nel loro insieme sono dette il suo "materiale" terminologia OpenGL
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 9/40 Componente emissione LEDs, lampadine... Non dipende dalle luci –solo dall'oggetto E solo una componente additiva –costante per R, G e B Nota: non manda mica luce ad oggetti vicini –non e illuminazione globale –per fare cio, devo settare una altra luce
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 10/40 I 3 fattori che consideriamo luce finale = ambiente + riflessione + emissione
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 11/40 Componente ambiente Modella (grossolanamete) la luce che arriva attraverso rifelssioni multiple Assunzione: "un po di luce arriva da tutte le direzioni in ogni superficie" –anche quelle in ombra Piccola costante additiva –non dipende dalla normale della superficie
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 12/40 Componente ambiente prodotto fra: –colore ambient del materiale ( R M G M B M ) –colore ambient della luce ( R L G L B L ) Nota: possono essere colori RGB diversi –prodotto componente per componente
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 13/40 Componente ambiente Modella (grossolanamete) la luce che arriva da tutte le direzioni attraverso rifelssioni multiple senza con
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 14/40 I 3 fattori che consideriamo luce finale = ambiente + riflessione + emissione riflessione diffusa + riflessione speculare solo componente ambient
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 15/40 I 4 fattori che consideriamo luce finale = ambiente + riflessione diffusa + riflessione speculare + emissione
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 16/40 Componente riflessione diffusa Esibita nella realtà da (per es): –gesso –legno (quasi) –materiali molto opachi (non lucidi) Detta anche –diffuse reflection –Lambertian reflection Johann Heinrich Lambert
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 17/40 Componente riflessione diffusa La luce che colpisce una superficie lambertiana si riflette in tutte le direzioni (nella semisfera) –nello stesso modo
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 18/40 Componente riflessione diffusa La luce che colpisce una superficie lambertiana si riflette in tutte le direzioni (nella semisfera) –nello stesso modo
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 19/40 Componente riflessione diffusa La luce che colpisce una superficie lambertiana si riflette in tutte le direzioni (nella semisfera) –nello stesso modo
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 20/40 Componente riflessione diffusa Dipende solo da: –l'orientamento della superficie (la "normale") –la direzione della luce del raggio incidente
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 21/40 Componente riflessione diffusa Dipende solo da: –l'orientamento della superficie N (cioè la sua "normale") –la direzione della luce L (cioé del raggio incidente) R, G, B (di solito bianco: 1,1,1) R, G, B (il "colore" dell'oggetto) moltiplicazione componente per componente
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 22/40 fa parte del "materiale" (caratteristica dell'oggetto) Componente riflessione diffusa Dipende solo da: –l'orientamento della superficie N (cioè la sua "normale") –la direzione della luce L (cioé del raggio incidente)
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 23/40 Componente riflessione diffusa Dipende solo da: –l'orientamento della superficie N (cioè la sua "normale") –la direzione della luce L (cioé del raggio incidente)
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 24/40 Componente riflessione diffusa Dipende solo da: –l'orientamento della superficie N (cioè la sua "normale") –la direzione della luce L (cioé del raggio incidente) angolo compreso fra 0 e 90, senno fa 0, (oggetto in ombra di se stesso)
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 25/40 Componente riflessione diffusa L N componente diffusa piccola =70 L N componente diffusa grande =35 L N componente diffusa massima =0
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 26/40 Componente riflessione diffusa L N componente diffusa ZERO =90 L N componente diffusa ZERO >90 (la superficie è nella propria stessa ombra)
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 27/40 Componente riflessione diffusa Proprietà –modello fedele delle caratteristiche ottiche di alcuni materiali reali –ma di pochi materiali –modello fisicamente coerente per es, conserva l'energia –molto semplice da calcolare
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 28/40 I 4 fattori che consideriamo luce finale = ambiente + riflessione diffusa + riflessione speculare + emissione
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 29/40 Componente riflessione speculare "Specular" reflection Per materiali lucidi –con riflessi brillanti –("highlights") senza con
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 30/40 Componente riflessione speculare Idea base: la luce non viene riflessa da materiali lucidi in maniera eguale in tutte le direzioni
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 31/40 Componente riflessione speculare L: raggio incidente N: normale R: raggio riflesso V: dir. di vista N L R V in 3D
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 32/40 Componente riflessione speculare Phong light model –by Bui-Tuong Phong, 1975 in 3D
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 33/40 Componente riflessione speculare Elevando il coseno ad una potenza, si ottengono riflessi piu' piccoli e brillanti
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 34/40 fanno parte del "materiale" (caratteristiche dell'oggetto) Componente riflessione speculare Phong light model –by Bui-Tuong Phong, 1975 in 3D
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 35/40 Componente riflessione speculare Phong light model –by Bui-Tuong Phong, 1975 in 3D
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 36/40 Componente riflessione speculare
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 37/40 Componente riflessione speculare Blinn-Phong light model: semplificazione del Phong light model risultati simili, formula diversa: phong: blinn-phong: N L R V H = L + V / |L+V| "half-way" vector
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 38/40 Componente riflessione speculare Blinn-Phong light model: semplificazione del Phong light model risultati simili, formula diversa: Jim Blinn (MEGA-MEGA-GURU) phong: blinn-phong:
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 39/40 I 4 fattori che consideriamo luce finale = ambiente + riflessione diffusa + riflessione speculare + emissione
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 40/40 Equazione di lighting in totale propretà del materiale propretà della luce
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 41/40 Materiali...
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 42/40 Equazione di lighting: modellazione delle luci propretà della luce
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 43/40 Modellazione delle luci Come varia L? –costante nella scena: fonti di luci "direzionali" buono per fonti di luce molto distanti, e.g. il sole –varia nella scena: fonti di luci "posizionali" buono per fonti di luci vicine, e.g. lampadine
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 44/40 Modellazione delle luci: luci posizionali Nelle luci posizionali, si può attenuare l'intensità in funzione della distanza In teoria (per la fisica) intensità = 1 / distanza 2
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 45/40 Modellazione delle luci: luci posizionali In pratica, questo porta ad attenuazioni della luce troppo repentine Invece usiamo:
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 46/40 Equazione di lighting
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 47/40 Tipi di luci Tipi di luci: –posizionali –direzionali –spot-lights (faretti)
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 48/40 Spotlights Definite da tre parametri:
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 49/40 Equazione di lighting
M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 50/40 Prossimamente: Frammenti & attributi interpolati Vertici & loro attributi Screen buffer Vertici poriettati & attributi computati rasterizer triangoli computazioni per frammento set- up rasterizer segmenti set- up rasterizer punti set- up computazioni per vertice lighting: DOVE? x y z v0v0 v1v1 v2v2 v0v0 v1v1 v2v2