Chap1 Prog3D introduction.pdf - Google Drive

3 downloads 1 Views 1MB Size Report
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