300 likes | 596 Views
Surfaces à Subdivision. Geri’s Game (1989) : Pixar Animation Studios. Raffinement 1. Raffinement 2. Raffinement ∞. Surfaces à subdivision. Approximer la courbe limite, au travers d’un processus itératif. Approche similaire . Raffinement. Subdivision en 3D. But des surfaces à subdivision.
E N D
Surfaces à Subdivision Geri’s Game (1989) : Pixar Animation Studios
Raffinement 1 Raffinement 2 Raffinement ∞ Surfaces à subdivision • Approximer la courbe limite, au travers d’un processus itératif.
Approche similaire Raffinement Subdivision en 3D
But des surfaces à subdivision • Comment représenter efficacement des surfaces? • Optimalité de la représentation (pb structure de data) • Continuité • Invariance affine • Rendu peu coûteux • Lien avec splines/patches? • Pourquoi l’un plutôt que l’autre?
Types de Subdivision • Schéma d’interpolation • La surface/courbe limite passe par les points initiaux. • Schéma d’approximation • L’autre cas
P2 Q3 Q2 P1 Q4 Q1 Q5 Q0 P3 P0 Application itérative Lien avec les fractales Courbe limite L’algorithme de Chaiken
Subdivision de Loop • Fait pour maillages triangulaires • Schéma d’approximation • Continuité partout, sauf aux sommets singuliers
Loop: Gestion des bords • Masque spécifique Loi de sommet Loi d’aréte
Expression matricielle • La subdivision peut être exprimé via une matrice Smask de poids w. • Smask est creuse • Pas pour l’implémentation • Permet l’étude analytique de • La courbure • La surface limite Smaskles poids Anciens points de contrôles Nouveaux points
Continuité et courbure.. • Les poids de subdivision sont dérivés de ceux utilisés par les B-splines. • Convergence vers du C2 presque partout. - les maths fonctionnent partout sauf pour les sommets de valence singulière. On peut montrer pour tous les processus de subdivision qu’ils ont une valence ideale, pour laquelle la surface tend vers une surface de type spline.
Points ordinaires et Singuliers Subdivision de Catmull-Clark Valence 4 Subdivision de Loop Valence 6 • Subdiviser un maillage ne crée pas de points singuliers. • Ca n’en enlève pas non plus. • Solution: adapter les regles a ces points, afin de garder la continuité de la surface.
La subdivision en pratique • splines (NURBS) utilisées traditionnellement en animation. • Dans certains cas de figure, délicat a manipuler, par exemple pour l’animation de personnage.. (Geri’s Game, Pixar 1998)
FACE ARETE SOMMET Subdivision de Catmull-Clark (1978)
Interet de Catmull-Clark • Surfaces continues. • Comment contrôller la continuité (ex: arêtes vives)? . Solution: adapter le processus de subdivision • Marquer les aretes vives. • Si une arête est vive, utiliser la nouvelle regle de subdivision. • Sinon, lois classiques.
Arêtes vives… • Marquer chaque arête comme “vive” ou “pas vives” • n = 0 – “pas vive” • n > 0 – vive • Pendant la subdivision, • Si une arête est “vive”, alors on utilise les nouvelles regles. Les nouvelles aretes crées sont associées à n-1. • Si une arête est “pas vive”, usage de la regle de subdivision normale.
ARETE SOMMET Nombre d’arête vives adjacentes pointe >2 angle 2 coin 0,1 Gestion des arêtes vives FACE (inchangé)
Angulosité non entière • Densité du maillage évolue rapidement. • En pratique, 2 ou 3 itérations suffisent. • Nécessité d’un meilleur contrôle. Principe: on interpole entre les regles classique, et les regles pour arêtes vives.
Schémas locaux • Besoin d’une structure de donnée complexe. • Besoin du voisinage pour chaque polygone • Chaque sommet doit connaitre ses voisins • Pour faire moins compliqué: • Utilisation des normales aux sommets pour “deviner” le comportement des voisins • Regles basées sur les normales subdivision
PN Triangles • Schéma d’interpolation. • Exemple..
Subdivision locale (PN triangles) • Definie à partir des “patches de Bézier triangulaires”. u,v,w coordonnées barycentriques w=1-u-v, u,v,w≥1 Fonction de base de bézier
Subdivision locale • Avantages • Facile à mettre en place • Pas de structure de données sophistiquées • Facile à intégrer à des applications existantes • Peut être cablée • ATI Radeon 8500 • Allure correcte • Inconvénients • Pas de garantie de continuité élevée. • Limitation de courbure sur un patch. • Pas de validation mathématique.
Subdivision adaptative • Subdivision non-uniforme, en fonction de la zone considérée. • Utilisation de critère de décision. • courbure • Résolution écran ( taille triangles < pixel ?) • Point de vue • Distance de vue • Silhouettes • Dans le cône de visue • Attention aux cracks crack subdivise
Simplification de maillage Approche inverse de la précedente 55 sec 424,376 faces 8000 faces
1,765,388 faces 80,000 faces
Jeu de données complet:entre 0.3 et 1 milliard de triangles 8.2 millions de triangles (2 mm de resolution) 6.8 millions de triangles(¼ mm de resolution)