Scanline rendering

Summary

La renderización mediante línea de exploración (en inglés scanline rendering) es un tipo de salida de renderización hecho para aplicaciones tridimensionales. Se trata de un algoritmo que determina la forma en que los objetos de la escena van siendo calculados y generalmente se genera creando líneas que aparecen en el plano de renderizado resultante de arriba abajo o viceversa.

  • Es análogo al refresco de las pantallas de televisión donde un tubo de rayos catódicos proyecta una luz que barre de izquierda a derecha, de arriba abajo. Existen otros métodos de renderizado como por ejemplo calcularlo en fragmentos cuadrados o por pasos. Es el sistema más utilizado entre las aplicaciones 3D conocidas.
Algoritmo de línea de exploración

Algoritmo

editar

El algoritmo de renderizado por líneas de escaneo procesa la imagen línea por línea (scanline) en lugar de polígono por polígono.[1][2]​ Los pasos detallados son:

  • Inicialización de la tabla de aristas
    • Todas las aristas de los polígonos se almacenan en una "tabla de aristas" (AET - Active edge table), ordenadas por su coordenada y mínima.
    • Cada entrada contiene:
      • Coordenada y máxima de la arista.
      • Coordenada X correspondiente a la Y mínima.
      • Pendiente inversa (dx/dy). (x2 - x1)/(y2 - y1)).
  • Lista de aristas activas (AEL - Active Edge List)
    • Se crea una lista vacía que almacenará las aristas intersectadas por la línea de escaneo actual.
  • Procesamiento por scanline (de arriba hacia abajo). Para cada línea de escaneo (valor Y ascendente):
    • Eliminar aristas inactivas:
      • Remover de la AEL aristas donde Y_máxima = Y_actual.
    • Añadir aristas nuevas:
      • Incorporar aristas de la ET con Y_mínima = Y_actual.
    • Ordenar la AEL:
      • Organizar aristas activas por su coordenada X actual.
    • Rellenar píxeles:
      • Dibujar segmentos horizontales entre pares consecutivos de aristas (ej: entre aristas 1-2, 3-4, etc.), aplicando sombreado o texturas si es necesario.
    • Actualizar aristas:
      • Incrementar la coordenada X de cada arista en la AEL sumando su dx/dy

Véase también

editar

Referencias

editar
  1. Kelley, Michael & Stephanie Winner, "Scanline rendering device for generating pixel values for displaying three-dimensional graphical images", US 5517603.
  2. dilli_hangrae (29 de abril de 2024). «Scanline Filling Algorithm». Medium (en inglés). Consultado el 2 de junio de 2025. 
  •   Datos: Q947544