Title: Trazado de Rayos
1Trazado de Rayos
Laboratorio de Computación Grafica Universidad
Central de Venezuela
2Contenido
- Introducción
- Reflexión y refracción
- El algoritmo básico
- Iluminación
- Consideraciones de eficiencia
3Conocimientos Previos
- Objetos 3D
- Iluminación y Sombreado
- Modelos de iluminación local
- Geometría básica
- Subdivisión espacial
4Introducción
5Introducción
- Los métodos de sombreado de Flat, Gouraud y Phong
utilizan modelos de iluminación local
6Introducción
- Un modelo de iluminación global considera la luz
que es reflejada desde otras superficies hacia la
superficie con la que se trabaja
Luz
Ojo
Rayo incidente
Rayo reflejado
Superficie
7Introducción
- El Trazado de Rayos (Ray Tracing) es un método de
despliegue de escenas que esta basado en
Iluminación global - Original de Turner Whitted (1980)
8Introducción
- El Trazado de Rayos maneja de manera apropiada
- Reflecciones y Refracciones
- Transparencia
- Sombras
9Introducción
- Ampliamente usado en
- Entretenimiento (Cine, Comerciales, etc.)
- Preproducción de juegos
- Simulación
10Reflexión y Refracción
11Reflexión y Refracción
- La luz incidente a una superficie en general es
parcialmente reflejada y parcialmente transmitida
como un rayo refractado
Rayo reflejado
Rayo incidente
Superficie
Rayo refractado
12Reflexión
- De acuerdo a la Ley de reflexión el ángulo del
rayo de incidencia es igual al ángulo del rayo
reflejado
N
Rayo reflejado
Rayo incidente
Superficie
13Refracción
- Refracción es el desvío del rayo de luz cuando
entra a un medio donde la velocidad del rayo es
diferente
N
Rayo incidente
Superficie
Rayo refractado
14Refracción
- La cantidad de desvío depende del índice de
refracción de los dos materiales y es descrita
por la ley de Snell
N
Medio1 ?1
?i
Medio2 ?2
?t
Ley de Snell
15Reflexión y Refracción
N
Rreflex
2N(N Rin) - Rin
Rin
(?(N Rin) 1 -?2(1- (N Rin)2))N - ?Rin
Rrefrac
Donde ? ?1 /?2
16El algoritmo básico
17El algoritmo básico
- Simular rayos de luz desde la fuente de luz hacia
el ojo
Objeto
Luz
Ojo
Rayos de Luz
18Trazado hacia adelante
- Trazar los rayos desde la luz
Luz
Plano Imagen
Rayos de Luz
Ojo
Objeto
19Trazado hacia atrás
- Trazar los rayos desde el ojo hasta la escena
Luz
Plano Imagen
Ojo
Objeto
20El algoritmo básico
- Trazar un rayo por cada píxel en el plano imagen
calcularImagen() para cada píxel i, j en la
imagen rayo.inicializar() imagenij
trazarRayo(rayo)
21El algoritmo básico
- Trazar un rayo por cada píxel en el plano imagen
22El algoritmo básico
trazarRayo(rayo) golpearObjeto(rayo,
triángulos, p, n) si(objeto es luz)
retornar(color de la luz) sino
retornar(iluminación(p, n))
23Iluminación
24Iluminación
iluminación(punto) para cada luz color
phong(punto) c1_objtrazarRayo(reflej
ado) c2_objtrazarRayo(refractado)
retornar(color)
25Iluminación
- Prueba de Sombra
- Trazar un rayo desde el objeto hacia la luz en
busca de objetos oclusores
Ojo
Objeto oclusor
26Iluminación
iluminación(punto) para cada luz
color phong(punto)
si(golpearObjeto(rayo de sombra))
color atenuación color
c1_objtrazarRayo(reflejado)
c2_objtrazarRayo(refractado)
retornar(color)
27Iluminación
- Terminación
- Un rayo se termina si no hubo intersección
- De lo contrario se termina solo al alcanzar la
luz, pero
- MUY COSTOSO
- PODRIA NUNCA TERMINAR !!!!!
28Consideraciones de Eficiencia
29Consideraciones de Eficiencia
- Criterios posibles de terminación
- La contribución del rayo reflejado y/o refractado
es muy pequeña - Se alcanza un nivel de profundidad máximo
30Consideraciones de Eficiencia
- Trazado de rayos optimizado
- Reducir el número de rayos trazados
- Reducir el número de cálculos de intersecciones
entre los rayos y los objetos - Cajas Delimitadoras
- Jerarquías de Objetos
31Resumen
- Concepto de Modelo de Iluminación Global
- Reflexión y Refracción
- Trazado de Rayos
- Esbozo de la implementación de un Trazador de
Rayos - Consideraciones de Eficiencia en el Trazado de
Rayos
32Bibliografía
- Kay, D.S. Transparency, Refraction and Ray
Tracing for Computer Synthesized Images. M.S.
Thesis, Program of Computer Graphics, Cornell
University, Ithaca, NY. Enero, 1979. - Levoy, M.. Efficient ray tracing of volume data.
ACM Transactions on Graphics, vol. 9, num. 3, pp.
245-261. Julio,1990. - Watt, Alan Watt, Mark. Advanced Animation and
Rendering Techniques Theory and Practice. ACM
Press. Addison-Wesley Publishing Company. New
York, 1992. - Watt, Alan. 3D Computer Graphics. 3era edición.
Addison-Wesley, 2000.
33Preguntas
34Iluminación
- Se utiliza el modelo de iluminación Phong
Ojo
N
R
Luz
I
V
Superficie
Para cada luz local IambientalKambiental
IdifusaKdifusa(L.N)
IespecularKespecular(R.V)n
35El algoritmo básico
- Cálculo de intersecciones
golpearObjeto() para cada triángulo en la
escena el rayo interseca el triángulo?
si (intersecado y más cercano) salvar
la intersección si (intersecado)
retornar punto de intersección y normal
36El algoritmo básico
- El rayo se expresa de forma paramétrica
ltx, y, zgt ltxo, yo, zogt t ltxd, yd, zdgt ltx,
y, zgt ro trd
t 2.5
rd ltxd, yd, zdgt
t 2.0
ro ltxo, yo, zogt
t 1.0
t 0.0
37Intersección
( Ax By Cz D 0 )
Normal al plano n ltA, B, Cgt
p
rd
ro
38El algoritmo básico
principal() triángulos
leerTriángulos() iniciaOjo()
iniciaLuces() imagen calcularImagen(triángu
los) escribirImagen(imagen)
39Reflexión
N
NCos?i - I
R
I
NCos?i
R-I2NCos?i 2I
R2NCos?i I
R2N(NI) I
40Refracción
n
- Ley de Snell ?i sin ?i ?t sin ?t
- Sea ? ?i /?t sin ?t / sin ?i
- Sea m (cos ?i n - i) / sin ?i
- Entonces
- t sin ?t m - cos ?t n
- (sin ?t / sin ?i) (cos ?i n - i) - cos ?t
n - (? cos ?i - cos ?t )n - ?i i
cos ?i n - i
?i
cos ?i n
i
m
?t
t ?
-n
como
i
41Cajas Delimitadoras
Ojo
42Jerarquías de Objetos
Raíz
43Octrees