Algorithmes à base darbre BSP
Principe Se servir dune structure arborescente afin déliminer le traitement dune branche entière sur un test de visualisation. Inconvénient : temps de calcul extrêmement long pour obtenir un arbre équilibré nécessité de « précompiler » lenvironnement
Exemple
Convention : Au chargement du monde :
Étape 1 : Trouver un plan de coupe orienté. Étape 2 : Positionnement des faces par rapport à ce plan. A partir de là, on différencie les faces en 4 « types » :
Étape 3 : Réorganisation des faces sur le nœud courant et ses fils. Étape 4 : On applique la récursivité sur les nœuds fils.
Fin de la récursivité On arrête la récursivité quand : la liste de faces associée à un nœud ne contient que des faces coplanaires où la longueur de la liste est inférieure à une longueur donnée (optimisation à limplémentation)
Fin de la compilation On associe à chaque nœud une boite englobante
Sauvegarde de larbre Les données nécessaires pour le parcours de larbre sont : La structure arborescente Les listes de faces associées à chaque nœud Les boites englobantes associées à chaque nœud
Parcours de larbre Pendant l exécution du moteur, le parcours de larbre se fait sur un simple test de visibilité sur la boite englobante :