ift3730 : infographie 3d systèmes et modèles graphiques pierre poulin, derek nowrouzezahrai hiver...
TRANSCRIPT
IFT3730 : Infographie 3D
Systèmes et modèles graphiques
Pierre Poulin, Derek Nowrouzezahrai
Hiver 2013DIRO, Université de Montréal
Image
Description d’un modèle
Vision parordinateur
Infographie
Traitementd’images
Modélisation géométrique
Où se situe l’infographie?
Cf.:Mignotte
Imagerie
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 (ayantcouleur, texture,paramètres de réflexion, etc.)
Pyramide de vueCaméraVirtuelle
Image(rendu)
(Depth Buffer)
Systèmes graphiques (1) Modèle 3D
Logicielgraphique
API (OpenGL)CPUMémoire
(cache,RAM,disque…)
Aliassage
Crédit E.Angel
• 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
Systèmes graphiques (2)
bn 2=
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.
Programmed’application
APIlibrairie
graphiqueMatériel
METTRE LA FIGURE 1.22 DE ANGELCrédit E.Angel
API OpenGL (1)• Objets (primitives)
– points, lignes, triangles, polygones, courbes, surfaces paramétriques, etc.
– Exemple:/* Dessin d’une droite entre (0,0,0) et (1,1,1)
*/
glBegin(GL_LINES);glVertex3f(0.0,0.0,0.0); /* Vertex: un point 2D-
3D */glVertex3f(1.0,1.0,1.0);
glEnd( );
API OpenGL (2)• Caméra
– gluLookAt (fX, fY, fZ, tX, tY, tZ, …);– gluPerspective (viewField, …);
• Source de lumière– glLight (…);
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