Scène de test (60000 polygones, 4000m2)

Slides:



Advertisements
Présentations similaires
Comparaison de deux algorithmes d’approximation
Advertisements

Algorithmique et simulation
Hierarchical Z-Buffer Visibility
Algorithmique (suite)
Fanny CHEVALIER Guillaume CAURANT
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.
Unstructured Lumigraph Rendering
The Reyes Image Rendering Architecture
Visible Surface Determination (Hidden Surface Removal)
Renaud Millet & Martin Raspaud - 8/11/2002 Optimized View Frustum Culling Algorithms Article de Ulf Assarsson et Thomas Möller.
Détection des collisions dans un moteur 3D temps réel
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
Etude des structures de donnée s au coeur des algos 3D des FPS.(BL2) Vos noms ici, encadreur, etc…
TER BL21 Étude des structures de données au cœur des algorithmes 3D des jeux vidéos de type FPS. (BL2) Encadrant :Participants : Michel BUFFA Jean-François.
Sujet BL1 : Simulateur de comportement réactif Bernard Clément Barelli Nicolas Maitrehut Loïc Ould Sidina Mahi Encadrant : Mr Michel Buffa.
Etude des structures de donnée s au coeur des algos 3D des FPS.(BL2) Vos noms ici, encadreur, etc…
Comment afficher rapidement un univers immense ?.
Algorithmes à base darbre BSP. Principe Se servir dune structure arborescente afin déliminer le traitement dune branche entière sur un test de visualisation.
Cours d'algorithmique 9 - Intranet 1 12 décembre 2006 Cours dAlgorithmique Logique de Hoare (début) : Principes et constructions élémentaires.
Application de réseaux bayésiens à la détection de fumées polluantes
Exercice 1 Métropole juin 2007
Cours S.S.I., SI1, avril 2007 – Comment utiliser les outils déjà présentés. Page 1 Comment utiliser les outils déjà présentés dans le cours S.S.I. et pourquoi.
Lancer de rayons interactif
Apprentissage du jeu de morpion
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Eric Guilbert, Marc Daniel *, Eric Saux
Plus courts chemins On présente dans ce chapitre un problème typique de cheminement dans les graphes : la recherche d'un plus court chemin entre deux sommets.
Créer une animation simple Gif avec ImageReady.
On procède comme on peut le voir sur le dessin ci-contre en effectuant
Dérécursivation Dérécursiver, c’est transformer un algorithme récursif en un algorithme équivalent ne contenant pas d’appels récursifs. Récursivité terminale.
Les algorithmes: complexité et notation asymptotique
Programmation linéaire
Chapitre 2 : Filtrage Professeur. Mohammed Talibi Alaoui
Comment nourrir nos plantes en notre absence ? Nos questions ...
TUTO POWER POINT Parole d’école décembre 2010
Périodicité, Apériodicité, Universalité et autres petits problèmes…
IFT Complexité et NP-complétude
Visualisation de surfaces décrites analytiquement
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
IFT3355: Infographie Visibilité
Pour le chemin le plus court pour tous les couples
Programmation linéaire en nombres entiers : les méthodes de troncature
L’adaptativité pour un solveur de l’équation de Vlasov
Projet Télédétection Vidéo Surveillance Deovan Thipphavanh – Mokrani Abdeslam – Naoui Saïd Master 2 Pro SIS / 2006.
Etude à l'échelle des aménagements Objectifs : étudier le comportement de l'eau autour de l'aménagement. Offre-t-on l'habitat adéquate à la truite? Qu'apporte.
Le vendredi 12 octobre 2007 Groupe TPE Capelle G Raës Y Barrière A 1/7.
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Programmation linéaire en nombres entiers
Calcul parallèle => partitionner les données en sous-groupes associés aux processeurs. P0 P2 P1.
Arbres binaires et tables de hachage
Etude des structures de données au coeur des algos 3D des FPS.(BL2) Vos noms ici, encadreur, etc…
2008/ Plan du cours 1.Introduction –Contenu du cours 2.Logique mathématique –Calcul propositionnel –Calcul des prédicats –Logique floue et aide à.
Chapitre VIII Découpage d’une scène selon une fenêtre donnée.
Enveloppe convexe et triangulation de Delaunay
Credits : Joëlle Thollot, Hector Briceño, Edmond Boyer
Structures de données avancées : LH (Hachage linéaire) D. E ZEGOUR Institut National d ’Informatique.
Recherche de motifs par projections aléatoires
Cours d'algorithmique 10 / Intranet 1 19 décembre 2006 Cours d’Algorithmique Logique de Hoare (fin) : Les boucles et les invariants.
July, la maison.. Dans le première étage de July, nous retrouvons une salle à man- ger avec une cuisine comportant un micro-ondes, un four et une table.
CPI/BTS 2 Algorithmique & Programmation La récursivité Algo – Prog CPI/BTS2 – M. Dravet – 14/09/2003 Dernière modification: 14/09/2003.
Utilisation pratique des identités remarquables
Structures de données avancées : LH* D. E ZEGOUR Institut National d ’Informatique.
Efficacité des chambres de trajectographies du bras à muons Nicolas LE BRIS SUBATECH NANTES.
Visualisation des flots optiques en 3D
Structures de données avancées : MTH ( Multidimensional trie hashing ) D. E ZEGOUR Institut National d ’Informatique.
1ère méthode : tout simplement par comptage
Exemple et critique d’un système de vision simple Patrick Hébert (dernière révision septembre 2008) Référence complémentaire: Shapiro et Stockman: chap.
GdR MoMaS Novembre 2003 Conditions d’interface optimales algébriques pour la vibro-élasticité. François-Xavier Roux (ONERA) Laurent Sériès (ONERA) Yacine.
Qu’est ce qu’on fait au CERN? Qu’est ce que vous allez faire ce soir? Alex Zabi & Stephanie Beauceron, CMS.
Transcription de la présentation:

Scène de test (60000 polygones, 4000m2)

Comment afficher rapidement un univers immense ?

Univers immense ? Exemples : un bâtiment, un circuit, une ville, une région... Un tel univers peut contenir des millions de polygones : on ne va pas tous les afficher ! Rapidement = 60 images/s au moins ! Pour aller vite : ne dessiner que ceux qui sont visibles (dans le champ de vision de la caméra).

Le champ de vision s’appelle le frustum En 3D, c’est l’espace compris entre les 6 plans. Calculer la partie visible = frustum culling

Exemple d’algorithme naïf Tester tous les polygones ? Beaucoup trop long. Si l’univers est plat et statique, plaquer une grille avec des cases de taille égales. Pré-calcul : on associe une case à chaque polygone. On ne dessine que les polygones dont les cases sont dans le champ de vision.

Illustration de l’algorithme précédent vue de dessus : les cases visibles sont grisées Champs de vision

Mais ce n’est pas aussi simple ! Une simple grille ne suffit pas ! Ce n’est pas efficace et on a aussi envie aussi de : Calculer des collisions, Avoir des algos pour tous les types d’environnement Ne pas afficher ce qui se trouve « derrière un mur »… etc… Les quatre algorithmes que nous avons étudiés répondent à certaines de ces conditions.

Algorithme à base de quadtrees

Principe Comme une grille, sauf que les cases ne font pas toutes la même taille. On associe à chaque case les polygones qu’elle contient Construction On part d’une case qui fait toute la surface de l’univers On découpe récursivement l’univers en cases de plus en plus petites. Au final, on a un « arbre de cases », chaque case étant découpée en 4 cases

Exemple de quadtree

Comparaison grille/quadtree Intérêt : on teste d’abord si les grands carrés sont visibles. Si ils ne le sont pas, on les élimine. Sinon, on considère des carrés plus petits. Beaucoup moins de tests avec le quadtree !

Exemple avec notre scène de test

Conclusion sur les quadtrees Surtout adapté à des scènes plates (les polygones sont posés sur un plan). Peu adaptés pour des bâtiments à étages : on va par exemple afficher des polygones sous le sol. Les prochains algorithmes répondent à ces limitations…