Quelle est la différence entre la cartographie des déplacements et la cartographie des hauteurs?


15

Quelle est la différence entre la cartographie des déplacements et la cartographie des hauteurs et quel est le lien avec la pavage adaptatif?


Alors, disons quand je veux utiliser la cartographie de la hauteur sur un petit objet, c'est-à-dire une sphère, quelles techniques dois-je utiliser pour éliminer les fissures? Lissage? Est-ce plus performant que le déplacement et la tessellation adaptative?
Jinxi

Réponses:


10

La cartographie de déplacement et la cartographie de la hauteur sont deux noms pour "presque" la même technique, elles visent à faire le même effet mais sont utilisées dans des contextes différents.

Pour en savoir plus:

Mapping de déplacement: est une technique qui vise à rendre les bosses comme une vraie géométrie, dans un maillage très fin. Contrairement au mappage de relief, à la parallaxe et au mappage de relief qui tentent de "simuler" les bosses à l'aide de mappages normaux, le mappage de déplacement déplace en fait la surface, créant des triangles entre les texels. .

Mappage de la hauteur: c'est la même chose, mais il est généralement utilisé dans le contexte où une carte de déplacement (également appelée carte de la hauteur) est appliquée sur un terrain où la valeur n'est utilisée que pour modifier la hauteur du sommet.

Il peut être implémenté sur le CPU ou le GPU.

Une approche CPU courante consiste à lire les valeurs de hauteur ou de déplacement à partir d'une carte hauteur / déplacement (texture) où chaque texel correspond directement à un sommet. Où chaque texel code une valeur de hauteur / déplacement. Ceci est ensuite appliqué directement à la géométrie en déplaçant chaque sommet en utilisant la valeur recherchée dans une direction unique.

Le choix de la direction peut se faire vers le haut (généralement dans le cas de terrains), ce qui entraîne la modification de la valeur du sommet Y, ou peut être dans la direction de la face normale habituellement utilisée sur des objets autres que des terrains.

Une alternative au GPU consiste à utiliser la fonction d'extraction de texture de sommet (introduite dans Shader Model 3.0) pour modifier le maillage du terrain en accédant à une carte de déplacement / hauteur La hauteur récupérée de la texture est utilisée par le programme d'ombrage de sommet pour modifier l'emplacement du sommet .

D'autres utilisations de l'utilisation d'une texture permettent une manipulation plus rapide des données pour les simulations de vagues et autres animations à appliquer au maillage.

Concernant la pavage adaptatif:

Un inconvénient de la cartographie des déplacements est que pour les grands terrains, vous avez besoin de beaucoup de polygones et de sommets pour modéliser un terrain détaillé, ce qui rend la cartographie des déplacements quelque peu inefficace pour les grands terrains.

C'est là que la tessellation adaptative et les techniques de niveau de détail entrent en jeu pour rendre la cartographie de déplacement plus faisable, en particulier avec l'avancement des GPU et l'introduction de shaders de géométrie, effectuer la tessellation à la volée avec cette avancée est devenue la technique dominante. Il est simple à programmer et sur des GPU plus récents et présente peu d'inconvénients.

D'autres techniques telles que la cartographie des reliefs et des reliefs offrent un réalisme supplémentaire à un coût généralement raisonnable, mais le fait que la surface de base ne soit pas perturbée rend la détection des collisions, et donc l'interaction des objets, plus difficile.

En conclusion, la cartographie des déplacements et la tessellation adaptative apportent des détails et une qualité supérieurs avec moins d'inconvénients à un coût de performance réalisable.


N'oubliez pas la dernière partie de la question "et quel est le lien avec la tessellation adaptative?"
MichaelHouse

@ Byte56 merci de m'avoir informé j'ai mis à jour la réponse.
concept3d

12

La cartographie du déplacement peut signifier (mais ne signifie pas toujours) un déplacement vectoriel à chaque point de la surface. La cartographie de la hauteur implique uniquement une valeur de déplacement scalaire , c'est-à-dire que chaque point est poussé le long de sa normale. Le terme «cartographie des déplacements» peut également être utilisé pour les déplacements scalaires, cependant, lorsque les déplacements vectoriels sont discutés, les gens disent souvent explicitement «cartographie des déplacements vectoriels».

La tessellation peut être utilisée pour appliquer une carte de déplacement, en subdivisant une surface en petits polygones et en appliquant un déplacement (levé de la carte) à chaque sommet de la surface subdivisée. Le niveau de subdivision dont vous avez besoin dépend en partie du niveau de bruit / de détail de la carte de déplacement, de sorte que la tessellation adaptative peut être utilisée pour subdiviser plus finement dans les zones qui ont plus de détails, mais moins dans les zones plus plates, améliorant les performances.


C'est la réponse objectivement correcte. La différence subtile deviendra beaucoup plus importante à mesure que les débutants trouveront plus de code de pavage pour copier-coller. (Le déplacement procédural des vecteurs a déjà été présenté par nVidia)
MickLH

3

En gros, c'est la même chose.

Le mappage de déplacement est une technique pour ajouter des détails de surface, comme le mappage de relief . Contrairement au mappage de relief, cependant, le mappage de déplacement consiste à déformer réellement la géométrie en fonction d'une carte de hauteur en entrée (essentiellement une grille de valeurs d'élévation).

"Cartographie de déplacement" est fondamentalement un autre terme, plus précis sur le plan technique, pour ce qui est familièrement appelé "cartographie de la hauteur" (à proprement parler, la "cartographie de la hauteur" devrait probablement se référer au processus de génération de la grille de données d'élévation à partir de certains matériaux source, tels que en tant que scanner 3D, qui sera utilisé dans une implémentation de cartographie de déplacement - mais dans la pratique, la plupart des gens utilisent simplement les termes de manière interchangeable, s'ils disent même "cartographie de déplacement").

La technique n'est pas directement liée à la tessellation adaptative, qui consiste elle-même à contrôler la décomposition d'une description mathématique d'un maillage (comme une sphère) dans la collection concrète de triangles qui seront utilisés pour rendre ce maillage. Le bit "adaptatif" signifie que le détail de pavage changera en fonction de certains critères d'entrée, tels que la distance de vue.

Dans le cas de la sphère, par exemple, vous pouvez tesseller cette sphère très grossièrement (en fait comme un cube) lorsque cette sphère est très éloignée, mais utiliser plus de détails lorsque la sphère est proche.

Souvent, vous verrez des techniques telles que le mappage de déplacement discutées en conjonction avec la tessellation, car la tessellation affectera la façon dont vous souhaitez mapper la carte d'élévation à la géométrie pour effectuer le déplacement (ou la résolution de la carte d'élévation que vous souhaitez sélectionner, et cetera).


2

Ils sont le même concept.

EDIT: Le déplacement peut être composé de hauteurs dans plus d'une dimension!

Ne commencez pas de guerres sémantiques à ce sujet, mais en réalité, la cartographie de la hauteur fait généralement référence à des techniques basées sur une grande échelle / tessellation, alors que la cartographie de déplacement fait généralement référence à des techniques à petite échelle / lancer de rayons.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.