Computer Graphics - PowerPoint PPT Presentation

awena
computer graphics n.
Skip this Video
Loading SlideShow in 5 Seconds..
Computer Graphics PowerPoint Presentation
Download Presentation
Computer Graphics

play fullscreen
1 / 50
Download Presentation
Presentation Description
130 Views
Download Presentation

Computer Graphics

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Lezione 10: la L di T&L Università dell’Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2006/07 Computer Graphics Marco Tarini

  2. Lighting • L’altra metà del rendering • Determinare la luce • quanta luce • di che colore che arriva • da un punto della scena • all’occhio • Problema complesso... M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  3. Lighting: alcuni fattori ALTRA LUCE blocker assorbimento in ombra raggio incidente trasmissione (con rifrazione) riflessione interna riflessione assorbimento da parte del mezzo (e.g. nebbia) LUCE scattering sotto la superficie OGGETTO OCCHIO M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  4. Lighting: alcuni fattori riflessioni multiple (illuminazione indiretta) LUCE OGGETTO OCCHIO M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  5. 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 ... torna molto più facile da fare con il nostro Hardware Illuminazione locale Illuminzione globale M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a


  6. Lighting locale raggio incidente rifelssione LUCE OGGETTO OCCHIO M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  7. 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 ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  8. I 3 addendi nel modello di Lighting di OpenGL per ogni addendo, ho una componente R, G e B. luce finale = ambiente + riflessione + emissione 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 ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  9. 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 luce ad oggetti vicini • non e’ illuminazione globale • per fare cio’, devo aggiungere una altra luce M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  10. I 3 addendi nel modello di Lighting di OpenGL luce finale = ambiente + riflessione + emissione M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  11. Componente ambiente • Modella (grossolanamete)la luce che arriva attraverso rifelssioni multiple • Assunzione: "un pò di luce raggiunge da tutte le direzioni 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 ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  12. Componente ambiente • prodotto fra: • colore “ambient” del materiale ( RM GM BM) • colore “ambient” della luce ( RL GL BL) • Nota: possono essere colori RGB diversi • prodotto componente per componente M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  13. Componente ambiente • Modella (grossolanamete)la luce che arriva da tutte le direzioniattraverso rifelssioni multiple senza con M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  14. I 3 addendi nel modello di Lighting di OpenGL solo componente ambient riflessione diffusa + riflessione speculare luce finale = ambiente + riflessione + emissione M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  15. I4addendi nel modello di Lighting di OpenGL luce finale = ambiente + riflessione diffusa + riflessione speculare + emissione M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  16. Componente riflessione diffusa Johann Heinrich Lambert 1728 - 1777 • Esibita nella realtà da (per es): • gesso • legno (quasi) • materiali molto opachi (nel senso di "non lucidi") • Detta anche • diffuse reflection • Lambertian reflection M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  17. Componente riflessione diffusa • La luce che colpisce una superficie Lambertiana si riflette in tuttele direzioni (nella semisfera) • nello stesso modo M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  18. Componente riflessione diffusa • La luce che colpisce una superficie Lambertiana si riflette in tuttele direzioni (nella semisfera) • nello stesso modo M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  19. Componente riflessione diffusa • La luce che colpisce una superficie Lambertiana si riflette in tuttele direzioni (nella semisfera) • nello stesso modo M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  20. 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 ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  21. Componente riflessione diffusa R, G, B (spesso, bianco: 1,1,1) R, G, B (il "colore" dell'oggetto) moltiplicazione componente per componente • 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 ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  22. Componente riflessione diffusa fa parte del "materiale" (caratteristica dell'oggetto) • 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 ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  23. 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 ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  24. Componente riflessione diffusa se angolo é compreso fra 0⁰ e 90⁰, else: 0, (oggetto in ombra di se stesso) • 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 ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  25. Componente riflessione diffusa L L L N N N componente diffusa piccola ⍬=70⁰ componente diffusa grande ⍬=35⁰ componente diffusa massima ⍬=0⁰ M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  26. Componente riflessione diffusa L L N N componente diffusa ZERO ⍬=90⁰ componente diffusa ZERO ⍬>90⁰ (la superficie è nella propria stessa ombra) M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  27. Componente riflessione diffusa • Proprietà • modello fedele delle caratteristiche ottichedi 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 ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  28. I4 fattori che consideriamo luce finale = ambiente + riflessione diffusa + riflessione speculare + emissione M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  29. 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 ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  30. Componente riflessione speculare • Idea base:la luce non viene riflessa da materiali lucidiin maniera eguale in tutte le direzioni M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  31. Componente riflessione speculare in 3D L: raggio incidente N: normale R: raggio riflesso V: dir. di vista N L R q q  V M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  32. Componente riflessione speculare in 3D • Phong light model • by Bui-Tuong Phong, 1975 M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  33. 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 ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  34. Componente riflessione speculare in 3D fanno parte del "materiale" (caratteristiche dell'oggetto) • Phong light model • by Bui-Tuong Phong, 1975 M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  35. Componente riflessione speculare in 3D • Phong light model • by Bui-Tuong Phong, 1975 M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  36. Componente riflessione speculare M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  37. Componente riflessione speculare blinn-phong: "half-way" vector H = L + V / |L+V| • Blinn-Phong light model: • semplificazione del Phong light model • risultati simili, formula diversa: phong: N L R q q  V M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  38. Componente riflessione speculare • Blinn-Phong light model: • semplificazione del Phong light model • risultati simili, formula diversa: phong: blinn-phong: Jim Blinn (MEGA-MEGA-GURU) M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  39. I4 fattori che consideriamo luce finale = ambiente + riflessione diffusa + riflessione speculare + emissione M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  40. Equazione di lighting in totale propretà del materiale propretà della luce M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  41. Materiali... M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  42. Equazione di lighting:modellazione delle luci propretà della luce M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  43. 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 ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  44. Modellazione delle luci: luci posizionali • Nelle luci posizionali, si può attenuare l'intensitàin funzione della distanza • In teoria (per la fisica) intensità = 1 / distanza2 M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  45. 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 ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  46. Equazione di lighting M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  47. Tipi di luci • Tipi di luci: • posizionali • direzionali • spot-lights • (faretti) M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  48. Spotlights • Definite da tre parametri: M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  49. Equazione di Lighting di OpenGL (completa) caratteristiche della luce caratteristiche del materiale dati dalla scena M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

  50. Prossimamente: set-up set-up rasterizer punti rasterizer segmenti v1 v0 v2 lighting: DOVE? Frammenti & attributi interpolati Vertici poriettati & attributi computati Screen buffer Vertici & loro attributi set-up rasterizer triangoli computazioniper vertice computazioniper frammento y v1 v0 v2 x z M a r c o T a r i n i ‧ C o m p u t e r G r a p h I c s ‧ 2 0 0 6 / 0 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a