La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Cáteda CC52B Alfredo Cofré

Presentaciones similares


Presentación del tema: "Cáteda CC52B Alfredo Cofré"— Transcripción de la presentación:

1 Cáteda CC52B Alfredo Cofré acofre@dcc.uchile.cl
ANTIALIASING Cáteda CC52B Alfredo Cofré

2 ¿Anti qué? Sin antialiasing…

3 Ah, eso…. CON antialiasing…

4 Aliasing es… La aparición de distorsiones y colgajos en curvas y líneas diagonales debido a resolución limitada de rendereo y display

5 Antialiasing es… Técnicas de eliminación de aliases
Implementadas por software y/o hardware Permiten obtener bordes suaves con resoluciones limitadas

6 Técnica: Oversampling
¿Cómo saber si un píxel está dentro o fuera de un triángulo? Si el centro del píxel está dentro del triángulo, pintamos el píxel ALIASES!!!

7 Técnica: Oversampling
Oversampling: Ejes X e Y se escalan en un factor entero. Se renderea el cuadro modificado Se filtra a la resolución original

8 Técnica: Oversampling
Detalles: Cubrir píxeles enteros cada vez que sea posible Evitar cubrir fracciones de píxeles Evitar sobresamplear usando factores no enteros

9 Técnica: Supersampling
Oversampling es un caso particular de Supersampling Idea: Reposicionar subpíxeles de modo de obtener una “resolución de borde equivalente” Ventaja: Supersampling es más eficiente y entrega bordes de mejor calidad Desventajas: Necesita hardware especializado Necesita un pipeline por subpíxel

10 Técnica: Multisampling
Multisampling: Hacemos supersampling de una textura a la vez por píxel, pero seguimos generamos subpíxeles Idea: Sólo los bordes se generan en alta resolución Necesita sólo un pipeline por píxel

11 Técnica: Ponderación por área
Determinamos cuál es el área del píxel que queda dentro de triángulo d Pintamos el píxel con la textura del polígono multiplicada por el área d Determinamos d usando el algoritmo de dibujo de líneas de Bresenham

12 Bresenham: defs. y precisiones
y = f(x) = mx, 0<m<1 d = (mx - y) + (1 - m) 0 ≤ d ≤ 1 Coordenadas de Ti: (xi-1+1,yi-1+0.5) Coordenadas de Si: (xi-1+1,yi-1)

13 Estructura del algoritmo
x = 0; y = 0; a = 1 - m; d = 0.5; WRITE_PIXEL( x , y , d ); while ( x != x_end){ if ( d < a ) d = d + m; // Nos movemos horizontalmente else{ d = d + a; // Nos movemos en diagonal y = y + 1; } x++; WRITE_PIXEL( x , y , d )

14 Ejemplo: Línea y = (5/7) x Desde (0,0) hasta (7,5)

15 Ventaja: Desventaja: Rápido y eficiente
Sólo puede haber un borde por píxel No se pueden representar polígonos muy delgados

16 pero la mano es más rápida que el ojo…..
Si se usan suficientes niveles de intensidad para representar polígonos delgados, el ojo interpola subpíxeles!!! En estos casos, es mejor usar multisampling

17 Aplicaciones

18 Intensidad de líneas Una línea horizontal se ve más intensa que una línea diagonal

19 Intensidad de líneas Debemos ajustar la intensidad de la línea horizontal Nos limitamos a líneas con pendiente entre 0 y 1 Multiplicamos la intensidad del píxel a pintar por 1/cos(α)

20 Intensidad de líneas

21 Suavizando caracteres
Necesitamos suavizar los bordes de las fuentes M

22 Suavizando caracteres
Recalculamos la intensidad de los píxeles, usando técnicas de antialiasing Establecemos una escala de intensidades. Por ejemplo, entre 0 y 3 El píxel está cubierto en un 0% => intensidad 0 El píxel está cubierto en un 100% => intensidad 3

23 Suavizando caracteres


Descargar ppt "Cáteda CC52B Alfredo Cofré"

Presentaciones similares


Anuncios Google