La SDF (Signed Distance Fields) est une méthode de modélisation 3D volumétrique offrant une plus grande liberté créative que la modélisation polygonale ou solide.
La SDF s'impose comme une méthode de modélisation 3D flexible et puissante.
La SDF évolue dans le domaine de la géométrie solide constructive (CSG 3D), parfois aussi appelée FRep. Traditionnellement, la CSG est basée sur les NURBS et inclut des structures de surface restrictives, comme les patchs. Ces restrictions topologiques sont encore plus évidentes avec la modélisation polygonale et comportent des risques d'échec des booléens, des congés, des chanfreins, des problèmes de maillage/artefacts, etc.
Cependant, la SDF repose sur des fonctions de distance mathématiques, généralement représentées sous forme de volumes dans l'espace shader/texture 3D, grâce au ray-marching. Un paradigme 3D proche de la SDF est celui des voxels, car les volumes SDF sont également visualisés à l'aide d'une grille 3D à résolution réglable. De plus, les metaballs sont essentiellement des volumes SDF maillés.
En résumé… Maillages polygonaux
Pour les maillages polygonaux, la surface est explicite : « Voici le polygone. » Vous ne disposez d’aucune information de distance (intérieure/extérieure), mais vous disposez de données telles que les normales du polygone pour déterminer les angles de la surface.
CAO/NURBS/solides
Les objets CAO 3D n’ont pas non plus de distance (intérieure/extérieure). Comme la SDF, la surface est implicite, mais inclut des courbes et des paramètres qui la définissent, ce qui est utile pour guider le maillage des polygones, mais cela se fait au prix d’une certaine liberté de modélisation.
SDF = Champ de distance signé (ou fonction)
En résumé, la réponse est : « À quelle distance suis-je d’une surface étant donné ces positions x, y, z ? » Mais elle n’indique pas la direction de la surface, seulement la distance d’un point à un autre (et si ce point est à l’intérieur ou à l’extérieur). La surface est implicite et peut être maillée à l’aide d’un algorithme d’approximation de surface tel que Marching Cubes, avec éventuellement des couleurs de sommets intégrées, si la coloration est présente.
La SDF s'impose comme une méthode de modélisation 3D flexible et puissante.
La SDF évolue dans le domaine de la géométrie solide constructive (CSG 3D), parfois aussi appelée FRep. Traditionnellement, la CSG est basée sur les NURBS et inclut des structures de surface restrictives, comme les patchs. Ces restrictions topologiques sont encore plus évidentes avec la modélisation polygonale et comportent des risques d'échec des booléens, des congés, des chanfreins, des problèmes de maillage/artefacts, etc.
Cependant, la SDF repose sur des fonctions de distance mathématiques, généralement représentées sous forme de volumes dans l'espace shader/texture 3D, grâce au ray-marching. Un paradigme 3D proche de la SDF est celui des voxels, car les volumes SDF sont également visualisés à l'aide d'une grille 3D à résolution réglable. De plus, les metaballs sont essentiellement des volumes SDF maillés.
En résumé… Maillages polygonaux
Pour les maillages polygonaux, la surface est explicite : « Voici le polygone. » Vous ne disposez d’aucune information de distance (intérieure/extérieure), mais vous disposez de données telles que les normales du polygone pour déterminer les angles de la surface.
CAO/NURBS/solides
Les objets CAO 3D n’ont pas non plus de distance (intérieure/extérieure). Comme la SDF, la surface est implicite, mais inclut des courbes et des paramètres qui la définissent, ce qui est utile pour guider le maillage des polygones, mais cela se fait au prix d’une certaine liberté de modélisation.
SDF = Champ de distance signé (ou fonction)
En résumé, la réponse est : « À quelle distance suis-je d’une surface étant donné ces positions x, y, z ? » Mais elle n’indique pas la direction de la surface, seulement la distance d’un point à un autre (et si ce point est à l’intérieur ou à l’extérieur). La surface est implicite et peut être maillée à l’aide d’un algorithme d’approximation de surface tel que Marching Cubes, avec éventuellement des couleurs de sommets intégrées, si la coloration est présente.
- Maillages polygonaux = surfaces manuelles.
- CAO = surfaces procédurales (comme des graphiques vectoriels 3D, avec un lissage illimité jusqu'au maillage)
- SDF = volumes procéduraux (texture 3D / espace de shader)
Le flux de travail de modélisation SDF peut être divisé en deux catégories principales :
- Modélisation SDF à primitives dynamiques, similaire à la modélisation Metaball. Il s'agit d'un flux de travail entièrement flexible et non destructif, permettant de combiner librement différentes formes primitives (par exemple, un cube, une sphère, un cylindre, une capsule, etc.). Cette approche SDF est comparable à la modélisation NURBS / solides, mais toutes les interactions entre les formes sont en temps réel et restent entièrement personnalisables, comme les opérations booléennes, les fusions, la coloration et les ajustements de forme. De plus, les opérations booléennes, les fusions, les congés, etc., sont infaillibles, contrairement à la modélisation polygonale ou NURBS / solides.
- Sculpture SDF, similaire à la sculpture voxel. Cette approche ne permet pas d'ajuster les primitives après les avoir combinées par une opération booléenne ou un mélange, mais elle permet de sculpter librement des formes, de manière similaire à la sculpture voxel de 3D-Coat, et comparable à la sculpture polygonale avec remaillage automatique des voxels ou génération de topologie dynamique.
Avantages du SDF par rapport aux NURBS et aux polygones
- Aucun souci de topologie/structure de maillage…
─ Pas de polygones étirés lors de la sculpture ;
─ Pas besoin de remaillage fréquent lors de la sculpture, ce qui entraîne une perte de détails ;
─ Pas de problèmes de topologie dynamique.
- Booléens, mélanges, congés, chanfreins, coques, insertions et sorties en temps réel et sans faille (restant ajustables de manière non destructive dans un flux de travail SDF avec primitives dynamiques).
- Les propriétés de forme restent ajustables de manière non destructive, mais uniquement dans l'approche avec primitives dynamiques. Fusion de formes et de couleurs en temps réel (restant ajustable de manière non destructive dans un flux de travail SDF à primitives dynamiques).
- Certaines techniques nécessitent relativement peu de calculs supplémentaires, comme les tableaux et les nombreuses instances.
Inconvénients du SDF par rapport aux NURBS et aux polygones
- Peu adapté aux objets monoblocs très détaillés, en raison de la haute résolution de grille requise.
- Peu adapté aux objets comportant des parties fines et allongées avec des angles obliques, comme une tour radio, également en raison des limites de la méthode de grille.
Voici une vidéo explicative intéressante sur la technologie SDF :