cours 2

publicité
Surfaces à Subdivision
Surfaces à subdivision
•
Approximer la courbe limite, au travers d’un processus itératif.
Raffinement 1
Raffinement 2
Geri’s Game (1998) : Pixar Animation Studios
Raffinement !
Master IVI,
module M3DA, cours 2
Subdivision en 3D
• Approche similaire
But des surfaces à subdivision
• Comment représenter efficacement des
surfaces?
–
–
–
–
Optimalité de la représentation
Continuité
Invariance affine
Rendu peu coûteux
• Lien avec splines/patches?
• Pourquoi l’un plutôt que l’autre?
Raffinement
Types de Subdivision
L’algorithme de Chaiken
• Schéma d’interpolation
P1
– La surface/courbe limite passe par les points initiaux.
• Schéma d’approximation
– L’autre cas
Q2 Q3
P2
Q4
Q1
Q5
Q0
P3
P0
Application
itérative
Courbe limite
Lien avec les fractales
Subdivision de Loop
Masques de subdivision de Loop
• Fait pour maillages triangulaires
• Schéma d’approximation
• Continuité partout, sauf aux sommets singuliers
Loop: Gestion des bords
• Masque spécifique
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
Loi d’aréte
Smask les poids
Loi de sommet
Continuité et courbure..
Anciens
points de Nouveaux
contrôles points
Points ordinaires et Singuliers
• 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.
Subdivision de Loop
Valence 6
Subdivision de Catmull-Clark
Valence 4
•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..
Subdivision de Catmull-Clark (1978)
FACE
ARETE
SOMMET
(Geri’s Game, Pixar 1998)
Arêtes vives…
Interet de Catmull-Clark
• Surfaces continues.
• Comment contrôller la continuité (ex: arêtes vives)?
. Solution: adapter le processus de subdivision
1. Marquer chaque arête comme “vive” ou
“pas vives”
•
n = 0 – “pas vive”
•
n > 0 – vive
Pendant la subdivision,
1. Marquer les aretes vives.
2. Si une arête est vive, utiliser la
nouvelle regle de subdivision.
3. Sinon, lois classiques.
Gestion des arêtes vives
FACE (inchangé)
ARETE
SOMMET
Nombre d’arête vives adjacentes
pointe
>2
angle
2
coin
0,1
2. Si une arête est “vive”, alors on utilise les
nouvelles regles. Les nouvelles aretes
crées sont associées à n-1.
3. Si une arête est “pas vive”, usage de la
regle de subdivision normale.
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.
Exemples
Exemples
Schémas locaux
PN Triangles
• Besoin d’une structure de donnée complexe.
– Besoin du voisinage pour chaque polygone
– Chaque sommet doit connaitre ses voisins
• Schéma d’interpolation.
• Exemple..
• Pour faire moins compliqué:
– Utilisation des normales aux sommets pour “deviner” le
comportement des voisins
– Regles basées sur les normales
subdivision
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
Calcul du maillage de contrôle
Subdivision locale
• Avantages
Subdivision adaptative
•
– 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 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
Et la texturation dans tout ca?
Surfaces à subdivision implicitement paramétrées (ex:
Lee&al, Siggraph 98)
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)
Téléchargement