Trazado de rayos

De Wikipedia, la enciclopedia libre
Ir a la navegación Ir a la búsqueda

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. 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.

Historia[editar]

Descripción del trazado de rayos en 1532

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[editar]

Tres esferas, reflejándose en el suelo y unas en otras.

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.

El trazado de rayos es capaz de reproducir imágenes realistas

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. [1] 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[editar]

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.

Véase también[editar]