martes, 20 de mayo de 2008

EXPOSICIÒN DE RADIOSIDAD

Exposición: Traza de Rayos
Día:20-may-2008


EXPOSICIÒN DE RADIOSIDAD
--------------------------------------------------------------------------------

Uno de los métodos que mejor modelan el comportamiento real de la luz en la búsqueda del realismo visual en imágenes construidas de forma sintética es el método de radiosidad. Este método presenta, sin embargo, el inconveniente de un alto coste computacional, tanto en tiempo de cálculo como en almacenamiento. Entre las numerosas variantes surgidas con el objetivo de rebajar la complejidad del método clásico destaca el método de radiosidad jerárquica, basado en la aplicación de una subdivisión adaptativa de la escena.

El método de radiosidad jerárquica mantiene, no obstante, todavía una elevada complejidad que dificulta su explotación en escenas de gran tamaño. En este trabajo se han tratado de desarrollar nuevas soluciones para algunos de los diversos problemas que el método jerárquico de radiosidad plantea.

El primer punto en el que se centra el trabajo es en la determinación de la visibilidad entre los distintos objetos de una escena (principal cuello de botella en un algoritmo de iluminación), analizando las principales soluciones existentes y proponiendo una nueva aproximación al problema, basada en aprovechar el principio de localidad en el espacio de direcciones de los rayos lanzados durante el proceso.


Ec. de Radiosidad

Primer objetivo: vamos a definir una ec. de radiosidad para superficies difusas.
• Esta ecuación relacionará la radiosidad en un punto de la escena x con la radiosidad en 7el resto de la escena.
• Segundo objetivo: diseñaremos un método para resolver esa ecuación (por discretización con elementos finitos, FEM)
• Tercer objetivo: obtendremos un sistema de ec. lineales y veremos cómo resolverlo


LA RADIOSIDA SE BASA EN:

o Bastantes polígonos y objetos a la vez con pocos recursos
o Se ha buscado forma sencilla con recursos disponibles (motores de render)
o Hace un calculo que proyecta cada fuente de luz
o Aproximación imprecisa, sombras muy acentuadas
o luz ambiental. Afecta a todos los objetos por igual, mejor resultado pero pobre



lunes, 12 de mayo de 2008

EXPOSICIÒN DE TRAZADO DE RAYOS

Exposición: Traza de Rayos
Día:12-may-2008

TRAZADO DE RAYOS

El raytracing  es un algoritmo para síntesis de imágenes tridimensionales. Propuesto inicialmente por Turner Whitted en 1980, está basado en el algoritmo de determinación de superficies visibles de Arthur Appel denominado Ray Casting (1968).

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.

El algoritmo de trazado de rayos extiende la idea de trazar los rayos para determinar las superficies visibles con un proceso de sombreado (cálculo de la intensidad del pixel) que tiene en cuenta efectos globales de iluminación como pueden ser reflexiones, refracciones o sombras arrojadas.

Para simular los efectos de reflexión y refracción se trazan rayos recursivamente desde el punto de intersección que se está sombreando dependiendo de las características del material del objeto intersectado.

Para simular las sombras arrojadas se lanzan rayos desde el punto de intersección hasta las fuentes de luz. Estos rayos se conocen con el nombre de rayos de sombra (shadow rays).

El algoritmo básico de trazado de rayos fue mejorado por Robert Cook (1985) para simular otros efectos en las imágenes mediante el muestreo estocástico usando un método de Monte Carlo; entre estos efectos podemos citar el desenfoque por movimiento (blur motion), la profundidad de campo o el submuestreo para eliminar efectos de aliasing en la imagen resultante.

En la actualidad, el algoritmo de trazado de rayos es la base de otros algoritmos más complejos para síntesis de imágenes (Mapeado de fotones, Metropolis, entre otros) que son capaces de simular efectos de iluminación global complejos como la mezcla de colores (color bleeding) o las cáusticas.






Algoritmo trazador de rayos (ray tracing)

Como vimos en el Tema 1, los modelos de iluminación semiglobales, además de considerar

la contribución de las fuentes de luz, también tienen en cuenta la luz reflejada y la transmitida procedente de los objetos circundantes. El algoritmo trazador de rayos (o ray tracing), que es una generalización del algoritmo de ray casting visto en los temas anteriores, utiliza un modelo de iluminación semiglobal.

Así, en la versión típica del algoritmo de ray tracing, el color (intensidad) en un punto de intersección rayo-superficie cualquiera viene determinado por tres tipos de aportaciones lumínicas:

* Por un lado está la contribución o color local, que se debe a la iluminación directa de las fuentes, y la luz ambiental. En definitiva, se trata de aplicar el modelo de iluminación local utilizado ray casting.

* Por otro lado está la contribución o color reflejado, que consiste en la luz que llega al punto de intersección desde los objetos circundantes, siguiendo la trayectoria de reflexión de la luz.

* Por último, el algoritmo de ray tracing también cuenta con la aportación del color transmitido, que se debe la luz que llega al punto de intersección después de cruzar (traspasar) los objetos vecinos (si es que son transmisores de la luz), siguiendo la trayectoria de transmisión.

En la Figura 1 se pueden apreciar las tres contribuciones en un punto de intersección

rayo-superficie dado.



Naturaleza recursiva del algoritmo de ray tracing

Según se ha comentado arriba, ray tracing no es más que una expansión o generalización del algoritmo de ray casting. Como sabemos, en éste solamente se traza un tipo de rayos, conocidos como rayos primarios, que van desde el observador hasta los objetos en el escenario, a través de cada píxel del plano visual. En ray tracing, además de los rayos primarios, en cada punto de intersección rayo-superficie son trazados otros dos rayos, el rayo reflejado y el rayo transmitido (NOTA: el trazado de estos rayos dependerá de que el objeto intersecado sea reflectante y/o transmisor de la luz).

Figura 2:



En la figura anterior puede apreciarse el trazado del rayo reflejado y transmitido, en cada punto de intersección. 

En la misma figura puede verse que cada rayo primario trazado lleva asociado un árbol binario (árbol de rayos) como el mostrado a continuación:





de ray tracing. Por la descripción gráfica que acabamos de ver del algoritmo, los pasos a dar para su desarrollo son:

1) Como en ray casting, primero se ha de trazar el rayo primario, es decir, hay que calcular el rayo procedente del ojo que pasa a través de un píxel dado, buscando la intersección más cercana con los objetos del escenario.

2) Una vez encontrado el punto de intersección, para averiguar el color global (final) del rayo primario (y del píxel), se calcula primero la contribución local en el punto de intersección. Para ello es preciso conocer, entre otros datos, qué fuentes aportan luz, y cuales no. Esto se consigue trazando rayos de sombra desde el punto de intersección hacia cada una de las fuentes de luz, evaluando la contribución de cada fuente en función de sus características y de los objetos interpuestos (si los hay) en la trayectoria del correspondiente rayo de sombra (Figura 4).

Figura





En el caso de que la superficie presente reflexión (que es lo más frecuente) calcularemos la trayectoria del rayo reflejado con respecto a la normal a la superficie en el punto de  intersección. En el cálculo de esta trayectoria normalmente se supone que el objeto superficie) es un reflector perfecto.

4) De la misma forma, si el objeto es transmisor de la luz, se ha de calcular la trayectoria del rayo transmitido hacia el interior del objeto, determinando el ángulo de refracción por la ley de Snell.

 Ambos rayos pueden verse en la Figura 5.






Puesto que en el algoritmo de ray tracing los rayos normalmente se trazan hacia atrás, a continuación se ha de seguir la pista del rayo reflejado (o bien la del transmitido), para encontrar los respectivos puntos de procedencia de la luz, es decir, los puntos de intersección (más cercanos) con los objetos del escenario. Localizados éstos, de nuevo se generan rayos de sombra (para calcular la contribución local), de transmisión (para hallar la contribución transmitida) y de reflexión (para la contribución reflejada), todos ellos con origen en los puntos de intersección recién encontrados. Como vemos, algorítmicamente estamos en una situación similar a la del punto de partida (aunque no igual), lo que aconseja una implantación recursiva del proceso de trazado de los rayos.

 



Veamos este proceso a través del ejemplo de la Figura 6. Supongamos un escenario con planos y esferas, todos con un cierto grado de transparencia y reflexión. Siendo E un rayo primario que interseca con la superficie 3, primero calcularemos la luz procedente de las fuentes generando los rayos de sombra S1 y S2; como se ve en la figura, el rayo S2 está bloqueado por el esferoide 4, que al ser opaca anula el efecto de la fuente Lb. Además, como la superficie 3 es conductora de la luz, se ha de trazar el rayo transmitido T1. Puesto que la superficie es al mismo tiempo reflectora, también ha de trazar se el rayo reflejado (R1). De modo similar se irían generando y evaluando los rayos Si, Rt y Ri, para poder determinar finalmente el color del rayo E.

La Figura 7 muestra el árbol de rayos correspondiente al ejemplo anterior. La raíz del árbol representa el rayo primario procedente del ojo, y cada uno de los nodos es una intersección con un objeto. De cada nodo salen por un lado los rayos de sombra, y por otro los rayos reflejados y transmitidos, en el caso de que los objetos sean reflexores y transmisores, respectivamente.




Algunas demostaciones:

Cálculo de la aportación local en ray tracing no difiere mucho de su homólogo en ray casting. En la contribución local normalmente se utiliza el modelo de intensidad de Phong, ampliado con la componente (local) transmitida. No se han de confundir las componentes especular y transmitida del modelo de intensidad de Phong (contribución local), con las contribuciones reflejada y transmitida del modelo de iluminación semiglobal ya que, entre otras razones, el cálculo de los respectivos vectores de dirección varía ligeramente, como pronto veremos.

Recordando el modelo de Phong, el cálculo del vector director de la componente especular venía dado por el vector unitario R = L + 2Ncosφ, o bien, R = 2N(N·L) – L




donde 1

η y 2

η son los índices de refracción de los medios lumínicos 1 y 2 en el vacío

(Figura 11).


miércoles, 7 de mayo de 2008

EXPOSICIÒN DEL ILUMINACIÒN GLOBAL...

Exposición: Traza de Rayos
Día:6-may-2008

Metodo de Iluminaciòn Global

Iluminación  Global es un nombre general para un grupo de algoritmos utilizados en los gráficos 3D que se pretende añadir más iluminación realista  para las escenas 3D. Tales algoritmos deben de tener en cuenta no sólo la luz que viene directamente de una fuente de luz(iluminación directa), sino también el casos en que los rayos de luz de la misma fuente se reflejan en otras superficies en la escena(iluminación indirecta).

 

En teoría, reflexiones, refracciones y sombras son todos ejemplos de iluminación global, porque cuando la simulación de ellos, un objeto afecta a la prestación de otro objeto (por oposición a un objeto se vea afectado sólo por una luz directa). En la práctica, sin embargo, sólo la simulación de difundir entre la reflexión o cáusticas se llama mundial de iluminación.


*Considera la luz reflejada por un punto teniendo en cuenta toda la luz que llega
*No solo procedente de las luces
*Efectos
producen sombras
reflexión de un objeto en los otros
transparencias



















Realidad e iluminación

La iluminación depende del emisor y del receptor

Modelos de iluminación global

Ray tracing (trazado de rayos)
interacciones especulares
Radiosity (radiosidad)
interacciones difusas
La mayoría de los algoritmos utilizan conceptos de ambos














La ecuación de representación
Ecuación de Kajiya (1986)

I(x, x´) = g(x, x´)[e(x, x´)+òs r(x, x´, x´´) I(x´, x´´)dx´´]

 * I(x, x´): intensidad de transporte de x´ a x
 * g(x, x´): función de visibilidad, 0 o inversamente proporcional al cuadrado de la distancia
* e(x, x´): emisión de x´a x
r(x, x´, x´´): termino de dispersión de energía de x´ a x procente de x´´






jueves, 1 de mayo de 2008

Ojala

OJALA

HABLARE DIRECTO, QUITAME LA DUDA
DIME QUE ESTE UN SUEÑO PUEDE SER
Y NO ES UNA TONTERIA
YO QUE MAS DARIA, PORQUE FUERA CIERTO
ESTE AMOR SECRETO SE VOLVIERA REAL
ES LO YO QUE MAS QUERIA,
YO SABRE ESCUCHARTE, TU NO TENGAS MIEDO
SI NO TE INTERESA TU NO TE PREOCUPES YA NO HABRA REMEDIO

OJALA ME QUIERAS Y SI NO QUE PENA
MAS TE LLEVARE SIEMPRE EN MI PENSAMIENTO
HASTA QUE ME MUERA

OJALA ME QUIERAS ES MI FANTASIA
QUE SE VUELVA REAL QUE YO ME SIENTA TUYO Y QUE TU SEAS MIA
Y SI NO ME QUIERES DIMELO TRANQUILA QUE MI AMOR ES FUERTE
MAS DE LO QUE CREIA

OJALA ME QUIERAS COMO EL SOL EL DIA
COMO LO HE SOÑADO COMO IMAGINE TU BOCA CON LA MIA
LLENOS DEL PERFUME DE UNA CAMA TIBIA
OJALA ME QUIERAS
OJALA ALGUN DIA, OJALA ALGUN DIA

SOLO ES UN INSTANTE PARA QUE RESPONDAS
ESTE ES EL MOMENTO EN QUE ESTOY MAS CERCA DE ABRAZARTE TODA
TOMATE TU TIEMPO MUCHAS MUCHAS HORAS
QUIERO ESTAR ASI ANTES DE QUE ME DES LA GLORIA

OJALA ME QUIERAS, ES MI FANTASIA
QUE SE VUELVA REAL QUE YO ME SIENTA TUYO Y QUE TU SEAS MIA
Y SI NO ME QUIERES DIMELO TRANQUILA QUE MI AMOR ES FUERTE MAS DE LO QUE CREIA

OJALA ME QUIERAS COMO EL SOL EL DIA
COMO LO HE SOÑADO COMO IMAGINE TU BOCA CON LA MIA
LLENOS DEL PERFUME DE UNA CAMA TIBIA
OJALA ME QUIERAS
OJALA ALGUN DIA, OJALA ALGUN DIA

EXPOSICIÒN DEL MÈTODO DEL BLINN


Exposición: Del Mètodo de Blinn
Día:28-April-2008



EXPOSICIÒN DEL MÈTODO DEL BLINN


El Blinn-Phong sombreado modelo (también llamado Blinn-Phong reflexión modelo o

modificados Phong reflexión modelo) es una modificación al modelo de Phong de 

reflexión, precisión visual de comercio para el cálculo de la eficiencia, desarrollado 

por Jim Blinn.

Blinn-Phong es el modelo de sombreado por defecto utilizado en OpenGL y Direct3D 's

fijo función gasoducto (Direct3D antes 10), y se lleva a cabo en cada vértice a medida

que pasa el gasoducto de gráficos; pixel valores entre los vértices son interpolados de

sombreado Gouraud de por defecto, en lugar de los más caros sombreado Phong.

En el sombreado Phong, continuamente hay que calcular el ángulo  entre un visor (V) y


el haz de luz de una fuente (L) se refleja (R) sobre una superficie.

Si en lugar calcular un vector a medio camino entre el espectador y la luz procedente 

de vectores,

 

podemos sustituir  con  , Donde N es la superficie normalizado normal.

Este producto escalar representa el coseno de un ángulo que es la mitad del ángulo
representado por Phong del producto escalar, si V, L, N R y todos se encuentran en el
mismo plano. El ángulo entre N y H es, por tanto, a veces llamado el ángulo a mitad
de camino.

El ángulo de la mitad es menor que el ángulo que queremos en el modelo de Phong, 

pero teniendo en cuenta que está utilizando Phong  , Podemos establecer un exponente

  a fin de que  está más cerca de la antigua expresión. El tamaño de los más destacados

especular puede ser igualado de esta manera muy de cerca a la correspondiente reflexión 

Phong, pero siempre conservarán una forma sutilmente diferente.

 
Podría parecer poco probable que este modelo es más eficaz que el Phong, ya que 
contiene una raíz cuadrada de cálculo, mientras que el modelo original Phong necesita
un simple vector de reflexión. Sin embargo, si queremos tratar el espectador y la luz 
para ser en el infinito, que es común y el comportamiento por defecto de, por ejemplo,
al usar OpenGL luces direccionales, entonces el punto de vista medio-vector es independie
nte de su posición y curvatura de superficie, lo que significa que se puede calcular una 
vez para cada luz, y se utiliza para todo el marco, o, de hecho, mientras que la luz y el
punto de vista de permanecer en la misma posición relativa. No ocurre lo mismo con 
Phong original de la luz reflejada vector que depende de la curvatura de superficie y 
debe ser recalculado para cada píxel de la imagen (o para cada vértice del modelo en 
el caso de vértice de iluminación).