lunes, 28 de septiembre de 2009

PRIMITIVAS DE LLENADO DE AREAS

La tarea de los primitivos de llenado se puede separar en dos partes:

1. la decisión de que pixeles llenar (esto depende de la forma de la primitiva), y



2. la decisión mas sencilla de cual valor utilizar para el relleno.



En general, determinar que pixeles llenar consiste de tomar líneas de rastreo sucesivas que intersectan la primitiva y llenar en intervalos (spans) de pixeles adyacentes que están dentro de la primitiva de izquierda a derecha.



Para llenar un rectángulo con un color sólido, se asigna a cada pixel sobre una misma línea de rastreo desde el borde izquierdo al borde derecho el mismo valor de pixel; o sea llenamos cada intervalo de xmin a xmax. Se aprovecha de varios tipos de coherencias no solamente para convertir primitivas de 2D, pero también de 3D.



  • Los intervalos explotan la coherencia espacial (spatial coherence) de una primitiva: el hecho que las primitivas a menudo no cambian de pixel en pixel dentro de un intervalo o de línea de rastreo a línea de rastreo. Se explota esta coherencia buscando solo aquellos pixeles donde ocurren cambios.





  • Para una primitiva trazada de forma sólida, se asigna el mismo valor a todos los pixeles en un mismo intervalo, proporcionando coherencia de intervalo (span coherence).





  • Un rectángulo trazado de forma sólida también muestra una fuerte coherencia de línea de rastreo (scan-line coherence) ya que líneas de rastreo consecutivas que intersectan el rectángulo son idéntica; mas tarde se usa también coherencia de arista (edge coherence) para los lados de polígonos generales.


La capacidad de manejar múltiples pixeles en un intervalo de forma idéntica es especialmente importante porque se debe escribir el frame buffer una palabra a la vez para minimizar el numero de accesos a memoria.






Conceptos del algoritmo de relleno de áreas




El algoritmo presentado a continuación considera polígonos cóncavos al igual que convexos, incluyendo aquellos que puedan tener huecos internos o intersectados por si mismos.

La siguiente figura ilustra el procedimiento de la línea de rastreo para el llenado sólido de polígono.

No hay comentarios:

Publicar un comentario