Page 2 of 18. ⢠William Fetter : terme âcomputer graphicsâ en 1960 pour nouvelles. methodes de design chez Boeing.
Institut Supérieur des Etudes Technologiques de Kairouan
Programmation Multimédia et animation3D Chapitre1 – Introduction à la chaine des traitements graphiques pour la génération des images de synthèse 3D
30/10/2015
[email protected]
1
Les graphiques par ordinateur • William Fetter : terme “computer graphics” en 1960 pour nouvelles methodes de design chez Boeing
“Perhaps the best way to define computer graphics is to find out what it is not. It is not a machine. It is not a computer, nor a group of computer programs. It is not the know-how of a graphic designer, a programmer, a writer, a motion picture specialist, or a reproduction specialist. Computer graphics is all these – a consciously managed and documented technology directed toward communicating information accurately and descriptively.” Computer Graphics, by William A. Fetter, 1966 9/5/2013
2
Pourquoi la synthèse d’images ? • • • • • • •
CAO Simulateurs Effets spéciaux pour le cinéma Dessins animés Jeux vidéo Réalité virtuelle Imagerie médicale
30/10/2015
[email protected]
3
Historique (en images)
30/10/2015
[email protected]
4
Historique (du 2D novice au DAO): •
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.
•
1968, Engelbart shows “the Mother of All Demos”
•
1969 : premiers numériques), Bell.
30/10/2015
capteurs
CCD
(cameras
[email protected]
5
Historique (vers la 3D): •
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.
•
1973, Xerox PARC produit Alto, premiere workstation personnelle
•
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.
30/10/2015
[email protected]
6
Le pipeline graphique: Modeling Transformations
Modèle géométrique : objets, surfaces, sources de lumière…
Illumination (Shading)
Modèle d’illumination : calcul des interactions lumineuses
Viewing Transformation (Perspective / Orthographic)
Software configurable
Fenêtre (viewport) : grille de pixel sur laquelle on plaque l’image
Clipping Projection (to Screen Space) Scan Conversion (Rasterization)
Hardware
Couleurs, intensités convenant à l’afficheur (ex : 24 bits, RVB)
Visibility / Display 30/10/2015
Caméra : point de vue et ouverture (frustum)
[email protected]
7
Du 3D au 2D:
30/10/2015
[email protected]
8
Modeling transformations Modeling Transformations Illumination (Shading)
Passage du système de coordonnées local de chaque objet 3D (object space) vers un repère global (world space)
Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasterization)
Object space
World space
Visibility / Display 30/10/2015
[email protected]
9
Illumination Modeling Transformations Illumination /lissage (Shading) Viewing Transformation (Perspective / Orthographic)
Les 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.
Clipping Projection (to Screen Space) Scan Conversion (Rasterization) Visibility / Display
30/10/2015
[email protected]
10
Transformation caméra Modeling Transformations Illumination (Shading) Viewing Transformation (Perspective / Orthographic)
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
Clipping Projection (to Screen Space) Scan Conversion (Rasterization)
World space
Visibility / Display
30/10/2015
[email protected]
11
Modeling Transformations
Clipping Coordonnées normalisées (NDC : normalized device coordinates)
Illumination (Shading) Viewing Transformation (Perspective / Orthographic)
Eye space
NDC
Clipping Projection (to Screen Space) Scan Conversion (Rasterization)
Les portions en dehors du volume de vue (frustum) sont coupées.
Visibility / Display
30/10/2015
[email protected]
12
Projection Modeling Transformations
Les primitives 3D sont projetées sur l’image 2D (screen space)
Illumination (Shading) Viewing Transformation (Perspective / Orthographic) NDC
Screen Space
Clipping Projection (to Screen Space) Scan Conversion (Rasterization) Visibility / Display
30/10/2015
[email protected]
13
Rasterisation Modeling Transformations Illumination (Shading)
Découpe la primitive 2D en pixels Interpole les valeurs connues aux sommets : couleur, profondeur,…
Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasterization) Visibility / Display
30/10/2015
[email protected]
14
Visibilité, affichage Modeling Transformations
Calcul des primitives visibles : z-buffer.
Illumination (Shading)
Remplissage du frame buffer avec le bon format de couleur.
Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasterization) Visibility / Display 30/10/2015
[email protected]
15
Librairies graphiques • Examples: OpenGL™, DirectX™, Windows Presentation Foundation™ (WPF), RenderMan™, HTML5+WebGL • Primitives (characters, lines, polygons, meshes,…) • Attributs • Lumières • Transformations • Immediate mode vs. retained mode – immediate mode: dessin complet de chaque nouvelle frame – retained mode: affichage depuis un graphe de la scène 9/5/2013
16
Systèmes de coordonnées Modeling Transformations
Object space
Illumination (Shading)
World space
Viewing Transformation (Perspective / Orthographic) Eye Space / Camera Space
Clipping Projection (to Screen Space)
Clip Space (NDC)
Scan Conversion (Rasterization) Screen Space Visibility / Display 30/10/2015
[email protected]
17
• Références: – Antoine Bouthors: • http://www-evasion.imag.fr/Membres/Antoine.Bouthors/teaching/ensimag/
– CS123: introduction to computer graphics
30/10/2015
[email protected]
18