Primitivas De Relleno
Gráfica: Relleno
1
2 RELLENO DE AREA .............................................................................................................................1 2.1 ARISTAS HORIZONTALES ..........................................................................................................................4 2.2 SLIVERS...................................................................................................................................................5 2.3 COHERENCIA DE A RISTA Y EL A LGORITMO DE CONVERSIÓN DE LÍNEA ........................................................5
Alfredo Weitzenfeld
Gráfica: Relleno
1
2 Relleno de Area La tarea de los primitivos de llenado se puede separar en dos partes: 1. la decisión de que pixelesllenar (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, seasigna 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 nocambian 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 unafuerte 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 palabraa 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.
y
a
12
F b c ED d C
8
A
2
B
10 14 18 24
x
Para cada línea de rastreo que cruza un polígono el algoritmo de llenado de áreas debe: • localizar los puntos de intersección de la línea de rastreo con las aristas del polígono, • definir los intervalos de llenado (spans) para cada línea de rastreo. Esto se repetiría para todas las líneas de rastreo que intersectan el polígono. Algoritmo depunto medio para lineas aplicado a relleno de areas Una forma de derivar las intersecciones (extremos) de los intervalos es utilizar el algoritmo de punto medio para conversión de líneas para cada arista y mantener una tabla de extremos de intervalos para cada una de las línea de rastreo. En el ejemplo, los dos intervalos están definidos por las cuatro posiciones de intersección de pixel con lasfronteras de polígono x=10 a x=14.5 y de x=18.5 a x=24.
Alfredo Weitzenfeld
Gráfica: Relleno
2
Esta estrategia puede produce algunos pixeles extremos que estén fuera del polígono; ya que fueron escogidos por el algoritmo de conversión de rastreo porque están mas cerca de la arista, sin importar de que lado de la arista se encuentran. El algoritmo de punto medio no tiene la noción de...
Regístrate para leer el documento completo.