Vous êtes sur la page 1sur 27

Click to edit Master subtitle style

Trazado de Rayos

5/2/12

Introduccin

Los mtodos de sombreado de Flat, Gouraud y Phong utilizan modelos de iluminacin local
Ojo
o ejad refl o Ray

Luz

Rayo incid ente

Superficie
5/2/12

Introduccin
Un

modelo de iluminacin global considera la luz que es reflejada desde otras superficies hacia la superficie con la que se trabaja
Ojo
ayo o R lejad ref

Luz
Rayo incid ente

5/2/12

Superficie

Introduccin
El

Trazado de Rayos (Ray Tracing) es un mtodo de despliegue de escenas que esta basado en Iluminacin global Original de Turner Whitted (1980)

5/2/12

Introduccin
El Trazado de Rayos maneja de manera apropiada: Reflecciones y Refracciones Transparencia Sombras Ampliamente usado en: Entretenimiento (Cine, Comerciales, etc.) Preproduccin de juegos Simulacin

5/2/12

Reflexin y Refraccin

5/2/12

Reflexin y Refraccin
La

luz incidente a una superficie en general es parcialmente reflejada y parcialmente transmitida como un rayo refractado
Rayo incidente Rayo reflejado

Superficie Rayo refractado


5/2/12

Reflexin
De

acuerdo a la Ley de reflexin el ngulo del rayo de incidencia es igual al ngulo del rayo reflejado
N Rayo incidente i r Rayo reflejado

=
Superficie

5/2/12

Refraccin
Refraccin

es el desvo del rayo de luz cuando entra a un medio donde la velocidad del rayo es diferente
N Rayo incidente i Superficie Rayo refractado

5/2/12

Refraccin

La cantidad de desvo depende del ndice de refraccin de los dos materiales y es descrita por la ley de Snell
N i t

Medio1 1 Medio2 2

sin( i ) 1 = sin( t ) 2

Ley de Snell

5/2/12

Reflexin y Refraccin
N Ri n i r

Rreflex= 2N(N Rin) Rin

t Rrefrac= ((N Rin) Rin Donde =1 /2


5/2/12

1 -2(1- (N Rin)2))N -

El algoritmo bsico

5/2/12

El algoritmo bsico

Plano Imagen

Objeto

Luz Ojo Rayos de Luz

5/2/12

Trazado hacia adelante


Trazar

los rayos desde la luz


Luz Plano Imagen Rayos de Luz

Ojo Objeto

5/2/12

Trazado hacia atrs


Luz Plano Imagen

Ojo Objeto

5/2/12

El algoritmo bsico

calcularImagen() { para cada pxel i, j en la imagen rayo.inicializar(); imagen[i][j] = trazarRayo(rayo); }

5/2/12

El algoritmo bsico
Trazar

un rayo por cada pxel en el plano imagen


Plano Imagen Ojo
n m

5/2/12

El algoritmo bsico

trazarRayo(rayo) { golpearObjeto(rayo, tringulos, p, n); si(objeto es luz) retornar(color de la luz); sino retornar(iluminacin(p, n)); }

5/2/12

Iluminacin

5/2/12

Iluminacin

iluminacin(punto) { para cada luz color += phong(punto) + c1_obj*trazarRayo(reflejado) + c2_obj*trazarRayo(refractado) retornar(color); }

5/2/12

Iluminacin

Prueba de Sombra
Trazar un rayo desde el objeto hacia la luz en busca

de objetos oclusores Ojo

Objeto oclusor
5/2/12

Iluminacin

iluminacin(punto) { para cada luz color += phong(punto) si(golpearObjeto(rayo de sombra)) color *= atenuacin color += c1_obj*trazarRayo(reflejado) + c2_obj*trazarRayo(refractado) retornar(color); }

5/2/12

Iluminacin

MUY COSTOSO PODRIA NUNCA TERMINAR !!!!!

5/2/12

Consideraciones de Eficiencia

5/2/12

Consideraciones de Eficiencia

Criterios posibles de terminacin


La contribucin del rayo reflejado y/o refractado es

muy pequea Se alcanza un nivel de profundidad mximo

5/2/12

Consideraciones de Eficiencia
Trazado de rayos optimizado Reducir el nmero de rayos trazados Reducir el nmero de clculos de intersecciones

entre los rayos y los objetos


Cajas Delimitadoras Jerarquas de Objetos

5/2/12

Resumen
Concepto

de Modelo de Iluminacin Global Reflexin y Refraccin Trazado de Rayos Esbozo de la implementacin de un Trazador de Rayos Consideraciones de Eficiencia en el Trazado de Rayos

5/2/12

Vous aimerez peut-être aussi