¿Renderizado en unidades radiométricas o fotométricas?

10

En la representación tradicional, es típico hacer todos los cálculos con unidades radiométricas, ya sea como representación espectral completa o en componentes (XYZ, RGB, etc.).

Sin embargo, como el renderizado moderno agrega modelos basados ​​más físicamente, es conveniente que los artistas puedan especificar valores en las unidades fotométricas más familiares, por ejemplo, la intensidad de una luz en lúmenes.

ingrese la descripción de la imagen aquí

Para mantener la tubería en un solo tipo de unidad, puede realizar una de las siguientes acciones:

  1. Convierta unidades fotométricas en unidades radiométricas utilizando eficacia luminosa
  2. Mantenga toda la tubería de renderizado en unidades fotométricas
    • Sébastian Lagarde presenta esta idea muy bien en las notas del curso de su presentación de Siggraph 2014 Moving Frostbite to PBR

Mis preguntas son estas:

  1. ¿Hay alguna desventaja en renderizar exclusivamente en unidades fotométricas?
    • Por lo que puedo decir, las unidades fotométricas son solo unidades radiométricas sesgadas al ojo humano. Teniendo en cuenta que veremos la imagen final con nuestro ojo, no veo esto como un problema.
  2. Frostbite es un motor RGB de componentes sabios. ¿Tendría un renderizador espectral alguna desventaja adicional al representar exclusivamente en unidades fotométricas?
RichieSams
fuente

Respuestas:

9

Está bien usar unidades fotométricas como una escala general para configurar el brillo de la luz. Sin embargo, hay una sutileza técnica que debe tener en cuenta. Citaré una publicación de blog que escribí sobre el tema el año pasado :

Con las imágenes RGB, es importante reconocer que nuestros dispositivos de visualización se comportan de manera más radiométrica que fotométrica. Un valor de píxel rojo de 255 y un valor de píxel verde de 255 dan como resultado que se generen cantidades iguales de flujo radiante (vatios) por un píxel en una pantalla, no cantidades iguales de flujo luminoso. Del mismo modo, las cámaras digitales capturan valores de píxeles que corresponden al flujo radiante, no al flujo luminoso.

Es por eso que necesitamos usar coeficientes de luma al convertir imágenes a escala de grises, o al calcular el brillo de un píxel, para obtener un resultado perceptualmente preciso; y también significa que la representación de imágenes RGB se realiza de forma más natural en unidades radiométricas que en fotométricas.

En otras palabras, la dependencia de la longitud de onda de las unidades fotométricas es diferente de lo que podría estar esperando. En espacios de color RGB ordinarios, el blanco es (1, 1, 1) y tiene un espectro radiométrico aproximadamente plano; pero en un supuesto "RGB fotométrico", (1, 1, 1) no sería blanco; sería un color púrpura, con menos energía en el rango verde y más en los rangos rojo y azul. Un problema similar afectaría a los renderizadores espectrales que intentan medir todos sus contenedores en unidades fotométricas dependientes de la longitud de onda, pero aún peor, ya que la radiación necesaria para generar una luminancia dada diverge hacia cualquier extremo del espectro visible, donde la función de eficiencia luminosa humana va a cero.

Entonces, si desea usar unidades fotométricas, en mi opinión, es mejor "engañar" un poco y no usar unidades fotométricas dependientes de la longitud de onda verdadera , sino simplemente usar algo de longitud de onda fija (como el verde de 555 nm, que es el pico de la luminosidad humana) función de eficiencia), o tal vez un promedio sobre el espectro, como una unidad de referencia, y aplique esa única unidad para medir todas las longitudes de onda. Esto lo meterá en menos problemas al importar colores RGB y espectros de otras fuentes, y al generarlos como salidas.

Nathan Reed
fuente