Rendu 3D temps réel Patrick Reuter

Slides:



Advertisements
Présentations similaires
( Application Programming Interface)
Advertisements

Chaîne de Synthèse Réel Modélisation Rendu Image Fichier Scène
Constructive Volume Geometry (CVG) Article de Min Chen & John V. Trucker COMPUTER GRAPHICS Benoît Capelli – Stéphane Renaudie DESS IMM
Carsten Dachsbacher Christian Vogelgsang Marc Stamminger
Hierarchical Z-Buffer Visibility
Modélisation par Surfaces Implicites à Squelettes Complexes
Fanny CHEVALIER Guillaume CAURANT
for Painting and Rendering Textures on Unparameterized Models
LOD et Progressive Meshes (maillages progressifs) Hugue Hoppes 1996
RENDU DE TERRAIN Problématique : Rendre une très large zone de terrains en la simplifiant au maximum pour réduire le nombre de polygones à afficher. A.Bailly.
Simplification Out-of-Core des modèles polygonales complexes
Unstructured Lumigraph Rendering
The Reyes Image Rendering Architecture
Accélération du Rendu Volumique basée sur la Quantification des Voxels
Visible Surface Determination (Hidden Surface Removal)
Marques Patrice & Maurer Romain DESS IMM 2002 / 2003 ACCELERATION DE LA RADIOSITE.
Technique des Surfels Surfels: Surface Elements as Rendering Primitives SIGGRAPH 2000 H.Pfiste, J.van Baar, M.Zwicker, M.Gross.
Le rendu basé images S. B Kang. A survey of image-based rendering techniques. In Videometrics VI, volume 3641, pages SPIE, 1999 Heung-Yeung Shum.
Efficient Simplification of Point-Sampled Surfaces
Université de Bordeaux I DESS IMM Synthèse d’images
Ray Tracing Acceleration Techniques A Survey of Ray Tracing Acceleration Techniques James Arvo et David Kirk Ray Tracing on Programmable Graphics Hardware.
Formal/Theory Phenomenology/Ex periments chaos break-up, giant-resonances, fusion interdisciplinarity (clusters, bose) mean-field (as a general theory)
Coopération/Distribution DEA Informatique Nancy. Content 4 Introduction - Overview 4 Coordination of virtual teams : –explicit interaction model –explicit.
IMAGIS-GRAVIR / IMAG Rendu de forêts en temps-réel iMAGIS / GRAVIR Franck Sénégas DEA IVR Tuteur: Fabrice Neyret.
Xavier Décoret* Frédo Durand° François Sillion*
Exportation des données
Biométrie main. Hand ID System US Patent ,1971 Richard H. Ernst.
Le dispositif dévaluation des personnels de direction. Le diagnostic détablissement Groupe Inspection Établissements et Vie Scolaire P.C Janvier 2004.
Énergie Thermique et la Chaleur
جامعــــــة محمد خيضــــــــــــر
KEYSHOT en quelques clics Du fichier informatique à limage ou à lanimation Des fonctions intuitives placées dans un menu convivial permettent en quelques.
4828 St-Denis6755 Jarry Est Montréal, QuébecSt-Léonard QC H2J 2L6H1P 1W
Segmentation d’Images par Contours Actifs Tensoriels
Programmation des logiciels infographiques interactifs 2D et 3D, et le OpenGL.
Cours VHDL Chap 3: sémantique VHDL
DEA Intelligence Artificielle et Optimisation Combinatoire
Classification Multi Source En Intégrant La Texture
IFT3355: Infographie Projections
Historique de SystemC Regroupe 4 courants didées: SCENIC Project : Synopsys+UC Irvine Philips System-Level Data Types, VSIA SLD DWG IMEC, Hardware-Software.
Cours N°2 Base de Données & Langage SQL
Modélisation géométrique à l’aide d’un maillage
Présentation du projet d'IN55
CERN IT Department CH-1211 Genève 23 Switzerland t Get the most of Office 2007! Bruno Lenski, IT/OIS.
Images synthètiques de haute qualité
4. Lespace du son Traitement du son. Liens entre les innovations dans le domaine de la lutherie et le développement de la musique Réaménagements de la.
IFT3730 : Infographie 3D Systèmes et modèles graphiques Pierre Poulin, Derek Nowrouzezahrai Hiver 2013 DIRO, Université de Montréal.
IFT2740 : Outils de l'infographie 3D Systèmes et modèles graphiques
Plan du cours Cours 1,2 : le pipeline graphique
IFT3355: Infographie Visibilité
IFT3355: Infographie Transformations Géométriques
PROTOTYPE D’UN PROGRAMME ÉCRIT EN C++ BASÉ SUR OPENGL
L’adaptativité pour un solveur de l’équation de Vlasov
1 Modèles de particules Reeves, W. T., "Particle Systems - A technique for Modeling a Class of Fuzzy Objects," SIGGRAPH 83, Reeves, W. T., and.
CASANAS Sylvain PASTOR Antoine PERCHET Frederic
Modélisation géométrique
Les images de synthèses Duprat Anatole. Les images de synthèses consistent en la création assistée par ordinateur, d'images numériques. Il existe différentes.
Projet Lancer de Rayons
Etude des structures de données au coeur des algos 3D des FPS.(BL2) Vos noms ici, encadreur, etc…
Credits : Joëlle Thollot, Hector Briceño, Edmond Boyer
GRAPHISME PAR ORDINATEUR SIF Contenu du cours 10 Textures –Définir la texture –Superposition d’une texture sur une surface plane –Superposition.
GRAPHISME PAR ORDINATEUR SIF Contenu du cours 6 Transformation et animation de plusieurs modèles 3D avec XNA –Chargement des modèles 3D (modèle.
Copyright Derivaux Sébastien 1 Présentation de l’article ROAMing Terrain: Real-time Optimally Adapting Meshes 1 Sébastien Derivaux pour le cours de Rendu.
Synthèse d’images et Rendu Réaliste Compression Progressive de Modèles 3D DOMENGET Bruno DUMAS Benjamin EISTI.
Architecture et Fonctionnement d’un GPU Géométrie Rendu.
Simulation réaliste de ruisseaux en temps réel Stage de M2R IVR 2005 Frank Rochet sous la direction de Fabrice Neyret GRAVIR / IMAG-INRIA.
Plan du cours Cours 1,2 : le pipeline graphique
IFT3355: Infographie Plan © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.
Les cartes graphiques Leur partie software.
Premières notions de la 3D
OSSIA Open Scenario Systems for Interactive Application Contrôle de paramètres spatiaux Jean-Michel Couturier, Blue Yeti, mai 2014.
Transcription de la présentation:

Rendu 3D temps réel Patrick Reuter preuter@labri.fr Pour DESS Ingénierie de l'Image DESS Informatique Multimedia Patrick Reuter Version 1.2 2/10/2002

1-1 Préface - Interaction projection Scène Image interaction Utilisateur Interaction: commence à 5 fps « temps réel » >12 fps plus de difference >72 fps fps: frames per second (taux de rafraîchissement)

1-2 Préface - Applications Modélisation Animation Environnements virtuels Jeux vidéo … Graphics hardware: double tous les 6 mois mais: scènes complexes demandent accéleration

1-3 Préface - Littérature Tomas Möller, Eric Haines « Real-Time Rendering » www.realtimerendering.com ISBN 1-568816-101-2 [Haines99]

2 The Graphics Rendering Pipeline Le processus du rendu d’une scène à l’écran caméra virtuel objets 3D textures image 2D à l’écran sources de lumière interacteurs …

2 The Graphics Rendering Pipeline Stages gérées par des unités différents Application Stage Geometry Stage Rasterizer Stage Bottleneck stage (Stage critique) détermine le fps final

2-1 The Graphics Rendering Pipeline Application Stage Geometry Stage Rasterizer Stage (CPU operations) gère les interacteurs (clavier, souri, …) gère la détection des collisions gère les animations gère la physique de la scène (force feedback, déformations, vélocités, …) …

(per-vertex operations), consiste de 5 phases séquentielles: 2-2 The Graphics Rendering Pipeline Application Stage Geometry Stage Rasterizer Stage (per-vertex operations), consiste de 5 phases séquentielles: Model & View Transform Lighting & Shading Screen Mapping Projection Clipping du Model Space pour ajouter 3D -> 2D (les objets en ajuster le champ -> World Space du réalisme (projection or- dehors du champ de vue à la taille -> Eye Space tographique ou de vue sont de la fenêtre (Muliplications perspectivique) supprimés) des matrices 4x4)

2-3 The Graphics Rendering Pipeline Application Stage Geometry Stage Rasterizer Stage (per-pixel operations) mettre les bonnes couleurs aux pixels utilisation des textures Z – buffering double – buffering

3-1 Optimisation - Overview Application Stage Geometry Stage Rasterizer Stage Bottleneck stage (Stage critique) détermine le fps final Optimisation: 1) Identifier le Bottleneck stage 2) réduire le temps d’exécution du Bottleneck 3) mais aussi: charger les autres stages avec plus de travail pour une qualité supérieure du rendu

3-2 Optimisation – Identifier le bottleneck pas par simple benchmark du temps d’affichage : mesure le temps d’exécution de tous les 3 stages  les 3 stages doivent être testés séparément

3-2-1 Optimisation – Identifier le bottleneck Application Stage (CPU) tester le le CPU workload est 100% ?  Bottleneck en OpenGL: remplacer les commandes glNormal3 et glVertex3 par glColor3 plus de travail pour Geometry Stage et Rasterizer Stage: pas de changement de fps  bottleneck

3-2-2 Optimisation – Identifier le bottleneck Geometry Stage (plus difficile, parce que seulement la lumière n’affecte que le Geometry Stage) tester le éteindre la lumière: plus de performance?  bottleneck augmenter la lumière: même performance?  not bottleneck (ou tester les 2 autres stages)

3-2-3 Optimisation – Identifier le bottleneck Rasterizer Stage tester le diminuer la taille de la fenêtre: plus de performance?  bottleneck éteindre les textures, le brouillard, z-buffering, blending, …:

3-3 Optimisation du Bottleneck Optimiser le temps d’exécution du bottleneck stage - Application Stage - Geometry Stage - Rasterizer Stage

3-3-1 Optimisation du Application stage optimisation du code optimisation de la gestion de mémoire (allocation, cache, …) utilisation de plusieurs processeurs détection des collisions intelligente (hierarchy, bounding volumes (volumes englobantes), …) …

3-3-2 Optimisation du Geometry stage Application Stage Geometry Stage transformation: regrouper les transformations (le moins de multiplications des matrices 4x4 possible) vertices (sommets) connectés (Triangle Fans, Triangle Strips, Quad Strips)

3-3-2 Optimisation du Geometry stage OpenGL Triangle Fans Rappel: Geometry Stage dépend des per-vertex operations à la place de: GL_TRIANGLES 0-1-2, 0-2-3, 0-3-4, 0-3-4, 0-5-6 (15 vertices) transférer GL_TRIANGLE_FAN 0-1-2-3-4-5-6 (7 vertices)

3-3-2 Optimisation du Geometry stage OpenGL Triangle Strips à la place de GL_TRIANGLES (8 * 3 = 24 vertices) 0-1-2, 1-3-2, 2-3-4, 3-5-4, 4-5-6, 5-7-6, 6-7-8, 7-9-8 transférer GL_TRIANGLE_STRIP (2 + 8 = 10 vertices) 0-1-2-3-4-5-6-7-8-9

3-3-2 Optimisation du Geometry stage OpenGL Triangle Strips pour triangles connectés: réduire de 3n vertices jusqu’à n+2 vertices ! Mais: Trouver la meilleure configuration est un problème NP complet (bijection sur problème du voyageur de commerce) Automatisation: SGI Performer et Optimizer, Algorithme STRIPE

3-3-2 Optimisation du Geometry Stage The STRIPE algorithm [Evans et al 1.) Phase globale: Identifier les patchs quadrilaterales 2.) Phase locale: prendre le triangle avec degré minimum, continuer avec le triangle du degré minimum, etc.

3-3-2 Optimisation du Geometry stage (avec perte) Application Stage Geometry Stage Simplification (Représentations Level of Detail) (LOD, niveaux de détails) réduire le nombre de polygones (triangles) 1.) pour les terrains: construire un terrain en LOD à partir des cartes d’élévations, p.ex. [Duchaineau et al. 1997, Hoppe98, Lindstrom et Pascucci 2001, Lindstrom et al. 1996] 2.) pour les objets fermés: simplification du maillage

3-3-2 Optimisation du Geometry stage (avec perte) - Simplification du maillage Méthode la plus commune: Edge collapse, p.ex. [Eck et al. 95, Garland et Heckbert 98, Hoppe 96, Melax 98] Application consécutive de cette méthode:  Représentation en multirésolution du maillage, choisir le bon niveaux de détail en fonction du point de vue

3-3-2 Optimisation du Geometry stage (avec perte) - Exemple de simplification du maillage Remarque: La sélection du niveau de détails se passe dans le Application Stage, mais elle est peu coûteuse

3-3-3 Optimisation du Rasterizer stage Application Stage Rasterizer Stage OpenGL backface culling éteindre z – Buffering où possible - … diminuer la taille de la fenêtre (avec perte)

3-4 Optimisation générale le moindre précision possible (float à la place de double, …) éteindre les options non utilisées (brouillard, blending, …) minimiser les changements d’état OpenGL (trier par couleur, textures, triangles, quadrilaterales, …) OpenGL: utiliser les display lists …

4 Equilibrer le Graphics Rendering Pipeline Application Stage Application Stage Geometry Stage Rasterizer Stage 30 ms 50 ms 30 ms mieux: Application Stage Geometry Stage Rasterizer Stage 40 ms 40 ms 40 ms

4 Equilibrer - Culling techniques View frustum culling Backface culling Point View Frustum de vue Occlusion culling

4-1 Equilibrer – du Geometry Stage a l’ Application Stage Rasterizer Stage Application Stage Geometry Stage Rasterizer Stage

4-1-1 Equilibrer – Hierarchical View Frustum Culling Par exemple: basé sur des spheres englobantes (bounding spheres)

4-1-1 Equilibrer – Hierarchical View Frustum Culling View frustum test dans chaque noeud Point de vue intersection intersection intersection dedans dedans dedans dedans dehors intersection

4-1-2 Equilibrer – Hierarchical Backface Culling Regroupement (Clustering) des polygones suivant proximité dans l’espace euclidienne proximité dans l’espace des normales - Performance du culling dans chaque noeud par exemple [Kumar et al. 1996]

4-2 Equilibrer – du Geometry Stage et Rasterizer Stage a l’Application Stage

4-2-1 Equilibrer – Occlusion culling Le teapot lila n’est pas visible Algorithmes les plus connus: - Hierarchical visibility algorithm (pyramide Z-buffer) [Greene et al. 1993] -HOM (Hierachical occlusion maps) [Zhang et al. 1997]

4-2-2 Equilibrer – Portal culling D E F B C G H A E B C D F G H

4-2-2 Equilibrer – Portal culling D E F B C G H A E B C D F G H

4-2-2 Equilibrer – Portal culling D E F B C G H A E B C D F G H

4-2-2 Equilibrer – Portal culling D E F B C G H A E B C D F G H

4-2-2 Equilibrer – Portal culling D E F B C G H A E B C D F G H

4-2-2 Equilibrer – Portal culling D E F B C G H par exemple [Luebke et Georges 1995, Teller et Sequin 1991]

4-3 Equilibrer – du Geometry Stage au Rasterizer Stage Application Stage Geometry Stage Rasterizer Stage Application Stage Geometry Stage Rasterizer Stage

4-3-1 Equilibrer – Appearance Preserving Simplification Utilisation du Bump Mapping pour preserver les normales Bump Mapping: Multipass Rendering Bump Map Texture Map

4-3-1 Equilibrer – Appearance Preserving Simplification Bump Mapping : Objet original Image de normales

4-3-1 Equilibrer – Appearance Preserving Simplification 1.) 2.) Appearance Preserving Simplification [Cohen et al. 1998, Cignoni et al. 1998] 1.) Créer un maillage simplifié 2.) Créer un Bump Map pour chaque face

4-3-1 Equilibrer – Appearance Preserving Simplification Amelioration: Silhouette Clipping [Sander et al. 2000] Utiliser le OpenGL Stencil Buffer pour ameliorer la silhouette Autre possibilite: utiliser Displacement Mapping

5 Conclusions Séparation du Graphics Rendering pipeline en 3 Stages conceptuels Optimisation de chacun de ces Stages Équilibree des Stages autres techniques de rendu (Rendu basé Image) Discussion

6 Nouvelles techniques de rendu Apparition du “Rendu Basé Image” (Image Based Rendering) Description de la Scène par la Fonction plenoptique P [McMillan et Bishop 1995] vue p de la Scene de chaque point (Vx, Vy, Vz) dans une direction (, ) au temps t p = P(,  , Vx, Vy, Vz, t)  Rendu Basé Image: Essai de reconstruire la fonction plenoptique P

6 Nouvelles techniques de rendu Rendu Basé Image Comment reconstruire la fonction plenoptique? - p. ex.: entraîner avec des vues à l’entrée  après créer des nouvelles images pour autres (,  , Vx, Vy, Vz, t)

6 Nouvelles techniques de rendu GEOMETRY-BASED RENDERING Polygonal Meshes Texture Mapping Impostors Point Rendering (Surfels) Light Field Rendering Lumigraph Plenoptic Function IMAGE-BASED RENDERING

6 Nouvelles techniques de rendu Point Rendering (Surfels) Modèles complexes: >> polygones, écran toujours pareil projection: mais: projection Plus de necessité de prendre des polygones

6 Nouvelles techniques de rendu Point Rendering (Surfels) Littérature: p. ex. [Pfister et al. 2000, Rusinkiewicz et Levoy 2000]

6 Nouvelles techniques de rendu Point Rendering (Surfels) 106.795 Surfels 62143 Surfels 4544 Surfels Level-of-Details

6 Nouvelles techniques de rendu Point Rendering (Surfels) Niveaux de détails gérés par un arbre BSP

6 Nouvelles techniques de rendu Point Rendering (Surfels) Problèmes: remplissage des trous Solutions: boucher les trous en espace image (2D) ou espace objet (3D)  reconstruction de la surface (Surfaces paramétriques, surfaces implicites, Radial basis functions …)

7 Definitions Realité virtuelle: … Immersion Environnement Utilisateur Interaction Son Synthèse d’image Applications: - Géomarketing - Prototypage - Virtual design - Simulateurs - … Interacteurs …

7 Définitions Synthèse d’image Modélisation Visualization Rendu Techniques d’ Illumination Rendu par Polygons … Rendu par Points … Rendu basé Image Raytracing Radiosité