Infographie 3D. Venceslas BIRI LIGM Université Paris-Est Marne-La-Vallée

Documents pareils
Synthèse d'images I. Venceslas BIRI IGM Université de Marne La

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN

TPs Architecture des ordinateurs DUT Informatique - M4104c SUJETS. R. Raffin Aix-Marseille Université romain.raffin-at-univ-amu.fr

05/09/2015. M Ponctualité : CM TD TP & Projet Æ En cas d absence : récupérer!!! 3 05/09/2015

pcon.planner 6 Préparer et présenter une implantation en toute simplicité

Immersion - Vision 3D dans la RV.

Groupe Eyrolles, 2006, ISBN :

Rendu temps réel de mer et de nuages

Chapitre 3 : Repères et positionnement 3D

GL BE FLYER. Chef de projet de l équipe : SCIONICO Pierre

CYCLE 3D. Certification RNCP "Lead Infographiste 2D/3D" Niveau II - Bac +3

Correction du Baccalauréat S Amérique du Nord mai 2007

Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies

Gestion de scène pour les moteurs 3D

Traitement numérique de l'image. Raphaël Isdant


Programmes des classes préparatoires aux Grandes Ecoles

Des interfaces textuelles aux interfaces graphiques

Q6 : Comment calcule t-on l intensité sonore à partir du niveau d intensité?

Infographie. Objectifs du programme : Conditions d'admission :

Sillage Météo. Notion de sillage

modélisation solide et dessin technique

RIE LE RENDU THEO. 2 e trim ÉTAPE DE FINITION BOÎTE DE DIALOGUE. remarques

PROJET DE MODELISATION CASERNE SERGEANT BLANDAN

CHROMOPHARE Génération F : éclairage innovant à réflecteur avec LED. Un concept et un design d'éclairage qui réunissent fonctionnalité et esthétique

Chapitre II : Infographie et bibliothèques graphiques

La visio-conférence holographique : Pourquoi? Comment?

1S9 Balances des blancs

Calcul intégral élémentaire en plusieurs variables

DUT. Informatique, orientation Imagerie Numérique. Domaine : Sciences, Technologies, Santé. Mention : Informatique

Chapitre 18 : Transmettre et stocker de l information

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Cours d Analyse. Fonctions de plusieurs variables

ÉPREUVE COMMUNE DE TIPE Partie D. TITRE : Comment s affranchir de la limite de la diffraction en microscopie optique?

Les algorithmes de base du graphisme

Fonctions de plusieurs variables

Programme scientifique Majeure INTELLIGENCE NUMERIQUE. Mentions Image et Réalité Virtuelle Intelligence Artificielle et Robotique

Sujet. calculatrice: autorisée durée: 4 heures

TP Blender n 2 : Importation d un modèle SketchUp et animation

Comment tracer une droite représentative d'une fonction et méthode de calcul de l'équation d'une droite.

Hiver 2013 IMN 259. Introduction à l analyse d images. Par Pierre-Marc Jodoin

Rencontre des personnes-ressources en déficience motrice et organique RÉCIT MST - RÉCIT Adaptation scolaire Pierre Couillard

Scanner intra-oral Lava C.O.S. numérique. au cabinet dentaire

Deux disques dans un carré

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Opérations de base sur ImageJ

M2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013

PHOTOSHOP - L'AFFICHAGE

Détection des points d intérêt et Segmentation des images RGB-D. Présentée par : Bilal Tawbe. Semaine de la recherche de l UQO

Dossier 03 Périphériques d acquisition

C.F.A.O. : Conception et Fabrication Assistées par Ordinateur.

Utilisation du visualiseur Avermedia

Virtual Universe aperçu numéro 1

FICHE METIER. «Opérateur de prises de vue» Opérateur de prises de vue vidéo. Cadreur. Pointeur vidéo APPELLATION(S) DU METIER DEFINITION DU METIER

6.4. Les Ombres Raytracées (Raytraced Shadows) Shading Lamp Shadow and Spot Hemi Spot Sun Sun Scene F10 Shadow Render Ray Ray Shadow Shadow and Spot

Analyse d images. Edmond.Boyer@imag.fr. Edmond Boyer UFRIMA 1

Cours de Mécanique du point matériel

NOTICE DOUBLE DIPLÔME

Imagerie Numérique Synthèse d images. DUT Informatique Sébastien THON

Modules Multimédia PAO (Adobe)

Un exemple avec WORKSPACE d'interwrite

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Eclairage artificiel

MEMENTO D'UTILISATION Du T.N.I. SmartBoard (Version )

Plan du cours : électricité 1

Programme de la 1ère année

PHOTO PLAISIRS. La Lumière Température de couleur & Balance des blancs. Mars 2011 Textes et Photos de Bruno TARDY 1

TITRE PARTIE TITRE SECTION. Faire des anaglyphes avec CatiaV5

Gildas Malassinet-Tannou PEINTURE DE LUMIÈRE INSTALLATION INTERACTIVE

Virtual Universe Pro V2 Manuel de l Utilisateur (C) 2013 IRAI. Manuel Utilisateur VIRTUAL UNIVERSE PRO V2 Page 1

Dentiste Numérique Zfx. Un cabinet dentaire certifié avec la technologie innovante signée Zfx

1 Définition. 2 Systèmes matériels et solides. 3 Les actions mécaniques. Le système matériel : Il peut être un ensemble.un sous-ensemble..

Utilisation du logiciel GALAAD

Communications immersives : Enjeux et perspectives

Guide de l'utilisateur de l'utilitaire d'installation de caméra Avigilon

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

Structures algébriques

IMAGE BASED MODELING généralités et utilisation des outils de photomodélisation. 123D Catch de Autodesk.

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

LA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE

Synthèse d images Edmond Boyer

DIFFRACTion des ondes

Une application de méthodes inverses en astrophysique : l'analyse de l'histoire de la formation d'étoiles dans les galaxies

Eternelle question, mais attention aux arnaques Question qui est souvent mise en premier plan => ce n est pas une bonne idée

DURÉE DU JOUR EN FONCTION DE LA DATE ET DE LA LATITUDE

Programmation linéaire

Analyse en Composantes Principales

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Rendu HDR et illumination par image

Un spectromètre à fibre plus précis, plus résistant, plus pratique Concept et logiciel innovants

EXERCICE 2 : SUIVI CINETIQUE D UNE TRANSFORMATION PAR SPECTROPHOTOMETRIE (6 points)

L éclairage naturel première partie : Principes de base

Environnement logiciel open source pour la création d œuvres artistiques interactives

Chapitre 0 Introduction à la cinématique

Zone 2 L aventure de la copie

Tp_chemins..doc. Dans la barre "arche 2" couleur claire 1/5 21/01/13

MODE OPÉRATOIRE. VI) Le projet mené dans le cadre de la technologie. Le projet porte sur la réalisation d une horloge CD.

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

Transcription:

Infographie 3D Venceslas BIRI LIGM Université Paris-Est Marne-La-Vallée

Concept du cours Ce que vous apprendrez TD machine Modélisation d'objet Modélisation et visualisation de scène Création d'ihm et de moteur 3D simple Cours avant chaque TD Outils mathématiques de l'image Fondement de la synthèse d'images Le principe général de la création d une image de synthèse 2

Concept du cours Ce que vous n'apprendrez pas Les logiciels de modélisation 3D 3DSmax, Maya, Blender Vu dans d'autres cours Certaines techniques temps réels Les algorithmes d'illumination globale & techniques avancées La conception artistique 3

Concept du cours Évaluation : selon mon humeur TD (TP) à rendre Selon mon humeur du chargé de TD Au bout des 2h ou «travaux à la maison» Projet Examen final Peu probable mais on ne sait jamais Proposition non contractuelle 4

Infographie 3D Introduction Venceslas BIRI LIGM Université Paris-Est Marne-La-Vallée

Plan du cours I. Introduction 1. État des lieux 2. La réalité 3. Domaine et application 4. Les mathématiques de la 3D 6

La synthèse d'images Introduction État des lieux Venceslas BIRI LIGM Université Paris-Est Marne-La-Vallée

État des lieux Historique de l image numérique La visualisation d'image apparaît tardivement dans l'histoire de l'informatique (ligne année 50, année 60-70) Initialement, dessin vectoriel Recréation de dessin à partir d'outils (tracer une droite ) À cause des problèmes de mémoire, de vitesse de processeur Puis affichage d'images : Images de fond Dans les jeux : des sprites mobiles Calcul direct de scènes 3D : Quake est le premier jeu en 3D intégral (1997) Apparition de véritables moteurs de rendu physique Half Life 8

État des lieux Évolution des cartes graphiques Nvidia GeForce 256 : Bubble Nvidia GeForce 2 MX : Gothic Chapel Nvidia GeForce 3 Ti : Chameleon Nvidia GeForce 4 Ti : Tidepool / Grass Nvidia GeForce 5200 : Dawn Nvidia GeForce 5900 : Last Chance Gaz Nvidia GeForce 6600 : Nalu Nvidia GeForce 7800 : Mad Mood Mike... Un exemple : Island... 9

État des lieux Quelques exemples sur l'état des lieux par domaine jeu vidéo film application Capacité temps réel : Rendu pur : qq millions de points > 92 milliards de pixels Mais Confrontation Temps réel Réalisme 10

Infographie 3D Introduction Partons de la réalité Venceslas BIRI LIGM Université Paris-Est Marne-La-Vallée

L'image "réelle" La formation d'une image : Source Source lumineuse lumineuse La La projection projection Interaction lumière lumière matière La perception perception 12

L'image "réelle" Les sources de lumière : Sans elles, pas d'image! Souvent contiennent toutes les couleurs Naturelles ou artificielles Lumières naturelles : soleil, ciels, feux Difficile à quantifier Riche en couleur Lumières artificielles : Mieux connues Caractéristiques quantifiables 13

L'image "réelle" Interaction lumière matière : Les rayons lumineux entre dans la matière! Certains ressortent, d'autres non Dépend de la longueur d'onde des rayons Donne la couleur à l'objet! Réflexion Matériaux Absorption 14

L'image "réelle" La projection Faire une image c'est projeter le monde sur un plan ou la rétine Passage de la 3 dimension à la 2 dimension Plusieurs façons de projeter : Projection orthographique Projection perspective 15

L'image "réelle" L'espace des couleurs Dans l'œil : Iris + corné + cristallin Appareil de prise de vue Appareil optique Rétine : C'est la pellicule! Cônes : pour les couleurs Bâtonnets : pour l'intensité lumineuse Cônes : 3 fonctions de réception On travaille en RVB! 16

Les images numériques Par échantillonnage de la réalité : photo numérique La nature s occupe : De la création de la lumière Des interactions lumières matières Le système optique s occupe de la projection La matrice LCD s occupe de la perception 17

L'image de synthèse Les images de synthèse : On tente de recréer le processus précédent Tout est calculé sur ordinateur Affichage via l'écran toujours en RVB Importance des modèles D'éclairage D'interaction avec la matière De projection De choix des couleurs De nombreux autres facteurs interviennent Dépend des applications Ex : Contrainte temps réel, fidélité des calculs 18

La synthèse d'images Introduction Domaines et applications Venceslas BIRI LIGM Université Paris-Est Marne-La-Vallée

Domaines & applications Permet de simuler un univers virtuel Nombreuses applications Simulateurs (conduites, centrales nucléaires ) Étude des comportements humains Modélisation et visualisation scientifique Simuler sans expérimenter (moindre coût) Mieux comprendre les résultats des expériences Domaine médical Aider / guider les chirurgiens dans leur geste Adapter des applications à des handicapés CAO & Industrie Visualisation pour le design, contrainte matérielles 20

Domaines & applications Nombreuses applications Jeux vidéo Simuler pour divertir. Immersion Réalité virtuelle Nouvelle application innovante Effets spéciaux au cinéma Compositing d'image Architecture Résistance des matériaux Simulation des transferts de chaleur Visualisation du bâtiment fini sur le site Internet 3D 21

Domaines & applications Problématique différente suivant les domaines Jeux vidéo : le temps réel Réalité virtuelle : interactivité Visualisation scientifique : Fidélité au modèle physique Gérer de grandes quantités de données CAO et industrie Gérer de grandes quantités de données Extraire les bons modèles / les bons paramètres Simulateurs Respecter au plus proche le réalisme cognitif 22

Domaines & applications Problématique différente suivant les domaines Domaine médical : Sécurité de l'application Aide au chirurgien Effets spéciaux au cinéma : Cohérence des images (compositing) Réalisme Architecture : Coller au modèle physique Esthétisme Internet 3D : Compréhension des données 23

Domaines & applications jeux vidéo Effets spéciaux Internet 3D Temps réel Visu scientifique Architecture Simulateurs Réalisme CAO Réalité virtuelle Imagerie médicale 24

La synthèse d'images Introduction Quelques mathématiques Venceslas BIRI LIGM Université Paris-Est Marne-La-Vallée

Dimensions Dimension = nombre de paramètres indépendants pour représenter l'espace de travail En synthèse d'images : Dimension 1 : Étude de trajectoire, spline Dimension 2 : Surfaces (eau, terrain) Textures & Images Dimension 3 : Organisation des surfaces dans l'espace Milieu participant, particules Dimension 4 : Animation temporelle 26

Les vecteurs 27

Notion de vecteur Vecteur : Ensemble de n coordonnées n = 2, 3 mais aussi 4, 10 000 etc. Dans l'espace 3D réel : ensemble de 3 coordonnées Noté : u [] ux uy uz Représente une direction / un déplacement Ex : [] 2 u 0 5 = 2 unités sur l'axe 1 et 5 unités sur l'axe 5 28

Notion de vecteur Attention à ne pas confondre point et vecteur! Même nombre de coordonnée mais objets différents Vecteur non dépendant d'une "origine" Vecteur insensible aux déplacements décalage vers la droite Le vecteur n'a pas changé 29

Produit scalaire Propriété du produit scalaire : Soit u et v deux vecteurs : u. v = 0 u e tv s o no tr t h o g o n a u x Dans notre cas : Produit scalaire canonique [] [] ux vx u. v = u. v = u y. v y = u x v x u y v y u z v z uz vz 30

Produit scalaire Norme et distance Introduction d une notion de taille, de longueur : la norme Norme naturelle u = u. u Doit satisfaire des conditions précises Séparation : norme nulle d un vecteur => vecteur nul Homogénéité : mult. par un scalaire Inégalité triangulaire : norme d un couple de vecteur Aussi appelée norme euclidienne Rapport à la géométrie du même nom = notre cas Vecteur u normé u = 1 31

Produit scalaire Notion de distance Norme d un vecteur = distance du «déplacement» Projection Le produit scalaire d un vecteur u par un vecteur v peut aussi se voir comme la projection de u sur v (et vice versa) : u u v (u. v ) = ± longueur verte * longueur rouge v 32

Base vectorielle Création d'une base vectorielle Les coordonnées des vecteurs sont définis par rapport à ces axes Tous les axes sont orthogonaux 2 à 2 Les vecteurs sont dit «indépendants» Les vecteurs ont une norme égale à 1 Forme une base orthonormale k v j i v E, α, β,γ ℜ v = α i β j γ k et on a : [] α v β γ 33

Espace vectoriel & dimension Coordonnées et produit scalaire En fait on a v. i = α v. j = β v. k = γ Donc : j v E, v = v. i i v. j j v. k k v k i 34

Produit vectoriel Produit vectoriel : calcul w = u v ux = uy u z vx vy v z uy vz uzvy = uz vx uxvz uxvy uyvx 35

Notre espace Et au fait les points? Ne sont pas des vecteurs Relatifs à une origine Voyons la théorie... C'est un espace affine 36

Notre espace Coordonnées et vecteurs Soit deux points A et B, on a : xb xa AB = yb ya zb za Les coordonnées des vecteurs dépendent de la base choisie Les coordonnées des points dépendent de la base choisie et de l origine Repère = base vectorielle + origine 37

Résumons... L espace dans lequel nous vivons Espace euclidien Espace affine Contient des points et des vecteurs Contient un espace vectoriel de dimension 3 Choix d une base vectorielle orthonormale Défini les coordonnées des vecteurs Choix d un point d origine Défini les coordonnées des points Distances mesurées par le produit scalaire Norme euclidienne 38

La synthèse d'images Rendu & Affichage Introduction Venceslas BIRI LIGM Université Paris-Est Marne-La-Vallée

Introduction Objectif Réaliser une image Nécessité de choix d un point de vue Caméra d un environnement virtuel Nécessité de modéliser le monde virtuel Objets éclairé (réaliste) Nécessité de concevoir de l éclairage Lumières 40

Introduction Rendu A l aide d une caméra, d objets et de lumière, dessiner une image des objets visibles éclairé par les lumières. Source lumineuse La La projection projection La perception perception Interaction Interaction lumière lumière matière matière 41

Introduction Le coté caméra Position d une caméra dans l environnement virtuel Association d un écran (virtuel) à la caméra Cet écran est constitué de pixel Appelé «buffer» ou «framebuffer» Souvent en RGB 42

Introduction L environnement virtuel / les objets Modélisation géométrique Positionnement dans la scène Modélisation colorimétrique Modélisation physique 43

Introduction Les lumières A positionner dans la scène Peuvent être de tout type : Ponctuelle Surfacique voire volumique Directionnelle Isotrope ou anisotrope 44

Introduction Cas d étude : Illumination locale : La couleur d un objet ne dépend que des caractéristiques (locales) de celui-ci et des lumières de la scène. Modèle d illumination simple Possibilité d illumination plus complexe Réflexion & réfraction Ombres 45

Introduction Deux grandes approches Rasterisation Lancer de rayons 2 philosophies : Rasterisation : polygone par polygone Lancer de rayons : pixel par pixel 46

Introduction Rasterisation : On part de la scène, et on envoie sur la caméra Lancer de rayon : On part de la caméra, et on envoie sur la scène virtuelle 47

La synthèse d'images Rendu & Affichage Rasterisation Venceslas BIRI LIGM Université Paris-Est Marne-La-Vallée

Rasterisation Rasterisation ou algorithme du Z-buffer Fondé sur : Algorithme de remplissage des polygones Quels pixels sont concernés par la projection d un triangle (ou autre polygone convexe) sur un écran 2D? Algorithme du Z-buffer En anglais : to rasterize Omniprésent dans les applications temps réel Jeux vidéo Simulateurs & RV 49

Rasterisation : principe Idée générale Chaque polygone convexe est projeté sur l écran (image de pixels) Les occlusions sont gérées grâce à une image de profondeur : le Z-buffer Philosophie orienté objet La complexité est dépendante du nombre de primitive 50

Rasterisation : algorithme Transformation repère caméra Illumination Projection des primitives Rasterisatio n Gestion occlusion Insertion dans l image Déterminer les coordonnées des points relativement à la caméra Éventuellement, déterminer la couleur des sommets par rapport aux Projeter lumières les sommets des primitives sur l image 2D. Comprend le culling Déterminer les pixels recouvert par la primitive Utilisation du Z-buffer pour comparer les profondeurs Écriture des couleurs des pixels dans l image finale 51

Rasterisation : le Z-buffer Précision sur le Z-buffer Principe simple : on conserve la plus proche profondeur dans le buffer Si on veut insérer un nouveau pixel dans l image finale, on compare sa «profondeur» à celle présente dans le Z-buffer Plus proche, on insére dans l image finale et on stocke la nouvelle profondeur dans le Z-buffer Plus loin, on écarte le pixel Nécessité de transmettre, pour chaque pixel à insérer, sa profondeur vis-à-vis de la caméra 52

Rasterisation : pipeline 53

OpenGL Cartes graphiques implémentent le pipeline graphique OpenGL : API C (C++) Permet de contrôler / diriger les cartes graphiques : Fourni les données d entrées (géométrie / matériaux) Fixe les transformations et la (les) projection(s) Détermine les paramètres de l illumination Gère le rendu final dans l image Fixe l ensemble des «états internes» de la carte graphique 54

Primitives et transformation But de la première étape : Charger les données Transformer ces données dans le référentiel de la caméra Ce référentiel mets la camera à l origine et son axe de visée sur l axe z vers les z négatifs 55

Primitives graphiques OpenGL Données d entrée : Points ou lignes Polygones : triangles, quads ou polygones Ils seront transformés en triangles En général, il vaut mieux envoyer des triangles car on maîtrise le «découpage» Données envoyées par bloc de primitives : glbegin( glbegin(primitive primitive); );...... // // bloc bloc de de primitives primitives...... glend(); glend(); primitive peut être : GL_POINTS GL_LINES GL_LINE_STRIP GL_LINE_LOOP GL_TRIANGLES GL_TRIANGLE_FAN GL_TRIANGLE_STRIP GL_QUAD GL_QUAD_STRIP GL_POLYGON 56

Primitives graphiques OpenGL 57

Primitives graphiques OpenGL Dans le bloc de primitives On injecte des points avec glvertex*( ) On peut mettre du code C normal Notamment des boucles : for, while... On est limité dans les instructions OpenGL Seules sont pris en compte les instructions : glvertex gltexcoord glmaterial glcolor glmultitexcoord glcalllist glsecondarycolor glvertexattrib glcalllists glindex glarrayelement gledgeflag glnormal glevalcoord glfogcoord glevalpoint Sinon génération d une erreur GL : GL_INVALID_OPERATION 58

Primitives graphiques OpenGL Dans le bloc de primitives On peut donc spécifier : Les normales avec : glnormal La couleur du point : glcolor / glsecondarycolor / glmaterial Les coordonnées de textures : gltexcoord / glmultitexcoord Les paramètres shader : glvertexattrib... A savoir Les vertex (et toutes autres données) sont transformés en vecteurs de 4 flottants 59

Les transformations Opérations courantes sur la pile de matrice glmatrixmode(mode) : fixe la pile courante, mode prend les valeurs MODELVIEW, PROJECTION, COLOR ou TEXTURE glpushmatrix() : recopie de la matrice haut de pile au sommet de la pile glpopmatrix() : enlève la matrice haut de pile glloadidentity() : remplace la matrice haut de pile par la matrice identité glloadmatrix*(...) : idem avec une matrice spécifiée par l utilisateur 60

Les transformations Fixer des transformations : Opérateur calculant une matrice et la multipliant à la matrice haut de pile Opérateurs : gltranslate{fd}(t x,t y,t z) : Translation (x,y,z) glrotate{fd}(t θ,t x,t y,t z) : Rotation d angle θ et d axe (x,y,z) glscale{fd}(t x,t y, T z) : Homothétie de rapport x, y et z 61