Cálculo de la iluminación
- Puntos en juego:
- P=(x,y,z) : punto de una cara (p.ej., P1P2P3) del objeto, en el cual se pretende calcular la iluminación
- S= (Sx, Sy, Sz) : posición de una fuente de luz (puede haber varias)
- E=(Ex, Ey, Ez) : posición del ojo o punto de vista (centro de proyección)
- Cálculo de las direcciones necesarias (vectores unitarios):
(P1P2P3, vértices de la cara en sentido antihorario, vista la cara desde fuera del objeto)
- Iluminación en P de acuerdo a nuestro modelo:
- Observaciones (¡OJO!):
(y por tanto
) son distintos para cada fuente de luz
- El cálculo se hace en mundo real, ANTES de hacer PREWARPING (el prewarping deforma los ángulos).
Se ha de obtener (o estimar) el punto P correspondiente al píxel de pantalla al que queremos dar color - Los vectores han de ser UNITARIOS
Sombreado
- Objetivo: hacer más realistas los objetos
- Tipos:
- Plano (flat):
- cada cara, sombreado uniforme (el mismo para toda la cara)
- Suave (smooth):
- sombras varían suavemente al cambiar de cara (al pasar por aristas)
- permite simular objetos con superfices curvas mediante caras planas
- Normals binding (asignación de normales)
- a la cara: produce aristas marcadas (p.ej., tapas de un cilindro)
- a los vértices: simula superficies curvas (p.ej., tubo de un cilindro)
- Se incluye en los algoritmos de superficies ocultas (p.ej., Z-buffer), al ir a dar color al píxel
- Cálculo de iluminación es costoso: uso de aproximaciones
Sombreado plano (flat, facetted or Lambert shading)
- Para cada cara visible:
- Se elige un punto de la cara P; por ejemplo:
- un vértice
- una combinación convexa de los vértices de la cara P1, ... Pn
(p.ej.,
)
- Se calculan los vectores unitarios necesarios en P
- Se calcula la iluminación (RGB) en P
- A todos los píxeles correspondientes a esta cara se les asigna este color/iluminación
- No hay gradiente de iluminación en una cara
- No hay problema en obtener P en mundo real (a partir de vértices, conocidos, en mundo real)
Sombreado suave de Gouraud
- Para todos los vértices de las caras visibles:
- Se calcula la normal (UNITARIA) asociada al vértice como promedio de las normales (UNITARIAS) de las caras que contienen el vértice (incluidas las caras ocultas), en RW
- Se calcula la iluminación (color) asociada al vértice, usando esta normal
- Iluminación asociada a píxel/punto de la cara como interpolación bilineal de las iluminaciones de los vértices:
- Cara ABC
- Intersección de scan con AB y AC: P1, P2
- Punto/píxel P, entre P1 y P2
- Iluminaciones en P1, P2 como interpolación de iluminaciones en A, B, C:
- Iluminación en P como interpolación de iluminaciones en P1, P2
- Cálculo incremental de iluminación en P:
- Siguiente punto del scan, Q, tiene xQ = xP + 1
- También es posible cálculo incremental de I1, I2
- Problemas:
- Superficies tipo cartón ondulado aparecen planas; soluciones:
- subdivisión de caras
- asignación de normales a caras en lugar de a vértices
- Movimiento antinatural de los brillos:
- brillo en cualquier punto de la cara es siempre menor que en el vértice de iluminación máxima (por interpolación)
- al mover fuente de luz, brillos no se mueven por la cara adecuadamente
- Observaciones (¡OJO!):
- El cálculo de la iluminación se hace en mundo real
- La interpolación bilineal se hace en coordenadas de pantalla (a partir de iluminación de vértices)
- Hay que normalizar (hacer UNITARIOS) los vectores normales a los vértices
- No se aplica el filtro
a los vértices (pero sí a la cara para la que se calcula la iluminación)
Sombreado suave de Phong
- Cálculo de la normal (UNITARIA) asociada a cada vértice
- Interpolación bilineal de normales para encontrar normal a punto/píxel de la cara:
(hay que normalizar, hacer UNITARIO, el vector normalobtenido)
- Se calcula iluminación en P a partir de este vector normal
:
- Obtención de
y
:
- obtener punto P en mundo real correspondiente a píxel bajo estudio es difícil
- se puede aproximar y usar
y
constantes a toda la cara (p. ej., promedio de los de los vértices)
- se pueden interpolar (vectores o ángulos) a partir de los valores en los vértices
- Problemas
- Superficies tipo cartón ondulado aparecen planas
- Resuelve problema de brillos antinaturales
- Observaciones
- Más costoso que Gouraud, pero resultados más naturales
- Hay que normalizar normales interpoladas (en cada punto/píxel)
- interpolando ángulos en lugar de componentes se evita este cálculo
(se obtiene rotación de, de forma que tras x2-x1 pasos se pasa de
a
)
- No se aplica el filtro
a los vértices (pero sí a la cara para la que se calcula la iluminación)
Shading - Sombreado
El proceso de sombreado o shading (en el contexto de los gráficos realizada por computadora) implica la simulación de computadora (o más exactamente; el cálculo) como las caras de un polígono se comportarán cuando es iluminado por una fuente de la luz virtual. El cálculo exacto varía según no sólo que datos están disponibles sobre la cara sombreada, sino también la técnica de sombreado.
Generalmente este afecta propiedades de la especularidad y valores de intensidad, reflexión y transparencia.
Representación basada en Imagen - Image Based Rendering (IBR)
La computación gráfica permite la obtención imágenes 2D desde modelos tridimensionales. A fin de hacerse muy exacto y obtener imágenes fotorealistas, la entrada de los modelos 3D debería ser muy exacta en términos de geometría y colores. La simulación de paisajes y escenas fotorealilstas que utilicen esta técnica requiere un gran esfuerzo y talento con programas de CAD. En vez de obtener modelos 3D, Las representaciones basadas en imagen (IBR) usan imágenes tomadas de puntos de vista particulares y trata de obtener nuevas imágenes de otros puntos de vista. Aunque el término Representación basada en Imagen fue acuñado recientemente, aunque en la práctica se usó desde el inicio de la investigación en la Visión obtenida por Computadora.
-
- En 1996, se hicieron muy populares dos técnicas: los campos de luz (lightfield en inglés) y el lumigraph (que no tiene traducción asentada en español).
Estas técnicas recibieron la atención especial de la comunidad de investigación. Desde entonces, muchas representaciones para IBR fueron propuestas. Un método popular es la texturas dependientes del punto de vista, una técnica IBR de la Universidad del Sur de Califrnia. La Universidad de Oxford usó conceptos de la "Máquina de Aprendizaje" para IBR.
- Sombreador: generalmente se le aplica a los materiales en todo sistema de simulación 3d, se les conoce también como shader.
- Sombreado Flat (plano): una técnica que sombrea cada polígono de un objeto basándose en su vector normal (dirección hacia la que apunta un polígono) y la posición e intensidad de una fuente de la luz.
- Sombreado de Gouraud: Inventado por Henri Gouraud en 1971, una técnica rápida y consciente de los recursos disponibles en una computadora, solía simular superficies suavemente sombreadas interpolando colores de vértice a través de la superficie de un polígono.
- Mapeo de texturas (Correlación de textura): una técnica para simular detalle superficial trazando un mapa de imágenes (texturas) en polígonos.
- Sombreado de Phong: Inventado por Bui Tuong Phong, una técnica de sombreado lisa que se acerca la superficie curva iluminada por la interpolación de los vértices normales de un polígono a través de la superficie; el modelo iluminado incluye la reflexión de brillo con un nivel controlable del mismo.
- Bump mapping (Correlación de relieve): Inventado por Jim Blinn, una técnica de perturbación normal(la dirección hacia donde apunta un polígono) solía simular superficies desiguales o arrugadas y con relieve.
- Ray Tracing (Trazador de rayos): un método basado en los principios físicos de la óptica geométrica que puede simular reflexiones múltiples y la transparencia.
- Radiosidad: una técnica para la iluminación global que usa la teoría de transferencia de radiación para simular la iluminación (reflejada) indirecta en escenas con superficies difusas.
- Blob: una técnica para representar superficies sin especificar una representación divisoria difícil, por lo general puesta en práctica como una superficie procesal como una Van der Waals equipotential (en química).
Texturing - Texturizado
Las superficies polígonales (secuencia de caras) pueden contener datos correspondiente de más de un color, pero en el software más avanzado, pueden ser una lona virtual para una imagen, u otra imagen rasterizada. Tal imagen es colocada en una cara, o la serie de caras y es llamada Textura.
Las texturas añaden un nuevo grado de personalización en cuanto a como las caras y los polígonos que cuidarán por último la forma en que serán sombreados, según el método de sombreado, y como la imagen es interpretada durante el sombreado.
http://arantxa.ii.uam.es/~pedro/graficos/teoria/Shading/Shading.htm
http://www.fdi.ucm.es/profesor/segundo/PDFs/7SombreadoVisualizacion.pdf
No hay comentarios:
Publicar un comentario