Synthèse dimages 2006-2007 Antoine Bouthors [email protected] Credits : Joëlle.

139
Synthèse d’images 2006-2007 Antoine Bouthors [email protected] http://www-evasion.imag.fr/Membres/Antoine.Bouthors/teaching/ ensimag/ Credits : Joëlle Thollot, Hector Briceño, Edmond Boyer

Transcript of Synthèse dimages 2006-2007 Antoine Bouthors [email protected] Credits : Joëlle.

Page 1: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

Synthèse d’images2006-2007

Antoine [email protected]

http://www-evasion.imag.fr/Membres/Antoine.Bouthors/teaching/ensimag/

Credits : Joëlle Thollot, Hector Briceño, Edmond Boyer

Page 2: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

2

Qu’est-ce que la synthèse d’images ?

Page 3: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

3

Pourquoi la synthèse d’images ?

• Effets spéciaux pour le cinéma• Dessins animés• Jeux vidéo• CAO• Simulateurs• Réalité virtuelle• Visualisation, imagerie médicale

Page 4: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

4

Ce que vous apprendrez

• Fondements de la synthèse d’images• Grands thèmes de la synthèse

d’images• Vocabulaire complet• Capacité de créer des images de

synthèse avec• Capacité de reproduire n’importe

quelle image de synthèse (moyennant pas mal de temps)

Page 5: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

5

Ce que vous n’apprendrez pas

• Les détails• L’utilisation de logiciel de synthèse

d’images (Catia, 3DS, Maya, Photoshop)

• La conception artistique

Page 6: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

6

Plan du cours

• Cours 1,2 : le pipeline graphique• Cours 3 : GPU• Cours 4,5,6 : rendu temps-réel

– Calcul des ombres– Niveaux de détails– Image-based rendering– Visibilité

• Cours 7 : illumination globale

Page 7: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

7

Plan

• Historique• Pipeline graphique• Transformations• Image, couleur• Rasterisation• Visibilité• Illumination

Page 8: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

8

Plan

• Historique• Pipeline graphique• Transformations• Image, couleur• Rasterisation• Visibilité• Illumination

Page 9: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

9

Lignes 2D

Page 10: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

10

Image 2D

Page 11: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

11

Lignes 3D

Page 12: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

12

Lignes cachées

Page 13: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

13

Image 3D

Page 14: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

14

Photo-réalisme

Page 15: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

15

Non-photoréalisme

© 1998 Cassidy Curtis

© 1998 Jörg Hamel

Page 16: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

16

1950 : MIT, premier écran (vectoriel) contrôlé par ordinateur.

1950-60 : SAGE, contrôle d’un écran par un crayon lumineux, premier système graphique interactif.

1963 : Sketchpad (thèse de Ivan Sutherland), propose un premier modèle complet de système graphique interactif (sélectionner, pointer, dessiner, éditer); identifie les structures de données et algorithmes nécessaires. Avancée majeure dans le domaine du graphisme.

1960-70 : premiers systèmes de DAO (General Motors, Bell, NASA). Algorithmes de base du graphisme.

1969 : premiers capteurs CCD (cameras numériques), Bell.

Historique

Page 17: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

17

1970 : premier terminal graphique a bas prix (Tektronix). ADIS graphics package : possibilité de lire/écrire un pixel, dessiner une ligne, déplacer des portions de l’image, la sortie étant dirigée sur des zones rectangulaires appelées fenêtres.

1970-80 : barrière économique dépassée, mémoires et écrans peu chers sont disponibles, écrans matriciels, apparition de la couleur, cartes d’extensions graphiques (Apple II). Algorithmes de traitements d’images, premiers algorithmes de vision artificielle.

1980-90 : premières interfaces graphiques (macintosh). Photo-réalisme (lancer de rayons, radiosité). Animations.

1984 : le langage PostScript.

1990-… : systèmes 3D interactifs, algorithmes câblés, librairie graphique OpenGL, cameras CCD peu chères, développement de la vision artificielle. Réalité virtuelle.

Page 18: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

18

Plan

• Historique• Pipeline graphique• Transformations• Image, couleur• Rasterisation• Visibilité• Illumination

Page 19: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

19

Le pipeline graphiqueModèle géométrique : objets, surfaces, sources de lumière…

Modèle d’illumination : calcul des interactions lumineuses

Caméra : point de vue et ouverture (frustum)

Fenêtre (viewport) : grille de pixel sur laquelle on plaque l’image

Couleurs, intensités convenant à l’afficheur (ex : 24 bits, RVB)

Modeling Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display

Page 20: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

20

Le pipeline graphiqueChaque primitive passe successivement par toutes les étapes

Le pipeline peut être implémenté de diverses manières avec des étapes en hardware et d’autres en software

A certaines étapes on peut disposer d’outils de programmation (ex : vertex ou pixel program)

Modeling Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display

Page 21: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

21

Le pipeline graphiqueModeling

Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display

Softwareconfigurable

Sans carte graphique 3D

Page 22: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

22

Le pipeline graphiqueModeling

Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display

Softwareconfigurable

Hardware

Cartes graphiques première

génération

Page 23: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

23

Le pipeline graphiqueModeling

Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display

Hardwareconfigurable

Cartes graphiques deuxième génération

Page 24: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

24

Le pipeline graphiqueModeling

Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display

Hardwareprogrammable

Cartes graphiques troisième

génération

Page 25: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

25

Page 26: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

26

Modeling transformationsModeling

Transformations Passage du système de coordonnées local de chaque objet 3D (object space) vers un repère global (world space)

Object space

World space

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display

Page 27: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

27

IlluminationLes primitives sont éclairées selon leur matériau, le type de surface et les sources de lumière.

Les modèles d’illumination sont locaux (pas d’ombres) car le calcul est effectué par primitive.

Modeling Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display

Page 28: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

28

Transformation caméraPasse des coordonnées du monde à celles du point de vue (repère caméra ou eye space).

En général le repère est aligné selon z.

Eye space

World space

Modeling Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display

Page 29: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

29

ClippingCoordonnées normalisées (NDC : normalized device coordinates)

Eye space

NDC

Les portions en dehors du volume de vue (frustum) sont coupées.

Modeling Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display

Page 30: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

30

Projection

NDC Screen Space

Les primitives 3D sont projetées sur l’image 2D (screen space)

Modeling Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display

Page 31: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

31

RasterisationDécoupe la primitive 2D en pixels

Interpole les valeurs connues aux sommets : couleur, profondeur,…

Modeling Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display

Page 32: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

32

Visibilité, affichage

Calcul des primitives visibles : z-buffer.

Remplissage du frame buffer avec le bon format de couleur.

Modeling Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display

Page 33: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

33

Système de coordonnées

Object space

World space

Eye Space / Camera Space

Screen Space

Clip Space (NDC)

Modeling Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display

Page 34: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

34

Plan

• Historique• Pipeline graphique• Transformations• Image, couleur• Rasterisation• Visibilité• Illumination

Page 35: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

35

Transformations

Translation Rotation

Rigide / EuclidienneLinéaire

Affine

Projective

Similitude

Homothétieisotrope Homothéti

eReflection

Perspective

Identité

Page 36: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

36

Transformations

Passage du système de coordonnées local de chaque objet 3D (object space) vers un repère global (world space)

Positionnement des objets dans la scène 3D

Modeling Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display

Page 37: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

37

Coordonnées homogènes

• Représentation matricielle uniforme de tous les types de transformations

x'y'z'w'

=

xyzw

aei

m

bfjn

cgko

dhlp

p' = M p

Page 38: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

38

Coordonnées homogènes

• La plupart du temps w = 1• Si on multiplie un vecteur par une

transformation affine w n’est pas modifié

• On divise par w pour revenir en cartésienx'

y'z'1

=

xyz1

aei0

bfj0

cgk0

dhl1

Page 39: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

39

Transformations affines

Translations :

Rotations : Représentation par les

angles d'Euler :

Changements d'échelles :

Page 40: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

40

Composition

(0,0)

(1,1)

(2,2)

(0,0)

(5,3)

(3,1)

Scale(2,2)

Translate(3,1)

TS =

2

0

0

20

0

1

0

0

13

1

2

0

0

23

1=

Multiplication de matrices : p' = T ( S p ) = TS p

0 0 1 0 0 1 0 0 1

Page 41: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

41

Non-commutatif !!!

homothétie puis translation : p' = T ( S p ) = TS p

translation puis homothétie : p' = S ( T p ) = ST p

(0,0)

(1,1)

(4,2)(3,1

)

(8,4)

(6,2)

(0,0)

(1,1)

(2,2)

(0,0)

(5,3)

(3,1)

Scale(2,2)

Translate(3,1)

Translate(3,1)

Scale(2,2)

Page 42: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

42

Hiérarchie de transformations

Objet complexe;

Coordonnées relatives (ex : la roue par rapport au socle);

Concaténation de transformations.

Hiérarchie

dessiner = parcourir un arbre;

conserve la cohérence.

Page 43: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

43

Projections

Passe des coordonnées du monde 3D aux coordonnées écran 2D.

Modeling Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display

Page 44: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

44

Projections

• Utilisées en synthèse et en vision (modèles de caméras)

• Deux grandes familles :

Page 45: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

45

Les projections parallèles :• projection orthographique lorsque la direction de projection est perpendiculaire au plan de projection,• projection oblique sinon.

Propriétés géométriques des projections parallèles :• Les projections parallèles conservent le parallélisme des droites.• Les projections parallèles conservent les rapports des distances selon une direction donnée.

Page 46: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

46

Matrice en coordonnées homogènes de la projection orthographique canonique :

P(xM, yM, zM, wM) = (xM, yM, 0, 1)

Page 47: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

47

Les projections perspectives :

L'image d'un point M par une projection en perspective sur le plan P de centre O est l'intersection de la droite OM avec le plan P.Une projection en perspective dont le centre de projection est à l'infini est une projection parallèle.

Page 48: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

48

Point de fuite : Si une droite D coupe le plan de projection, il existe un point F, appelé point de fuite appartenant à la projection de toute droite parallèle à D.

On différencie les projections en perspective par le nombre de points de fuite pour les directions des axes du repère.

Page 49: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

49

Propriétés géométriques des projections en perspective• Les projections perspectives ne conservent pas le parallélisme des droites non parallèles au plan de projection.• La taille d'un objet est inversement proportionnelle à sa distance au point de projection : |p(M) p(M')| = d0 . 1/d . |MM'|

Page 50: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

50

Calcul des coordonnées projetées en perspectiveOn se place dans le cas d'une projection canonique : Centre de projection à l'origine et plan de projection parallèle à xOy. Coordonnées dans le plan de projection

P(xM, yM) = ((near . xM) / (-zM), (near . yM) / (-zM))

Page 51: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

51

Plan

• Historique• Pipeline graphique• Transformations• Image, couleur• Rasterisation• Visibilité• Illumination

Page 52: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

52

Visibilité, affichage

Calcul des primitives visibles : z-buffer.

Remplissage du frame buffer avec le bon format de couleur.

Modeling Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display

Page 53: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

53

Qu’est-ce qu’une image ?

Une image réelle : fonction à 2 variables donnant une intensitéou une couleur.

Une image numérique : tableau de pixels (picture element).

=> échantillonnage

Page 54: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

54

Informations nécessaires à la manipulation d’une image :

•nombre de lignes,•nombre de colonnes,•format des pixels (bits, niveaux de gris, de couleurs),•compression éventuelle.La résolution du media de visualisation est donnée en dpi (dots per inch) : 100 pour un moniteur, 300-1200 pour une imprimante.

Suivant les cas on utilisera diverses méthodes d’affichage :

Page 55: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

55

L’intensité de chaque point doit aussi être échantillonnée : en général on utilise 8 bits pour coder le niveau d’intensité (niveau de gris) et donc 8*3 = 24 bit pour les couleurs (RVB).

Il existe de très nombreux formats de fichiers images permettant de stocker ces informations ainsi que le tableau des valeurs : formats textes (PPM), binaires (BMP, GIF), binaires compressés avec (JPG) ou sans perte (PNG), …

Page 56: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

56

Le « frame buffer »

Partie de la mémoire réservée à l’affichage (Vidéo RAM).

Double buffer pour permettre un affichage plus fluide : on affiche un des buffer pendant que l’on met l’autre à jour.

Quadruple buffer pour faire de la stéréo en double buffer : deux buffer par œil.

Page 57: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

57

Qu’est-ce-que la couleur ?

• Qu’est-ce qu’une couleur ? Définitions – Artistiques

• Teinte, saturation, luminance

– Physiques/biologiques• Spectre, stimulus• Fonctions de base universelles• Espaces perceptuellement uniformes

– Informatiques• RGB, CMYK, HSV…

Page 58: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

58

Modèle du peintre : TLS = Teinte, Luminance, Saturation

(HSV: Hue, Saturation, Brightness)

Pratique pour les

interfaces graphiques

Page 59: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

59

Représentation spectrale : spectre = fonction de la longueur d’onde dans le domaine visible.

Des spectres différents donnent la même couleur car l’oeil n’a que 3 types de capteurs : les cones.

Cones 2 couleurs identiques pour l’oeil

Page 60: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

60

Echantillonnage spectral : risque de perte d’information si on ne choisi pas un bon jeu d’échantillon. Très bons résultats avec 4 échantillons choisis ou 9 échantillons réguliers.

RVB : additif, système visuel humain, écrans.

CMJ : soustractif, peinture, imprimantes.

Page 61: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

61

RVB : Un léger défaut

Page 62: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

62

Une nouvelle fonction de base

•Les couleurs primaires ont un défaut :– L’ensemble des couleurs visibles ne peut pas

être représenté avec des coordonnées positives

•Besoin de nouvelles fonctions de base– Couvrant tout le visible– Avec des coordonnées positives– Linéaires par rapport à RVB

•Commission Internationale de l’Éclairage– www.cie.co.at– 1931

Page 63: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

63

CIE XYZ

Page 64: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

64

Modèle de la Commission Internationale de l'Éclairage (CIE) : 3 primaires standard X, Y, Z sans coeff négatifs.

La couleur est donnée par x, y, z :

Page 65: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

65

Représentation des couleurs complémentaires

La gamme de couleur d'une imprimante est généralement plus petite que celle du moniteur => les couleurs vues à l'écran ne peuvent pas toutes être rendues en impression => il faut réduire la gamme du moniteur.Il n'existe pas de base trichromique de couleurs visibles qui permette de couvrir l'ensemble des couleurs visibles. Il est donc nécessaire d'avoir recours à des composantes soustractives pour couvrir le spectre visible dans les modèles tels que RVB.

Page 66: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

66

Perception des couleurs

• Distance entre deux couleurs :– Dans l’espace de base : facile– Pour la vision humaine : utile

• Idéalement, il y a un lien entre les deux• Espace des couleurs perceptuellement

uniforme– Lien constant, indépendant de la couleur

• Différences juste perceptibles :– Plus petite distance entre deux couleurs perçues

comme différentes

Page 67: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

67

Différences juste perceptibles dans l’espace xy

Page 68: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

68

Espaces perceptuellement uniformes

•CIE, 1976•L*a*b* et L*u*v*

An : coordonnée d’un blanc de référence

•En pratique, ce n’est pas parfaitement conforme à la perception => il y a encore de la recherche…

L*116 Y /Yn 1316 si Y /Yn0.008856

L*903.3Y /Yn sinon

a*500 X /Xn 13 Y /Yn

13

b*200 Y /Yn 13 Z/Zn

13

u*13L*(u' u'n)v*13L*(v' v'n)u' 4XX15Y3Z

v' 9YX15Y3Z

Page 69: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

69

Résumé : Espaces de couleur

Page 70: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

70

Intensité lumineuse• Avec 8 bits par couleur, 16m couleurs mais

seulement 768 niveau de luminosité possibles

• Dans la réalité, rapport de luminosité de 1:1010 entre la nuit et le jour

• Sensibilité de l’œil logarithmique

Ferwerda et al. ‘96

Page 71: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

71

Intensité lumineuse• Formats d’image classiques : 24 bits =>

Besoin d’un codage HDR (High Dynamic Range)

• Sensibilité des appareils photos limitée => Besoin d’outils d’acquisition HDR

• Résolution des écrans limitée à 24 bits => Besoin d’outils d’affichage HDR

Page 72: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

72

Intensité lumineuse• Formats d’image HDR

– SGI LogLuv 32 bits TIFF– OpenEXR– …

Page 73: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

73

Intensité lumineuse• Acquisition HDR

– A partir d’appareils photos standards

– A partir de caméras HDR (récent)

Page 74: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

74

Intensité lumineuse• Rendu HDR

– Sur un écran standard, en simulant la sensibilité de l’œil (Tone Mapping)

• Contrast & brightness• Color balance• Low vision• Glare• Motion blur• Lens flare

– Sur écran HDR (expérimental)

Page 75: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

75

Plan

• Historique• Pipeline graphique• Transformations• Image, couleur• Rasterisation• Visibilité• Illumination

Page 76: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

76

RasterisationDécoupe la primitive 2D en pixels

Interpole les valeurs connues aux sommets : couleur, profondeur,…

Modeling Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display

Page 77: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

77

Primitives 2DDans tous les cas il faut savoir afficher du 2D, ligne ou

polygone il faut savoir quels pixels allumer pour un objet

mathématique. il faut savoir remplir un polygone.

Page 78: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

78

Tracé de droites• Méthodes brutes (naïve) : discrétisation de la

primitive en n points, puis approximation au pixel le plus proche pour chacun des n points. Peu efficace et peu précise.

• Méthodes incrémentales : La position du point suivant est choisi de façon à minimiser l’erreur d’approximation. Méthode optimale pour le tracé de segments de droites.

Page 79: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

79

Algorithmes de Bresenham (1965)

Premier octant :Une droite est définie par l’équation: y = mx +B

On cherche le prochain pixel comme celui qui minimise l’erreur e = (d2 – d1)/2

Au premier point (x0+1, y0+m), e1 = (d2 - d1)/2 = - 0.5;

Ensuite l’erreur se propage : NE : e = e + m - 1; E : e = e + m.

void Bresenham(x0, y0, x1, y1, valeur) { int x; double m = y1 - y0 / x1 - x0 ; double e = -0.5; int y = y0; for(x = x0; x <= x1 ; x++) { e = e + m ; AfficherPixel(x, y, valeur); if (e >= 0) { y = y + 1; e = e - 1;}}}

Page 80: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

80

Remplissage de polygonePrincipe (scan-line)1. Remplissage par recherche

des points d'intersection d'une ligne horizontale avec des contours (un nombre pair).

2. Une fois les points d'intersection obtenus, remplissage selon une règle de parité : incrémentation de la parité à chaque traversée de frontière et tracé si impair.

3. Gestion des conflits frontaliers : on prend les points intérieurs au polygone pour éviter les chevauchements.

Page 81: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

81

Texturing - Filtering

Page 82: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

82

Aliasing

aliased antialiased

Page 83: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

83

Plan

• Historique• Pipeline graphique• Transformations• Image, couleur• Rasterisation• Visibilité• Illumination

Page 84: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

84

Élimination des parties cachées

Page 85: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

85

Une scène = un ensemble de primitives :

En général un ensemble de polygones (triangles)

Détermination des surfaces visibles : équivalent au tri => O(n log

n)

Page 86: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

86

Algorithme à précision objet : le masquage se fait sur le modèle de données physiques. => Calcul en coordonnées du monde.

Avantage : le masquage des parties cachées est valable quelle que soit l'échelle du dessin.Inconvénient : plus cher.

Algorithme à précision image : le masquage se fait sur les pixels écran. => Calcul en coordonnées fenêtre.

Avantage : peut utiliser la cohérence, plus rapide en moyenneInconvénient : précision limitée au nombre de pixels

Page 87: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

87

Backface culling : éliminer les parties de la surface pour lesquelles la normale pointe dans la direction opposée au point d'observation. Ces parties, vues du point d'observation, sont en effet occultées par l'objet lui-même.

La suppression des faces arrières suffit à éliminer les parties cachées :

1. si l'objet est seul dans la scène (il ne faut pas qu'un objet puisse en masquer un autre);

2. si l'objet est convexe (dans un objet concave, des faces avant peuvent être masquées par d'autres).

Page 88: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

88

Calcul : produit scalaire

– (Sommet-PointDeVue)*normale

– > 0 : on garde le polygone

– < 0 : on l’élimine

Économise 50 % du temps de calcul => préalable aux autres algos

Page 89: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

89

Algorithme du peintre : peindre les facettes polygonales dans la mémoire vidéo suivant un ordre de distance décroissante au point d'observation.1. Trier les facettes suivant les z décroissants dans le repère de la camera.2. Résoudre les ambiguïtés dans la liste lorsque les facettes se recouvrent.3. Projeter les facettes et remplir les polygones suivant la liste.

Page 90: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

90

Pour ou contre ?• Le plus intuitif des algorithmes• Coût en mémoire :

– Affichage direct à l’écran : O(p)– Il faut trier les polygones : O(nlogn)

• Temps de calcul :– On affiche toute la scène – Efficace surtout sur des petites scènes

Page 91: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

91

Area Subdivision (Warnock)

• On utilise la cohérence spatiale• On divise l’écran en zones de travail• Pour chaque zone, on ne considère que les

polygones qui l’intersectent• Si la visibilité est connue, on s’arrête• Si la visibilité est inconnue, on subdivise• On interrompt la subdivision quand on atteint

une taille limite

Page 92: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

92

Polygones/zone de travail

EnglobeInclus

Intersecte Disjoint

Quand est-ce que la visibilité est connue ?

• Tous les polygones sont disjoints • Un seul polygone intersecte ou inclus• Un polygone englobant qui est devant les

autres

Page 93: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

93

Warnock : exemple (1)

Page 94: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

94

Warnock : exemple (2)

Page 95: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

95

Warnock : exemple (3)

Page 96: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

96

Warnock : exemple (4)

Page 97: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

97

Warnock : exemple (5)

Page 98: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

98

Warnock : exemple (6)

Page 99: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

99

Warnock : pour ou contre

• Utilise la cohérence spatiale• Plus efficace avec des grands polygones• Coût mémoire parfois élevé• Implémentation facile : appels récursifs à

la même fonction

Page 100: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

100

Z-Buffer

• Un tableau, de la taille de l’écran • On stocke la valeur maximale de z pour

chaque pixel– z est la direction de visée, exprime la distance à

l’oeil

• Initialisation : tous les pixels à moins l’infini• Projection de tous les polygones

– On met à jour les pixels de la projection du polygone

Page 101: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

101

Z-buffer : algorithme

• Pour chaque polygone :– Projeter le polygone sur le plan image– Pour chaque pixel dans la projection du

polygone•Calculer la valeur de z pour ce pixel•Si z est supérieur à la valeur courant de

z max– Changer z maximal– Afficher le pixel à l’écran, de la couleur du

polygone

Page 102: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

102

Z-buffer (1)

-∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞

-∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞

-∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞

-∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞

-∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞

-∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞

-∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞

Page 103: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

103

2

Z-buffer (2)

-∞ 1 -∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞

-∞ 1 1 1 -∞ -∞ -∞ -∞ -∞ -∞

-∞ 2 2 2 2 -∞ -∞ -∞ -∞

-∞ 2 2 2 2 2 2 -∞ -∞ -∞

-∞ 3 3 3 3 3 -∞ -∞ -∞ -∞

-∞ 3 3 -∞ -∞ -∞ -∞ -∞ -∞ -∞

-∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞

Page 104: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

104

2

Z-buffer (3)

-∞ 1 -∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞

-∞ 1 1 2

-∞ 2 2 2 2

-∞ 2 2 2 2 2 2

-∞ 3 3

-∞ 3 3 -∞ -∞ -∞ -∞ -∞ -∞ -∞

-∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞ -∞

2 2 2 2 2 2

2222

2 2 2

2222333

Page 105: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

105

Z-Buffer : pour ou contre

• Pour :– Facile à implémenter, scan-line– Travaille dans l’espace image

• Rapide

• Contre :– Coût en mémoire– Travaille dans l’espace image

• aliasing• artefacts

Page 106: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

106

Z-Buffer• Combien d’information ?

– Combien de bits pour z max ?– Limité par la mémoire :

• 8 bits, 1024x1280: 1.25 Mb• 16 bits, 1024x1280: 2.5 Mb

– Nécessaire pour la séparation des objets proches :• 8 bits, distance minimale entre objets de 0.4 %

(4mm pour 1m)• 16 bits, distance minimale de 0.001 % (1mm

pour 1km)• Que se passe t-il en dessous de cette limite ?

Page 107: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

107

Coûts comparés

0

100

200

300

400

500

600

100 2500 60000

Depth SortWarnockScan LineZ- Buffer

Page 108: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

108

Plan

• Historique• Pipeline graphique• Transformations• Image, couleur• Rasterisation• Visibilité• Illumination

Page 109: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

109

IlluminationLes primitives sont éclairées selon leur matériau, le type de surface et les sources de lumière.

Modeling Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display

Page 110: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

110

Illumination

Quelle couleur doit-on afficher pour ce pixel ?

=> Résultat de l’interaction de la lumière avec la scène et l’oeil.

Dépend donc de :

• position du point dans l’espace,

• orientation du point (élément de surface),

• caractéristiques de la surface (diffusion, réflexion, transparence…),

• sources de lumière (surfaciques, ponctuelles…).

•Position et orientation de la “caméra”

Page 111: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

111

La lumière : onde et corpuscule => propagation et transport.

Un photon transporte une certaine énergie à une longueur d’onde donnée. A chaque interaction (réflexion, transmission, réfraction, absorption, diffraction et interference) il peut changer sa direction et sa couleur (spatial et spectral).

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

L’image parfaite demande de suivre une infinité de photons, il faut donc simplifier le problème :

Illumination locale, ombrage, illumination globale.

Page 112: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

112

Modèles d'illumination localeOn suppose que les objets interagissent avec une seule source de lumière ponctuelle.

On ne calcule pas les interactions entre objets => pas d’ombres, pas d’effet miroir…

On calcule la couleur en chaque point.

Page 113: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

113

BRDF : Bi-directional Reflectance Distribution Function

Page 114: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

114

Rapport entre la quantite de lumière reçue et émise;

Décrit complètement le comportement de la surface en chaque point et pour chaque direction d’émission et de réception.

Page 115: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

115

Modèle complexe et difficile à obtenir

Il existe des systèmes de saisie :

Page 116: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

116

Lumière ambiante : une source lumineuse non ponctuelle qui émet de manière constante dans toutes les directions et sur toutes les surfaces une lumière d'intensité Ia.

Alors pour un point P de la surface, l'intensité lumineuse sera I(P) = ρa Ia;qui est constante en tous points de la surface, et où ρa est un facteur qui détermine la quantité de lumière ambiante réfléchie par la surface et est fonction des propriétés matérielles de la surface (0 <= ρa <= 1).

Modèles simplifiés

Page 117: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

117

On augmente ρa

On ne voit pas la 3D;

Modélise simplement l’interréflexion entre toutes les surfaces d’une scène;

Evite qu’un objet dans l’ombre soit complètement noir.

Page 118: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

118

Réflexion diffuse : source lumineuse ponctuelle qui émet de manière constante dans toutes les directions.

Les surfaces Lambertiennes : surfaces mates (craie, papier), l'intensité en un point de la surface dépend uniquement de l'angle entre la normale à la surface et la direction du point à la source lumineuse.

BRDF uniforme

Surface

Page 119: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

119

L

I(P) = ρd I cos θ

I(P) = ρd I NP • LP

I : intensité de la source lumineuse ponctuelle;

ρd : coefficient de réflexion diffuse de la surface (propriété matérielle : 0 <= ρd <= 1);

NP : la normale à la surface au point P;

LP : la direction du point P à la source lumineuse.

P

N

Page 120: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

120

On augmente ρd, ρa = 0

Page 121: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

121

ρd

ρa

Diffuse + ambiante

Page 122: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

122

Réflexion spéculaire :

Surfaces brillantes (miroir).

Loi de Snell / Descartes : la lumière qui atteind l’objet est réflechie dans la direction ayant le même angle.

BRDF : distribution de Dirac

Surface

l

n

r

Page 123: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

123

Problème : avec une source de lumière ponctuelle, l’effet n’est visible que dans une direction.

C’est utile pour l’illumination indirecte (ombres, miroirs) mais inutilisable pour calculer la couleur des pixels.

On suppose que la surface n’est pas parfaitement spéculaire.

Modèle de Phong.

Page 124: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

124

Modèle de Phong [1975] : la réflexion est importante lorsque l'angle α entre la direction d'observation du point de la surface V et la direction de réflexion R (symétrique de la direction LP par rapport à NP ) est faible. Cette réflexion diminue de façon importante lorsque l'angle augmente.

I(P) = ρs I cosn α

n = rugosité : (1024) pour un miroir, 1 pour une surface très rugueuse.

L

R

V

P

Page 125: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

125

ρs

n

Page 126: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

126

Modèle complet : on ajoute tout, on pondère avec un coefficient d’atténuation Fd :

I(P) = ρa Ia + Fd I ( ρd NP • LP + ρs cosn α )

Modèle coloré : une intensité par composante de couleur.

Plusieurs sources lumineuses : somme des intensités.

Transparence : manière de combiner couleur de fond et couleur de l’objet. Un paramètre de transparence t.

I = t.I(P) + (1-t).I(derriere P)

Halo : la couleur dépend de l’épaisseur traversée.

Page 127: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

127

Page 128: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

128

Page 129: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

129

Page 130: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

130

Cook-Torrance-Sparrow Model

Une surface est constituée de microfacettes;

La lumière arrivant sur une facette subit toutes les interactions possibles;

On fait une étude statistique qui depend de la répartitions des micro-facettes pour obtenir une BRDF valable sur toute la surface.

Il n’y a pas de formule simple mais ce modèle approxime très bien les effets physiques des matériaux

Page 131: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

131

Modèles d’interpolation (shading)

Flat shading : pour les facettes polygonales. Calculer une seule valeur d'illumination pour l'ensemble de la facette. Par exemple au point milieu de la facette en prenant pour normale à la surface celle du plan contenant la facette.

Cette approche est valide par rapport aux modèles d'illumination vus précédemment lorsque :

• la source lumineuse est à l'infini,

• la projection est orthographique,

• la surface est composée de facettes polygonales uniquement.

Page 132: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

132

Problème : il y a des discontinuités le long des facettes;

L’oeil les voit très bien : effet Mach Banding;

Interpolation.

Intensité réelle

Intensité perçue

Page 133: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

133

Gouraud shading : élimine les discontinuités d'intensité sur une facette polygonale par interpolation des valeurs d'intensité aux sommets de la facette.1. Calcul des normales aux

sommets;

2. Calcul des intensités aux sommets des facettes polygonales;

3. Interpolation par un algo de balayage.

Page 134: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

134

Phong shading : calcul des normales par interpolation

=> Permet de traiter les effets spéculaires contenus dans une facette.

Page 135: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

135

A

B C

D

A

C

D

B

Problèmes

- Interpolation par balayage : perspective, rotation;

- Normales : Normales aux

sommets

Normales aux faces

Page 136: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

136

Page 137: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

137

Sources de lumiere• Ponctuelle :

– Controle de la position– Rayons emis dans toutes les directions– Intensite décroit comme le carré de la distance

• Directionnelle :– Controle de l’intensité– Lumiere située à l’infini (direction)– Rayons de lumière parallèles

Page 138: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

138

Environment mapping :

Les coordonnées de texture sont calculées d’après la normale.

Reflection / refraction mapping :

Les coordonnées de texture sont calculées après réflection ou réfraction d’un rayon partant de l’oeil.

Textureoeil

Page 139: Synthèse dimages 2006-2007 Antoine Bouthors Antoine.Bouthors@imag.fr  Credits : Joëlle.

139

Résumé Il nous reste à voir les traitements que l’on peut

faire sur la scène pour accélérer le rendu ou pour améliorer le résultat visuel

Rendu temps-réel–Calcul des ombres–Visibilité–Niveaux de détails–Image-based rendering

Illumination globale

Modeling Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display