La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Scène de test (60000 polygones, 4000m2). Comment afficher rapidement un univers immense ?

Présentations similaires


Présentation au sujet: "Scène de test (60000 polygones, 4000m2). Comment afficher rapidement un univers immense ?"— Transcription de la présentation:

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 sappelle le frustum En 3D, cest lespace compris entre les 6 plans. Calculer la partie visible = frustum culling

5 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.

6 Illustration de lalgorithme précédent vue de dessus : les cases visibles sont grisées Champs de vision

7 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, –Avoir des algos pour tous les types denvironnement –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 quelle contient Construction –On part dune case qui fait toute la surface de lunivers –On découpe récursivement lunivers 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 dabord 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…


Télécharger ppt "Scène de test (60000 polygones, 4000m2). Comment afficher rapidement un univers immense ?"

Présentations similaires


Annonces Google