Constant hauteurs de la bande horizontale dans un maillage polygonal soumis à une déformation verticale (OpenGL ES 1.1)

StackOverflow https://stackoverflow.com/questions/512414

Question

Lorsque la mise en oeuvre mappage de texture sur un maillage type polygonal en utilisant l'algorithme usuel, on peut rencontrer des problèmes liés aux déformations le long de l'axe y en ce que les déformations suivent le long des bandes de lignes de hauteur constante de quads à la place des sommets dans cette direction étant capable d'étirer de façon indépendante par rapport à celle le long de l'axe x.

Je cours dans ce parce que lors de la définition des sommets du maillage, chaque rangée définit à la fois un fond et un sommet supérieur, ce qui entraîne dans la rangée supérieure de sommets pour une ligne de partage de la rangée inférieure de sommets de la ligne au-dessus .

Bien que ce soit ok si vous êtes seulement déformer le maillage le long des deux axes x ou z, si vous déformez le maillage le long de l'axe y sans prendre en compte, vous verrez que les lignes de quadriceps agissent ensemble comme une bande de hauteur constante à la place de rangées de points indépendants. Vous verrez la déformation du maillage le long de l'axe y, mais vous verrez aussi la déchirure de la texture que ces bandes ne changent pas en largeur, ce qui conduit à des lacunes dans le maillage.

Quelqu'un at-il courir un autre dans ce qui aurait des suggestions sur la meilleure façon d'appliquer un (x, y) Filtre carte de déplacement à un maillage polygonal construit de cette façon? Ou l'approche de la définition du maillage doivent changer d'une manière fondamentale?

Un exemple de l'algorithme de génération de maillage peut être vu sur ZEUS OpenGL | ES tutoriel sur Texture Mapping.

Merci.

Était-ce utile?

La solution

Ok permet de voir si je comprends bien la question.

Si je vous comprends bien, vous essayez de rendre une texture mappée patch. Mais quand vous essayez de strech le patch dans la direction verticale de sorte qu'il devient plus grand, les différentes bandes horizontales de votre déchirure de maille et vous vous retrouvez avec plusieurs bandes horizontales de patch.

est-ce pas?

Dans ce cas, le problème est dans l'algorithme de génération de maillage, la cartographie de la texture elle-même doit rester inchangé. D'après ce que je peux voir sur le lien fourni, les sommets entre chaque bandes horizontales ne sont pas partagés, ils sont dupliqués. Donc, si vous redimensionnez l'espacement entre les sommets supérieurs, vous devez également à l'échelle la hauteur de la bande de telle sorte que les sommets du bas s'adaptera la prochaine rangée supérieure Vertice.

Les fondamentaux du travail de l'algorithme, il vous suffit de régler à la fois l'espacement des rangs et la hauteur de la ligne. Quand vous comprenez un peu plus comment les listes primitives de travail, vous pouvez en apprendre davantage sur les primitives indexées. Ceux-ci réellement vous permettre de partager des sommets au lieu de les dupliquer pour chaque primitive.

it helps.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top