Forelesningsnotater SIF8039/ Grafisk databehandling Notater til forelesninger over: Kapittel 6: ”Shading” i: Edward Angel: ”Interactive Computer Graphics” Vårsemesteret 2002 Torbjørn Hallgren Institutt for datateknikk og informasjonsvitenskap Norges teknisk-naturvitenskapelige universitet
Visualiseringsløypa Modellering Geometriske (modellerings-) transformasjoner Avbildningstransformasjoner Fargelegging (shading)
Fargelegging Hittil: Trenger: Avbildet modellen uten tanke på farger, lys og skygge Alle flater ensfarget flatt inntrykk Gir ikke effektiv volumfølelse Krumme flater gir inntrykk som plane flater Trenger: Gi objektene naturlige farger Lyskilder som gir lys og skyggevirkninger Skyggelegging som gir realistisk romfølelse
Lys, refleksjoner og skygger Kamera
Rendering Rendering - gjengivelse: ”Tunge” renderingsystemer Tar hensyn til multiple refleksjoner Strålesporing (ray tracing) Radiositet Enkle renderingsystemer Ser bort fra sekundærrefleksjoner Phongs refleksjonsmodell
Rendering Fysisk korrekt gjengivelse: Forenklinger: I prinsippet mulig Refleksjonsfysikk basert på elektromagnetisk teori (Maxwells likninger) Fargeteori delvis basert på elektromagnetisk teori For tungt i praksis (i alle fall hva regnetid angår) Forenklinger: Kvasifysisk tilnærmelse Empiriske modeller med en viss fysikkteoretisk bakgrunn Gir visuelt god resultater (”fotorealisme”)
Refleksjon og transmisjon Interessante interaksjonstyper lys - materie: Speilende (blank) refleksjon Blanke flater Diffus refleksjon Matte og mikroskopisk ujevne flater Transmisjon Gjennomsiktige flater
Lyskilder Typer: Karakteristikk: Bakgrunnslys (ambient) Punktlys Spotlys Fjerne lyskilder Karakteristikk: Farge Posisjon Direktivitet
Lyskilder Fargekarakteristikk: Lyset betraktes som sammensatt at tre komponenter: Rødt Grønt RGB Blått Tre-komponent luminans: Lyset karakteriseres ved fargesammensetningen
Lyskilder Bakgrunnslys: Lys som skyldes refleksjoner fra terreng, bygninger, gjenstander og atmosfæren Uniformt Kommer fra alle retninger
Lyskilder Punktlys Stråler like mye i alle retninger Luminans: med lyskilden i punktet p0 Attenuasjon på grunn av avstanden til det belyste punktet p: Eller med et visst hensyn til lyskildens endelige utstrekning:
Lyskilder Spotlys: ps s ls Ip Filament i punktet: ps Hovedretning: ls Retning mot belyst objektpunkt: s Åpningsvinkel: Intensitet: ps s ls Ip
Lyskilder Fjern lyskilde: Lysstrålene faller parallelt inn Stråleretningen er: Eksempel: sola
Phongs refleksjonsmodell v l r p p - belyst punkt n - flatenormal l - vektor i retning lyskilden r - retning for speilrefleksjon v - retning mot øyet (COP)
Phongs refleksjonsmodell Hver lyskilde har separate komponenter for: Bakgrunnsbelysning Belysning for diffus refleksjon for hver fargekomponent Belysning for speilende refleksjon Belysningsmatrise for lyskilde i:
Phongs refleksjonsmodell Trenger mål for hvor stor andel av hver belysnings-komponent som blir reflektert: For hver fargekomponent blir reflektert intensitet:
Phongs refleksjonsmodell Summert over alle lyskildene: er global bakgrunnsbelysning
Phongs refleksjonsmodell Refleksjon av bakgrunnsbelysningen Refleksjonskoeffisient:
Phongs refleksjonsmodell Diffus refleksjon Laberts cosinuslov gjelder Flaten ser like lys ut uansett hvilken vinkel den sees under Belysningen på flaten er avhengig av innfallsvinkelen til det innfallende lyset
Phongs refleksjonsmodell n - flatenormal l - vektor i retning av lyskilden Med diffus refleksjonskoeffisient : Med attenuasjon på grunn av avstanden d til lyskilden: n l
Phongs refleksjonsmodell Speilende refleksjon For perfekt speiling går en reflektert stråle ut (refleksjons-vinkel er lik innfallsvinkel) For mindre perfekt speiling fåes en ”kjegle” av reflekterte stråler om den perfekt reflekterte strålen n v l r
Høylys
Phongs refleksjonsmodell Speilende refleksjon Med refleksjonskoeffisienten : : ”glanstall” uendelig stor: perfekt refleksjon 100 < < 500: metallisk flate < 100: mange vanlige flater
Phongs refleksjonsmodell Den fullstendige modellen: Gitt (ved spesifikasjonen av to punkt): Retningen til hver av lyskildene: Retningen til øyepunktet (COP): Søker mest mulig effektiv beregning av: Flatenormal: Refleksjonsretning:
Phongs refleksjonsmodell Den fullstendige modellen: - summerer over alle lyskilde - summerer for hver fargekomponent r, g og b - belysningskomponent fra lyskilde i - refleksjonskoeffisient - ”glanstall” - avstand til lyskilde - attenuasjonskoeffisienter - diffus refleksjon - speilende refleksjon - bakgrunnsbelysning
Flatenormalen - plan Planet gitt ved implisitt likning av formen: Planet gitt ved at det går gjennom tre ikke kolinære punkt:
Flatenormalen - plan Planet gitt ved implisitt likning av formen: Gitt to punkt i planet: Søkt normal:
Planets avstand fra origo Forskjellige verdier av d gir parallelle plan i varierende avstand fra origo z n (x,y,z,1) y x
Flatenormal - plan Planet gitt ved at det går gjennom tre ikke kolineære punkt: Normalen gitt ved vektorproduktet: skrevet som determinant
Flatenormal - generelt Flater som kan beskrives ved en implisitt likning på formen: har normalen:
Flatenormal - generelt Gitt flaten: En romkurve som ligger i flaten: Komponentene for romkurven må tilfredsstille: Tangenten til kurven må også være tangent til flaten: Tangentene til romkurvene i flaten, som går gjennom et punkt på flaten, danner tangentplanet til flaten.
Flatenormal - generelt Differensiering: Gradienten til flaten f er ortogonal til alle tangenten til rom-kurvene (som ligger i flaten) i punktet (x,y,z) og dermed til tangentplanet.
Flatenormal - eksempler Plan flate: Kuleflate:
Refleksjonsretning n l r
Midt-imellom-vektor (Halfway vector) For beregning av speilende refleksjon trengs skalar- produktet: n h l r v Av effektivitetshensyn brukes i stedet: Definerer ”midt-imellom- vektoren”: Bruker justert i:
Transmisjon Gjennom plate av for eksempel glass:
Transmisjon
Transmisjon x z h y d
Transmisjon
Transmisjon
Transmisjon Inn i et medium, for eksempel ned i vann: n l -n t
Transmisjon
Transmisjon
Totalrefleksjon Når strålen går fra et optisk tettere til et optisk tynnere medium: får vi totalrefleksjon når: kalles den kritiske vinkelen
Farge- og skyggelegging Flater ”fasetteres” som oftest for farge- og skygge-legging Tetraeder - grov tilnærmelse til kule
Mach-bånd Problem med flateskjøter:
Interpolerende skyggelegging Gouraud-skyggelegging Interpolerer farge over en fasett Phong-skyggelegging Interpolerer flatenormalen over en fasett Felles for begge Interpolerer hjørnenormal som normalisert resultant av flatenormalene til de flatene som støter til hjørnet
Interpolert hjørnenormal Hjørnenormal felles for alle flatene som støter sammen i hjørnet n n2 n4 n3 n1
Gauraud-skyggelegging 1 2 2 3 1 1 2 2 1 1. Beregner farge i hvert hjørne 2. Interpolerer farge langs hver av kantene 3. Interpolerer farge langs scanlinjer gjennom fasetten
Phong-skyggelegging 1 2 2 3 1 1 2 2 1 1. Beregner normalen i hvert hjørne 2. Interpolerer normalen langs hver av kantene 3. Interpolerer normalen langs scanlinjer gjennom fasetten Fargen i hvert punkt bestemmes ved beregning ved hjelp av den lokal normalen
Interpolasjon av normal nB nE nD nA nC
Phong-skyggelegging Fordeler: Ulempe: Mindre tendens til Mach-bånd Kan få fram refleksjonshøylys inne i en fasett Ulempe: Beregningsmessig mere kostbar enn Gouraud-skyggelegging
Globale metoder for rendering Tar hensyn til multiple refleksjoner (sekundær-refleksjoner): Strålesporing (ray tracing) Behandler speilende refleksjon godt Bilderomsmetode Må regnes om når øyepunktet flyttes Radiositet Holder fullstendig regnskap med multiple refleksjoner Tar hensyn til lyskilder med utstrekning Objektromsmetode Farger og skygger uavhengig av øyepunktet
Strålesporing Bare en liten andel av strålene som sendes ut fra eller reflekteres fra et objekt når øyet Hensiktsløst (og alt for kostbart) å undersøke alle mulige stråler fra et objekt Strålesporing: ”Snur” stråleretningen - undersøker: Hvor strålene som treffer øyet, kommer fra Hvilken farge objektet har Hvilke lyskilder som bestråler objektet Til en viss grad hvilke reflekser som treffer punktet som betraktes
Strålesporing Skjerm Piksel COP
Strålesporingsmodellen Phongs refleksjonsmodell: Whitteds strålesporingsmodell:
Strålesporingsmodellen
Strålesporing
Strålesporingsmodellen Kostnaden ved strålesporing: Finne om strålen skjærer objektene i scenen Finne skjæringspunktene Finne det objektet og det objektpunktet strålen treffer først
Radiositetsmodellen Modellen deles inn i flatelapper (fasetter) som er i strålingsmessig likevekt (stasjonær tilstand) Hver flatelapp kan emittere lys (lyskilde) Hver flatelapp reflekterer en viss andel av innfallende lys (diffus refleksjon)
Radiositetsmodellen
Radiositetsmodellen Aj ni r nj Ai
Radiositet
Radiositet
Radiositetsmodellen Kostnaden ved radiositetsmodellen: En formfaktor for hver parkombinasjon av flatelapper Beregning av n2 formfaktorer