differences entre polygones et patches.

Page 1 sur 2 1, 2  Suivant

Voir le sujet précédent Voir le sujet suivant Aller en bas

differences entre polygones et patches.

Message  malo le Sam 14 Aoû - 20:06

Bonjour,

Je vous proposes, de partager nos connaissances et non incompréhension sur les différences entre patches et polygones.
Voici donc ce que j'ai compris des patches. (par conséquent c'est à vérifier)

En premiers lieux je mets une liste des thermes:




Visuellement, on a tendance a faire des comparatifs, CP=sommets; splines=arêtes; patches=polygones, et surface=plusieurs patches.
Hors on constate qu'il y a des subtilité.
Je vais donc essayé d'expliquer ses subtilitées:

-Un patche n'est pas un polygone, car il est constitué de polygones/faces qui ne sont pas visible.
-Le spline d'un patche n'est pas une arêtes, mais est constitué d'arêtes qui ne sont pas visible..
-Le CP d'un patche est un sommet des nombreux sommets qui appartiennent au patche et qui ne sont pas visible.

Voici donc une video montrant ce que l'on ne voit pas lorsque l'on manipule un patch:

première constatation :
le patche subdivise les faces qui le constitues dynamiquement et uniforméments selon la forme du patches, contrairement à la subdivision polygonales qui est régulière et non dynamique.

Deuxième vidéo :

constatation: chaque patche est subdivisé non globalement, à la differences des polygones.

Troisième vidéo :

Chaque forme de patche est dépendante du spline qui le constitue.

Quatrième vidéo :

Le fait que le patche dépend du spline qui le constitue, permet d'avoir des splines en communs avec d'autres patches ou pas.

Cinquième video:

La distance du patch par rapport à la camera, à une incidence sur la subdivision.

dernière video:
les 3 patches en action:


Voilà donc les différences que j'ai crus comprendre. Si certaine choses sont fausses, n'hésitez pas à rectifier, ou à compléter.
avatar
malo

Messages : 972
Points : 971
Date d'inscription : 12/01/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: differences entre polygones et patches.

Message  Fabrice le Sam 14 Aoû - 20:44

Salut Malo,

C'est super intéressant ton explication sur les patches et je me demande comment tu as réussi à montrer la subdivision des patches de cette façon.
J'ai toujours pensé que les patches étaient composés d'un nombres assez important de polygones pour que le moteur de rendu puisse générer les surfaces. Ce que je ne savais pas c'est que le nombre de polygones change en fonction de la position des cps. Par contre j'avais remarqué que peu importe la position de la caméra par rapport à l'objet, les surfaces sont toujours très lisses. Pour moi c'est l'un des atouts majeurs des patches face aux polygones.

Avec tes vidéos, je comprends aussi beaucoup mieux le problème qu'on rencontre lors de l'utilisation des patches à 5 cps lorsque ces patches ont une forme très convexe ou concave. On voit nettement des plis sur les surfaces. Sur la dernière vidéo les polygones du patche à 5cps forment une sorte d'étoile, c'est sans à cause de cela.


_________________
Fabrice.

http://pagesperso-orange.fr/ffave/
avatar
Fabrice
Admin

Messages : 1684
Points : 1654
Date d'inscription : 02/01/2008
Age : 49

Voir le profil de l'utilisateur http://pagesperso-orange.fr/ffave/

Revenir en haut Aller en bas

Re: differences entre polygones et patches.

Message  malo le Sam 14 Aoû - 21:20

Salut Fabrice.

"je me demande comment tu as réussi à montrer la subdivision des patches de cette façon"
Lorsque j'avais débuter avec AM, j'avais eu un problème avec ma carte vidéo, du coup j'avais eu ses triangles. J'avais dut trouver une solution pour régler cela dans les préférences de AM.
Du coup j'ai réinstaller la version V8.
Dans Option, Global j'ai choisis Direct6 et redémarer AM.
Dans Options/Direct3D/ à Fill mode, j'ai choisis Wireframe à la place de Solid..(dans la version 13, cette une option qui a disparue)
Et voilà.
Du coup j'ai compris pas mal de truc aussi en regardant le dynamisme des faces en temps réel des patches et cela m'apporte un nouveau regard sur les patches.
Cela peut donner une idée aussi du pourquoi le rendu est plus rapide sur certains modèle dans AM face à la subdivision dont parlait Ludo.
avatar
malo

Messages : 972
Points : 971
Date d'inscription : 12/01/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: differences entre polygones et patches.

Message  Fabrice le Dim 15 Aoû - 0:26

Et bien, je ne pensais pas que cela était possible. Je me demande même si les gens de chez Hash auraient devinés à l'époque qu'un problème de carte vidéo puisse dévoiler le secret de fabrication des patches.
Je me rends compte aussi tout l'intérêt de cette technique pour l'animation. On pourrait comparer cela à la conversion temps réel d'une surface nurbs en polygones. Quand je pense que Martin Hash a mis cette technique au point il y a de nombreuses années, il était en avance sur son temps !

Par contre ce que je trouve dommage c'est que les polygones sont construits de façon irrégulière. Une subdivision de type Catmull-Clark aurait été bien plus performant et aurait peut être résolu les problèmes de plis visibles sur les rendus. Je dis cela sans connaitre la programmation 3D, c'est peut être tout simplement impossible à faire.

_________________
Fabrice.

http://pagesperso-orange.fr/ffave/
avatar
Fabrice
Admin

Messages : 1684
Points : 1654
Date d'inscription : 02/01/2008
Age : 49

Voir le profil de l'utilisateur http://pagesperso-orange.fr/ffave/

Revenir en haut Aller en bas

a

Message  malo le Dim 15 Aoû - 0:52

Je penses que c'était une option qui a disparut, car peu utile.
Oui, il était en avance : la subdivision dynamique en temps réel.
Je pense que la subdivision irreguliere est volontaire, car elle a l'avantage d'optimiser les facettes et d'économiser le temps de calcul et la mémoire de l'ordinateur. Une subdivision de type Catmull-Clark demande un nombre plus important de facettes pour le même rendu.
Pour le rendu et le probléme des plis, tu pourrais me montrer une image, pour que je puisse voir ce que c'est?
avatar
malo

Messages : 972
Points : 971
Date d'inscription : 12/01/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: differences entre polygones et patches.

Message  malo le Dim 15 Aoû - 1:53

Enfin de compte la subdivision de type Catmull-Clark existe dans AM en temps réel, mais seulement pour les 3 premiers niveaux. le quatriéme étant la subdivision ideal et economique en facette pour épouser le patche.

avatar
malo

Messages : 972
Points : 971
Date d'inscription : 12/01/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: differences entre polygones et patches.

Message  Fabrice le Dim 15 Aoû - 2:01

L'exemple que j'ai pris n'est pas flagrant mais voilà:





La 1ère image est réalisée avec A:M et malgré tous mes efforts pour bien placer les cps, le rendu au niveau de la jonction des tubes n'est pas lisse et on peut apercevoir des ombres. Cela est dû aux patches à 5cps et à la façon dont les polygones sont créés. Je comprends mieux avec tes vidéos!

Sur la 2ème image réalisée dans Houdini mais cela pourrait se faire dans n'importe quel logiciel polygonal qui supporte la subdivision de surface, on voit que la jonction est parfaitement lisse. D'un autre côté, le nombre de polygones pour obtenir cette qualité est bien plus conséquent.

Dans mon exemple, la différence entre les 2 méthodes est très subtile mais si on prends des surfaces plus tordues c'est flagrant. Je pense notamment aux visages créés sur A:M comme celui de dessous :



La joue, le dessous du nez et des yeux ne sont pas régulier et pourtant dans la fenêtre de modélisation les splines semblent bien alignées. Pour contourner ce défaut, Hash a créé le matériau porcelain qui donne de bons résultats dans certain cas mais il gomme aussi les détails de la modélisation.

_________________
Fabrice.

http://pagesperso-orange.fr/ffave/
avatar
Fabrice
Admin

Messages : 1684
Points : 1654
Date d'inscription : 02/01/2008
Age : 49

Voir le profil de l'utilisateur http://pagesperso-orange.fr/ffave/

Revenir en haut Aller en bas

Re: differences entre polygones et patches.

Message  Fabrice le Dim 15 Aoû - 2:33

malo a écrit:Enfin de compte la subdivision de type Catmull-Clark existe dans AM en temps réel, mais seulement pour les 3 premiers niveaux. le quatriéme étant la subdivision ideal et economique en facette pour épouser le patche.

La subdivision Catmull-Clark, ça ne serait pas plutôt des polygones à 4 côtés ? Ici on voit que les patches sont formés de facettes à 3 côtés et c'est assez bizarre qu'il y ait tant de problèmes à convertir un objet fait dans A:M en objet polygonal.
Je ne suis pas programmeur mais une fonction qui transforme toute ces facettes à 3 côtés en polygones, cela ne doit pas être si compliqué à concevoir. Cette fonction existe dans Blender et fonctionne très bien.

As-tu essayé de voir ce que cela rendait avec des hooks ? Je suppose que ça doit ressembler aux patches à 5 cps.

_________________
Fabrice.

http://pagesperso-orange.fr/ffave/
avatar
Fabrice
Admin

Messages : 1684
Points : 1654
Date d'inscription : 02/01/2008
Age : 49

Voir le profil de l'utilisateur http://pagesperso-orange.fr/ffave/

Revenir en haut Aller en bas

Re: differences entre polygones et patches.

Message  malo le Dim 15 Aoû - 3:43

Merci pour les examples, je comprend mieux la problématique.
Du coup j'ai pleins de supositions qui me viennent à l'esprit.
La subdivision Catmull-Clark, m'intrigue (Un cube qui devients sphere, c'est logique qu'il donne un aspect lisse, mais comment fait il pour ne perdre du details, ou du moins, moins que le plugin porcelaine?), je vais essayer de l'étudier pour mieux comprendre les deux type de subdivisions.
La modélisation polygonales m'est étrangère.
Euh non les hooks sont differents des patches à 5CPs


Un polygone à 4 coté est composé de 2 faces triangualisées (le triangle est la base de la 3D)
tu remarqueras, que c'est très facile de retrouver les polygones, il n'y a pas de nombre impair de triangles. même dans les patches à 5, HOOK ou à 3 cotés.

J'ai pas colorié tout les couples de triangles, mais ils sont là.
niveau1: pas de subdivision.
niveau 2 subdivision diviser par 2
niveau 3 subdivision diviser par 4
niveau 4, selon le besoins du patche.
Programmer un convertisseur patches vers polygones ne poses pas de problème, le problème est de savoir quel genre de polygones tu-veux. A prioris poiur la subdivisions Catmull-Clark, il est préferable d'avoir que des quads. du coup la solution est dans les patchs déjà en niveau 2.
La problématique est l'inverse, convertir des quad en patches
avatar
malo

Messages : 972
Points : 971
Date d'inscription : 12/01/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: differences entre polygones et patches.

Message  Fabrice le Dim 15 Aoû - 14:58

Salut Malo,

Voici un petit test que j'ai fait pour comparer de la subdivision de 2 objets patches et polygones.

Le modèle ci-contre comporte 4 patches à 5cps car c'est la seule solution pour avoir un trou dans une surface carré.



Je ne sais pas ce que cela donne exactement en facettes à 3 côtés mais j'ai une petite idée lorsque je regarde tes vidéo.

J'ai refait le même modèle en polygone puis subdivisé à plusieurs niveaux.






1ère constatation, le modèle polygonal n'est pas construit comme celui en patches. Il m'était pas possible de créer des polygones de 5 côtés et si j'avais reproduit ces polygones de 4 côtés en patches il y aurait une cassure des splines à chaque angle du carré qui entour le cercle.

3 petites vidéos qui montrent la déformation de cette surface:
Patches:

Subdivision de surface:

et le rendu:


_________________
Fabrice.

http://pagesperso-orange.fr/ffave/
avatar
Fabrice
Admin

Messages : 1684
Points : 1654
Date d'inscription : 02/01/2008
Age : 49

Voir le profil de l'utilisateur http://pagesperso-orange.fr/ffave/

Revenir en haut Aller en bas

Re: differences entre polygones et patches.

Message  malo le Dim 15 Aoû - 18:18

Je vais à la pêche des infos sur les subdivisions Catmull-Clark. C'est intéressant, même si la majorité des infos m'échappes.
La première chose qui me frappe, c'est qu'il existe la courbe Catmull-Rom qui ressemble étrangement aux splines utilisé dans AM.

La deuxième est qu'il y a deux catégories de subdivisions:
les schémas interpolants : obligeant la subdivision a créer les sommets sur les vecteurs originaux (un peu comme pour les patches)
et les schémas approximants. qui ajuste leur sommets lors de la subdivision, ce qui rend un meilleur lissage. mais moins de contrôle sur le résultat final.

En subdivisant un un vase dans Wings3D, j'ai pu constater, un meilleur lissage au détriment de la fidélité de la forme des splines. Je supose donc que la subdivision utilisé est approximants.


De ce que j'ai pu constater, AM subdivise toujours en quad triangualisés



si je devais convertir ton modèle polygonale , je le convertirait de cette manière dans AM :

et ton modèle AM serait converti ainsi en polygonale (en gardant les arêtes blanches)
avatar
malo

Messages : 972
Points : 971
Date d'inscription : 12/01/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: differences entre polygones et patches.

Message  Fabrice le Dim 15 Aoû - 18:47

Tu viens de mettre en évidence un autre atout des patches par rapport aux subdivisions de surfaces. Martin Hash l'avait souligné sur le forum il y a quelques années pour montrer la supériorité de sa technologie.
Lorsqu'un modèle polygonal est subdivisé, la surface obtenue ne passe pas par les sommets du modèle basse résolution. Le lissage est optimal mais la surface n'est pas fidèle aux dimensions du modèle de départ. Cela pose un problème supplémentaire que j'ai découvert en modélisant dans Houdini. Si j'applique une texture sur mon objet et qu'ensuite je le subdivise, les UVs seront déformés en même temps que la subdivision, ils seront lissés et parfois cela peut être génant.
Je suis donc obligé de construire mes UVs sur un modèle subdivisé si je veux un plaquage de texture précis.

Comme les patches passent par les sommets, le problème ne se pose pas.

Il existe un autre type de surfaces, ce sont les T-splines: http://www.tsplines.com/ A voir les vidéos de leur site, cela ressemble à un mixte entre les patches et la subdivision de surface. Pour faire de la modélisation d'objets, ça me semble être le top. Dommage pour le prix... Crying or Very sad

_________________
Fabrice.

http://pagesperso-orange.fr/ffave/
avatar
Fabrice
Admin

Messages : 1684
Points : 1654
Date d'inscription : 02/01/2008
Age : 49

Voir le profil de l'utilisateur http://pagesperso-orange.fr/ffave/

Revenir en haut Aller en bas

Re: differences entre polygones et patches.

Message  malo le Dim 15 Aoû - 19:21

Oui, T-spline semble être de la subdivision polygonales mais avec le schéma interpolants.
Enfin de comptes cela semble être assez similaire aux patches, seul les regles de topologie sont différentes.

Pourrais tu m'envoyer ta canalisation à trois embouts (en obj et mdl)?
j'ai envie de faire des essais de comparaison 3D, enfin je ferais cela demain car je dois partir.
avatar
malo

Messages : 972
Points : 971
Date d'inscription : 12/01/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: differences entre polygones et patches.

Message  Fabrice le Dim 15 Aoû - 19:31

malo a écrit:Pourrais tu m'envoyer ta canalisation à trois embouts (en obj et mdl)?
j'ai envie de faire des essais de comparaison 3D, enfin je ferais cela demain car je dois partir.

Ok Malo, je te prépare cela.

_________________
Fabrice.

http://pagesperso-orange.fr/ffave/
avatar
Fabrice
Admin

Messages : 1684
Points : 1654
Date d'inscription : 02/01/2008
Age : 49

Voir le profil de l'utilisateur http://pagesperso-orange.fr/ffave/

Revenir en haut Aller en bas

Re: differences entre polygones et patches.

Message  malo le Dim 15 Aoû - 19:54

Merci d'avance. Smile
avatar
malo

Messages : 972
Points : 971
Date d'inscription : 12/01/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: differences entre polygones et patches.

Message  Fabrice le Dim 15 Aoû - 19:58

Bon, cela va prendre un peu plus de temps, il faut que je les refasse, j'ai tout effacé...

_________________
Fabrice.

http://pagesperso-orange.fr/ffave/
avatar
Fabrice
Admin

Messages : 1684
Points : 1654
Date d'inscription : 02/01/2008
Age : 49

Voir le profil de l'utilisateur http://pagesperso-orange.fr/ffave/

Revenir en haut Aller en bas

Re: differences entre polygones et patches.

Message  malo le Lun 16 Aoû - 15:31


Merci encore Fabrice, et désolé de t'avoir donner du travail.
J'ai bien reçu les modéles.
J'ai lut sur le poste sur Houdini que les patches était divisé par 64 au rendu... j'ai du mal a comprendre pourquoi Martin Hash, ayant trouvé une solution pour economiser le nombre de faces par patche selon leur forme ne l'utiliserait pas pour le rendu, d'ailheur j'ai fait un test, le même modèle dont les patches ont une forme qui demande un certains nombres de faces, et l'autre avec les même patches piquer aux sommet, pour savoir si ceux ci sont subdiviser aussi. Il y a 10% de rendu en moins :


avatar
malo

Messages : 972
Points : 971
Date d'inscription : 12/01/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: differences entre polygones et patches.

Message  Fabrice le Lun 16 Aoû - 21:39

64 polygones par patches c'est une moyenne, j'ai écrit un peu vite. Je me rappelle d'une discution sur le forum de Hash qui parlait du nombre de polygones que A:M pouvait calculer lors d'un rendu.

J'ai retrouvé le post en question : http://www.hash.com/forums/index.php?showtopic=7404&hl=154350

Les images ont disparues des serveurs mais par chance j'en ai gardé une qui m'a toujours impressionné:



Soit mon calcul : 10 000 000 / 154350 = 64.78 polygones par patches ! Impressionnant non ? Surtout lorsqu'on voit le temps de calcul...

_________________
Fabrice.

http://pagesperso-orange.fr/ffave/
avatar
Fabrice
Admin

Messages : 1684
Points : 1654
Date d'inscription : 02/01/2008
Age : 49

Voir le profil de l'utilisateur http://pagesperso-orange.fr/ffave/

Revenir en haut Aller en bas

Re: differences entre polygones et patches.

Message  malo le Lun 16 Aoû - 23:17

D'accord je comprend mieux, c'est une moyenne.
Mais comment as-t il fait pour trouver 10 million de polygones? C'est une question qui m'intrigues. A ma connaissance il n'y a pas de fonction pour connaitre le nombre de polygones dans AM (d'autant que c'est une division dynamique, qui change selon l'angle et la distance de la camera)
avatar
malo

Messages : 972
Points : 971
Date d'inscription : 12/01/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: differences entre polygones et patches.

Message  Fabrice le Mar 17 Aoû - 0:01

malo a écrit:Mais comment as-t il fait pour trouver 10 million de polygones?

Je ne sais pas mais je suppose qu'il en connait suffisamment sur le fonctionnement des patches. Greg Rostami a travaillé pour Hash à une époque, on le voyait sur les stands pour faire des démonstrations donc à mon avis on peut prendre ces informations au sérieux. C'est aussi une estimation car il est écrit "approx. 10 million polys" sur le forum.

_________________
Fabrice.

http://pagesperso-orange.fr/ffave/
avatar
Fabrice
Admin

Messages : 1684
Points : 1654
Date d'inscription : 02/01/2008
Age : 49

Voir le profil de l'utilisateur http://pagesperso-orange.fr/ffave/

Revenir en haut Aller en bas

Re: differences entre polygones et patches.

Message  malo le Mar 17 Aoû - 1:54

D'accord.
Voici donc quelques test sur le T-tube.
J'ai fais plusieurs topologie du modèle pour voir les différents résultat.
Dont voici les modèles.
modèle


La "a" est la méthode de l'extrution de patches.
La "b" l'extrution de spline.
La "c" est ton modèle
La "d" est un essai par rapport au modèle polygonale

La dernière ligne est un rendu avec le plugin porcelaine, il adoucit mais agrave le probléme.
avatar
malo

Messages : 972
Points : 971
Date d'inscription : 12/01/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: differences entre polygones et patches.

Message  Fabrice le Mar 17 Aoû - 2:05

La différence entre chaque modèles serait encore plus évidente si tu utilisais un effet spéculaire. La tâche de lumière visible à la jointure des 2 tubes suivra plus ou moins la courbure en fonction de la modélisation choisie. C'est un peu ce que je reproche aux patches car avec la subdivision de surface ce problème n'existe pas.

_________________
Fabrice.

http://pagesperso-orange.fr/ffave/
avatar
Fabrice
Admin

Messages : 1684
Points : 1654
Date d'inscription : 02/01/2008
Age : 49

Voir le profil de l'utilisateur http://pagesperso-orange.fr/ffave/

Revenir en haut Aller en bas

Re: differences entre polygones et patches.

Message  malo le Mar 17 Aoû - 2:57

Oui effectivement le rendu dans AM, a des problèmes.
l'export en format OBj en division 16 et rendu dans Bryce, rend mieux.

Pourquoi? est ce dut aux patches? à la subdivision irreguliére, au moteur de rendu?
J'ai pas encore la réponse Sad mais je continue a chercher Smile
avatar
malo

Messages : 972
Points : 971
Date d'inscription : 12/01/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: differences entre polygones et patches.

Message  Fabrice le Mer 18 Aoû - 0:47

Salut Malo,

En effet c'est bien dommage d'avoir ces petits défauts de rendu. C'est justement lors de l'utilisation de matériaux réfléchissants que cela est visible. Dans bien des cas on peut contourner le problème en cachant plus ou moins bien les patches à 5 cps. Les hooks produisent aussi ce genre de désagrément il me semble. J'ai tenté de trouver une solution à cela en jouant avec les shaders mais je n'ai jamais rien trouvé de convainquant.


_________________
Fabrice.

http://pagesperso-orange.fr/ffave/
avatar
Fabrice
Admin

Messages : 1684
Points : 1654
Date d'inscription : 02/01/2008
Age : 49

Voir le profil de l'utilisateur http://pagesperso-orange.fr/ffave/

Revenir en haut Aller en bas

Re: differences entre polygones et patches.

Message  LUDO_SI le Mer 18 Aoû - 13:16

et en utilisant le shader porcelain?
Ca changerait quelque chose?

LUDO_SI

Messages : 1570
Points : 1700
Date d'inscription : 08/04/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Page 1 sur 2 1, 2  Suivant

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum