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



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

Gestion de scène pour les moteurs 3D

Etude comparative de différents motifs utilisés pour le lancé de rayon

Groupe Eyrolles, 2006, ISBN :

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

Les algorithmes de base du graphisme

Rendu temps réel de mer et de nuages

Introduction au maillage pour le calcul scientifique

ANALYSE CATIA V5. 14/02/2011 Daniel Geffroy IUT GMP Le Mans

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

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

IFT3355: Infographie Sujet 6: shading 7 (illumination globale 4)

Programmation linéaire

Calcul intégral élémentaire en plusieurs variables

Synthèse d images Edmond Boyer

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

Initiation au HPC - Généralités

Simulation d'un examen anthropomorphique en imagerie TEMP à l iode 131 par simulation Monte Carlo GATE

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


Dossier 03 Périphériques d acquisition

COMPTE-RENDU «MATHS EN JEANS» LYCEE OZENNE Groupe 1 : Comment faire une carte juste de la Terre?

Des interfaces textuelles aux interfaces graphiques

Modules Multimédia PAO (Adobe)

Object Removal by Exemplar-Based Inpainting

Immersion - Vision 3D dans la RV.

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

VISUALISATION DE NUAGES DE POINTS

Fonctions de plusieurs variables

Infolettre #18 : Les graphiques avec Excel 2010

point On obtient ainsi le ou les points d inter- entre deux objets».

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

Comment sélectionner des sommets, des arêtes et des faces avec Blender?

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

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

Ce dont nous avons besoin pour suivre ce tutorial :

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

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

PRINCIPE MICROSCOPIE CONFOCALE

Les structures de données. Rajae El Ouazzani

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

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

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

Manuel de validation Fascicule v4.25 : Thermique transitoire des structures volumiques

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

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

LPP SAINT JOSEPH BELFORT MODE OPERATOIRE ACTIVINSPIRE. Bonne utilisation à toutes et tous! UTILISATION DES TBI LE LOGICIEL ACTIVINSPIRE

Initiation à linfographie

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

Réalisation de cartes vectorielles avec Word

SIMULATION HYBRIDE EN TEMPOREL D UNE CHAMBRE REVERBERANTE

Modélisation de l apparence visuelle des matériaux - Rendu Physiquement réaliste

GUIDE Excel (version débutante) Version 2013

Création de maquette web

Cours IV Mise en orbite

Sillage Météo. Notion de sillage

Parallélisme et Répartition

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

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

Maîtriser les fonctionnalités d un traitement de texte (Word OpenOffice)

Modélisation et simulation du trafic. Christine BUISSON (LICIT) Journée Simulation dynamique du trafic routier ENPC, 9 Mars 2005

Franck VAUTIER, Jean-Pierre TOUMAZET, Erwan ROUSSEL, Marlène FAURE, Mohamed ABADI, Marta FLOREZ, Bertrand DOUSTEYSSIER

Communications immersives : Enjeux et perspectives

Planifier et contrôler un projet avec Microsoft Project

Optimisation, traitement d image et éclipse de Soleil

Gildas Malassinet-Tannou PEINTURE DE LUMIÈRE INSTALLATION INTERACTIVE

GMEC1311 Dessin d ingénierie. Chapitre 1: Introduction

Géométrie discrète Chapitre V

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

Rétablissement d un réseau cellulaire après un désastre

Chapitre 7 Les solutions colorées

modélisation solide et dessin technique

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Fonctions de plusieurs variables

Justine Ludi. HEAD Genève

Lecture graphique. Table des matières

PROJET DE MODELISATION CASERNE SERGEANT BLANDAN

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

MAITRISE DE LA CHAINE LOGISTIQUE GLOBALE (SUPPLY CHAIN MANAGEMENT) Dimensionnement et pilotage des flux de produits

Activité 11 : Nuage de points ou diagramme de dispersion

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

Initiation à Excel. Frédéric Gava (MCF)

Chapitre 22 Optimisation pour diffusion à l'écran, pour le web

Section «Maturité fédérale» EXAMENS D'ADMISSION Session de février 2014 RÉCAPITULATIFS DES MATIÈRES EXAMINÉES. Formation visée

Ni tout noir, ni tout blanc Consignes Thème I - Observer

Se former pour réussir!

Niveaux débutant & Intermédiaire Word 2010

Rendu et Eclairage. La Cambre AlICe ( Note technique 3DS MAX décembre 2007 Denis Derycke

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

Commune X. Quelles nouvelles exigences pour l accessibilité de la voirie? Les prescriptions techniques de l arrêté du 15 janvier 2007

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

TBI et mathématique. Pour vous soutenir dans votre enseignement des mathématiques. Les outils du logiciel Notebook. les ressources internet

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

Chapitre 5 : Flot maximal dans un graphe

ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE


TP Blender n 3 : Luxrender : Rendu d une scène d extérieur

INTRODUCTION. A- Modélisation et paramétrage : CHAPITRE I : MODÉLISATION. I. Paramétrage de la position d un solide : (S1) O O1 X

CICE - Présentation Accès à DS mode CICE

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Transcription:

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

La synthèse d'images II. Rendu & Affichage 1. Introduction Venceslas BIRI IGM Université de Marne La

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 3

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 projection La perception Interaction lumière matière 4

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 5

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

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

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 8

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

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 10

La synthèse d'images II. Rendu & Affichage 2. Anciennes techniques Venceslas BIRI IGM Université de Marne La

De vieilles techniques Rendu mode fil de fer (<1960) Approche polygone par polygone Algorithme : Pour chaque polygone Projeter ses points sur l écran Pour chaque couple de point : dessiner la droite Problème : pas de gestion des occlusions Rendu pauvre 12

De vieilles techniques (2) Algorithme du peintre (<1970) Philosophie simple : Ordonner les triangles du plus lointain au plus proche Les dessiner dans cet ordre Problème pour certaines intersections entre triangles 13

De vieilles techniques (3) Scanline rendering (1967 1970) Proche de la rasterisation Mix entre la rasterisation et le lancer de rayon Approche ligne par ligne Exemple de rendu avec le moteur Scanline Rendering Engine de 3DS max 14

De vieilles techniques (3) Scanline rendering Algorithme On ordonne les polygones en Y On initialise la liste des polygones visible de la première ligne On avance ligne par ligne : On calcul les intersections entre la ligne (de vue) et les polygones On actualise la liste en enlevant les polygones non visibles 15

De vieilles techniques (3) 16

De vieilles techniques (3) Scanline rendering Avantages : Permet de n avoir qu un nombre limité d objet en mémoire à chaque instant (l ensemble des polygones coupant la scanline) Chaque pixel est visité une seule fois Inconvénient : Il faut trier les primitives (objets) Les structures de données à maintenir et qui peuvent dépasser la taille mémoire d un Z-buffer 17

De vieilles techniques (4) Hidden line drawing Rendu fil de fer mais en conservant l occlusion En fait, rendu de surface en ne dessinant que les bords 18

De vieilles techniques (4) Render cache (1999) : philosophie Source : «Interactive Rendering using the Render Cache» Bruce Walter, George Drettakis, Steven Parker Rendering techniques '99, Volume 10, page 235--246 - Jun 1999 19

De vieilles techniques (4) Aperçu Display process renderer project Render cache depth cull interpolate renderer image sampling 20

De vieilles techniques (4) Render cache : résultat après chaque étape Projection Depth cull Interpolation 21

De vieilles techniques (4) Render cache : sampling Importance Sampling 22

La synthèse d'images II. Rendu & Affichage 3. Rasterisation Venceslas BIRI IGM Université de Marne La

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 24

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 25

Rasterisation : algorithme Transformation repère caméra Illumination Projection des primitives Rasterisation 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 26

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 27

Rasterisation : pipeline 28

La synthèse d'images II. Rendu & Affichage 4. Lancer de rayon Venceslas BIRI IGM Université de Marne La

Lancer de rayons Algorithme du «ray casting» ou «ray tracing» «ray tracing» plutot pour des algorithmes évolué Illumination globale Fondé sur Aspect particulaire de la lumière Algorithme d intersection & de géométrie Omniprésent Dans les techniques réalistes non temps réel 30

Lancer de rayons Idée générale : Depuis une caméra, lancer un rayon passant par un pixel Suivre le rayon dans la scène A l intersection, calculer la couleur Philosophie orienté image La complexité est dépendante du nombre de pixel de l image 31

Lancer de rayons Lancer un rayon Calcul intersection Transformation rayon Illumination Pour chaque pixel de l image, lancer un rayon entre le centre optique et Calcul la 1ère ce de pixel intersection entre le rayon et les objets Le rayon est transformé dans les repères locaux des objets à intersecter Éventuellement calculer la couleur de l objet par rapport aux lumières Écriture des couleurs des pixels dans l image finale Insertion dans l image 32

Lancer de rayons Algorithme Image Image lancer_rayon(scene lancer_rayon(scene s) s) {{ pour pour chaque chaque pixel pixel pp {{ Calcul Calcul du du rayon rayon rr passant passant par par la la focale focale caméra caméra et et le le pixel pixel pp last_inter == +infini +infini pour chaque chaque objet objet oo de de la la scène scène ss {{ si si (intersection( (intersection(rr,,oo)) << last_inter) last_inter) {{ calcul calcul illumination illumination cc au au point point d intersection d intersection }} } fixer fixer la la couleur cc au au pixel pixel }} renvoie renvoie image image }} Complexité? 33

Lancer de rayons : algorithme Plusieurs étapes : 1. Calcul des rayons r 2. Calcul de l intersection 3. Calcul de l illumination Amélioration de la complexité : Boucle for orange! Augmentation de la complexité : Récursivité sur l instruction en bleue 34

Lancer de rayons : rayons Calcul des rayons : rayons centrés Détermination d un coin de la grille Plus un demi pixel en hauteur et en largeur Pour chaque rayon on avance de la taille d un pixel Autres techniques : Détermination d un point de manière stochastique dans le pixel Détermination de n rayons dans un pixel Pixel sampling 35

Lancer de rayons : intersections Calcul de l intersection : On utilise des primitives graphiques Sphère, cylindre, plan, carré, triangle, tore, ellipsoïde Chaque primitive définie dans un repère canonique On détermine précisément les conditions d intersection rayon / objet Chaque primitive est placée dans la scène par transformation Les rayons subiront la transformation afin de les ramener dans le repère canonique des primitives 36

Lancer de rayons : intersections Stratégie de calcul d intersection Équation paramétrique du rayon Équation cartésienne de l objet Donne une condition sur le paramètre du rayon Exemple d intersections : rayon / plan { x=o x t u x y=o y t u y z=o z t u z Ou, vectoriellement : a x by c z d = 0 a O x b O y c O z d t au x bu y cu z =0 t= a O x b O y c O z d au x bu y cu z equplan O t= n. u 37

Lancer de rayons : intersections Exemple d intersection : plan / rayon Avec objet canonique : plan z = 0 Oz t= uz Rapidité de calcul après transformation Exemple d intersection : sphère / rayon Vectoriellement, c est plus simple! 38

Lancer de rayons : optimisations Optimisation sur boucle orange Objectif : Se libérer de la dépendance à la scène Utilisation de structure de données (scène) accélératrice : BSP Tree Grille uniforme KDTree Octree Hiérarchie de volume englobant Autres variantes (Hierarchie de grille uniforme ) Algorithme de traversée rapide 39

Lancer de rayons : optimisations Algorithme de traversé rapide d un rayon Amanatides & Woo (Eurographics 87) Exemple en 2D Équation du rayon : O t Initialisation : v Trouver le voxel X,Y origine de O Si pas dans la grille : trouver le premier point O Initialiser stepx et stepy à +1 ou -1 suivant le signe des coordonnées de v Calcul de tmaxx et tmaxy, mesure du déplacement (en t) avant de croiser la prochaine cellule sur l axe des x et des y Calcul de tdeltax, tdeltay, déplacement (en t) pour se décaler d un pixel en largeur et hauteur 40

Lancer de rayons : optimisations Algorithme de traversé rapide d un rayon loop loop {{ }} if(tmaxx if(tmaxx < tmaxy) { tmaxx= tmaxx= tmaxx + tdeltax; X= X= X X ++ stepx; stepx; }} else else { tmaxy= tmaxy= tmaxy + tdeltay; Y= Y= Y Y ++ stepy; stepy; }} NextVoxel(X,Y); NextVoxel(X,Y); Comportement identique en 3D 41

Lancer de rayons : optimisations Problème de la traversée rapide : A 1 2 3 B Solution : vérifier la valeur d intersection de t par rapport au tmax autorisée pour la cellule donnée Optimisation supplémentaire : Chaque objet stocke l identifiant du dernier rayon à l avoir intersecté. Ainsi on ne calcule jamais deux fois la même intersection objet / rayon 42

Lancer de rayons : optimisations Traversée rapide et structure hierarchique Pour BSP Tree / Octree / Hiérarchie de volume englobant / KDTree Tous ont des structures d arbre Méthode d intersection récursive Parcours de l arbre : Test sur le nœud Détermination de l ordre de test sur les fils Récursivité dans cet ordre sur les fils Explications détaillées (octree) dans Geometric Data Structures for Computer Graphics Gabriel Zachmann & Elmar Langetepe Course notes 43

Lancer de rayons Illumination : possibilités Couleur constante Modèle d éclairement pour chaque source blinn-phong Tir de rayon d ombre vers les sources Suivi du rayon : Dans la direction de réflexion spéculaire pure Dans la direction de transmission Algorithme récursif 44

La synthèse d'images II. Rendu & Affichage 5. Comparaison des 2 approches Venceslas BIRI IGM Université de Marne La

Comparaison Dernières technologies en lancer de rayons OpenRT VIDEO! Nvidia : OptiX Lancer de rayon sur GPU VIDEO! 46

Comparaison Rasterisation Toujours à la pointe Nombre de processeur augmentant Ambiant Occlusion Alléger la dépendance à la scène : Deferred Shading (Rendu différé) 47

Comparaison Avantages Lancer de rayons : Peut être indépendant du nombre de primitive de la scène avec structure de données Souplesse de calcul Représente la physique sous jacente Rasterisation Peut travailler dans l espace image (deferred shading) Adapté à la parallélisation 48

Comparaison Inconvénient Lancer de rayons Stockage de la scène problématique pour parallèlisation Complexité peut exploser Dépendance à la résolution Rasterisation Dépendance à la scène Z-test final : beaucoup de travail pour rien Limitation sur les effets représentables 49