Articulo de referencia

Rasterización

Imagen gráfica rasterizada En gráficos por computadora , la rasterización ( inglés británico ) o rasterización ( inglés americano ) es la tarea de tomar una imagen descrita en u...

Imagen gráfica rasterizada

En gráficos por computadora , la rasterización ( inglés británico ) o rasterización ( inglés americano ) es la tarea de tomar una imagen descrita en un formato de gráficos vectoriales (formas) y convertirla en una imagen rasterizada que representa la imagen original. [ 1 ] [ 2 ] La imagen rasterizada puede luego mostrarse en una pantalla de computadora , pantalla de video o impresora , o almacenarse en un formato de archivo de mapa de bits . La rasterización puede referirse a la técnica de dibujar modelos 3D , o a la conversión de primitivas de renderizado 2D , como polígonos y segmentos de línea , a un formato rasterizado.

Etimología

El término "rasterización" proviene del alemán Raster ' cuadrícula, patrón, esquema ' y del latín rāstrum ' rascador, rastrillo ' . [ 3 ] [ 4 ]  

imágenes 2D

Primitivas de línea

El algoritmo de líneas de Bresenham es un ejemplo de algoritmo utilizado para rasterizar líneas.

Primitivas circulares

Se utilizan algoritmos como el algoritmo del círculo de punto medio para dibujar círculos sobre un lienzo pixelado.

rasterización de triángulos

Rasterización de triángulos usando la regla superior izquierda

Los polígonos son una representación común de los modelos 3D digitales. Antes de la rasterización, los polígonos individuales se triangulan ; por lo tanto, un problema típico a resolver en la rasterización 3D es la rasterización de un triángulo.

Las propiedades que generalmente se requieren de los algoritmos de rasterización de triángulos son que la rasterización de dos triángulos adyacentes (es decir, aquellos que comparten una arista) sea:

  1. No deja "huecos" (píxeles no rasterizados) entre los triángulos, de modo que el área rasterizada queda completamente rellena (al igual que la superficie de los triángulos adyacentes).
  2. Ningún píxel se rasteriza más de una vez; es decir, los triángulos rasterizados no se superponen. Esto garantiza que el resultado no dependa del orden en que se rasterizan los triángulos. Además, sobrescribir píxeles puede suponer un desperdicio de potencia de cálculo.

Esto lleva a establecer reglas de rasterización para garantizar las condiciones anteriores. Un conjunto de dichas reglas se llama regla superior izquierda , que establece que un píxel se rasteriza si y solo si

  1. su centro se encuentra completamente dentro del triángulo, o
  2. Su centro se encuentra exactamente en el borde del triángulo (o en varios bordes en caso de esquinas) , es decir (o, en caso de esquinas, todos lo son), ya sea en el borde superior o en el izquierdo . 

Una arista superior es una arista que es exactamente horizontal y se encuentra por encima de otras aristas, y una arista izquierda es una arista no horizontal que se encuentra en el lado izquierdo del triángulo.

Esta regla decide a qué triángulo pertenece un píxel en un límite. Está implementada por Direct3D [ 5 ] [ 6 ] y OpenGL (aunque la especificación aquí solo requiere una regla consistente [ 7 ] ).

Imágenes 3D

La rasterización es una de las técnicas típicas para renderizar modelos 3D. Comparada con otras técnicas de renderizado, como el trazado de rayos , la rasterización es extremadamente rápida y, por lo tanto, se utiliza en la mayoría de los motores 3D en tiempo real. Sin embargo, la rasterización es simplemente el proceso de calcular la correspondencia entre la geometría de la escena y los píxeles, y no prescribe una forma particular de calcular el color de dichos píxeles. El color específico de cada píxel se asigna mediante un sombreador de píxeles (que en las GPU modernas es completamente programable ). El sombreado puede tener en cuenta efectos físicos como la posición de la luz, sus aproximaciones o una intención puramente artística.

El proceso de rasterización de modelos 3D en un plano 2D para su visualización en una pantalla de ordenador (" espacio de pantalla ") se suele llevar a cabo mediante hardware de función fija (no programable) dentro del pipeline gráfico . Esto se debe a que no hay incentivos para modificar las técnicas de rasterización utilizadas en el momento de la renderización [ 8 ] y un sistema específico permite una alta eficiencia.

Calidad

Precisión de píxeles (izquierda) frente a precisión de subpíxeles (centro) frente a suavizado de bordes (derecha)

La calidad de la rasterización se puede mejorar mediante el suavizado de bordes (antialiasing) , que crea bordes "suaves". La precisión subpíxel es un método que considera las posiciones a una escala más fina que la cuadrícula de píxeles y puede producir resultados diferentes incluso si los puntos finales de una primitiva caen en las mismas coordenadas de píxeles, lo que produce animaciones de movimiento más fluidas. El hardware simple o antiguo, como PlayStation 1 , carecía de precisión subpíxel en la rasterización 3D. [ 9 ]

Véase también

Referencias

  1. Michael F. Worboys (30 de octubre de 1995). SIG: Una perspectiva desde la informática . CRC Press. págs.  232–. ISBN 978-0-7484-0065-2.
  2. Kang-Tsung Chang (27 de agosto de 2007). Programación de ArcObjects con VBA: Un enfoque orientado a tareas, Segunda edición . CRC Press. págs. 91–. ISBN  978-1-4200-0918-7.
  3. Harper, Douglas. "raster" . Diccionario etimológico en línea .
  4. rastrum . Charlton T. Lewis y Charles Short. Un diccionario latino sobre el proyecto Perseo .
  5. "Reglas de rasterización (Direct3D 9)" . Microsoft Docs . Consultado el 19 de abril de 2020 .
  6. "Reglas de rasterización (DirectX11)" .
  7. OpenGL 4.6 (PDF) . pág. 478. 
  8. "Rasterización: una implementación práctica" . www.scratchapixel.com . Consultado el 6 de octubre de 2023 .
  9. "Problemas de rasterización de PlayStation" . Libretro . 4 de octubre de 2016. Consultado el 19 de abril de 2020 .
  • Artículos de Michael Abrash sobre gráficos por computadora
  • API DirectX de Microsoft
  • API de OpenGL
  • Matrices (incluidas las matrices de transformación) de MathWorld
  • Rasterización: una implementación práctica