La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Synthèse dimages 2006-2007 Antoine Bouthors Credits : Joëlle.

Présentations similaires


Présentation au sujet: "Synthèse dimages 2006-2007 Antoine Bouthors Credits : Joëlle."— Transcription de la présentation:

1 Synthèse dimages Antoine Bouthors Credits : Joëlle Thollot, Hector Briceño, Edmond Boyer

2 2 Quest-ce que la synthèse dimages ?

3 3 Pourquoi la synthèse dimages ? Effets spéciaux pour le cinéma Dessins animés Jeux vidéo CAO Simulateurs Réalité virtuelle Visualisation, imagerie médicale

4 4 Ce que vous apprendrez Fondements de la synthèse dimages Grands thèmes de la synthèse dimages Vocabulaire complet Capacité de créer des images de synthèse avec Capacité de reproduire nimporte quelle image de synthèse (moyennant pas mal de temps)

5 5 Ce que vous napprendrez pas Les détails Lutilisation de logiciel de synthèse dimages (Catia, 3DS, Maya, Photoshop) La conception artistique

6 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

7 7 Plan Historique Pipeline graphique Transformations Image, couleur Rasterisation Visibilité Illumination

8 8 Plan Historique Pipeline graphique Transformations Image, couleur Rasterisation Visibilité Illumination

9 9 Lignes 2D

10 10 Image 2D

11 11 Lignes 3D

12 12 Lignes cachées

13 13 Image 3D

14 14 Photo-réalisme

15 15 Non-photoréalisme © 1998 Cassidy Curtis © 1998 Jörg Hamel

16 : MIT, premier écran (vectoriel) contrôlé par ordinateur : SAGE, contrôle dun écran par un crayon lumineux, premier système graphique interactif : 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 : premiers systèmes de DAO (General Motors, Bell, NASA). Algorithmes de base du graphisme : premiers capteurs CCD (cameras numériques), Bell. Historique

17 : premier terminal graphique a bas prix (Tektronix). ADIS graphics package : possibilité de lire/écrire un pixel, dessiner une ligne, déplacer des portions de limage, la sortie étant dirigée sur des zones rectangulaires appelées fenêtres : barrière économique dépassée, mémoires et écrans peu chers sont disponibles, écrans matriciels, apparition de la couleur, cartes dextensions graphiques (Apple II). Algorithmes de traitements dimages, premiers algorithmes de vision artificielle : premières interfaces graphiques (macintosh). Photo-réalisme (lancer de rayons, radiosité). Animations : le langage PostScript … : 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.

18 18 Plan Historique Pipeline graphique Transformations Image, couleur Rasterisation Visibilité Illumination

19 19 Le pipeline graphique Modèle géométrique : objets, surfaces, sources de lumière… Modèle dillumination : calcul des interactions lumineuses Caméra : point de vue et ouverture (frustum) Fenêtre (viewport) : grille de pixel sur laquelle on plaque limage Couleurs, intensités convenant à lafficheur (ex : 24 bits, RVB) Modeling Transformations Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasterization) Visibility / Display

20 20 Le pipeline graphique Chaque primitive passe successivement par toutes les étapes Le pipeline peut être implémenté de diverses manières avec des étapes en hardware et dautres en software A certaines étapes on peut disposer doutils 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

21 21 Le pipeline graphique Modeling Transformations Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasterization) Visibility / Display Software configurable Sans carte graphique 3D

22 22 Le pipeline graphique Modeling Transformations Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasterization) Visibility / Display Software configurable Hardware Cartes graphiques première génération

23 23 Le pipeline graphique Modeling Transformations Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasterization) Visibility / Display Hardware configurable Cartes graphiques deuxième génération

24 24 Le pipeline graphique Modeling Transformations Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasterization) Visibility / Display Hardware programmable Cartes graphiques troisième génération

25 25

26 26 Modeling transformations Modeling Transformations Passage du système de coordonnées local de chaque objet 3D (object space) vers un repère global (world space) Object spaceWorld space Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasterization) Visibility / Display

27 27 Illumination Les primitives sont éclairées selon leur matériau, le type de surface et les sources de lumière. Les modèles dillumination sont locaux (pas dombres) 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

28 28 Transformation caméra Passe 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

29 29 Clipping Coordonnées normalisées (NDC : normalized device coordinates) Eye spaceNDC 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

30 30 Projection NDC Screen Space Les primitives 3D sont projetées sur limage 2D (screen space) Modeling Transformations Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasterization) Visibility / Display

31 31 Rasterisation Dé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

32 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

33 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

34 34 Plan Historique Pipeline graphique Transformations Image, couleur Rasterisation Visibilité Illumination

35 35 Transformations Translation Rotation Rigide / Euclidienne Linéaire Affine Projective Similitude Homothétie isotrope Homothétie Reflection Perspective Identité

36 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

37 37 Coordonnées homogènes Représentation matricielle uniforme de tous les types de transformations x' y' z' w' = xyzwxyzw aeimaeim bfjnbfjn cgkocgko dhlpdhlp p' = M p

38 38 Coordonnées homogènes La plupart du temps w = 1 Si on multiplie un vecteur par une transformation affine w nest pas modifié On divise par w pour revenir en cartésien x' y' z' 1 = xyz1xyz1 aei0aei0 bfj0bfj0 cgk0cgk0 dhl1dhl1

39 39 Transformations affines Translations : Rotations : Représentation par les angles d'Euler : Changements d'échelles :

40 40 Composition (0,0 ) (1,1 ) (2,2 ) (0,0 ) (5,3 ) (3,1 ) Scale(2,2)Translate(3,1 ) TS = = Multiplication de matrices : p' = T ( S p ) = TS p

41 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 ) Scale(2,2)

42 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.

43 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

44 44 Projections Utilisées en synthèse et en vision (modèles de caméras) Deux grandes familles :

45 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.

46 46 Matrice en coordonnées homogènes de la projection orthographique canonique : P(x M, y M, z M, w M ) = (x M, y M, 0, 1)

47 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.

48 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.

49 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')| = d 0. 1/d. |MM'|

50 50 Calcul des coordonnées projetées en perspective On 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(x M, y M ) = ((near. x M ) / (-z M ), (near. y M ) / (-z M ))

51 51 Plan Historique Pipeline graphique Transformations Image, couleur Rasterisation Visibilité Illumination

52 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

53 53 Quest-ce quune image ? Une image réelle : fonction à 2 variables donnant une intensité ou une couleur. Une image numérique : tableau de pixels (picture element). => échantillonnage

54 54 Informations nécessaires à la manipulation dune 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, pour une imprimante. Suivant les cas on utilisera diverses méthodes daffichage :

55 55 Lintensité de chaque point doit aussi être échantillonnée : en général on utilise 8 bits pour coder le niveau dintensité (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), …

56 56 Le « frame buffer » Partie de la mémoire réservée à laffichage (Vidéo RAM). Double buffer pour permettre un affichage plus fluide : on affiche un des buffer pendant que lon met lautre à jour. Quadruple buffer pour faire de la stéréo en double buffer : deux buffer par œil.

57 57 Quest-ce-que la couleur ? Quest-ce quune couleur ? Définitions –Artistiques Teinte, saturation, luminance –Physiques/biologiques Spectre, stimulus Fonctions de base universelles Espaces perceptuellement uniformes –Informatiques RGB, CMYK, HSV…

58 58 Modèle du peintre : TLS = Teinte, Luminance, Saturation (HSV: Hue, Saturation, Brightness) Pratique pour les interfaces graphiques

59 59 Représentation spectrale : spectre = fonction de la longueur donde dans le domaine visible. Des spectres différents donnent la même couleur car loeil na que 3 types de capteurs : les cones. Cones 2 couleurs identiques pour loeil

60 60 Echantillonnage spectral : risque de perte dinformation 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.

61 61 RVB : Un léger défaut

62 62 Une nouvelle fonction de base Les couleurs primaires ont un défaut : –Lensemble 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.atwww.cie.co.at –1931

63 63 CIE XYZ

64 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 :

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

66 66 Perception des couleurs Distance entre deux couleurs : –Dans lespace 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

67 67 Différences juste perceptibles dans lespace xy

68 68 Espaces perceptuellement uniformes CIE, 1976 L*a*b* et L*u*v* A n : coordonnée dun blanc de référence En pratique, ce nest pas parfaitement conforme à la perception => il y a encore de la recherche…

69 69 Résumé : Espaces de couleur

70 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:10 10 entre la nuit et le jour Sensibilité de lœil logarithmique Ferwerda et al. 96

71 71 Intensité lumineuse Formats dimage classiques : 24 bits => Besoin dun codage HDR (High Dynamic Range) Sensibilité des appareils photos limitée => Besoin doutils dacquisition HDR Résolution des écrans limitée à 24 bits => Besoin doutils daffichage HDR

72 72 Intensité lumineuse Formats dimage HDR –SGI LogLuv 32 bits TIFF –OpenEXR –…

73 73 Intensité lumineuse Acquisition HDR –A partir dappareils photos standards –A partir de caméras HDR (récent)

74 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)

75 75 Plan Historique Pipeline graphique Transformations Image, couleur Rasterisation Visibilité Illumination

76 76 Rasterisation Dé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

77 77 Primitives 2D Dans 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.

78 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 lerreur dapproximation. Méthode optimale pour le tracé de segments de droites.

79 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 lerreur e = (d2 – d1)/2 Au premier point (x0+1, y0+m), e1 = (d2 - d1)/2 = - 0.5; Ensuite lerreur 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; }}}

80 80 Remplissage de polygone Principe (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.

81 81 Texturing - Filtering

82 82 Aliasing aliased antialiased

83 83 Plan Historique Pipeline graphique Transformations Image, couleur Rasterisation Visibilité Illumination

84 84 Élimination des parties cachées

85 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)

86 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 moyenne Inconvénient : précision limitée au nombre de pixels

87 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).

88 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

89 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.

90 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

91 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 lintersectent Si la visibilité est connue, on sarrête Si la visibilité est inconnue, on subdivise On interrompt la subdivision quand on atteint une taille limite

92 92 Polygones/zone de travail Englobe Inclus 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

93 93 Warnock : exemple (1)

94 94 Warnock : exemple (2)

95 95 Warnock : exemple (3)

96 96 Warnock : exemple (4)

97 97 Warnock : exemple (5)

98 98 Warnock : exemple (6)

99 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

100 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 à loeil Initialisation : tous les pixels à moins linfini Projection de tous les polygones –On met à jour les pixels de la projection du polygone

101 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

102 102 Z-buffer (1)

103 103 2 Z-buffer (2)

104 104 2 Z-buffer (3)

105 105 Z-Buffer : pour ou contre Pour : –Facile à implémenter, scan-line –Travaille dans lespace image Rapide Contre : –Coût en mémoire –Travaille dans lespace image aliasing artefacts

106 106 Z-Buffer Combien dinformation ? –Combien de bits pour z max ? –Limité par la mémoire : 8 bits, 1024 x 1280: 1.25 Mb 16 bits, 1024 x 1280: 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 % (1mm pour 1km) Que se passe t-il en dessous de cette limite ?

107 107 Coûts comparés

108 108 Plan Historique Pipeline graphique Transformations Image, couleur Rasterisation Visibilité Illumination

109 109 Illumination Les 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

110 110 Illumination Quelle couleur doit-on afficher pour ce pixel ? => Résultat de linteraction de la lumière avec la scène et loeil. Dépend donc de : position du point dans lespace, 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

111 111 La lumière : onde et corpuscule => propagation et transport. Un photon transporte une certaine énergie à une longueur donde 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 loeil tout en intersectant la fenêtre graphique, alors sa couleur contribue au pixel quil traverse. Limage parfaite demande de suivre une infinité de photons, il faut donc simplifier le problème : Illumination locale, ombrage, illumination globale.

112 112 Modèles d'illumination locale On suppose que les objets interagissent avec une seule source de lumière ponctuelle. On ne calcule pas les interactions entre objets => pas dombres, pas deffet miroir… On calcule la couleur en chaque point.

113 113 BRDF : Bi-directional Reflectance Distribution Function

114 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.

115 115 Modèle complexe et difficile à obtenir Il existe des systèmes de saisie :

116 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

117 117 On augmente ρa On ne voit pas la 3D; Modélise simplement linterréflexion entre toutes les surfaces dune scène; Evite quun objet dans lombre soit complètement noir.

118 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

119 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

120 120 On augmente ρd, ρa = 0

121 121 ρd ρa Diffuse + ambiante

122 122 Réflexion spéculaire : Surfaces brillantes (miroir). Loi de Snell / Descartes : la lumière qui atteind lobjet est réflechie dans la direction ayant le même angle. BRDF : distribution de Dirac Surface l n r

123 123 Problème : avec une source de lumière ponctuelle, leffet nest visible que dans une direction. Cest utile pour lillumination indirecte (ombres, miroirs) mais inutilisable pour calculer la couleur des pixels. On suppose que la surface nest pas parfaitement spéculaire. Modèle de Phong.

124 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 cos n α n = rugosité : (1024) pour un miroir, 1 pour une surface très rugueuse. L R V P

125 125 ρs n

126 126 Modèle complet : on ajoute tout, on pondère avec un coefficient datténuation Fd : I(P) = ρa Ia + Fd I ( ρd NP LP + ρs cos n α ) 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 lobjet. 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.

127 127

128 128

129 129

130 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 ny a pas de formule simple mais ce modèle approxime très bien les effets physiques des matériaux

131 131 Modèles dinterpolation (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.

132 132 Problème : il y a des discontinuités le long des facettes; Loeil les voit très bien : effet Mach Banding; Interpolation. Intensité réelle Intensité perçue

133 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.

134 134 Phong shading : calcul des normales par interpolation => Permet de traiter les effets spéculaires contenus dans une facette.

135 135 A BC D A C D B Problèmes - Interpolation par balayage : perspective, rotation; - Normales : Normales aux sommets Normales aux faces

136 136

137 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 lintensité –Lumiere située à linfini (direction) –Rayons de lumière parallèles

138 138 Environment mapping : Les coordonnées de texture sont calculées daprès la normale. Reflection / refraction mapping : Les coordonnées de texture sont calculées après réflection ou réfraction dun rayon partant de loeil. Texture oeil

139 139 Résumé Il nous reste à voir les traitements que lon 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


Télécharger ppt "Synthèse dimages 2006-2007 Antoine Bouthors Credits : Joëlle."

Présentations similaires


Annonces Google