La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Laboratorio de Computación Grafica Universidad Central de Venezuela

Presentaciones similares


Presentación del tema: "Laboratorio de Computación Grafica Universidad Central de Venezuela"— Transcripción de la presentación:

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 NCosi - I R I i NCosi R-I=2NCosi – 2I R=2NCosi – 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


Descargar ppt "Laboratorio de Computación Grafica Universidad Central de Venezuela"

Presentaciones similares


Anuncios Google