Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porAnselmo Arias Modificado hace 9 años
1
Laboratorio de Computación Grafica Universidad Central de Venezuela
Trazado de Rayos Ernesto Coto
2
Contenido Introducción Reflexión y refracción El algoritmo básico
Iluminación Consideraciones de eficiencia Ernesto Coto - Trazado de Rayos
3
Conocimientos Previos
Objetos 3D Iluminación y Sombreado Modelos de iluminación local Geometría básica Subdivisión espacial Ernesto Coto - Trazado de Rayos
4
Introducción
5
Introducción Los métodos de sombreado de Flat, Gouraud y Phong utilizan modelos de iluminación local Rayo reflejado Rayo incidente Ojo Luz Superficie Ernesto Coto - Trazado de Rayos
6
Introducció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 Ernesto Coto - Trazado de Rayos
7
Introducció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) Ernesto Coto - Trazado de Rayos
8
Introducción El Trazado de Rayos maneja de manera apropiada:
Reflecciones y Refracciones Transparencia Sombras Ernesto Coto - Trazado de Rayos
9
Introducción Ampliamente usado en:
Entretenimiento (Cine, Comerciales, etc.) Preproducción de juegos Simulación Ernesto Coto - Trazado de Rayos
10
Reflexión y Refracción
11
Reflexión y Refracción
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 Ernesto Coto - Trazado de Rayos
12
Reflexión De acuerdo a la “Ley de reflexión” el ángulo del rayo de incidencia es igual al ángulo del rayo reflejado N Rayo incidente Rayo reflejado i = r Superficie Ernesto Coto - Trazado de Rayos
13
Refracció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 i Superficie t Rayo refractado Ernesto Coto - Trazado de Rayos
14
Refracció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 Ernesto Coto - Trazado de Rayos
15
Reflexión y Refracción
Rreflex = 2N(N · Rin) - Rin Rin i r t = ((N · Rin) – 2(1- (N · Rin)2))N - Rin Rrefrac Donde =1 /2 Ernesto Coto - Trazado de Rayos
16
El algoritmo básico
17
El algoritmo básico Simular rayos de luz desde la fuente de luz hacia el ojo Plano Imagen Objeto Luz Ojo Rayos de Luz Ernesto Coto - Trazado de Rayos
18
Trazado hacia adelante
Trazar los rayos desde la luz Luz Plano Imagen Rayos de Luz Ojo Objeto Ernesto Coto - Trazado de Rayos
19
Trazado hacia atrás Trazar los rayos desde el ojo hasta la escena Luz
Plano Imagen Ojo Objeto Ernesto Coto - Trazado de Rayos
20
El 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(); imagen[i][j] = trazarRayo(rayo); } Ernesto Coto - Trazado de Rayos
21
El algoritmo básico Trazar un rayo por cada píxel en el plano imagen
Ojo Plano Imagen Ernesto Coto - Trazado de Rayos
22
El algoritmo básico Trazar el rayo trazarRayo(rayo) {
golpearObjeto(rayo, triángulos, p, n); si(objeto es luz) retornar(color de la luz); sino retornar(iluminación(p, n)); } Ernesto Coto - Trazado de Rayos
23
Iluminación
24
Iluminación Color de la superficie iluminación(punto) { para cada luz
color += phong(punto) + c1_obj*trazarRayo(reflejado) + c2_obj*trazarRayo(refractado) retornar(color); } Ernesto Coto - Trazado de Rayos
25
Iluminación Prueba de Sombra
Trazar un rayo desde el objeto hacia la luz en busca de objetos oclusores Ojo Objeto oclusor Ernesto Coto - Trazado de Rayos
26
Iluminación Color de la superficie iluminación(punto) { para cada luz
color += phong(punto) si(golpearObjeto(rayo de sombra)) color *= atenuación color += c1_obj*trazarRayo(reflejado) + c2_obj*trazarRayo(refractado) retornar(color); } Ernesto Coto - Trazado de Rayos
27
Iluminación Terminación MUY COSTOSO PODRIA NUNCA TERMINAR !!!!!
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 !!!!! Ernesto Coto - Trazado de Rayos
28
Consideraciones de Eficiencia
29
Consideraciones 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 Ernesto Coto - Trazado de Rayos
30
Consideraciones 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 Ernesto Coto - Trazado de Rayos
31
Resumen 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 Ernesto Coto - Trazado de Rayos
32
Bibliografí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 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. Ernesto Coto - Trazado de Rayos
33
Preguntas Ernesto Coto - Trazado de Rayos
34
Iluminació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 Ernesto Coto - Trazado de Rayos
35
El 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 } Ernesto Coto - Trazado de Rayos
36
El algoritmo básico El rayo se expresa de forma paramétrica
<x, y, z> = <xo, yo, zo> + t * <xd, yd, zd> <x, y, z> = ro + trd t = 2.5 rd = <xd, yd, zd> t = 2.0 ro = <xo, yo, zo> t = 1.0 t = 0.0 Ernesto Coto - Trazado de Rayos
37
Intersección rd ro p = -(n. ro + D) / (n. rd ) Normal al plano
( Ax + By + Cz + D = 0 ) Normal al plano n = <A, B, C> p rd ro p = -(n. ro + D) / (n. rd ) Ernesto Coto - Trazado de Rayos
38
El algoritmo básico El algoritmo principal principal() {
triángulos = leerTriángulos(); iniciaOjo(); iniciaLuces(); imagen = calcularImagen(triángulos); escribirImagen(imagen); } Ernesto Coto - Trazado de Rayos
39
Reflexión N NCosi - I R I i NCosi R-I=2NCosi – 2I R=2NCosi – I
R=2N(N·I) – I Ernesto Coto - Trazado de Rayos
40
Refracció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 Ernesto Coto - Trazado de Rayos
41
Cajas Delimitadoras Ojo Ernesto Coto - Trazado de Rayos
42
Jerarquías de Objetos Raíz Ernesto Coto - Trazado de Rayos
43
Octrees Ernesto Coto - Trazado de Rayos
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.