1 / 43

Trazado de Rayos

Laboratorio de Computación Grafica Universidad Central de Venezuela. Trazado de Rayos. Ernesto Coto. Contenido. Introducción Reflexión y refracción El algoritmo básico Iluminación Consideraciones de eficiencia. Conocimientos Previos. Objetos 3D Iluminación y Sombreado

awen
Download Presentation

Trazado de Rayos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. Luz Ojo Rayo reflejado Rayo incidente Superficie Introducción • Los métodos de sombreado de Flat, Gouraud y Phong utilizan modelos de iluminación local 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. i r 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 = Superficie Ernesto Coto - Trazado de Rayos

  13. i t 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 Superficie 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. i r t Reflexió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 Ernesto Coto - Trazado de Rayos

  16. El algoritmo básico

  17. Plano Imagen El algoritmo básico • Simular rayos de luz desde la fuente de luz hacia el ojo 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. Plano Imagen m Ojo n El algoritmo básico • Trazar un rayo por cada píxel en el 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 • 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. 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. 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. p = -(n. ro + D) / (n. rd ) Intersección • ( Ax + By + Cz + D = 0 ) Normal al plano n = <A, B, C> p rd ro 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. i Reflexión N NCosi - I R 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 in - i) / sin i • Entonces… • t = sintm - cos tn = (sint / sini) (cos in -i) - cos tn = ( cos i- cos t)n -i i cos in - i i cos in 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

More Related