Pourquoi les maillages lissés dans 3D studio se retrouvent-ils avec le même nombre de sommets / triangles? Comment alors les lisser avec la même géométrie?

11

J'essaie de comprendre pourquoi les maillages lissés dans 3D studio (Modifiers / Smoother) finissent par avoir la même quantité de sommets / faces avant ou après ce processus, ainsi que la même géométrie exacte.

Dans l'exemple suivant, les deux maillages ont 32 sommets et 60 faces.

entrez la description de l'image ici

entrez la description de l'image ici

Bien que j'ai de l'expérience avec la programmation (c ++ et c #), je suis assez débutant en infographie. Ainsi, je m'attendais à ce que l'aspect lissé d'un maillage lissé nécessite des sommets supplémentaires, c'est-à-dire une subdivision des triangles, pour aboutir à un maillage final plus détaillé. Cependant, cela ne semble pas être le cas.

Je demande donc:

1) comment le lissage est-il possible sans augmenter le détail de la géométrie du maillage?

2) le lissage augmente-t-il au moins la mémoire allouée / utilisée pour stocker le nouveau maillage par rapport à celui d'origine?

Les explications sont super bienvenues, mais les références (académiques ou non) sont également appréciées.

Louis15
la source
Pas super expérimenté ici non plus, mais je suppose que vous pourriez utiliser un shader différent en un. Celui de Lambert ressemblerait à celui de droite. Mais les gourands en feraient la moyenne et la rendraient plus douce. prosjekt.ffi.no/unik-4660/lectures04/chapters/jpgfiles/…
Andrew Wilson
1
Merci pour votre commentaire! Franchement, la seule chose que j'ai faite a été d'appliquer le modificateur Smoother. Il n'y avait pas de shader ajouté avant et je n'ai pas ajouté de shader après.
Louis15
Les termes historiques sont "c'est la différence entre l'ombrage plat et l'ombrage de gouraud". En pratique, cela se rapporte aux normales comme expliqué par joojaa
v.oddou
Quel logiciel avez-vous utilisé dans la capture d'écran? THX :)
xyz

Réponses:

14

Dans ce cas, le lissage fait simplement pointer les normales de surface aux sommets de la même manière, lorsqu'il est interpolé, il semble lisse. Meshsmooth ajouterait des sommets.

1) comment le lissage est-il possible sans augmenter le détail de la géométrie du maillage?

Les yeux humains ne peuvent pas voir la courbure, sauf sur les bords des objets. Tout ce qu'ils peuvent faire, c'est approximer le lissage et traiter la pente du gradient. Donc, avoir un champ continu donne un air de douceur. L'œil est cependant extrêmement sensible aux changements brusques de couleur et interprète cela comme un pli dur.

En interpolant les normales des sommets, votre surface aura l'apparence d'un écoulement fluide. Puisque cette normale est utilisée pour calculer la couleur réfléchie finale, vous obtenez un champ de couleur lisse.

Ombré plat vs ombré lisse

Image 1 : une normale ombragée plate par rapport aux normales d'une interconnexion lisse. Le mensonge de la normale noire sur un sommet. Les couleurs sont interpolées.

Rien ne dit que nous devons effectuer une interpolation linéaire. En fait, en perturbant les normales, nous pouvons faire changer l'apparence de la surface plane. Voici comment fonctionne le mappage de relief et le mappage normal. L'effet peut être convaincant à moins que le bord des surfaces ne joue un rôle trop important dans lequel se casse l'illusion.

entrez la description de l'image ici

Image 2 : une surface ombrée plate (verso), ombragée lisse (milieu) et une normale lisse cartographiée. L'illusion d'une surface ondulée se brise parce que le bord joue un rôle si important dans l'image que vous pourriez plutôt augmenter les normales

2) le lissage augmente-t-il au moins la mémoire allouée

Difficile de dire des choses définitives sur le moteur graphique sous-jacent. Les normales doivent de toute façon être émises vers la carte graphique, très probablement ces données sont mises en cache, mais pourraient être calculées à la volée (dans les deux cas).

Puisque Max utilise des groupes de lissage, il me semble que l'utilisation de la mémoire est constante malgré tout. Difficile à dire, même si ce n'est pas mis en cache, cela ne ferait pas une grande différence. Cela rend le shader minuscule un peu plus compliqué, mais ce n'est que très probablement que cette complexité est présente, utilisez-le ou non.

joojaa
la source
Très bonne réponse! C'est exactement ce que je cherchais: une explication conceptuelle qui n'a pas laissé de détails cruciaux mais qui était toujours claire et directe. Merci beaucoup
Louis15
2
"L'œil est cependant extrêmement sensible aux changements brusques de couleur, et interprète cela comme un pli dur." En fait, le système visuel humain est très bon pour détecter les changements dans la dérivée de l'ombrage. L'ombrage peut être continu mais s'il y a des discontinuités dans le taux de changement comme dans cette image, elles peuvent être étonnamment perceptibles. Recherchez l'effet de bande de Mach.
Simon F
1
@SimonF c'est pourquoi ils voient un pli, car ils en déduisent la détection des bords et tout ça. Mais le cerveau humain n'évalue pas vraiment le flux de gradient 2 les lisses sont presque égales à la plupart des humains (il n'y a pas de seconde détection derviate par exemple). Donc, avoir une sphère lisse est lisse, même si les normales ne se comportent pas entièrement de manière sphérique tant qu'elles sont lisses. Thets pourquoi nous nous en sortons avec l'astuce. Très peu de surfaces se comportent de cette façon.
joojaa
"(il n'y a pas de seconde détection derviate par exemple)" Je viens de vérifier dans les "Principes de synthèse d'image numérique" de Glassner (Volume 1 page 29) ... et maintenant je suis plus confus que jamais.
Simon F
@SimonF Vous pouvez être confus au sujet des réflexions qui sont naturellement une dérivée inférieure à celle de la surface. Ainsi, un humain peut, dans certaines conditions, ressentir la dérivée seconde. Mais le fait est plutôt que les humains peuvent voir des plis, mais ils ne font pas de différence significative entre tous les différents changements, le fait qu'une réflexion est légèrement hors ou dans la mauvaise direction n'est pas automatiquement apparent pour un humain. Sans analyse plus approfondie. Tant qu'il n'y a pas de changement brusque, la plupart du temps, c'est assez bien dans de nombreuses circonstances. Nous devons continuer cela dans la salle de chat
joojaa