Búscalo aquí:

Renderizado mediante RayTracing

El renderizado por trazado de rayos o raytracing es un método de renderizado directo que hace uso de un modelo de iluminación semiglobal, pues al momento de realizar la iluminación considera la contribución de todas las fuentes de luz y de la luz reflejada y transmitida procedente de los objetos cercanos.



Un RayTracing Básico
Para obtener un raytracing básico debemos empezar por establecer un sistema de coordenadas con las posiciones de píxel designadas en el planop de proyección. Así, designaremos el origen y la dirección de un rayo que pasará por cada posición. entonces, los efectos de iluminación que se vayan acumulando a lo largo de la trayectoria de este rayo se asignarán al píxel.

Los rayos de luz de las superficies que se encuentran en una escena emanan en todas las direcciones, incluso algunas pasan a través de las posiciones de píxel en el plano de proyección. Debido a que hay un número infinito de trayectorias de rayos, se determinan las conribuciones a un pixel en particular de la escena.

De esta manera, por cada rayo que lanzamos probamos si es que se intersecta con algún punto de la superficie de algun objeto de la escena. Si esto ocurre, calculamos la distancia dede el origen del rayo hacia el punto de intersección. La distancia más pequeña encontrada para una misma posición identifica la superficie visible para éste píxel.

Después de esto debemos reflejar el rayo de la superficie visible a lo largo de una trayectoria especular y dependiendo del tipo de material también se enviará un rayo en dirección de la refracción. Los rayos de reflexión y refracción se conocen como rayos secundarios. Todo el procedimiento descrito se repite por cada rayo secundario.


Siguiendo el esquema descrito se ha programado un raytracing en C++ (plataforma Visual C++ 6.0) obteniendose los resultados que se pueden observar en las imagenes mostradas. El trabajo fue desarrollado por mi persona junto a: Pedro Shiguihara Juárez, Luis Mostacero Zárate y Juan Grados Vásquez.

4 comentarios:

  1. Saludos, felicitaciones por el desarrollo del raytracing, tengo una pregunta un poco tonta quiza: ese punto blanco que se observa en la escena, ¿qué es?

    ResponderEliminar
  2. Hola, el punto en blanco viene a ser una fuente de luz que en la escena ha sido representada como una esfera totalmente blanca la cual se encuentra dentro de la escena y es visible por el observador.

    En realidad, en ambas escenas que se muestran existen dos fuentes de luz esfericas, pero una se encuentra fuera del alcance de la vista del observador, es por eso que la 2º fuente no se puede ver. Saludos :)

    ResponderEliminar
  3. Por acá pueden ver el informe que se preparó VER INFORME en el que se muestran los factores necesarios para implementar un raytracing básico para el renderizado de objetos planos y esferas. saludos.

    ResponderEliminar

Bienvenido a jcGeorge's Blog!!!

Por favor deja tu comentario, consulta o sugerencia, procura mantener habilitado tu perfil de Blogger o deja un enlace a tu blog o web.

Gracias por leer este blog!!!

Related Posts Plugin for WordPress, Blogger...