Structure de données spatiale pour calculs de visibilité rapides en 3D — divise l'espace récursivement par moitiés. Méthode classique pour le rendu temps réel.
Lors de la construction de scènes 3D complexes pour les VFX ou le rendu interactif, on se heurte rapidement à un goulot d'étranglement : quelle géométrie est visible depuis quelle position, et comment le calculer en temps réel ? C'est là qu'intervient la Binary Space Partition (BSP) — un algorithme qui divise récursivement l'espace 3D en deux moitiés, créant ainsi une structure arborescente. Chaque partition est définie par un plan qui traverse l'espace. Les objets se retrouvent soit d'un côté, soit de l'autre, soit sont eux-mêmes divisés. Le résultat : des vérifications de visibilité et des opérations de culling extrêmement rapides.
En pratique, cela fonctionne ainsi : vous avez une scène intérieure complexe avec de nombreuses pièces et murs — aucune carte graphique au monde ne voudra rendre tous les polygones situés derrière un mur massif. La structure BSP permet de déterminer en quelques passages quelle grappe de géométrie est pertinente depuis le point de vue actuel. L'overhead de parcours est minimal, car on ne suit qu'une structure arborescente au lieu de vérifier chaque primitive individuelle. C'est la raison pour laquelle la BSP était classique dans les moteurs de jeu comme Quake ou Unreal Tournament — et pourquoi elle trouve encore aujourd'hui une application dans certains pipelines VFX en temps réel, par exemple pour le rendu volumétrique ou pour le pré-calcul d'informations de visibilité pour des scènes de destruction procédurale.
Il est important de comprendre : la BSP n'est pas principalement une structure de rendu. C'est une méthode d'organisation spatiale — comparable à un index spatial hautement optimisé. Aujourd'hui, la BSP est moins utilisée pour le rendu de polygones classique (les arbres BVH sont plus efficaces pour cela), mais elle joue toujours un rôle dans la détection de collisions, le lancer de rayons (raycasting) et le prétraitement de la géométrie statique. Dans les pipelines VFX, on utilise souvent implicitement des concepts similaires à la BSP : lors du culling de particules contre des obstacles complexes, dans les workflows de géométrie solide constructive (CSG) ou lorsqu'il faut interroger rapidement dans quelle zone volumétrique se trouve un effet.
Le problème principal lors de la construction d'une bonne BSP réside dans le choix de l'emplacement des plans de coupe. Des plans mal choisis conduisent à des arbres déséquilibrés et donc à des baisses de performance. Les professionnels utilisent donc aujourd'hui des méthodes heuristiques ou laissent les outils calculer automatiquement les coupes optimales. L'efficacité de la mémoire est également une considération — des arbres BSP très finement résolus peuvent être gourmands en mémoire, c'est pourquoi dans les pipelines de production, il faut souvent rechercher un équilibre entre la profondeur et l'empreinte mémoire.