En gráficos por computadora , la teselación se refiere a la división de conjuntos de datos de polígonos (a veces llamados conjuntos de vértices ) que presentan objetos en una escena en estructuras adecuadas para su representación . Especialmente para la renderización en tiempo real , los datos se teselan en triángulos , por ejemplo, en OpenGL 4.0 y Direct3D 11 . [1] [2]
En renderizado de gráficos
Una ventaja clave de la teselación para gráficos en tiempo real es que permite agregar y restar detalles dinámicamente de una malla poligonal 3D y sus bordes de silueta en función de los parámetros de control (a menudo, la distancia de la cámara). En técnicas líderes en tiempo real como el mapeo de paralaje y el mapeo de relieve , los detalles de la superficie se podían simular a nivel de píxel, pero el detalle del borde de la silueta estaba fundamentalmente limitado por la calidad del conjunto de datos original. [3]
En la canalización de Direct3D 11 (una parte de DirectX 11), la primitiva de gráficos es el parche . [4] El teselador genera una teselación basada en triángulos del parche de acuerdo con parámetros de teselación como el TessFactor , que controla el grado de finura de la malla . La teselación, junto con sombreadores como un sombreador Phong , permite producir superficies más suaves que las que generaría la malla original. [4] Al descargar el proceso de teselación en el hardware de la GPU , el suavizado se puede realizar en tiempo real. La teselación también se puede utilizar para implementar superficies de subdivisión , escalado de nivel de detalle y mapeo de desplazamiento fino . [5] OpenGL 4.0 utiliza una canalización similar, donde la teselación en triángulos es controlada por el Control de teselación Shader y un conjunto de cuatro parámetros de teselación. [6]
En diseño asistido por computadora
En el diseño asistido por computadora, el diseño construido está representado por un modelo topológico de representación de límites , donde las superficies y curvas 3D analíticas, limitadas a caras, bordes y vértices, constituyen un límite continuo de un cuerpo 3D. Los cuerpos 3D arbitrarios son a menudo demasiado complicados para analizarlos directamente. Por lo tanto, se aproximan (teselan) con una malla de piezas pequeñas y fáciles de analizar de volumen 3D, generalmente tetraedros irregulares o hexaedros irregulares . La malla se utiliza para el análisis de elementos finitos . [ cita requerida ]
La malla de una superficie generalmente se genera por caras y bordes individuales (aproximados a polilíneas ) para que los vértices límite originales se incluyan en la malla. Para garantizar que la aproximación de la superficie original se adapte a las necesidades de procesamiento posterior, generalmente se definen tres parámetros básicos para el generador de malla de superficie:
- La distancia máxima permitida entre el polígono de aproximación plano y la superficie (conocida como "pandeo"). Este parámetro asegura que la malla sea lo suficientemente similar a la superficie analítica original (o que la polilínea sea similar a la curva original).
- El tamaño máximo permitido del polígono de aproximación (para triangulaciones, puede ser la longitud máxima permitida de los lados del triángulo). Este parámetro asegura suficiente detalle para un análisis más detallado.
- El ángulo máximo permitido entre dos polígonos de aproximación adyacentes (en la misma cara). Este parámetro asegura que incluso las jorobas o huecos muy pequeños que pueden tener un efecto significativo en el análisis no desaparezcan en la malla.
Un algoritmo que genera una malla generalmente se controla mediante los tres y otros parámetros anteriores. Algunos tipos de análisis por computadora de un diseño construido requieren un refinamiento de malla adaptativa , que es una malla más fina (utilizando parámetros más fuertes) en regiones donde el análisis necesita más detalles. [1] [2]
Ver también
- ATI TruForm : marca para su unidad de teselado de hardware de 2001
- TeraScale: unidad de teselación de hardware - unidad más nueva de junio de 2007
- Procesador GCN Geometric : unidad más actual desde enero de 2011
enlaces externos
- GPUOpen : muestra de OpenGL que demuestra la teselación del terreno en la GPU
Referencias
- ^ a b El sistema de gráficos OpenGL®: una especificación (versión 4.0 (perfil principal) - 11 de marzo de 2010)
- ^ a b MSDN: descripción general de la teselación
- ^ Rost, Randi (30 de julio de 2009). Lenguaje de sombreado OpenGL . Addison-Wesley. pag. 345. ISBN 978-0321637635.
- ^ a b Abi-Chahla, Fedy. "Teselación" . Hardware de Tom . Consultado el 27 de abril de 2013 .
- ^ Tariq, Sara. "Teselado D3D11" (PDF) . Nvidia . Consultado el 27 de abril de 2013 .
- ^ "Teselación" . OpenGL . Consultado el 27 de abril de 2013 .