Forelesningsnotater SIF8039/ Grafisk databehandling

65
1 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

description

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 - PowerPoint PPT Presentation

Transcript of Forelesningsnotater SIF8039/ Grafisk databehandling

Page 1: Forelesningsnotater SIF8039/ Grafisk databehandling

1

Forelesningsnotater SIF8039/Grafisk databehandlingNotater 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

Page 2: Forelesningsnotater SIF8039/ Grafisk databehandling

2

Visualiseringsløypa

Modellering Geometriske (modellerings-) transformasjoner Avbildningstransformasjoner

Fargelegging (shading)

Page 3: Forelesningsnotater SIF8039/ Grafisk databehandling

3

Fargelegging

Hittil:– 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

Page 4: Forelesningsnotater SIF8039/ Grafisk databehandling

4

Lys, refleksjoner og skygger

Kamera

Page 5: Forelesningsnotater SIF8039/ Grafisk databehandling

5

Rendering

Rendering - gjengivelse: ”Tunge” renderingsystemer

– Tar hensyn til multiple refleksjoner• Strålesporing (ray tracing)

• Radiositet

Enkle renderingsystemer– Ser bort fra sekundærrefleksjoner

• Phongs refleksjonsmodell

Page 6: Forelesningsnotater SIF8039/ Grafisk databehandling

6

Rendering

Fysisk korrekt gjengivelse:– 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”)

Page 7: Forelesningsnotater SIF8039/ Grafisk databehandling

7

Refleksjon og transmisjon

Interessante interaksjonstyper lys - materie:

Speilende (blank) refleksjon– Blanke flater

Diffus refleksjon– Matte og mikroskopisk ujevne flater

Transmisjon– Gjennomsiktige flater

Page 8: Forelesningsnotater SIF8039/ Grafisk databehandling

8

Lyskilder

Typer:– Bakgrunnslys (ambient)– Punktlys– Spotlys– Fjerne lyskilder

Karakteristikk:– Farge– Posisjon– Direktivitet

Page 9: Forelesningsnotater SIF8039/ Grafisk databehandling

9

Lyskilder Fargekarakteristikk:

– Lyset betraktes som sammensatt at tre komponenter:

Rødt

Grønt RGB

Blått

– Tre-komponent luminans:

Lyset karakteriseres ved fargesammensetningen

b

g

r

I

I

I

I

Page 10: Forelesningsnotater SIF8039/ Grafisk databehandling

10

Lyskilder

Bakgrunnslys:– Lys som skyldes refleksjoner fra terreng, bygninger,

gjenstander og atmosfæren– Uniformt– Kommer fra alle retninger

Page 11: Forelesningsnotater SIF8039/ Grafisk databehandling

11

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:

)(

)(

)(

)(

0

0

0

0

pI

pI

pI

pI

b

g

r

||)(1

),( 0020 ppdderpId

ppI

)(1

),( 020 pIcdbda

ppI

Page 12: Forelesningsnotater SIF8039/ Grafisk databehandling

12

Lyskilder

Spotlys:– Filament i punktet: ps

– Hovedretning: ls

– Retning mot belyst

objektpunkt: s– Åpningsvinkel:

– Intensitet:

ps

ls s

lsI p )cos(

Ip

Page 13: Forelesningsnotater SIF8039/ Grafisk databehandling

13

Lyskilder

Fjern lyskilde:– Lysstrålene faller parallelt inn– Stråleretningen er:

– Eksempel: sola

0

0 z

y

x

p

Page 14: Forelesningsnotater SIF8039/ Grafisk databehandling

14

Phongs refleksjonsmodell

p - belyst punktn - flatenormall - vektor i retning lyskildenr - retning for speilrefleksjonv - retning mot øyet (COP)

p

l

nv

r

Page 15: Forelesningsnotater SIF8039/ Grafisk databehandling

15

Phongs refleksjonsmodell

Hver lyskilde har separate komponenter for:– Bakgrunnsbelysning– Belysning for diffus refleksjon for hver fargekomponent– Belysning for speilende refleksjon

– Belysningsmatrise for lyskilde i:

ibsigsirs

ibdigdird

ibaigaira

i

LLL

LLL

LLL

L

Page 16: Forelesningsnotater SIF8039/ Grafisk databehandling

16

Phongs refleksjonsmodell

Trenger mål for hvor stor andel av hver belysnings-komponent som blir reflektert:

For hver fargekomponent blir reflektert intensitet:

ibsigsirs

ibdigdird

ibaigaira

i

RRR

RRR

RRR

R

bgrforIII

LRLRLRI

sidiai

sisididiaiaii

,,

Page 17: Forelesningsnotater SIF8039/ Grafisk databehandling

17

Phongs refleksjonsmodell

Summert over alle lyskildene:

er global bakgrunnsbelysning

asidii

ai IIIII )(

aI

Page 18: Forelesningsnotater SIF8039/ Grafisk databehandling

18

Phongs refleksjonsmodell

Refleksjon av bakgrunnsbelysningen– Refleksjonskoeffisient:

elysningenbakgrunnsb

globaledenforbgrforkR

ialleforogbgrforkR

k

aa

aai

a

,,

,,

Page 19: Forelesningsnotater SIF8039/ Grafisk databehandling

19

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

)cos( LL

Page 20: Forelesningsnotater SIF8039/ Grafisk databehandling

20

Phongs refleksjonsmodell

n - flatenormal

l - vektor i retning av

lyskilden

– Med diffus refleksjonskoeffisient :

– Med attenuasjon på grunn av avstanden d til lyskilden:

n

l

nl )cos(

dk

)( nlkR ddi

)(2

nlcdbda

kR d

di

Page 21: Forelesningsnotater SIF8039/ Grafisk databehandling

21

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

ir

n

lr

v

Page 22: Forelesningsnotater SIF8039/ Grafisk databehandling

22

Høylys

Page 23: Forelesningsnotater SIF8039/ Grafisk databehandling

23

Phongs refleksjonsmodell

Speilende refleksjon– Med refleksjonskoeffisienten :

: ”glanstall”

uendelig stor: perfekt refleksjon

100 < < 500: metallisk flate

< 100: mange vanlige flater

sk

)()(cos vrkkR sssi

Page 24: Forelesningsnotater SIF8039/ Grafisk databehandling

24

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:

aai

aiaisisidid

ii

LkLkvrLknlLkcdbda

I

)()(1

2

v

li

ir

n

Page 25: Forelesningsnotater SIF8039/ Grafisk databehandling

25

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

aai

aiaisisidid

ii

LkLkvrLknlLkcdbda

I

)()(1

2

aindeks

sindeks

dindeks

cba

d

k

L

i

i

,,

Page 26: Forelesningsnotater SIF8039/ Grafisk databehandling

26

Flatenormalen - plan Planet gitt ved implisitt likning av formen:

Planet gitt ved at det går gjennom tre ikke kolinære punkt:

0),,( dczbyaxzyxf

Tcban 0

T

T

T

zyxp

zyxp

zyxp

1

1

1

2222

1111

0000

)()( 0102 ppppn

Page 27: Forelesningsnotater SIF8039/ Grafisk databehandling

27

Flatenormalen - plan Planet gitt ved implisitt likning av formen:

Gitt to punkt i planet:

Søkt normal:

0),,( dczbyaxzyxf

Tcban 0

TT zyxpzyxp 11 0000

Tzyx nnnn 0

0)(

)()()(

0)(

000

000

0

dznynxndznynxn

zznyynxxn

ppn

zyxzyx

zyx

Page 28: Forelesningsnotater SIF8039/ Grafisk databehandling

28

Planets avstand fra origo

x

y

z

(x,y,z,1)

n

222222

222

0

:plan-origoAvstanden

01

||

cba

d

cba

czbyaxzyxnh

cbacban

nn

Tn

Tn

Forskjellige verdier av dgir parallelle plan i varierende avstand fraorigo

Page 29: Forelesningsnotater SIF8039/ Grafisk databehandling

29

Flatenormal - plan

Planet gitt ved at det går gjennom tre ikke kolineære punkt: Normalen gitt ved vektorproduktet:

skrevet som

determinant

0

))(())((

))(())((

))(())((

)()(

01020102

01020102

01020102

010101

020202

0102

xxyyyyxx

zzxxxxzz

yyzzzzyy

zzyyxx

zzyyxx

zyx

pppppppp

pppppppp

pppppppp

pppppp

pppppp

eee

ppppn

Page 30: Forelesningsnotater SIF8039/ Grafisk databehandling

30

Flatenormal - generelt

Flater som kan beskrives ved en implisitt likning på formen:

har normalen:

konstanten:),,( cczyxf

)(

0

),,( fgrad

z

fy

fx

f

zyxfn

Page 31: Forelesningsnotater SIF8039/ Grafisk databehandling

31

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.

czyxf ),,(

zyx etzetyetxtr )()()()(

ctztytxf ))(),(),((

zyx etzetyetxtr )(')(')(')('

Page 32: Forelesningsnotater SIF8039/ Grafisk databehandling

32

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.

0)(')(')(')('

trftzz

fty

y

ftx

x

f

),,( zyxfn

Page 33: Forelesningsnotater SIF8039/ Grafisk databehandling

33

Flatenormal - eksempler Plan flate:

Kuleflate:

0

),,(

0),,(

c

b

a

cebeaezyxfn

dczbyaxzyxf

zyx

pzeyexezyxfn

zyxp

cppczyxzyxf

zyx 2222),,(

kuleflata. påpunkt et tilorigo fraen vektor er 0der

0),,(T

22222

Page 34: Forelesningsnotater SIF8039/ Grafisk databehandling

34

Refleksjonsretning

nr

i r

r

rln

ir

Søker

1||||||

:ingnormaliserr Forutsette

)(21

løsningnt uinteressaen er som 01

1

1)(1)(

))(1(

)()(2)(

1)(2)()(2)(

)()()()(

og avn kombinasjolineær en er

koplanareer og ,

)cos()cos(

2

222

2222

2222

nl

nlnl

nl

nlnlnl

nlnnnlllrr

nlnlnnnlnr

nlr

nlr

nlr

nrnlri

l

lnnlr )(2

Page 35: Forelesningsnotater SIF8039/ Grafisk databehandling

35

Midt-imellom-vektor(Halfway vector)

l r

n

v

h

i

For beregning av speilenderefleksjon trengs skalar-produktet:

)cos(vr

Definerer ”midt-imellom-vektoren”:

2||

vl

vlh

Av effektivitetshensyn brukesi stedet:

)cos(hn

Bruker justert i:

)(cos)( hn

Page 36: Forelesningsnotater SIF8039/ Grafisk databehandling

36

Transmisjon

Gjennom plate av for eksempel glass:

i

i

t

t

0

0

m

Page 37: Forelesningsnotater SIF8039/ Grafisk databehandling

37

Transmisjon

Page 38: Forelesningsnotater SIF8039/ Grafisk databehandling

38

Transmisjon

i

i

tt

0

0

m h

d

x

z

y

Page 39: Forelesningsnotater SIF8039/ Grafisk databehandling

39

Transmisjon

)cos(

)sin()cos()sin()tan()tan()cos()cos(

)tan()tan(

)tan(

)tan(

)](cos1[1

1)cos(

)(cos11

)sin(1

)sin(

)sin()sin(

:ovbrytningsl Snells

22

2

00

t

tiitiii

ti

t

i

it

iit

mtmi

hhzd

hyxz

hy

hx

1)(cos1

)cos()(cos1

:genforskyvninfor resultat Endelig

2

2

2

i

iihd

Page 40: Forelesningsnotater SIF8039/ Grafisk databehandling

40

Transmisjon

1)(cos1

)cos()(cos1

:genforskyvninfor resultat Endelig

2

2

2

i

iihd

1)(1

)(1

:uktetskalarprod medSkrevet

2

2

2

nl

nlnlhd

Page 41: Forelesningsnotater SIF8039/ Grafisk databehandling

41

Transmisjon

Inn i et medium, for eksempel ned i vann:

t

l0

m

n

-n

i

t

Page 42: Forelesningsnotater SIF8039/ Grafisk databehandling

42

Transmisjon

nlt

nlt

nlt

nt

nl

t

i

it

iit

mtmi

og avn kombinasjolinær en er

tenormaliser og koplanareer og ,

)cos(

)cos(

)](cos1[1

1)cos(

)(cos11

)sin(1

)sin(

)sin()sin(

:ovbrytningsl Snells

22

2

00

)(1

1

-

tet treffpunkien refleksjongir 1

1

)(sin

)(sin

1)(cos

1)(cos

1)(

1)(

1)(1)(

)(

)()(2)(

1)(2

)()(2)(

)()()(

22

2

2

2

2

22

222

2222

22

22

nlnt

nl

nt

ntnl

nlnt

ntnlnl

nl

nnnllltt

nlnnnlnt

i

t

i

t

Page 43: Forelesningsnotater SIF8039/ Grafisk databehandling

43

Transmisjon

nl

nlnnlntlt

ii

it

)cos(1

)](cos1[1

11

)cos(1

)cos(1

)(11

:strålen brutteden for Retningen

22

nnlnllt

)(1

])(1[1

11

:uktetskalarprod medSkrevet

22

Page 44: Forelesningsnotater SIF8039/ Grafisk databehandling

44

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

lt

tl

l

tl

)sin(

l

Page 45: Forelesningsnotater SIF8039/ Grafisk databehandling

45

Farge- og skyggelegging

Flater ”fasetteres” som oftest for farge- og skygge-legging

Tetraeder - grovtilnærmelse til kule

Page 46: Forelesningsnotater SIF8039/ Grafisk databehandling

46

Mach-bånd

Problem med flateskjøter:

Page 47: Forelesningsnotater SIF8039/ Grafisk databehandling

47

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

Page 48: Forelesningsnotater SIF8039/ Grafisk databehandling

48

Interpolert hjørnenormal

n

n1

n2

n3

n4

|| 4321

4321

nnnn

nnnnn

Hjørnenormal felles for alle flatene som støter sammen ihjørnet

Page 49: Forelesningsnotater SIF8039/ Grafisk databehandling

49

Gauraud-skyggelegging

1. Beregner farge i hvert hjørne2. Interpolerer farge langs hver av kantene3. Interpolerer farge langs scanlinjer gjennom fasetten

1

1

1

1

2 2

22 3

Page 50: Forelesningsnotater SIF8039/ Grafisk databehandling

50

Phong-skyggelegging

1

1

1

1

2 2

22 3

1. Beregner normalen i hvert hjørne2. Interpolerer normalen langs hver av kantene3. Interpolerer normalen langs scanlinjer gjennom fasetten

Fargen i hvert punkt bestemmes ved beregning ved hjelp av den lokal normalen

Page 51: Forelesningsnotater SIF8039/ Grafisk databehandling

51

Interpolasjon av normal

nA

nE

nC

nD

nB

)()()1(),(

:fasetten gjennom scanlinje langson Intepolasj

)1()(

:kantene langsjon Interpolas

ED

BA

nnn

nnn

Page 52: Forelesningsnotater SIF8039/ Grafisk databehandling

52

Phong-skyggelegging

Fordeler:– Mindre tendens til Mach-bånd– Kan få fram refleksjonshøylys inne i en fasett

Ulempe:– Beregningsmessig mere kostbar enn Gouraud-

skyggelegging

Page 53: Forelesningsnotater SIF8039/ Grafisk databehandling

53

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

Page 54: Forelesningsnotater SIF8039/ Grafisk databehandling

54

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

Page 55: Forelesningsnotater SIF8039/ Grafisk databehandling

55

Strålesporing

COP

Skjerm

Piksel

Page 56: Forelesningsnotater SIF8039/ Grafisk databehandling

56

Strålesporingsmodellen Phongs refleksjonsmodell:

Whitteds strålesporingsmodell:

aai

aiaisisidid

ii

LkLkvrLknlLkcdbda

I

)()(1

2

aattrs

iaiaisisidid

ii

i

LkIkIk

LknhLknlLkcdbda

SI

)()(2

ientonskoeffis transmisj-

tet treffpunkpåinn objekt andre fra lysert transmitt-

tet treffpunkpåinn objekt andre fra lys reflektert -

tet treffpunk tilnsmittereskilden tra fralyset når 1 og 0 mellom

tet treffpunkfrasett skjult er lyskilden når 0

tet treffpunkfra synliger lyskilden når 1

a

t

r

i

k

I

I

S

Page 57: Forelesningsnotater SIF8039/ Grafisk databehandling

57

Strålesporingsmodellen

n

i

t

r

tI

I rI

rekursivtgen ingslikninstrålespor bruke å vedberegnes og tr II

Page 58: Forelesningsnotater SIF8039/ Grafisk databehandling

58

Strålesporing

Page 59: Forelesningsnotater SIF8039/ Grafisk databehandling

59

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

Page 60: Forelesningsnotater SIF8039/ Grafisk databehandling

60

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)

Page 61: Forelesningsnotater SIF8039/ Grafisk databehandling

61

Radiositetsmodellen

ukjente som ,1, medlikninger lineæren av systemet i Resulterer

i flatelappnår som j flatelapp fra energiutstrålt avandelen :formfaktor -

i flatelapp avarealet -

ntskoeffisierefleksjon -

flateenhet pr.n egenemisjo -

flateenhet pr. energiutstrålt -

1

:i flatelapp fra radiositetStasjonær

i

1

niB

F

A

E

B

niA

AFBEB

i

ij

i

i

i

nj i

jijjiii

Page 62: Forelesningsnotater SIF8039/ Grafisk databehandling

62

Radiositetsmodellen

Ai

Aji jrni

nj

faktorsynlighets -

)cos()cos(12

ij

ijij

AA

ji

iji

H

dAdAHrA

Fji

Page 63: Forelesningsnotater SIF8039/ Grafisk databehandling

63

Radiositet

Page 64: Forelesningsnotater SIF8039/ Grafisk databehandling

64

Radiositet

Page 65: Forelesningsnotater SIF8039/ Grafisk databehandling

65

Radiositetsmodellen

Kostnaden ved radiositetsmodellen:– En formfaktor for hver parkombinasjon av flatelapper– Beregning av n2 formfaktorer