Création en images de Synthèse Modèles de rendu d’une scène 3D (Z-Buffer, Ray Tracing, Radiosité) Chu-Yin CHEN - Université Paris 8 - ATI
Modèle d’Eclairement et de rendu Modèle d’éclairement et de rendu Modèles Locaux Rendu Flat Rendu Gouraud Rendu Phong Modèles Globaux Radiosité Ray Tracing Les modèles Locaux ne traitent que les effets directs de la lumière sur l’objet. Il ne gèrent pas les réflexions des objets les uns sur les autres. Les modèles globaux tiennent compte, pour tous les types de surface (polygones, nurbs, …) de tous les phénomènes optiques en présence : Illumination Ambiante , Réflexion Diffuse et Réflexion Spéculaire Les transparences, la réfraction et les réflexions des autres objets (effet miroir), les ombrages. Chu-Yin CHEN - Université Paris 8 - ATI
Les Modèles locaux et globaux Les modèles Locaux ne traitent que les effets directs de la lumière sur l’objet. Il ne gèrent pas les réflexions des objets les uns sur les autres. Les modèles globaux tiennent compte, pour tous les types de surface (polygones, nurbs, …) de tous les phénomènes optiques en présence : Illumination Ambiante , Réflexion Diffuse et Réflexion Spéculaire Les transparences, la réfraction et les réflexions des autres objets (effet miroir), les ombrages. Les modèles Locaux ne traitent que les effets directs de la lumière sur l’objet. Il ne gèrent pas les réflexions des objets les uns sur les autres. Les modèles globaux tiennent compte, pour tous les types de surface (polygones, nurbs, …) de tous les phénomènes optiques en présence : Illumination Ambiante , Réflexion Diffuse et Réflexion Spéculaire Les transparences, la réfraction et les réflexions des autres objets (effet miroir), les ombrages. Chu-Yin CHEN - Université Paris 8 - ATI
Problématique pour l’affichage L’espace de l’objet : la scène 3D Virtuelle. L’espace de l’image : l’affichage de l’image sur l’écran L’espace objet-image : Ramener la scène 3D sur le plan de projection. Résoudre le problème des objets visibles et invisibles par la perspective (depuis la position de la caméra) Chu-Yin CHEN - Université Paris 8 - ATI
Chu-Yin CHEN - Université Paris 8 - ATI Plan de Projection (x1,y1,z1) y (xe1,ye1) Repère Caméra (x1,y2,z2) (xe2,ye2) O z Focale x Coordonnées en pixel des points projetés dans le repère de l’écran (taille : LxH) : xe = (x/z) * focale ye = (y/z) * focale Chu-Yin CHEN - Université Paris 8 - ATI
Chu-Yin CHEN - Université Paris 8 - ATI Le Z-Buffer x y 5 5 5 3 Z-Buffer (800x600 pixel) Ecran (800x600 pixel) Un tableau en mémoire Ses cases correspondent aux coordonnées des pixels de l’écran (x,y) Elles stockent la valeur en Z de ce pixel Chu-Yin CHEN - Université Paris 8 - ATI
Modèle de calcul pour l’affichage : Le Z-Buffer La structure de données des objets est une liste de facettes. On fait un tri des facettes par évaluation des Z. Initialiser l’image à la couleur du fond Initialiser le tableau de profondeur à la valeur plus lointaine Pour toutes les facettes de tous les objets Calculer la projection de la facette sur l’écran Parcourir chaque pixel de la facette projetée (en y et x) Calculer la coordonnée Z correspondant à ce point d’écran dans la facette 3D Tester si ce Z est plus petit que la valeur présente dans le tableau de Z-buffer pour ce pixel de l’écran (coordonnées x,y) Si oui, effectuer les calculs d’éclairement et afficher le pixel Mettre la valeur de ce Z dans le tableau de profondeur pour l’entrée correspondant à ce pixel de coordonnées (x,y) Si, non : on ne fait rien Chu-Yin CHEN - Université Paris 8 - ATI
Chu-Yin CHEN - Université Paris 8 - ATI Le Lancer de Rayon Œil (0,0,0) Ecran Objet Un sphère de centre O (x,y,z) et de rayon R Sa perspective est construite sur le plan de projection, par l’intersection d’un rayon partant de l’œil et rencontrant l’objet qui est décrit par sa base de données. Chu-Yin CHEN - Université Paris 8 - ATI
Algorithme du lancer de Rayon (1) x y O Oeil Ecran (800x600 pixel) Boucle sur les lignes de l’écran , y variant de 0 à N Boucle sur les colonnes de l’écran, x variant de 0 à M Définition du point de l’écran en 3D : M=x,y,0 Si (OM BD ) On écrit le pixel (x,y) Chu-Yin CHEN - Université Paris 8 - ATI
Algorithme du lancer de Rayon (2) Œil (0,0,0) Objet C H R H1 u M(x,y,z) k O M1 On cherche le point H qui appartient au rayon OM H OM H = O + k * u U = unitaire (M-O) k = scalaire (C – O, u) H = O + k * u D = distance (C,H) Si (d < R) afficher le point Sinon, rien ; Chu-Yin CHEN - Université Paris 8 - ATI
Avantages et inconvénients Le principe de cette méthode consiste à analyser le trajet inverse des rayon lumineux atteignant l’observateur. Le modèle de lancer de rayon prend en compte, pour tout type de surface La position de l’observateur et des sources lumineuses L’élimination des parties cachée Les phénomènes de réflexion, de réfraction et de transparence La réflexion des objets les uns sur les autres Le traitement d’anti-aliasing Il permet d’obtenir des images réalistes, mais : Il donne des meilleurs résultats quand les surfaces réfléchissent beaucoup de lumière Il ne prend pas correctement en compte l’interaction des réflexions diffuses entre les objets. Elle est très coûteuse en temps de calcul. Chu-Yin CHEN - Université Paris 8 - ATI
Chu-Yin CHEN - Université Paris 8 - ATI La radiosité Méthode dérivée de la thermodynamique Mise au point en 1984 à l’université de Cornell Chaque objet reçoit la lumière émise par les autres éléments de la scène. Calcul itératif de la somme des rayons lumineux frappant un point d’une surface en fonction de l’intensité issue de chaque autre élément de la scène. Elle traite bien les interactions des réflexions diffuses entre les objets. Elle ne peut pas traiter la réflexion spéculaire Elle est indépendante du point de vue. Elle est encore plus coûteuse que le ray-tracing Chu-Yin CHEN - Université Paris 8 - ATI