IFT2740 : Outils de l'infographie 3D Systèmes et modèles graphiques Pierre Poulin, Derek Nowrouzezahrai Automne 2013 DIRO, Université de Montréal
Où se situe l’infographie? Imagerie Traitement d’images Image Vision par ordinateur Infographie Description d’un modèle Modélisation géométrique Cf.:Mignotte
Applications Affichage d’information carte géographique, graphique, imagerie médicale, visualisation scientifique, etc. Design virtuel (précision) CAO (architecture, mécanique, VLSI, etc.) Simulation (réalisme) pilotages, jeux vidéo, effets spéciaux au cinéma, réalité virtuelle et augmentée, etc. Interfaces usager fenêtres, icônes, menus, souris
Une image numérique Une image numérique peut être vue comme une “matrice 2D” dont chaque élément (pixel) représente l’intensité lumineuse discrète à ce point. Cf.:Max Mignotte
Images réelles La scène est constituée d’objets et de transport de la lumière objets 3D (macroscopiques, mésoscopiques et microscopiques), position, couleurs, propriétés physiques... sources de lumière, réflexion, réfraction, diffraction, interréflexions, dispersion unique et multiple La scène est vue par un observateur (caméra) position et orientation, pyramide de vue lentille, profondeur de champ Image est une représentation 2D de la scène à un moment précis et telle qu’observée par une caméra Note: tous les éléments de la scène peuvent être en mouvement
Images synthétiques Une scène synthétique 3D typique (minimale) Géométrie des objets 2D ou 3D de la scène Textures et paramètres de réflexion/réfraction Source(s) de lumière directes Caméra(s) synthétique(s) Formation d’une image d’une taille donnée Animation est constituée d’une séquence d’images affichées dans le temps
Exemple “typique” d’une scène 3D Source lumineuse Objets 3D (ayant couleur, texture, paramètres de réflexion, etc.) 3D Image (rendu) 3D Pyramide de vue Caméra Virtuelle
Systèmes graphiques (1) Modèle 3D CPU Mémoire (cache,RAM, disque…) Logiciel graphique API (OpenGL) (Depth Buffer) Aliassage Crédit E.Angel
Systèmes graphiques (2) Tampon d’affichage (frame buffer) pixels (picture elements) VRAM (video random access memory) bits par pixel : nombre de couleurs représentables palette de couleur : 4 bits (16), 8 bits (256) true-color : 16 bits (65k), 24 bits (16M) Tampon de profondeur (depth buffer) Contient des données de profondeur
API (Application Programmer’s Interface) Librairie(s) permettant à un programme d’avoir une interaction transparente avec le matériel Fonctions de haut niveau Indépendant de l’implémentation et du matériel OpenGL, Direct3D, VRML, Java-3D, etc. API librairie graphique Programme d’application Matériel METTRE LA FIGURE 1.22 DE ANGEL Crédit E.Angel
Pipeline géométrique Primitives graphiques (points, lignes, polygones) Transformations géométriques multiplication par une ou plusieurs matrice(s) Clipping dans la pyramide de vue Projection transformations matricielles Discrétisation (rasterization) en pixels et calcul de la couleur
Blender http://www.blender.org/ Python scripting language