Trazado de rayos
# Trazado de rayos

El trazado de rayos (en inglés ray tracing) es un algoritmo para síntesis de imágenes que calcula el camino de la luz como píxeles en un plano de la imagen y simula sus efectos sobre las superficies virtuales en las que incida para que el comportamiento de la luz sea más fluido. En cuanto al lugar de aplicación, se utiliza en videojuegos, gráficos animados en 3D, entre otros. Esta técnica es capaz de producir imágenes con un alto grado de realismo, de una forma mayor que el renderizado mediante líneas de exploración tradicional, aunque el coste computacional del trazado de rayos es mucho mayor.

El trazado de rayos es un intento de simular el cómo ven nuestros ojos la realidad. Es una tecnología que se encarga de mejorar la calidad de las sombras y reflejos generados por las iluminaciones. Se trata de un algoritmo que realiza un mejor cálculo de la luz que llega a nuestros ojos en un determinado momento, y con esto se intenta simular los rayos de luz que los producen, descartando todo lo demás que no afecta en ese momento a la visión, esto permite que las escenas en los videojuegos se acerquen más a la realidad. Permite observar los reflejos de muchos objetos con mayor detalle y además ofrece una mejor calidad de imagen, cambiando en gran manera la textura y el aspecto de los mismos, pero también tiene sus desventajas ya que el rendimiento en FPS globales se ve bastante penalizado.

El trazado de rayos se usa desde años atrás para renderizar escenas estáticas (fotos) o incluso en el cine, ya que a pesar de su inmenso costo computacional una vez que los gráficos digitales han sido procesados ya no se tienen que volver a calcular. Hasta ahora las tarjetas gráficas más potentes del mundo no pueden mantener unos altos FPS estables con trazado de rayos activado, por lo que las compañías que desarrollan este tipo de tarjetas optan por mantener un alto framerate en lugar de una calidad superior a la conocida como máxima. El trazado de rayos está orientado sobre todo a videojuegos, aunque también se ha implementado en benchmarks dedicados, los cuales pretenden puntuar a una tarjeta gráfica tanto por su rendimiento como por su capacidad de sacar adelante esta tecnología.

## Historia

La idea del trazado de rayos viene de aproximadamente el siglo XVI cuando fue descrito por Albrecht Durer. En 1982, Scott Roth usó el término emisión de rayos en el contexto de gráficos por computadora, aunque se trata de una versión mucho menos precisa del trazado de rayos que no incluye refracción ni reflexión de la luz.

## Funcionamiento del algoritmo

En el algoritmo de emisión de rayos se determinan las superficies visibles en la escena que se quiere sintetizar trazando rayos desde el observador (cámara) hasta la escena a través del plano de la imagen. Se calculan las intersecciones del rayo con los diferentes objetos de la escena y aquella intersección que esté más cerca del observador determina cuál es el objeto visible.

El algoritmo de trazado de rayos extiende la idea de trazar los rayos para determinar las superficies visibles con un proceso de sombreado (cálculo de la intensidad del píxel) que tiene en cuenta efectos globales de iluminación como pueden ser reflexiones, refracciones o sombras arrojadas.

Para simular los efectos de reflexión y refracción se trazan rayos recursivamente desde el punto de intersección que se está sombreando dependiendo de las características del material del objeto intersecado.

Para simular las sombras arrojadas se emiten rayos desde el punto de intersección hasta las fuentes de luz. Estos rayos se conocen con el nombre de rayos de sombra.

El algoritmo básico de trazado de rayos fue mejorado por Robert Cook (1985) para simular otros efectos en las imágenes mediante el muestreo estocástico usando un método de Montecarlo; entre estos efectos podemos citar el desenfoque de movimiento, la profundidad de campo o el submuestreo para suavizar los bordes de la imagen resultante.

En la actualidad, el algoritmo de trazado de rayos es la base de otros algoritmos más complejos para síntesis de imágenes (mapeado de fotones, Metrópolis, entre otros) que son capaces de simular efectos de iluminación global complejos como la mezcla de colores o las cáusticas. Esta técnica fue introducida por empresas como Pixar en sus ordenadores de sobremesa destinados a la animación por computadora. Esta tecnología empezó a ser desarrollada por NVIDIA desde el año 2013 y no fue hasta el año 2019 que fue introducida en el mercado doméstico con la arquitectura Turing para tarjetas de video innovando con un método para mejorar la calidad visual de videojuegos y objetos tridimensionales. El primero de los títulos en soportar la tecnología de trazado de rayos de luz en tiempo real es el Battlefield V. Está tecnología también fue desarrollada por Intel y fue conocida con el nombre clave Larrabee para su serie de tarjetas gráficas dedicadas de las cuales solo se crearon muestras de ingeniería y que nunca salieron al mercado. Una parte de dicha investigación fue destinada para el desarrollo de los chips gráficos en sus procesadores Haswell. AMD introducirá está tecnología en sus tarjetas gráficas Navi y en los APU de las consolas PlayStation 5 y Xbox Series X|S.

## Revisión del algoritmo

El trazado de rayos describe un método de imágenes visuales construidas en ambientes de gráficos en 3D, con un mayor fotorrealismo que la emisión de rayos o el renderizado mediante línea de escaneo. Este funciona trazando la línea visual de un ojo imaginario a través de cada píxel en una pantalla virtual, y calculando el color del objeto visible a través de ella.

Es un algoritmo todavía en desarrollo debido a su abundante gasto de recursos, se espera a que se optimice y se perfeccione en los próximos años.

