54
IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Embed Size (px)

Citation preview

Page 1: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

IFT3355: InfographieIllumination locale

© Victor Ostromoukhov

Dép. I.R.O.

Université de Montréal

Page 2: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Ombres

• Déterminer si un objet est dans l’ombre pour une lumière consiste à déterminer la visibilité de la lumière à partir de l’objet.

• Cette visibilité est simplifiée par le fait qu’il faut identifier si un objet bloque la lumière à partir d’un point, et non pas l’objet le plus proche.

Page 3: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Ombres

• Pour une lumière directionnelle et ponctuelle, la décision est binaire. Un point est est illuminé ou est dans l’ombre.

• Pour une lumière étendue (e.g. linéaire ou polygonale), on doit calculer la proportion de la lumière visible du point. Un point peut alors être dans l’ombre, dans la pénombre, ou être illuminé.

ombrepénombrepénombre

illuminéilluminé

Page 4: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Lancer de rayons

• Trace un rayon d’ombre du point jusqu’à la lumière. S’il n’y a aucune intersection sur ce segment, le point est illuminé.

Page 5: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Volumes d’ombre de Crow

• Pour chaque arête d’un polygone faisant face à la lumière, on construit un quadrilatère reposant sur le plan arête-lumière.

Polygone d’ombre:

(i,i+k(i-m),j+k(j-m),j)

où k est très grandi

j

m

i-mj-m

i+k(i-m)

j+k(j-m)

Page 6: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Volumes d’ombre de Crow

• Un point sera dans l’ombre s’il est à l’intérieur du polyèdre d’ombre défini par chaque polygone, sa projection de la lumière et ses polygones d’ombres

• Lors du rendu, on conserve un compteur d’ombre co

facing-back // 1

else

facing-front // 1

oeill' à facefait ombred' polygone // )0( if

coco

coco

EN

Page 7: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Volumes d’ombre de Crow

+1 +1 +1-1 -1 -1

0 1 0 1 12 0co:

+ espace objet et omni-directionel- seulement pour des polygones- limite sur les valeurs du compteur (stencil planes)- initialisation de co pour le point de vue avec problèmes si les front ou back clipping intersectent un polygone d’ombre

direction de vue

Page 8: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Tampon de profondeur - Shadow map

• Construit un tampon de profondeur à partir de la lumière L (aucun tampon image nécessaire)

• Pour déterminer si un point P est dans l’ombre– Projette P sur le tampon de profondeur de L– if

• P est illuminé

+ facile à implanter et maintenant en hardware- plusieurs shadow maps pour omni-directionnel- résolution vs. mémoire- aliassage (en XY)

)(PzPL L

Page 9: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Tampon de profondeur - Shadow map

- effet d’escaliers aux silhouettes des ombres- acné de surface (ajoute epsilon à la distance du point)

Page 10: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Illumination

• Jusqu’à présent, on ne s’est intéressé qu’aux aspects géométriques de la formation d’images

• Mais une fois que l’on connaît quelle surface est visible pour un point de l’image, et si ce point est illuminé ou non, on doit répondre à la question:

• Quelle couleur doit-on afficher pour ce point ?

Page 11: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Illumination

• Cette couleur est le résultat de l’interaction de la lumière avec la scène

• Cette couleur dépend donc de plusieurs facteurs :– position du point dans l’espace– orientation du point (élément de surface)– caractéristiques de réflexion et réfraction de la

surface– position, émission et forme des sources de

lumière

Page 12: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Définitions

• Illumination– définit le transport de la lumière dans la scène

• Shading– considère des valeurs de l’illumination en des

points sur une surface et interpole ces valeurs pour des points intermédiaires d’après le modèle de shading

– flat, Gouraud, Phong– Typiquement en lancer de rayons, le shading en

un point correspond à son illumination

Page 13: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Définitions

• Illumination locale– ne considère que la contribution directe des

sources de lumière• Illumination globale

– considère la contribution directe des sources de lumière ainsi que la lumière interréfléchie entre les surfaces de la scène

Page 14: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Lumière

• La lumière est émise par les sources de lumière et interagit dans la scène

• Nature duale– onde– particule

Page 15: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Photon

• Un photon transporte une certaine énergie à une longueur d’onde donnée (couleur)

• A chaque interaction (réflexion, réfraction, absorption), un photon peut changer sa direction et/ou sa couleur (changement spatial et spectral)

• Si un photon possède une longueur d’ondre entre il est alors visible par l’oeil

humainnm 770380

1410

radio910

FM610

radar410

infrarouge

380

violet780

rouge210

tultraviole010

X rayons310

rayons

g

Page 16: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Photon

• Si un photon passe par la position de l’oeil tout en intersectant la fenêtre graphique, sa couleur contribue au pixel qu’il traverse

• Chaque photon sera donc traité par l’optique géométrique, sauf si mentionné autrement

Page 17: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Simuler l’illumination

• L’image parfaite demandera de suivre ainsi une infinité de photons. Il faut donc simplifier le problème.

Page 18: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Ambiante Diffuse Spéculaire Combinée

Modèle de réflexion locale

• On peut identifier trois types de réflexion– Ambiante– Diffuse– Spéculaire

• On les combine pour obtenir un modèle de réflexion plus complet

Page 19: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

La lumière ambiante

• Sans interréflexion de la lumière, tout ce qui est dans l’ombre (umbra) est noir (face cachée de la lune)

• La contribution de l’interréflexion entre les surfaces est un phénomène extrêmement complexe

• On simplifie (à outrance?) son résultat en parlant d’une lumière ambiante qui est partout la même, pour n’importe quelle direction

• Toute surface éclairée seulement par une lumière ambiante aura un éclairage uniforme. Cette surface apparaît sans profondeur

Page 20: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

La lumière ambiante

aL

ak

)(SkLL aa

Propriété de scèneIntensité de la lumière ambiante

Propriété de surfaceUne surface réfléchit une proportion de la lumière ambiante

ak

Couleur de la surface)(S

Page 21: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Variations sur la lumière ambiente

• Ajouter une source de lumière à la position de l’oeil (sans notion de distance)

• Utiliser plusieurs sources de lumière pour remplacer l’illumination du ciel, mais coûteux

• Utiliser la valeur absolue du terme diffus , au lieu de la valeur positive, ce qui correspond au two-sided lighting

LN

Page 22: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Réflexion diffuse

• Normalement, l’intensité de chaque point sur une surface varie dépendant de sa distance à la lumière et de son orientation relative à la lumière

• Réflexion égale en intensité dans toutes les directions

• Elle correspond intuitivement à ce que l’on perçoit comme la forme d’une surface

• Ex : peinture matte, surface couverte de poussière ou de craie, papier, bois sablé

Page 23: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Réflexion diffuse

• Deux modèles pour expliquer ce type de réflexion

Page 24: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

La réflexion diffuse

• La réflexion diffuse ou lambertienne est associée à la perception de la forme des objets de type mat

• Plus la surface fait face à la lumière, plus elle en reçoit

NL

0,maxcos

cos

LN

LN

Page 25: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

La réflexion diffuse

• La réflexion diffuse redistribue les photons également (en intensité) au-dessus de la surface

NL

N

L

Page 26: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Réflexion lambertienne

• Une surface est dite lambertienne si la surface apparaît également brillante de n’importe quelle direction au-dessus de cette surface

• La surface illuminée s’accroît comme

dA

dA

cos/dA

dAN N

cos/dA

Page 27: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Réflexion lambertienne

• Ceci est équivalent à dire que la lumière est réfléchie également en intensité dans toutes les directions au-dessus de cette surface

dA

dA

dA

co sd AN

N

Page 28: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Réflexion lambertienne

EELl dA

dALL

cos

1coscos

énergie reçue d’une lumière à et réfléchie au pixel vers L E

nombre de dAs visiblesau pixel vers E

Page 29: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Réflexion lambertienne

)(SLNLkL ld

LN

lL intensité de la lumière l

dk Propriété de surfaceUne surface réfléchit une proportion de la lumière de façon diffuse

dk

0,max LN

où et sont des vecteurs normaliséson devrait spécifier pour toute orientation desurface mais on allège habituelle-ment la formulation à LN

Lcos N

L

Page 30: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Lumière directionnelle

• Pour une lumière directionnelle (i.e. à l’infini), l’intensité de la lumière qui atteint une surface n’est pas dépendante de la distance à la lumière.

• Tous les rayons issus de la lumière sont considérés parallèles entre eux

• Deux surfaces identiques de même orientation mais à des distances différentes ont le même aspect (i.e. la même couleur au pixel)

0EEr cos0EEr

Page 31: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Lumière ponctuelle

• L’intensité varie comme où r est la distance d’un point à la lumière

• L’intensité émise par un point de lumière est égale sur chaque dA à une distance fixe du point (surface d’une sphère de )

• Un élément sur cette surface recevra de l’intensité du point de lumière

21 r

2 4 rp2 4/ rdA p

Page 32: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Le modèle de réflexion ambiant-diffus

• Pour un point de lumière, le modèle de réflexion devient:

• Attention: les modèles de réflexion dépendent des distances et des orientations des surfaces. Ils doivent donc être évalués en espace monde, et non pas en espace projectif…

2

)()(

r

LNkLkLSL dl

aap

Page 33: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Couleur - RGB

• Il faut pouvoir transférer les intensités en couleurs• Les formules précédentes se généralisent si on

suppose que l’on peut traiter les longueurs d’onde indépendamment

• Chaque coefficient détermine la contribution (intensité) à chaque longueur d’onde

• Le modèle ambient-diffus pour une lumière de couleur sur une surface de couleur

2

)(

r

LNSkLSkLL dl

aap

),,( BGR LLL),,( BGR SSS

BGR ,,

Page 34: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

La réflexion spéculaire

• La réflexion spéculaire apparaît sur des surfaces brillantes sous la fome d’une région de haute intensité que l’on appelle highlight

• Ce highlight se déplace alors qu’on change le point de vue (soleil sur voiture, plancher ciré)

• Pour une surface parfaitement lisse (miroir), la direction de réflexion spéculaire est unique et correspond à LNLNR

)(2

N

L R

Page 35: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

La réflexion spéculaire

• Si une surface est un peu rugueuse, un peu de lumière sera réfléchie spéculairement autour de

• Le modèle spéculaire de Phong fait décroître l’intensité de cette réflexion selon entre les directions et

• n contrôle la rugosité de la surface telle que pour un miroir et une surface très rugueuse

ancos

R

E

N

LE

Ra

n 1n

R

2n

20n

a

Page 36: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

La réflexion spéculaire - la rugosité n

n=1 n=2 n=4

n=16

n=8

n=32 n=64 n=128

n=256 n=512 n=1024

Page 37: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Bidirectional reflectance distribution function

Modèle simplediffus-spéculaire

isotrope

BRDF d’un modèleplus complexe

anisotrope

Page 38: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

La réflexion spéculaire

• Le modèle spéculaire de Blinn fait lui aussi décroître l’intensité de cette réflexion selon mais cette fois entre les directions et

• est le vecteur bisecteur entre et

ancos

N

H

N

LE

H

a

H

L

E

EL

ELH

R

Page 39: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

La réflexion spéculaire

• Ce modèle est basé sur une surface constituée d’une distribution de petits miroirs disposés en V

• Le modèle tient compte de la distribution, du masquage entre facettes et du coefficient de Fresnel

+ Physiquement plus plausible

+ ne peut pas être négatif si

+ Pour une lumière directionnelle et une projection orthographique, est constant sur toute la scène

nHN 0et 0 ENLN

H

Page 40: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Réflexion plastique vs. métallique

• Un métal a tendance à réfléchir spéculairement selon la couleur de sa surface

• Un plastique (diélectrique) a tendance à réfléchir spéculairement selon la couleur de la lumière

• Soit m la proportion de réflexion spéculaire de la surface, le modèle peut s’exprimer comme

2

1r

HNLkmmSL

n

lsp

Page 41: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Sources de lumière multiples

• Chaque lumière contribue à l’intensité finale• Si on utilise plusieurs sources de lumière, on n’a

qu’à sommer la contribution de chacune• La contribution ambiante n’est considérée qu’une

seule fois• Le modèle final correspond donc à

nisid

i i

ilaap ERmmSkLNSk

r

LSkLL )(1)(2

Page 42: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Sources de lumière multiples

+ simple et intuitif

- aucune conservation de l’énergie

• Contraintes parfois appliquées à ce modèle

– mais puisque le modèle n’est pas entièrement basé sur une théorie précise, ces contraintes sont souvent inutiles, pour ne pas dire nuisibles

• Attention au clamping des valeurs supérieures à 1.0 (ou 255)

1,0

1,0

1,0

1

*

*

S

L

k

kk sd

Page 43: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Atténuation de profondeur - Brouillard simple

Page 44: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Atténuation de profondeur - Brouillard simple

Page 45: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Atténuation de profondeur - Brouillard simple

• Soit la couleur au pixel, cette couleur peut être modifiée en fonction de la profondeur au pixel

• Soit la couleur au maximum d’atténuation, i.e. la couleur du brouillard, et la distance du début (front) et de fin (back) de l’atténuation

pL

dcL

bf zz ,

objet proportion 1

brouillard proportion

pfb

f

dcfb

f

Lzz

zz

Lzz

zz

fz z bz

dcL pL

dcfb

fp

fb

bp L

zz

zzL

zz

zzL

Page 46: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Shadings

• On peut calculer l’illumination en chaque point d’une scène, mais il est possible d’en réduire le coût en utilisant des approximations pour l’illumination sur un polygone– flat– Gouraud– Phong

Page 47: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

textures lancer de rayons

Gouraud shadingflat shading

Page 48: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Shading constant (flat)

• calcule l’illumination pour un point du polygone (centre ou un sommet)

• assume que cette illumination est la même sur tout le polygone

• couleur uniforme et Mach bands• valide si

– est constant : lumière directionnelle– est constant : projection parallèle– face polygonale

LN

EN

Page 49: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Mach bands

• Une discontinuité de valeur ou de pente d’intensité est exagérée perceptuellement par l’oeil dû à un facteur d’inhibition de récepteurs adjacents dans l’oeil

Page 50: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Calcul de normales

• Calcul analytique si on connaît la surface que le polygone approxime (e.g. sphère)

• Moyenne des normales des polygones dont le sommet fait partie (ou moyenne pondérée par l’angle formé par ce polygone au sommet)

• Si une arête existe vraiment, un sommet a i normales dont une seule est choisie dépendant du polygone à rendre

i

i

N

NN

Page 51: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Shading de Gouraud

• calcule l’illumination à chaque sommet du polygone (normale + illumination = couleur)

• interpolation bilinéaire des couleurs tout comme on le faisait pour la profondeur

• rapide mais peut rater des highlights, il faut alors un maillage plus fin des polygones

• élimine les discontinuités d’intensité mais pas celles de pente d’intensité, donc les Mach bands sont réduites mais elles sont toujours présentes

Page 52: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Flat vs. Gouraud vs. Phong

Gouraud PhongVirginia University

Flat Gouraud

Page 53: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Shading de Phong

• interpolation bilinéaire des normales pour tout point dans le polygone

• calcule l’illumination pour chaque normale interpolée

• Plus coûteux à calculer mais approxime beaucoup mieux les highlights

jii

jii

jij

jij

Page 54: IFT3355: Infographie Illumination locale © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

1

1

0 0

Problèmes reliés à l’interpolation du shading

• Silhouette polygonale

• Distorsion due à la projection en perspective

• Dépendance d’orientation

21

21

21 2

1

0o90

0

0

1 11