Introducción
Ray casting es una representación o cálculo de gráficos por computador, esta representación consiste en la descripción de objetos tridimensionales en lenguajes definidos o estructuras de datos, los cuales expresen geometría, punto de vista, textura, iluminación y sombreado de la información.
tomada de: http://www.foro3d.com/f240/trazado-rayos-79633.html
Ray casting es basado en un método directo (algoritmos basados en la síntesis directa) de búsqueda de la información gráfica y en un modelo de iluminación local, que permite calcular de una forma unificada la reflexión y la refracción de la luz, sombras, eliminación de superficies ocultas y otros efectos necesarios para conseguir escenas fotorrealistas.
¿Qué hace ray casting?
Su principio es trazar una línea desde el punto de visión y un objeto a través de los pixeles en la pantalla. Hace parte de los Algoritmos de Backward mapping (métodos que simulan el transporte de luz)
tomada de http://www.foro3d.com/f240/trazado-rayos-79633.html
Los sistemas gráficos basados en la síntesis directa emulan el comportamiento de los fotones de luz, el proceso que siguen en el ambiente se describe a continuación:
1. Salida del emisor (ej. Lámpara)
2. Viajan por espacio hasta colisionar con materia (objeto)
3. Después de la colisión una gran parte de los fotones son filtrados impidiendo el paso de algunos esto es llamado absorción, la trasmisión se da para los que logran pasar y reflexión para los restantes que logran escapar
Tomada de: http://www.foro3d.com/f240/trazado-rayos-79633.html
Después de este proceso la luz ha sufrido una modificación a su trayectoria. Esta transformación de la luz incide sobre los diferentes objetos y se traduce en información visual la cual se procesa cuando llega a nosotros.
Trazado hacia adelante: es emular el viaje de los fotones naturalmente, es un método totalmente válido, aunque muchos de los fotones que salen del emisor (lámpara) no juegan papel alguno en la construcción de la imagen ya que nunca llegan al observador, el cálculo de estos rayos es muy costoso computacionalmente por lo cual es conveniente invertir en el recorrido de fotones.
Trazado hacia atrás: Se trata de trabajar solo con los rayos de luz que parten del punto de visión, es decir que son los que cruzaron por los pixeles de la pantalla en dirección del rayo hacia el espacio vectorial (conocidos como rayos primarios)
Teoría
El algoritmo de ray casting se divide en tres fases las cuales se van a analizar a continuación:
Primera fase ¿cuál es el punto de procedencia?
Teniendo como referente que si llegasen fotones al punto de visión siguiendo la trayectoria de un rayo dado, es necesario saber de dónde viene la luz, de donde proviene. Estos puntos de procedencia pueden encontrarse en:
Las superficies de los objetos.
Las fuentes de luz.
Luz de fondo, que carece de un punto concreto de procedencia.
Segunda fase: ¿Llega luz? ¿Cuánta, y de qué color?
Para una trayectoria dada, una vez que se conoce el punto de procedencia, se debe averiguar si existen fotones que recorran el camino del rayo. Si al punto de procedencia llega luz desde de cualquier lugar, cabe la posibilidad de que parte de esa luz alcance también el punto de visión, siguiendo la trayectoria del rayo. Por tanto, es necesario averiguar si llega luz al punto de procedencia y, en caso afirmativo, cuánta llega y de qué color.
Tercera fase: ¿De qué intensidad y color es la luz que llega al observador?
Luego de averiguar la intensidad y color de la luz que llega al punto de procedencia, en la última fase el algoritmo va a averiguar qué cantidad de esta luz llega al observador, y cuál es su color. El trazado de un rayo finaliza pintando el píxel cruzado por el rayo con el color e intensidad de la luz que llega al observador.
Usos y aplicaciones
Es utilizado principalmente en las simulaciones en tiempo real donde el detalle no es tan importante, lo cual ofrece un mejor rendimiento en la etapa de cálculo, la representación tiene usos en:
Videojuegos en 3D
Wolfenstein 3-D: Esta técnica se emite un rayo de cada columna de píxeles, comprueba si se cruza una pared, y señala a las texturas en la pantalla en consecuencia, la creación de un unidimensional buffer de profundidad contra el que para recortar la escala de los sprites que representan a los enemigos, power-ups, y accesorios.
Simuladores
Películas o la televisión de efectos especiales
Visualización de diseños
Historia
El término fue utilizado por primera vez en gráficos de computadora en un documento de 1982 por Scott Roth para describir un método para la representación CSG modelos