JugonesTop

¿Qué es el trazado de rayos? terminología tarjetas-graficas

No soy una gran persona tecnológica, así que la primera vez que escuché sobre eso fue en las discusiones de Cyberpunk 2077. Aparentemente, solo las GPU de gama alta pueden admitirlo correctamente. ¿Qué es exactamente el trazado de rayos? ¿Cómo va a cambiar los gráficos de un juego? Me pregunto, porque mi GPU no puede soportarlo, si me lo pierdo mucho.

Respuestas

En el render normal, usted tiene fuentes de luz, las superficies sólidas que se encienden, y la luz ambiental. El brillo de una superficie, se calcula en función de la distancia y el ángulo respecto a la fuente de luz, posiblemente tono de color de la luz agregado, todo el brillo ajustado por el ambiente (omnipresente) nivel de luz, entonces tal vez algunos otros efectos, o efectos de otras fuentes de luz, calcula si están presentes, pero en ese punto de la historia de la interacción entre esta fuente de luz y la superficie de los extremos.

En raytracing, la luz no se termina en la iluminación de una superficie. Se puede reflexionar. Si la superficie es brillante, la luz reflejada luz que una superficie diferente; o si el material 'propiedad' dice que la superficie es mate, la luz se disipa y actuar un poco como la luz ambiental de la rápida disminución de nivel en la vecindad. O si la superficie es parcialmente transparente, el haz puede continuar, la adquisición de propiedades de la 'material', cambiando de color, perdiendo intensidad, convirtiéndose parcialmente difusa etc. Incluso puede refractar en el arco iris y la curvatura de una lente, Y al final la luz que termina 'irradiada' no tiene ningún impacto, sólo lo que llega a la 'cámara'.

Esto se traduce en una forma mucho más realista y, a menudo, vibrante escena.

enter image description here

La tecnología ha estado en uso durante un largo, largo tiempo, pero siempre fue delegada a la CPU, y la representación de una sola imagen fija mediante raytracing a veces tener días. Es un nuevo desarrollo que las tarjetas gráficas consiguió lo suficientemente bueno que se puede realizar en tiempo real, procesamiento de fotogramas de animación de juego a medida que ocurren.

La generación de una imagen como adjunto a continuación, en 1989 tomaría un par de días. En la actualidad en un buen graphics card tarda menos de 1/60 de segundo. enter image description here

Tradicionalmente, el hogar de los juegos de ordenador han utilizado una técnica llamada la rasterización. En la rasterización, los objetos son descritos como mallas, compuesto de polígonos que son de quads (4 vértices) o tris (3 vértices). Hoy en día, sus casi exclusivamente tris. Puede adjuntar información adicional a este - ¿qué textura a utilizar, de qué color utilizar, cuál es la normal, etc.

El modelo, la vista y las matrices de proyección son tres matrices. Modelo de mapas a partir de un objeto del espacio de coordenadas local en el espacio del mundo, vista desde el espacio del mundo para el espacio de la cámara, de proyección de la cámara a la pantalla.
Si usted componen los tres, puede utilizar el resultado para asignar todo el camino desde el espacio de los objetos para el espacio de la pantalla, haciendo de poder trabajar de lo que usted necesita para pasar a la siguiente etapa de un programables de la tubería de entrada vértice posiciones.
(Fuente: el propósito de La Vista del Modelo de Proyección de la Matriz)

Este es un modelo sencillo, sin embargo, y usted necesita tomar cuidado especial para todo tipo de cosas. Por ejemplo, usted necesita alguna forma de ordenación de los polígonos, en primer lugar, y que los de atrás hacia delante. Porque simplemente la transformación de polígonos, y la primera representación de una cerca de polígono y, a continuación, la representación de una medida de polígono podría sobrescribir los más polígono. Usted no tiene sombras. Si desea sombras, debe representar un mapa de sombras, en primer lugar. Usted no tiene ninguna reflexión, no de la refracción, y la transparencia es difícil hacerlo bien. No hay oclusión ambiental. Estas cosas son todas costoso trucos que se han modificado en este modelo y son el humo y espejo para obtener la apariencia realista de los resultados.

Hasta hace poco, esta técnica fue la única técnica lo suficientemente rápido como para convertir una escena 3D a una imagen 2D para la visualización en el ordenador de casa de juegos, los cuales necesitan al menos unos 30 fotogramas por segundo para que no aparezca la tartamudez.

El trazado de rayos en el otro lado, en su forma original, es muy simple (y, en consecuencia, se remonta al siglo 16 y fue descrita por primera vez por los equipos en 1969 por Arthur Appel). Dispara un rayo a través de cada píxel de la pantalla. Y el récord de la más cercana de la colisión de los rayos con un polígono. Y, a continuación, el color del píxel de acuerdo a cualquier color que usted encontrar en ese polígono. Esto a su vez puede ser de un sombreado, por ejemplo, una textura o color.

La reflexión es conceptualmente muy simple. Su rayo ha afectado a una superficie reflectante? Bueno, simplemente disparar a un nuevo ray desde el punto de reflexión. Desde el ángulo de incidencia es la misma entrantes y salientes, esto es trivial.

La refracción, que es muy duro con la rasterización es conceptualmente muy sencilla con el trazado de rayos - acaba de emitir un nuevo ray girado el ángulo de refracción del material, o varios rayos de dispersión. Muchos de los conceptos físicos son muy, muy fáciles de describir con el trazado de rayos.

Las sombras son triviales. Si el rayo alcanza a un polígono, acaba de disparar rayos para cada fuente de luz. Si la fuente de luz es visible, la zona está encendido, de lo contrario, su oscuridad.

Esta simplicidad conceptual tiene un costo, y es el rendimiento. El trazado de rayos es una aproximación de fuerza bruta para simular los rayos de luz de una manera física, y de re-crear el comportamiento físico de la luz, así como las leyes de conservación, especialmente los de conservación de la energía, es mucho más fácil con el trazado de rayos que con la rasterización.

Esto significa físicamente precisa que las imágenes son mucho más fáciles de lograr con el trazado de rayos. Sin embargo, esto tiene un costo enorme:
Simplemente disparar rayos. Un montón de rayos. Y cada vez que la luz se refleja, se refracta, se dispersa, despedidas o lo que sea de nuevo disparar un montón de rayos. Esto cuesta una enorme cantidad de poder de cómputo y no ha estado al alcance de propósito general hardware de computación en el pasado.

El trazado de trayectorias es una técnica que ha revolucionado el trazado de rayos, y la mayoría de trazado de rayos hoy en realidad utiliza el trazado de trayectorias. En el trazado de trayectorias, similares múltiples rayos son combinados en paquetes , que son evaluados en el mismo tiempo. El trazado de trayectorias, combinado con bidireccional de trazado de rayos (introducido en 1994) donde rayos se disparó a través de la escena de la fuente de luz, ha acelerado el trazado de rayos significativamente.

Hoy en día, al mismo tiempo disparar rayos (o los haces de rayos) de la cámara y de las fuentes de luz, reduciendo la cantidad de rayos tiro y permitiendo que más guiada seguimiento de rutas.

La implementación de un simple trazador de rayos con la reflexión, la refracción, dispersión y las sombras de la realidad es bastante sencillo, se puede hacer en un fin de semana (estado allí, hecho eso). No es de esperar que han razonable de rendimiento, sin embargo. La aplicación de la misma a partir de cero como una rasterización técnica (rollo de su propia OpenGL) es mucho más difícil.

Leer más:

El actual método predominante para la representación de gráficos 3D se llama rasterisation. Es relativamente imprecisa de renderización 3D, pero es muy rápido en comparación con todos los otros métodos de representación 3D. Esta velocidad es lo que permitió a los gráficos 3D para venir a los PCs de consumo cuando lo hicieron, teniendo en cuenta la capacidad (o falta de) de hardware en el tiempo.

Pero uno de los inconvenientes de que la velocidad es que rasterisation es bastante tonto. No tiene ningún concepto de las cosas como sombras o reflejos, por lo que una simulación de cómo deben comportarse de forma manual programado en un rasterisation motor. Y dependiendo de cómo estén programadas, estas simulaciones pueden fallar - esta es la razón por la que a veces se ve a los artefactos como las luces brillando a través de las paredes en los juegos.

Esencialmente, rasterisation hoy es el montón de trucos, construido en la cima de hacks, construido en la cima de aún más hacks, para hacer las escenas 3D de aspecto realista. Incluso en su mejor momento, nunca va a ser perfecto.

Ray-tracing tiene un enfoque completamente diferente al modelar el comportamiento de la luz en relación a los objetos en un entorno 3D. Esencialmente crea rayos de luz de una fuente o fuentes, a continuación, las trazas de estos rayos' camino a través del medio ambiente. Si los rayos de golpear los objetos a lo largo del camino, se puede cambiar su apariencia, o se refleja, o...

El resultado de trazado de rayos es que, esencialmente, los modelos de comportamiento de la luz en el mundo real, lo que resulta en mucho más realistas, sombras y reflejos. La desventaja es que es mucho más costosas computacionalmente, y por lo tanto mucho más lento, que rasterisation (el más rayos, mejor la escena se ve, pero también el más rayos que usted tiene, más lento se hace). Bastante lento, de hecho, que el trazado de rayos gráficos han sido injugable en incluso el más rápido de hardware.

Hasta hace poco, por lo tanto, no había ninguna razón para motores de juegos para ofrecer otra cosa que la capacidad de procesamiento a través de rasterisation. Pero en 2018 NVIDIA añadido hardware especial (llamado RTX) para su Turing-tarjetas gráficas de la serie que permite el trazado de rayos cálculo se realiza mucho más rápido de lo que lo ha sido hasta ahora. Esto ha permitido que las empresas de juegos para iniciar la construcción del trazado de rayos capacidades en sus motores de juego, con el fin de tomar ventaja de estas características de hardware para generar mundos de juego que aparecen más realista que rasterisation permitiría.

Desde rasterisation ha sido de alrededor durante mucho tiempo, y desde la adopción generalizada de trazado de rayos es todavía en los primeros días, es raro ver mucha diferencia entre el Cyberpunk's rasterised vs ray-trazado de gráficos. En los años venideros, aunque, el trazado de rayos se convertirá en el nuevo estándar para la representación de gráficos en 3D.

Técnicamente, cualquier graphics card puede representar trazado de rayos gráficos, pero la mayoría carecen de hardware que les permitirá representar los gráficos a una buena velocidad de fotogramas.

Antes de que nadie las lágrimas me aparte para este científico visión general de cómo rasterisation y de trazado de rayos trabajo, por favor, comprenda que mi explicación es escrito para el profano.

TLDR: Así, es una manera de lograr altamente realistas gráficos. Sin embargo, es en la actualidad más lento que los métodos tradicionales, a pesar de que va a cambiar en el futuro cercano, ya que más y más tarjetas gráficas tienen hardware para acelerar el raytracing.

Antes De Raytracing

Durante muchos años, la forma preferida de la generación de gráficos por ordenador en los juegos ha sido la rasterización. En este método, el programa de toma de datos en 3D (puntos, polígonos, etc.), lo transforma en espacio 2D, y rellena (rasteriza) en la pantalla los polígonos. Este proceso es muy eficiente y fácil para acelerar el uso de hardware, por lo que ha sido el método de elección para muchos años.

Sin embargo, este método tiene algunas dificultades; es decir, no es muy bueno en la generación de gráficos realistas. Para lograr buenos resultados el uso de la rasterización, es necesario utilizar una gran variedad de trucos (algunos los llaman "hacks") así como un esfuerzo considerable por parte de los artistas. Algunas zonas luchas son:

  • Realista de la reflexión y de la refracción
  • Global de iluminación/iluminación indirecta (áreas de una escena que no están directamente iluminados no son pitch black)
  • Dispersiva de efectos (prismas)

entre otros.

Entonces, ¿qué es método?

Hay otra manera de generar gráficos en 3D, y se llama así. Para ser exactos, así, es en realidad una familia de métodos, pero en su núcleo, que funcionan de manera similar. En lugar de convertir las primitivas 3D a 2D polígonos, un raytracer dispara rayos de la cámara a la escena y sombras del píxel en función de la intersección.

He aquí una ilustración que explica el proceso:

raytracing diagram

Esta imagen fue creada por Henrik y fue originalmente subido a WikiMedia Commons.

Cómo los píxeles están sombreadas afectarán a la calidad de salida. Un subconjunto de raytracing, pathtracing, combina raytracing con algo de matemáticas para generar altamente realista (de hecho, fotorrealistas) gráficos con un mínimo de complejidad. De hecho, una decente programador puede crear un básico pathtracer en sólo un fin de semana. He hecho una pequeña pathtracer recientemente.

La advertencia es que el seguimiento de los rayos es horriblemente lento. En un unoptimized raytracer, para cada pixel en la pantalla que usted necesita para poner a prueba las intersecciones en contra de cada polígono en la escena varias veces. Sin embargo, la mejora de la calidad de salida significa que el método basado en métodos han sido preferido cuando se trata de a fuera de la representación (creo que las películas de dibujos animados) por un largo tiempo.

En tiempo Real de raytracing

Muchas nuevas tarjetas gráficas (creo que NVIDIA RTX línea) tiene unidades de hardware que acelera el raytracing mediante la realización de ciertas RT-cálculos relacionados rápidamente usando dedicado silicio. Esto significa que podemos ver más y más juegos utilizando el método basado en técnicas para mejorar o incluso crear su juego online.