P1C4 - Modèle d'illumination locale Flashcards

1
Q

Modèle HSV

A

Teinte (degré), saturation, valeur (“diamant”)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

OpenGL

A

glutInitDisplayMode(GLUT_RGB)

glColor3f(.9,.5,.1)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

éclairage / illumination

A

transport de la lumière dans la scène (Phong)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

ombrage (shading)

A

considère les valeurs de l’illumination en des points d’une surface et interpole ces valeurs d’après le modèle d’ombrage (flat, Gouraud, Phong)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

illumination locale/globale

A
  • ne considère que les interactions sources-objets

- considère en plus les interactions objets-objets, forte réflexion spéculaire (effet miroir)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Phénomènes objet-lumière

A

absorption, réflexion (ambiante, diffuse, spéculaire), réfraction, émission (non traité)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

types de sources lumineuses

A
  • ambiante
  • directionnelle (supposé à l’infini, intensité selon distance)
  • ponctuelle (point précis, direction dépend du point considéré, dépend de la distance)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Lumière ambiante

A

pour chaque objet, 0≤ka≤1, I=Ia.ka (Ia intensité de la source, ka constante de réflexion ambiante, I intensité du pixel)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Réflexion diffuse

A

Loi de Lambert, intensité proportionnelle au cosinus entre la normale et la direction de la source lumineuse.
I=Ip.kd.max(N.L), avec max(N.L) = max(0,cos⍺) si N, L normalisés N normale, kd constante selon matériau (mat)
Les intensités s’additionnent !
Facteur d’atténuation : fatt.Ip.kd(N.L)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Réflexion spéculaire

A

Prend en compte la position de l’observateur (highlight), surface métallique/brillante. Proportionnel à l’angle entre réflexion et observateur. (R=2N(N.L)-L) n: éclat
I = Ip.kd.max(R.V)^n avec max(R.V) = max(0,cos⍺) si R, V normalisés
ks coefficient de réflexion spéculaire
Facteur d’atténuation fatt.Ip.kd.max(R.V)^n

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Facteur d’atténuation

A

Pour réflexions diffuse et spéculaire,
fatt = 1/d² (bof)
fatt = min(1/(C1+C2d+C3d²), 1)
fatt = 1/(d0+d) prise en compte de la position de l’observateur (d0 distance objet-observateur)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Modèle de Phong

A
I = Ia.ka + fatt.Ip(kd(N.L) + ks(R.V)^n)
I = Ia.ka + ∑j fattj.Ipj(kd(N.Lj) + ks(Rj.V)^n)
matière : ka, fatt, kd, ks, V, n
géométrie : fatt, N, L, R, V
source : Ia, fatt, Ip, L, R
vecteurs RGB : Ia, Ip, ka, kd
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Méthodes d’ombrage

A

méthode du flat
méthode de Gouraud
méthode de Phong

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Méthode du flat (ombrage)

A

ombrage constant pour la facette (calcul en un point), ok si lumière directionnelle et projection parallèle.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Méthode de Gouraud (ombrage)

A

calcul d’intensité pour chaque sommet et interpolation linéaire. Avec lissage : moyenne des normales.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Méthode de Phong (ombrage)

A

Interpolation linéaire des normales puis calcul de l’intensité en tout point. Avec lissage : moyenne des normales pour chaque sommet.

17
Q

openGL

A

gleanable(GL_LIGHTING);
glShadeModel(GL_FLAT); //constant
glShadeModel(GL_SMOOTH); //gouraud
glLightModel(GL_LIGHT_MODEL_LOCAL_VIEWER, GL_TRUE)
glLightfv(source[4], GL_POSITION, v[4])
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, v[4])

18
Q

Effet de transparence non réfractive linéaire

A

Interpolation linéaire (Newell Sancha) : I=(1-k1)I1 + k1.I2
(I1 intensité polygone 1, k1 transparence 0->opaque)
/!\ Incompatible z-buffer

19
Q

Effet de transparence non réfractive non linéaire

A

Modèle de Kay, prend en compte l’épaisseur de la matière, transparence selon la normale.
k1 = kmin + (kmax-kmin)(1-(1-N.Z)^p)
p: exposant caractéristique de la transparence
kmin kmax valeurs de transparence
N normale à la surface
/!\ Incompatible z-buffer

20
Q

Transparence avec z-buffer

A

2 passages, 2 tampons (1 pour objets transparents)
- premier passage :
pour tout polygone, si transparent stocker dans une liste, si opaque appliquer algo z-buffer
- second passage :
pour chaque polygone transparent, regarder altitude et comparer à buffer, si z>buffer alors :
> A-buffer : ajouter son facteur de transparence kc dans le tampon knew = f(kold, kc), calculer Inew=koldIold + kcIc
- combiner les deux tampons

21
Q

Transparence réfractive

A
η1.sinΘi = η2.sinΘt, indices de réfraction, rayon incident et rayon transmis. (L incident côté observateur η1, T transmis, N normale côté η1, T=sinΘt.M-cosΘt.N)
T = [ηr(N.L)-√(1-ηr²(1-(N.L)²)].N-ηrL avec ηr=η1/η2
22
Q

Transparence OpenGL

A
glColor4f(0,0,1.0,1.0,0.75);
fonctions de combinaison (mélange) :
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // sinon pas de transparence
glBlendEquation(GL_FUNC_ADD);
(permet anti-aliasing)
23
Q

Ombres propres

A

intégrées au model de Phong

24
Q

Ombres portées

A

intégrables à Phong : (ajout de Sj)
I = Ia.ka + ∑j Sj fattj.Ipj(kd(N.Lj) + ks(Rj.V)^n)
Sj = 0 si la lumière n’atteint pas le point
Sj = 1 sinon

25
Q

Ombre algorithmes

A
  • algorithme scan-line : projection sur les polygones, créations de polygones d’ombre
  • algorithme de calcul d’ombres en 2 passages
    >Weiler Atherton nécessite découpage de polygone
    >z-buffer nécessite mémoire, doit être optimisé beaucoup de transformations et calcul de pixel non visible
  • volumes d’ombre
  • calcul de la pénombre (ombres additives)