¿Qué es la teselación en gráficos por computadora?


16

En juegos recientes, he notado algo llamado Tessellation, encenderlo destruye mi velocidad de cuadros.

He notado que cuando se enciende parece Anti-Aliasing.

¿Puede alguien darme más información sobre qué hace exactamente la GPU?


2
Oh querido, 2 respuestas y ninguna gráfica de computadora en su mejor momento.
joojaa

Respuestas:


25

Tesselation es una técnica que le permite generar primitivas (triángulos, líneas, puntos y demás) en la tarjeta gráfica. Específicamente, le permite subdividir repetidamente la geometría actual en una malla más fina.

Esto le permite cargar una malla relativamente gruesa en su tarjeta gráfica, generar más vértices y triángulos dinámicamente y luego tener una malla en la pantalla que se vea mucho más suave.

Ejemplo de teselación

La mayoría de las veces, esta teselación se realiza de nuevo en cada cuadro individual y esta podría ser la razón por la cual su velocidad de cuadros disminuye una vez que habilita esto.

La teselación se realiza en múltiples etapas y DESPUÉS del sombreador de vértices.

Etapas

Los términos para cada etapa varían según la API. En DirectX, es Hull Shader, Hardware Tessellation y Domain Shader. En OpenGL, se denominan sombreador de control de teselación, generación primitiva de teselación y sombreador de evaluación de teselación.

La primera y la última etapa son programables, la teselación real la realiza el hardware en una etapa de función fija.

En el sombreador de Tesselation Control, establece el tipo y el número de subdivisiones.

Luego, el teselador de hardware divide la geometría de acuerdo con el sombreador de control.

Por último, se llama al sombreador de evaluación de teselación para cada vértice recién generado. En este sombreador, establece el tipo de primitivo que desea generar y cómo se espacian los vértices y muchas otras cosas. Este sombreador también se puede usar para hacer todo tipo de cálculos por vértice al igual que un sombreador de vértices. Se garantiza que se llamará al menos una vez para cada vértice generado.

Si desea seguir trabajando en las primitivas, puede agregar un sombreador Geometry.


1
@Nicol Gracias. Edité la respuesta en consecuencia.
Dragonseel

7

Activa 3 etapas en la tubería.

El primero es el sombreador de control de teselación (sombreador de casco en D3D) que observa un conjunto de vértices y luego muestra cómo debe dividirse en triángulos separados.

La segunda es una etapa de función fija que generará los triángulos solicitados.

La tercera etapa es el sombreador de evaluación de teselación (sombreador de dominio en D3D) que se ejecuta por vértice generado y lo colocará en el lugar correcto en función de las coordenadas barcéntricas del vértice generado.

Esto se usa para el nivel de detalle para generar más triángulos cuando la malla está más cerca de la cámara.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.