miércoles, 13 de noviembre de 2013

Conceptos Unidad III

Tecnicas de sombreado clásicas y avanzadas
Clasicas: iluminación local


OpenGL calcula la iluminación en cada vértice, y obtiene una terna rgb que se usará para dar color a los polígonos o aristas. El valor obtenido en cada vértice es la suma de cinco componentes:
Emisión (E)
Luz ambiental global (A1)
Luz ambiental específica del polígono (A2)
Reflexión difusa (D)
Reflexión especular (S)

La formula final es la suma de todos los términos anteriores:

I = E + A1 + A2 + D + S

OpenGL calcula el valor de I para cada vértice del modelo, y usa esos colores para asignar un color a todos los pixeles.

En general, I depende de las características de las fuentes de luz definidas y las características del material asignado a los polígonos que se dibujen.

En adelante, una terna RGB o color es un conjunto de tres valores reales entre cero y uno, ambos incluidos.

Posterior relleno de triangulos.
Para ello se realizan varias fases de procesamiento por Pixel. Comprobar si cada nuevo pixel es visible o no (comprobación de profundidad).
Interpolación lineal del color para el nuevo pixel (método de Gouraud).
Si existe una textura definida o transparencia, efectuar la modificación de color correspondiente.
En esta etapa se trata de asignar colores a los pixeles correspondientes al interior de cada triángulo proyectado que cae dentro del área de visualización.

Renderizado en tiempo real.
La idea fundamental del procesado en tiempo real es que todos los objetos deben ser descompuestos en polígonos. Estos polígonos serán descompuestos a su vez en triangulos. Cada triangulo será proyectado sobre la ventana bidimensional y rellenado con los colores adecuados para reflejar los efectos de la iluminación, texturas, etc. Una vez se han generado los triangulos, en la pipeline existen dos partes claramente diferenciadas: una primera etapa operaciones realizadas sobre cada uno de los vértices, y después de que estos se proyecten sobre la ventana, entonces comienza una segunda fase de cálculos realizados para cada pixel cubierto por los triangulos.

Realistas: iluminacion global.
Trazado de rayos.

El trazado de rayos computa la interacción de la luz desde un punto de vista determinado y es particularmente adecuado para superficies reflectantes. Puede utilizarse como propiedad especifica de un determinado material.

Radiosidad.
En el estado inicial la escena consta de dos tipos de objetos: objetos que emiten luz y objetos que reciben luz. A partir de aquí, en una primera vuelta, se computa la luz que recibe cada objeto en una aproximación mas exacta, cada parte de un objeto, según una subdivisión cuya densidad puede precisarse en sucesivas aproximaciones. Cada una de estas partes, según su grado de reflexividad, su orientación y su distancia con respecto a las fuentes de luz original, se convertirá en una segunda vuelta, en un nuevo emisor de energía lumínica, una fuente de luz secundaria que iluminara a su vez a los objetos que le rodean.

Calculos de iluminacion por pixel.
La iluminación por píxel en tiempo real es una tecnología revolucionaria ofrecida como primicia por NVIDIA Shading Rasterizer. La iluminación dinámica a nivel de píxel libera a los desarrolladores de las restricciones de otros sistemas de iluminación y pone a su alcance toda una gama de sofisticados efectos.

Alto acabado.
Sombreado Constante o plano. Un cálculo para todo el polígono. Obtenemos una intensidad que aplicamos a un conjunto de puntos de un objeto (p.ej. todo un triángulo). El polígono representa una superficie plana real del objeto que se modela y no es una aproximación de un objeto curvo.

Sombreado constante o plano.
Un calculo para todo el poligono.
Obtenemos una intensidad que aplicamos a un conjunto de puntos de un objeto (p.ej. todo un triángulo)
El polígono representa una superficie plana real del objeto que se modela y no es una aproximación de un objeto curvo.

Interpolacion de Intensidades (Gouraud).
Se basa en la interpolación de intensidad o color.
Considera que facetas planas vecinas proceden de aproximar una superficie curva
* Elimina en gran medida las discontinuidades de iluminación
* Es sencilla, pero produce peores resultados en objetos con brillos especulares que el método de Phong.
*Implementado en OpenGL

Calcula normales al poligono.
La iluminación cte. no produce buenos resultados en superficies curvas (aprox. por facetas planas).

Evaluar la ecuación de iluminación en cada punto de una superficie genérica es muy costoso. Posible solución: aproximar mediante facetas planas e interpolar dentro de cada polígono. Hay que evitar producir una apariencia “faceteada” (bandas de Mach; respuesta del ojo humano).


interpolacion de normales (PHONG)
Se basa en la interpolación de la dirección de la normal, calculada de la misma forma que antes. Igual que en Gouraud, se interpola a lo largo de cada línea de barrido, entre los puntos inicial y final, interpolados a su vez de los valores de los vértices de la arista. Captura mejor los brillos especulares en el medio de facetas planas. Si el coeficiente de reflexión especular es pequeño, los resultados no difieren tanto.

Raytracing
El raytracing o trazado de rayos es un algoritmo para síntesis de imágenes tridimensionales.

En el algoritmo Ray Casting se determinan las superficies visibles en la escena que se quiere sintetizar trazando rayos desde el observador (cámara) hasta la escena a través del plano de la imagen. Se calculan las intersecciones del rayo con los diferentes objetos de la escena y aquella intersección que esté más cerca del observador determina cuál es el objeto visible.


Buffer de profundidad
El Z-Buffer se basa en que al generar la posición de un punto en la pantalla la computadora reserve una zona de memoria especial, llamada Z-Buffer, información relacionada con la profundidad del punto que ocupa en la escena representada. Cuando el ordenador representa un nuevo punto consulta el Z-Buffer del píxel que corresponde en pantalla. Si el valor que ya existe en el píxel es mayor que el que posee el nuevo punto, el sistema asume que este último es el visible y lo sustituye en la memoria del Z- Buffer.

Buffer stencill
Stencill Buffer es una memoria intermedia que analiza y actualiza píxeles junto con “depth buffer” o buffer de profundidad. Añade planos de bits adicionales para cada píxel además de los bits de color y profundidad.

Stencil buffer es similar al buffer de profundidad en que los dos son colección de planos de bit que no se pueden mostrar.

Fuentes de color
Para la mayoría de las aplicaciones, se puede modelar fuentes de luz en base a tres componentes primarios, RGB, y puede usar cada uno de los tres colores fuentes para obtener el componente de color correspondiente que un observador humano vería.

Luz ambiente
La luz ambiente ilumina por igual todas las zonas en sombra para simular el efecto de interacción entre objetos que hace que las partes en sombra de los objetos queden parcialmente iluminadas. Esta iluminación uniforme se llama luz ambiente. Si se sigue este segundo enfoque, se puede postular una intensidad ambiente en cada punto del ambiente.

Spotlights
Los spotlights se caracterizan por un rango delgado de ángulos por los cuales se emite luz. Se puede construir un spotlight sencillo de una fuente de punto limitando los ángulos de donde la luz de la fuente se puede ver.


Fuentes de luz distantes

La mayoría de los cálculos de sombreado requieren la dirección de un punto sobre la superficie a la fuente de luz. Según se mueve a lo largo de la superficie, se debe recomputar este vector para calcular la intensidad en cada punto, una computación que es una parte significativa del cálculo del sombreado. Sin embargo, si la fuente de luz está lejos de la superficie.

intensidad completa

La intensidad completa exclusivamente Por efectos de iluminación es la siguiente:


No hay comentarios:

Publicar un comentario