(Tiempo real) Punto de inicio de iluminación global [cerrado]

10

¿Qué técnicas debería observar alguien al ingresar a la iluminación global en tiempo real (para escenarios de iluminación dinámica)?

Es difícil comprender las diferentes técnicas mencionadas sin saber nada sobre el tema. Si quisiera incorporar GI en mi motor de gráficos, ¿dónde debería comenzar a leer como referencia? ¿Qué algoritmos pueden ser implementados en un plazo razonable por alguien nuevo (es decir, no un algoritmo altamente especializado que gane un rendimiento menor durante meses de trabajo) y cuáles no están completamente desactualizados por ahora (es decir, directamente reemplazados por algo simplemente más bonito y más rápido)?

El mapeo de fotones parece surgir mucho, y he leído sobre cosas como el rastreo de cono de vóxel y algoritmos más específicos, por ejemplo, esta técnica utilizada en CryEngine 3 . Sin embargo, sin saber casi nada sobre el campo, es difícil decidir por dónde comenzar.

¿Qué técnicas generales vale la pena estudiar?

TravisG
fuente
¿Está buscando específicamente una iluminación global dinámica ? Existen muchos algoritmos bien entendidos y documentados para la iluminación global estática (también conocida como precalculada), pero tengo la sensación de que no los está buscando.
Chewy Gumball
1
Si bien es un tema interesante, esta pregunta es esencialmente un "Qué aprender a continuación", y realmente no tiene una respuesta correcta. En cambio, solo lo veo generando una lista de temas (que creo que es exactamente lo que buscas). Ciertamente es un tema genial, pero es un tema de discusión, y probablemente no sea adecuado para el sitio.
MichaelHouse
1
Una pregunta sobre cuál es el estado actual del arte estaría muy localizada en el tiempo.
1
9 votos a favor y cerrado? ¿En serio? @ Byte56
cenizas999
1
@JoshPetrie Quizás cuando está redactado como estado del arte, pero esta pregunta tiene el potencial de tener respuestas muy útiles y la razón para cerrar parece ser bastante superficial.
Chewy Gumball

Respuestas:

6

¿Por qué no miras mi tesis de maestría ?

Aparentemente, el resultado sopló demasiado para que SIGGRAPH lo aceptara (rechazaron mi trabajo) y no me presenté a ninguna otra conferencia. Pero aún presenta una buena introducción a GI, escrita en la típica comprensión de bobobobo (en realidad, algunas secciones tienen demasiada profundidad, pero bueno).

Querrá consultar la sección 2.4, que muy rápidamente y con referencias recorre algunos de los nuevos algoritmos gi en tiempo real, incluidos

  • trazado de rayos en tiempo real
  • radiosidad en tiempo real (enlighten / bf3)
  • sombreado diferido y métodos de espacio de pantalla (ssdo, ssao)
  • transferencia de radiaciones precalculada y armónicos esféricos

Eso es todo lo que obtuve en mi encuesta. Descargo de responsabilidad de que me haya perdido algo.

De todos modos, realmente no tienes esperanzas de implementar todo esto en 3 meses. Yo diría que elija uno y trabaje con él. El trazado de rayos en tiempo real es, con mucho, el más emocionante para , porque es un verdadero método gi. A diferencia de los métodos de espacio de pantalla, rtrt no es un "hack", no sufre de efectos extraños que ssdo:

ingrese la descripción de la imagen aquí

bobobobo
fuente
De todos modos, realmente no tienes esperanzas de implementar todo esto en 3 meses. Yo diría que elija uno y trabaje con él. <Eso es decepcionante. No estoy seguro de cómo abordaría un algoritmo único de una manera que valga la pena para una tesis de licenciatura. Creo que solo implementarlo para ver cómo se ve no es suficiente. Y no creo que sea capaz de presentar mis propias mejoras en un algoritmo particular (simplemente no sé nada sobre el campo). Bueno, al menos, me gustaría no arriesgarme a tener que pasar 6 meses más estudiándolo.
TravisG
Bueno, habla con tu supervisor. ¿Has escrito un rastreador antes? En el centro de cualquiera de estos suele haber un rastreador de rayos. El mapeo de fotones "estaciona" los fotones en la escena (esencialmente proyectando rayos desde la fuente de luz hacia la escena), y después de eso la escena es trazada por rayos. Sinceramente, creo que RTRT es el mejor candidato, porque instalar un trazador de rayos básico no es demasiado difícil, y puede agregar / cortar funciones según lo permita el tiempo. Con algunos de los algoritmos más avanzados (como el que vinculó), son muy complicados y tienen una alta barrera de entrada.
bobobobo
Este ejemplo hecho por evan es un buen ejemplo de rtrt ejecutándose en su navegador.
bobobobo