Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
GRAPHISME PAR ORDINATEUR
SIF-1032
2
Contenu du cours 1 Ressources disponibles sur l’INTERNET
Introduction au graphisme par ordinateur Survol des systèmes graphiques Introduction à l ’environnement de travail (OPENGL) Ouverture d ’une fenêtre Affichage d ’une forme simple Affichage de points et de lignes Introduction à l’architecture XNA LECTURES: Chap. 1, 2 Computer Graphics Using OPENGL, F. S. Hill, Prentice-Hall.
3
Contenu du cours 1 LECTURES: Leçon 1, NeHe ’s OpenGL tutorials
Exemples de OpenGL Super Bible et Note de cours: ftp://dmiftp.uqtr.ca/FMeunier/sif1032/ LECTURES: Chapitre 1 Introduction to 3D Game Programming with DirectX 9.0, F. D. Luna, Wordware Publishing
4
Ressources disponibles sur l’INTERNET
Tutoriels et livres en ligne sur OpenGL Voir OpenGL Programming Tutorials Voir OpenGL Online Books OpenGL Reference Manual OpenGL Programming Guide OpenGL Programming Guide 8th edition (2013)
5
Ressources disponibles sur l’INTERNET
Tutoriels et livres en ligne sur OpenGL Learning Modern 3D Graphics Programming (2012) OpenGLBOOK
6
Ressources disponibles sur l’INTERNET
Création d’objets 3D (Milkshape3D) Tutoriels sur Milkshape3D Tutoriel sur XNA: Tutoriel sur l’architecture XNA: Nicolas Boonaert ( OpenGL en C#, voir le site:
7
Introduction au graphisme par ordinateur
Le graphisme par ordinateur représente l’ensemble des programmes qui servent à créer des images tri-dimensionnelles (3D) à l'aide d'un ordinateur. Le graphisme à 2 dimensions, comme les objets graphiques visibles dans les fenêtres Windows ou Java n'est pas considéré comme du graphisme à proprement parlé. Ainsi, nous serons intéressés par la représentation des objets d’une scène 3D et de sa visualisation sur un ordinateur. Ceci implique qu'il faut d’abord, créer des objets géométriques 3D, puis leur donner des couleurs ou textures, plus ou moins éclairées, avec le plus de réalisme possible.
8
Introduction au graphisme par ordinateur
Historique (Le graphisme par ordinateur requiert un très grand nombre de calculs en point flottant et beaucoup de mémoire RAM.) Avant 1980: les ordinateurs étaient lents, avaient peu de mémoire et, pour la plupart avaient des difficultés avec les calculs en point flottant. 1978: un chercheur (à l'origine de la compagnie Silicon Graphics (SGI), réalise que les opérations fondamentales du graphisme peuvent être réalisées à l'aide de vecteurs et de matrices 4x4. Il développe alors un processeur spécialisé pour gérer ces matrices avec les calculs en point flottant. 1985: la compagnie SGI offre la première station graphique haute performance (avec des circuits spécialement conçus pour le graphisme 3D). Cette station s'appelle "Iris". Son système d'exploitation est Unix, elle se branche en réseau TCP/IP, de telle sorte qu'on peut la reliée à un réseau de poste de travail Sun (pour $60,000). Elle offre aussi une librairie graphique en C qui s'appelle "GL" (Graphic Library).
9
Introduction au graphisme par ordinateur
Historique OpenGL: en 1992, la première spécification standardisée de OpenGL par la OpenGL Architecture Review Board (ARB) apparaît. OpenGL devient un standard en graphisme par ordinateur. OpenInventor: c'est une librairie de classes construites sur la base de OpenGL par SGI, à partir de Pour des raisons qui sont obscures, les livres sur le graphisme n’y font pas référence Le graphisme par ordinateur étant très complexe, les développements ont été réalisés par des compagnies qui ont orienté leurs produits vers un créneau particulier du graphisme: Soft Image, Studio Max, Maya, Macro Media Director, AutoCAD, OrCad, Catia, etc. On retrouve ainsi des produits spécialisés pour toutes sortes d'applications: Dessins mécaniques (Catia, AutoCad), dessin de circuits d'ordinateur (OrCad), présentation multimédia (Director), effets visuels et animation (Soft Image, Maya), l'industrie manufacturière (SGI).
10
Introduction au graphisme par ordinateur
Historique DirectX: depuis 1995, Microsoft a cherché à développer son propre système graphique, appelé "DirectX". DirectX est basé sur la technologie logicielle appelée "COM: Component Objet Model", laquelle généralise la technologie OLE, ce qui permet de développer des classes qui peuvent être utilisées par des programmes écrits avec n'importe quel langage de programmation. Dans l'espace de quelques années, les versions se sont multipliées (version actuelle 12). En fait, DirectX contient plusieurs outils multimédias: Direct3D pour le graphisme, DirectShow pour les présentations multimédias, DirectInput pour l’interfaçage des manettes de jeux vidéo.
11
Introduction au graphisme par ordinateur
Principales applications du graphisme Conception assistée par ordinateur Présentations graphiques Les arts Divertissement (animation) Enseignement et entraînement Visualisation (simulation) Monitoring de procédé (Centrale nucléaire) Traitement d’image
12
Conception assistée par ordinateur
13
Présentations graphiques
14
Les arts
15
Divertissements
16
Enseignement et entraînement
17
Visualisation (simulation)
18
Monitoring de procédés
19
Survol des systèmes graphiques
20
Survol des systèmes graphiques (préhistoire)
21
Survol des systèmes graphiques (plus actuel)
22
Survol des systèmes graphiques (plus actuel)
23
Survol des systèmes graphiques
Dispositifs d’affichage VIDEO Moniteur vidéo (CRT) Écrans graphiques couleurs Type RASTER: balayage des images a un rythme constant Type RANDOM SCAN: dessine les formes Image RASTER constituée de pixels codés selon l’intensité de chaque canon d’électrons (RGB) (couleur) stockée dans un tampon-image (frame buffer) affichage à l’écran ligne par ligne rafraîchissement de l’écran (60 Hz) interlaçage
24
Survol des systèmes graphiques
Image RASTER (Résolutions différentes)
25
Principal dispositif d’affichage Vidéo (CRT)
26
CRT raster
27
CRT à balayage aléatoire
28
Composition de couleur et Interlaçage
29
Fonctionnement d ’un CRT couleur
30
CRT couleur avec LUT
31
Comparaison de 2 systèmes RASTER
32
Autres dispositifs Stations graphiques Digitaliseurs Imprimantes couleur Traceurs Systèmes à réalité virtuelle
33
Autres dispositifs Stations graphiques
34
Autres dispositifs Digitaliseurs
35
Autres dispositifs Digitaliseurs
36
Systèmes à réalité virtuelle
Autres dispositifs Systèmes à réalité virtuelle Les lunettes VR peuvent aussi être munit de « eye tracker » et/ou de capteurs EEG
37
Introduction à l ’environnement de travail (OpenGL)
Phases géométriques Phases de rendu
38
Introduction à l ’environnement de travail (OpenGL)
Pour utiliser les exemples de programmes il faut au préalable organiser l ’environnement de travail Environnement: Microsoft ’s Visual C ou plus …. Fichiers à copier avant d’utiliser les exemples: Inclure le fichier header glut.h dans le répertoire c:/Program Files/Microsoft Visual Studio/VC98/Include/GL Inclure le fichier librairie glut32.lib dans le répertoire c:/Program Files/Microsoft Visual Studio/VC98/Lib Inclure le fichier DLL glut32.dll dans le répertoire c:/WINNT/System
39
Introduction à l ’environnement de travail
Exemple d ’ouverture d ’une fenêtre (répertoire Simple, référence: Super Bible Second Edition)
40
Introduction à l ’environnement de travail
Exemple d ’ouverture d ’une fenêtre (répertoire Simple, référence: Super Bible) Initialisation du mode d ’affichage: Single buffered glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); Indique à la librairie GLUT quel type d ’affichage utiliser lors de l ’ouverture de la fenêtre Une fenêtre SINGLE_BUFFERED indique que toutes les commandes de dessin sont effectuées sur la fenêtre affichée Une fenêtre DOUBLE_BUFFERED indique que toutes les commandes de dessin sont effectuées sur la fenêtre en arrière plan GLUT_RGB indique que des intensités de couleurs distinctes sont associées à chaque composante Red, Green et Blue
41
Introduction à l ’environnement de travail
Exemple d ’ouverture d ’une fenêtre (répertoire Simple) Création d ’une fenêtre openGL glutCreateWindow( “Simple”); Création d ’une fenêtre avec un identificateur Fonction d ’affichage glutDisplayFunc(RenderScene); Permet d ’établir la fonction RenderScene pour afficher ou rafraîchir la fenêtre Établir le contexte de rendu (Rendering context RC) SetupRC(); Initialisations préalables à l ’affichage
42
Introduction à l ’environnement de travail
Exemple d ’ouverture d ’une fenêtre (répertoire Simple) Fonction d ’affichage glutDisplayFunc(RenderScene);
43
Introduction à l ’environnement de travail
Exemple d ’ouverture d ’une fenêtre (répertoire Simple) Établir le contexte de rendu (Rendering context RC) SetupRC();
44
Introduction à l ’environnement de travail
Exemple d ’ouverture d ’une fenêtre (répertoire Simple) glutMainLoop(); Traitement des messages spécifiques au OS, les touches du clavier glClearColor(0.0f, 0.0f, 1.0f, 1.0f); Permet d ’établir la couleur de fond de la fenêtre Paramètres: red: intensité de rouge donnée entre 0.0 et 1.0 green: intensité de vert donnée entre 0.0 et 1.0 blue: intensité de bleu donnée entre 0.0 et 1.0 alpha: paramètre utilisé pour les effets de mélange et translucidité
45
Introduction à l ’environnement de travail
Exemple d ’ouverture d ’une fenêtre (répertoire Simple) glClear(GL_COLOR_BUFFER_BIT); Permet d ’effacer le tampon image couleur glFlush(); Permet de vider la pipeline de rendu qui traite les commandes OpenGL de façon séquentielle
46
Introduction à l ’environnement de travail
Exemple d ’ouverture d ’une fenêtre (répertoire Simple)
47
Introduction à l ’environnement de travail
Affichage d ’une forme simple (répertoire GLRect, Référence Super Bible) Affichage d ’un rectangle rouge
48
Introduction à l ’environnement de travail
Affichage d ’une forme simple (répertoire GLRect, Référence Super Bible) Affichage d ’un rectangle rouge glColor3f(1.0f, 0.0f, 0.0f); // rouge sans translucidité glRectf(100.0f, 150.0f, 150f, 100.0f); (x1,y1): coin supérieur gauche du rectangle (x2,y2): coin inférieur droit
49
Introduction à l ’environnement de travail
Affichage d ’une forme simple (répertoire GLRect)
50
Introduction à l ’environnement de travail
Affichage de points et de ligne (répertoire PointLigne, référence Super Bible)
51
Introduction à l ’environnement de travail
Affichage de points et de ligne (répertoire PointLigne, référence Super Bible) Affichage de 3 points rouges glColor3f(1.0f, 0.0f, 0.0f); // rouge sans translucidité glPointSize(10.0); glBegin(GL_POINTS);… glEnd(); Indique le traçage de points glVertex2i(100,50); (x,y): position du point
52
Introduction à l ’environnement de travail
Affichage de points et de ligne (répertoire PointLigne) Affichage de 2 lignes vertes glColor3f(0.0f, 1.0f, 0.0f); // vert sans translucidité glBegin(GL_LINES);… glEnd(); Indique le traçage de lignes entre des paires de points glVertex2i(100,50); (x,y): position du point
53
Introduction à l ’environnement de travail
Affichage de points et de ligne (répertoire PointLigne)
54
Introduction à l ’environnement de travail
Affichage d’un cube et réalisme (chapitre 1: Super Bible) Cube sans les surfaces cachées Cube sans réalisme
55
Introduction à l ’environnement de travail
Affichage d’un cube et réalisme (chapitre 1: Super Bible) Cube coloré rouge Cube avec effet de shading (illumination ajoutée)
56
Introduction à l ’environnement de travail
Affichage d’un cube et réalisme (chapitre 1: Super Bible) Cube avec ombrage Cube texturé
57
Introduction à l ’environnement de travail
OpenGL 3.x et plus
58
Introduction à l ’environnement de travail
Ouverture d’une fenêtre (OpenGL 3.x et plus)
59
Introduction à l ’environnement de travail
Affichage d’un point (OpenGL 3.x et plus) Indice du tampon Nombre de composantes de chaque objet (sommet) Nombre d’objets utilisés Indice du tampon
60
Introduction à l ’environnement de travail
Affichage d’un point (OpenGL 3.x et plus)
61
Introduction à l ’environnement de travail
Affichage d’un triangle sans shading (OpenGL 3.x et plus) Nombres de sommets utilisés pour dessiner 1 triangle
62
Introduction à l ’environnement de travail
Affichage d’un triangle sans shading (OpenGL 3.x et plus)
63
Introduction à l ’architecture XNA
Architecture XNA développée par Microsoft:
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.