Qu'est-ce que la tessellation en infographie


16

Dans les jeux récents, j'ai remarqué quelque chose appelé Tessellation, Activer la chose détruit ma fréquence d'images.

J'ai remarqué que lorsqu'il est activé, il ressemble à l'anti-aliasing.

Quelqu'un peut-il me donner plus d'informations sur ce que fait exactement le GPU.


2
Oh mon dieu, 2 réponses et pas de graphistes informatiques sur leur meilleur.
joojaa

Réponses:


25

Tesselation est une technique qui vous permet de générer des primitives (triangles, lignes, points et autres) sur la carte graphique. Plus précisément, il vous permet de subdiviser à plusieurs reprises la géométrie actuelle en un maillage plus fin.

Cela vous permet de charger un maillage relativement grossier sur votre carte graphique, de générer dynamiquement plus de sommets et de triangles, puis d'avoir un maillage à l'écran qui semble beaucoup plus fluide.

Exemple de pavage

La plupart du temps, cette tesselation est refaite dans chaque trame et cela pourrait être la raison pour laquelle votre taux de trame baisse une fois que vous l'avez activé.

La tesselation se fait en plusieurs étapes, et elle se fait APRÈS le vertex shader.

Étapes

Les conditions de chaque étape varient en fonction de l'API. Dans DirectX, il s'agit du Hull Shader, du Hardware Tessellation et du Domain Shader. Dans OpenGL, ils sont appelés le Tessellation Control Shader, Tesselation Primitive Generation et Tessellation Evaluation Shader.

La première et la dernière étape sont programmables, la tesselation réelle est effectuée par le matériel dans une étape de fonction fixe.

Dans le shader Tesselation Control, vous définissez le type et le nombre de subdivisions.

Le tessellateur matériel divise ensuite la géométrie en fonction du Control Shader.

Enfin, le Tessellation Evaluation Shader est appelé pour chaque sommet nouvellement généré. Dans ce shader, vous définissez le type de primitive que vous souhaitez générer et comment les sommets sont espacés et bien d'autres choses. Ce shader peut également être utilisé pour effectuer toutes sortes de calculs par sommet, tout comme un vertex shader. Il est garanti d'être appelé au moins une fois pour chaque sommet généré.

Si vous souhaitez effectuer d'autres travaux sur les primitives, vous pouvez ajouter un ombrage géométrique.


1
@Nicol Merci. J'ai modifié la réponse en conséquence.
Dragonseel

7

Il active 3 étapes dans le pipeline.

Le premier est le shader de contrôle de tessellation (shader shader dans D3D) qui examine un ensemble de sommets et affiche ensuite comment il doit être divisé en triangles séparés.

La seconde est une étape de fonction fixe qui générera les triangles demandés.

La troisième étape du shader d'évaluation de tessellation (shader de domaine en D3D) qui est exécuté par sommet généré et le placera au bon endroit en fonction des coordonnées barycentriques du sommet généré.

Ceci est utilisé pour le niveau de détail pour générer plus de triangles lorsque le maillage est plus proche de la caméra.

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.