Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parÉliane Porte Modifié depuis plus de 10 années
1
Comment afficher rapidement un univers immense ?
2
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. Nous avons créé un univers de 60000 polygones. Pour aller vite : ne dessiner que ceux qui sont visibles (dans le champ de vision de la caméra).
3
Le champ de vision sappelle le frustrum Cest lespace compris entre les 6 plans. Calculer la partie visible = frustrum culling
4
Exemple dalgorithme naïf Tester tous les polygones ? Beaucoup trop long. Si lunivers 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.
5
Illustration de lalgorithme précédent Exemple vu de dessus Imaginons que chaque case contienne 1000 polygones : 1000 tests au lieu de 64000.
6
Mais ce nest pas aussi simple ! Une simple grille ne suffit pas ! Ce nest pas efficace et on a aussi envie aussi de : –Calculer des collisions, –Gérer les niveaux de détails –Ne pas afficher ce qui se trouve « derrière un mur ». Les quatre algorithmes que nous avons étudiés répondent à certaines de ces conditions.
7
Algorithme à base de quadtrees
8
Principe Comme une grille, sauf que les carrés ne font pas tous la même taille. Quadtree = arbre à 4 branches. On découpe lunivers en carrés. Chaque noeud/feuille est associé à un carré. Intérêt : on peut laisser de côté de grandes parties de lunivers.
9
Exemple de quadtree Chaque feuille contient une liste de polygones
10
Comparaison grille/quadtree Beaucoup moins de tests avec le quadtree !
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.