You are on page 1of 3

1

Andres Mario 04-37225, Rubn Torres 04-37653 Ray Tracing: Fundamentos y tendencias actuales
Resumen (Abstract) Se explican los fundamentos bsicos del mtodo de RayTracing, antecedentes, caractersticas y efectos logrados con esta tcnica asi como desventajas. Optimizaciones al algoritmo y nuevos efectos logrados con estas optimizaciones. Resea de los fabricantes que han logrado ejecutar raytracing en tiempo real. Palabras clave Algoritmo ray tracing, MonteCarlo, Ray tracing en tiempo real Mtodo de

hacia la escena siguiendo el camino del rayo, si este rayo intercepta un objeto en la escena se calcula si hay reflexin o refraccin del rayo de luz en el objeto, si la hay se realiza recursivamente con cada rayo de luz que sale del objeto. hasta que el rayo llega a una fuente de luz, en el proceso de intercepcin del rayo de luz con los objeto tambin se hace el computo para el sombreado y si la superficie es visible o no. Como cada rayo de luz se considera infinitamente delgado se considera que estos no esparcen la reflexin ni la refraccin. Pseudo-codigo del Ray-Tracing: Para cada pixel de la imagen{ Crear un rayo desde el punto de visin a travs del pixelActual Inicializar NearestT al INFINITO y NearestObject a NULL Para cada objeto de la escena { Si el rayo intercepta el objetoActual{ Si t de la interseccin es menor que NearestT { Poner NearestT = t de la interseccin Poner NearestObject a objetoActual } } } Si NearestObject = NULL{ Rellenamos pixelActual con el color de fondo } Sino{ Lanzar un rayo a cada foco de luz para comprobar las sombras Si la superficie es reflectiva, generar un rayo reflectivo (recursivo) Si la superficie es transparente, generar un rayo refractante (recursivo) Usar NearestObject y NearestT para computar la funcin de sombreado Rellenar este pixel con el color resultante de la funcin de sombreado } } C. Interseccion de objetos La parte mas costosa de este algoritmo es el clculo de las intersecciones de rayos con los objetos, si se hace una implementacin ingenua como comparar cada rayo contra cada objeto en la escena se estima que el 95% del coste de ejecucin se realiza en el calculo de las intersecciones. Por lo tanto se han desarrollado tcnicas y estrategias para mejorar el clculo de dichas intersecciones entre el rayo y los objetos estas son: -Rayo /esfera 1. Se busca si el origen del rayo se encuentra afuera de la esfera.

A tcnica del Ray-tracing es muy importante en la Computacin Grfica ya que permite generar imgenes muy reales especialmente en cuanto a efectos de reflexin, refraccin, objetos semitransparentes y sombras. Esta tcnica fue ideada conceptualmente hace mucho tiempo y sigue siendo utilizada, aunque con varias optimizaciones. El gran costo computacional haba imposibilitado su utilizacin en tiempo real, por lo cual la tcnica qued limitada a la produccin de videos y animaciones. Sin embargo, a partir del ao 2005 surgi la posibilidad de realizar renders con R.T en tiempo real, dando inicio a una nueva era de desarrollo de este mtodo. II.FUNDAMENTOS DEL RAY-TRACING A. Antecedentes Los orgenes de Ray-Tracing datan de 1637. Originalmente fue utilizado como marco de trabajo terico en un experimento realizado por Rene Descartes. Este experimento consista en un esfera de vidrio llena de agua, esta se observaba y de acuerdo con los conocimientos de reflexin y refraccin se logro demostrar que si el sol se encuentra a 42 grados respecto al observador se forma el arcoris. Las nociones del Ray-Tracing a nivel computacional empezaron en 1969, en 1980 aparece el paradigma del Ray-Tracing el cual engloba en un solo proceso, la refraccin, reflexin, sombras y la remocin de superficies ocultas. Este proceso crea imgenes Sper Reales, a un coste computacional muy alto. En la dcada de los 80 se investigo en acerca de cmo reducir el coste de este algoritmo as como mejorar su eficiencia. B. Funcionamiento del algoritmo La tcnica del Ray-Tracing es la manera mas sencilla de seguir el camino de un rayo de luz en la escena, esta tcnica consiste en punto de vista o cmara (el observador) lanzar un rayo de luz infinitamente delgado a travs de cada pixel

I. INTRODUCCIN

2 Se busca el punto mas cercano del rayo con respecto al centro de la esfera. 3. Si el punto se encuentra afuera de la esfera y apunta lejos de la esfera el rayo no pasa por ella. 4. Si no se busca la raz cuadrada de la distancia mas cercana del rayo hacia la superficie de la esfera. 5. Si el valor es negativo el rayo no le pega a la esfera. 6. Si no se encuentra desde arriba la distancia entre la superficie y el rayo 7. Calcular las coordenadas de la interseccin. Calcula la normal en el punto de interseccin. El calculo rayo/esfera se realiza de manera muy eficiente -Rayo /Poligono 1. Se obtiene la ecuacin del plano que contiene al polgono. 2. Se chequea si hay una interseccin entre el plano y el rayo. 3. Se chequea si el polgono se encuentra en la interseccin. Es fcil de implementar pero el coste de su ejecucin es alto. - Rayo / cuadrante Es un proceso similar al de la esfera. - Rayo / caja Se subdivide la caja en varios planos y se calculan las intersecciones El clculo de otras figuras en general se realiza diviendo la figura en figuras mas simples como esferas, cajas, etc. . . D. Manejo de sombras El manejo de las sombras en este algoritmo es correcto las sombras se manejan de manera adecuada y tienen la intensidad y la forma del objeto y tambin se maneja sombras difusas. El manejo de las sombras en este algoritmo tambin eleva su costo computacional y este se eleva de manera muy rpida a medida que hayan mas fuentes de luz en la escena. Una manera de hacer mas eficiente el manejo de las sombras es llevar buffer de luz que este a medida que se sigue el camino del rayo de luz se van guardando los objetos que intercepta y a la profundidad con que se encuentra respecto a la fuente de luz. E. Deficiencias El algoritmo debido a los clculos que tiene que hacer para saber si los rayos de luz interceptan objetos o no en la escena suele tener un costo computacional muy elevado lo cual hasta la poca actual casi hacia imposible hacer este algoritmo en tiempo real. Otro defecto que posee este algoritmo es que crea imgenes Super-Reales, estas imgenes suelen ser muy pulidas y muy 2. perfectas y en la realidad encontrar una escena que se parezca a una imagen producida por el este algoritmo se convierte en algo muy poco factible.

III. MTODOS INVOLUCRADOS EN EL RAY-TRACING A. Ray-Tracing recursivo. Este algoritmo modela correctamente el transporte especular y transparente. El coste es de O(Nrays x Nobj). Donde Nrays = Nmero de rayos y Nobj es el nmero de objetos. El cuello de botella sera la operacin de interseccin que consume la mayor cantidad de recursos de procesamiento. Para optimizar este algoritmo las opciones que podemos considerar son: Limitar el nmero de rayos, con lo cual se pierde algo de definicin o sino Acelerar el test de interseccin, con otras tcnicas que agilizan el proceso, como trazar rayos de ordenes superiores, beam tracing, etc. B. Utilizacin de coherencia. Esta optimizacin permite agilizar el proceso de intersecciones mediante volmenes englobantes, jerarqua de volmenes englobantes y subdivisin espacial (regular y adaptativa). Los volmenes englobantes aceleran el test de interseccin ya que si el rayo no intersecta al volumen englobante, se descarta el objeto, sino, se procede a subdividir el volumen para tener ms exactitud. C. Mtodos de MonteCarlo. Se basa en tratar el problema como un proceso estocstico en lugar de determinstico y formula una solucin como parmetro de una variable aleatoria. El mtodo es muy til en el rea de la iluminacin global. Entre sus aplicaciones estn el Ray-Tracing distribudo y el Path-Tracing. Tambin se utiliza en otras reas como simulaciones nucleares, tansferencia de calor, etc. Ray Tracing distribudo. En lugar de un rayo, lanza varios rayos por pxel de manera estocstica e integra la iluminacin de cada uno de ellos. Este algoritmo permite mejorar notablemente el antialiasing y produce efectos que proporcionan ms realismo como lo son: penumbra (en lugar de sombras perfectas), profundidad de campo (los objetos lejanos se ven mas borrosos), glossy (distribuye muestras segun reflectacia especular noideal) y motion blur (distribuye muestras en el tiempo). Path Tracing. Trata la simulacin de los rayos como un proceso random walk.

3 Ms adelante surge openRT, que es una nueva interfaz que se espera forme parte de openGL para generar R.T. interactivo. Con esta interfaz se produjo una versin de Quake 4, con R.T. en tiempo real, produciendo unos efectos increbles un cuanto a sombras y reflejos. Otros fabricantes no se quedan atrs y hace un tiempo aparece el modelo de IBM para generar R.T.R.T. esta vez utilizando tres playStation 3 trabajando en paralelo para producir la imagen interactiva. La Intel tambin public noticias sobre como logran el R.T.R.T. con un procesador de 8 ncleos mediante su propio algoritmo cdigo cerrado. Asimismo la marca de tarjetas de video NVidia no se queda atrs y nos presenta su sistema optiX engine en SIGGRAPH del 2009 que realiza real time R.T. con grficos excepcionalmente buenos y capacidad de generar mapas de Voxels. VI. RAY TRACING EN TIEMPO REAL REFERENCES IV. SOFTWARE QUE IMPLEMENTA RAY-TRACING Hay una gran cantidad de paquetes de software que ofrecen ray-tracing como tcnica de render. 3Delight Autodesk 3ds max Autodesk Maya Autodesk Softimage Anim8or Aqsis ASAP Blender Brazil r/s BRL-CAD Bryce Cinema 4D formZ RenderZone Plus Gelato PhotoRealistic Imagine 3D RenderMan Indigo Renderer POV-Ray Kerkythea Radiance LightWave 3D Real3D (3D modeling ghtWorks software) LuxRender Realsoft3D Manta Sunflow Interactive Ray TurboSilver Tracer V-Ray Maxwell Render YafRay Mental ray Holomatix Rendition Modo OptiX Picogen Pixie
[1] [2] [3] [4] [5] [6] [7] http://medialab.di.unipi.it/web/IUM/Waterloo/node92.html http://en.wikipedia.org/wiki/Ray_tracing_%28graphics%29 http://eliax.com/index.php?/archives/5254-NVIDIA-muestra-Raytracingen-tiempo-real-y-alta-definicion.html http://eliax.com/index.php?/archives/5254-NVIDIA-muestra-Raytracingen-tiempo-real-y-alta-definicion.html http://teleobjetivo.org/blog/ray-tracing-en-tiempo-real-en-la-ps3.html http://teleobjetivo.org/blog/quake-4-usando-ray-tracing-en-tiemporeal.html . http://ima.udg.edu/~gonzalo/teaching/tranpas/Ray-tracing.pdf

Figura 1.1 Proceso Random Walk Es ineficiente como algoritmo pero resuelve la ecuacin de la luz de forma ms precisa que ray tracing convencional

V. RAY-TRACING EN TIEMPO REAL Cada da pelculas como Lord of the rings nos sorprenden con sus grficos foto-realistas. Ahora imaginemos esos grficos pero siendo producidos en tiempo real, para aplicaciones como video-juegos. Esto representa un reto en cuanto a recursos computacionales. Es por esta razn que esta tcnica estaba limitada a la produccin cinematogfica, ya que cada frame poda tardar unas cuantas horas en renderizar. Por primera vez en el ao 2005 surge un ejemplo de R.T. en tiempo real, este render fue logrado con 3 FPGas y la velocidad de render era de alrededor de 25 frames por segundo.

You might also like