Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parApollinaire Laroche Modifié depuis plus de 11 années
1
Scène de test (60000 polygones, 4000m2)
2
Comment afficher rapidement un univers immense ?
3
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).
4
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
5
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.
6
Illustration de l’algorithme précédent
vue de dessus : les cases visibles sont grisées Champs de vision
7
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.
8
Algorithme à base de quadtrees
9
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
10
Exemple de quadtree
11
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 !
12
Exemple avec notre scène de test
13
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…
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.