¿Cuán físicamente basada es la distinción difusa y especular?

34

La forma clásica de sombrear superficies en gráficos de computadora en tiempo real es una combinación de un término difuso (lambertiano) y un término especular, muy probablemente Phong o Blinn-Phong.

Imagen de Wikipedia

Ahora, con la tendencia hacia el renderizado basado en la física y, por lo tanto, los modelos materiales en motores como Frostbite , Unreal Engine o Unity 3D, estos BRDF han cambiado. Por ejemplo (uno bastante universal), el último Unreal Engine todavía usa Lambertian difuso, pero en combinación con el modelo de microfaceta Cook-Torrance para la reflexión especular (específicamente usando GGX / Trowbridge-Reitz y una aproximación Slick modificada para el término Fresnel ) Además, se está utilizando un valor de 'Metalidad' para distinguir entre conductor y dieléctrico.

Para dieléctricos, difuso se colorea usando el albedo del material, mientras que el especular es siempre incoloro. Para metales, no se usa difuso y el término especular se multiplica por el albedo del material.

Con respecto a los materiales físicos del mundo real, ¿existe la separación estricta entre difuso y especular y, de ser así, de dónde viene? ¿Por qué uno está coloreado y el otro no? ¿Por qué los conductores se comportan de manera diferente?

David Kuri
fuente

Respuestas:

30

Para comenzar, le recomiendo leer la presentación Siggraph de Naty Hoffman que cubre la física del renderizado. Dicho esto, intentaré responder a sus preguntas específicas, tomando prestadas imágenes de su presentación.

Al observar una sola partícula de luz que golpea un punto en la superficie de un material, puede hacer 2 cosas: reflexionar o refractarse. La luz reflejada rebotará en la superficie, de forma similar a un espejo. La luz refractada rebota dentro del material y puede salir del material a cierta distancia de donde entró. Finalmente, cada vez que la luz interactúa con las moléculas del material, pierde algo de energía. Si pierde suficiente energía, consideramos que se absorbe por completo.

Para citar a Naty, "La luz está compuesta de ondas electromagnéticas. Por lo tanto, las propiedades ópticas de una sustancia están estrechamente relacionadas con sus propiedades eléctricas". Es por eso que agrupamos materiales como metales o no metales.

Los no metales exhibirán tanto reflexión como refracción. No metales

Los materiales metálicos solo tienen reflejo. Toda la luz refractada es absorbida. Rieles

Sería prohibitivamente costoso tratar de modelar la interacción de la partícula de luz con las moléculas del material. En cambio, hacemos algunas suposiciones y simplificaciones.

Simplificando la refracción

Si el tamaño de píxel o el área de sombreado es grande en comparación con las distancias de entrada-salida, podemos suponer que las distancias son efectivamente cero. Por conveniencia, dividimos las interacciones de luz en dos términos diferentes. Llamamos al término de reflexión de superficie "especular" y al término resultante de la refracción, absorción, dispersión y refracción que llamamos "difuso". División en difuso y especular.

Sin embargo, esta es una suposición bastante grande. Para la mayoría de los materiales opacos, esta suposición es correcta y no difiere demasiado de la vida real. Sin embargo, para materiales con cualquier tipo de transparencia, la suposición falla. Por ejemplo, leche, piel, jabón, etc.

El color observado de un material es la luz que no se absorbe. Esta es una combinación tanto de la luz reflejada como de cualquier luz refractada que salga del material. Por ejemplo, un material verde puro absorberá toda la luz que no sea verde, por lo que la única luz que llega a nuestros ojos es la luz verde.

Por lo tanto, un artista modela el color de un material dándonos la función de atenuación para el material, es decir, cómo la luz será absorbida por el material. En nuestro modelo simplificado difuso / especular, esto puede representarse mediante dos colores, el color difuso y el color especular. Antes de que se usaran materiales basados ​​en la física, el artista elegía arbitrariamente cada uno de estos colores. Sin embargo, debería parecer obvio que estos dos colores deberían estar relacionados. Aquí es donde entra el color del albedo. Por ejemplo, en UE4, calculan el color difuso y especular de la siguiente manera:

DiffuseColor = AlbedoColor - AlbedoColor * Metallic;
SpecColor = lerp(0.08 * Specular.xxx, AlbedoColor, Metallic)

donde Metallic es 0 para no metales y 1 para metales. El parámetro 'Specular' controla la especularidad de un objeto (pero generalmente es un 0.5 constante para el 99% de los materiales)

RichieSams
fuente
1
¿Por qué el rayo incidente se divide después de la reflexión / refracción? Si la luz es una partícula, ¿eso significa que esta partícula se divide recursivamente? Y si la luz es una onda, ¿eso significa que se divide por frecuencia (pero en este caso, ¿por qué se divide después del segundo / tercer / etc golpe)?
nikitablack
55
La partícula no se divide. Por el contrario, las imágenes muestran los posibles caminos que podría tomar.
RichieSams
2
Muchas partículas golpearán el (casi) mismo punto desde el (casi) mismo ángulo. Por cada partícula que sale hay (generalmente) una partícula que entró. Eso significa que el promedio del haz de partículas desde un cierto ángulo en un determinado punto se divide en varias (muchas) reflexiones.
monstruo de trinquete
1
Gran respuesta arrojando luz sobre la mayoría de mis preguntas. ¿Por qué la parte especular de los no metales es incolora y no se ve afectada por el albedo? ¿Cómo y dónde entra en juego la polarización ?
David Kuri
1
"El color observado de un material es la luz que no se absorbe". En este punto, podría valer la pena hacer referencia a ¿Hay materiales comunes que no estén bien representados por RGB? discusión, mientras los materiales fluorescentes saltan a la mente.
Simon F
23

De hecho, me preguntaba exactamente esto hace unos días. Al no encontrar ningún recurso dentro de la comunidad gráfica, en realidad me acerqué al departamento de Física de mi universidad y pregunté .

Resulta que hay muchas mentiras que los gráficos creemos.


Primero, cuando la luz golpea una superficie, se aplican las ecuaciones de Fresnel. Las proporciones de luz reflejada / refractada dependen de ellos. Probablemente lo sabías.

No hay tal cosa como un "color especular"

Lo que quizás no haya sabido es que las ecuaciones de Fresnel varían según la longitud de onda, porque el índice de refracción varía según la longitud de onda. La variación es relativamente pequeña para los dieléctricos (dispersión, ¿alguien?), Pero puede ser enorme para los metales (supongo que esto tiene que ver con las diferentes estructuras eléctricas de estos materiales).

Por lo tanto, el término de reflexión de Fresnel varía según la longitud de onda y, por lo tanto, se reflejan preferentemente diferentes longitudes de onda . Visto bajo iluminación de amplio espectro, esto es lo que conduce al color especular. Pero en particular, no hay absorción que ocurra mágicamente en la superficie (los otros colores simplemente se refractan).

No existe tal cosa como "reflexión difusa"

Como dice Naty Hoffman en la charla vinculada en la otra respuesta, esta es realmente una aproximación a la dispersión subterránea dispersa.

Los metales transmiten luz

Naty Hoffman está equivocado (más precisamente, simplificando). La luz no es absorbida inmediatamente por los metales. De hecho, pasará bastante fácilmente a través de materiales de varios nanómetros de espesor. (Por ejemplo, para el oro, se necesitan 11,6633 nm para atenuar la luz 587,6 nm (amarilla) a la mitad).

La absorción, como en los dieléctricos, se debe a la Ley Beer-Lambert. Para los metales, el coeficiente de absorción es mucho más grande (α = 4πκ / λ, donde κ es el componente imaginario del índice de refracción (para metales ~ 0.5 y más), y λ se da en metros ).

Esta transmisión (o más exactamente el SSS que produce) es realmente responsable de una porción significativa de los colores de los metales (aunque es cierto que las apariencias de los metales están dominadas por sus especulares).

imallett
fuente
3
¡Gracias! Solo conocía las simplificaciones. Estos detalles adicionales son impresionantes
RichieSams
1
Esta es una respuesta fascinante. ¿Podría aclarar / vincular el acrónimo SSS por favor?
trichoplax
@trichoplax ¡Gracias! SSS == dispersión bajo la superficie.
imallett
Gracias :) Si lo aclaras en la pregunta, sobrevivirá a la eliminación de los comentarios (que no se garantiza que duren mucho). He editado un enlace y texto emergente que, con suerte, deja intacta su presentación prevista.
trichoplax
2
Si bien aprecio la pedantería de esta respuesta. La dispersión por debajo de la superficie se considera un efecto de escala en mm, mientras que es cierto que a rangos moleculares todo pasa por la superficie hasta cierto punto. Pero la restricción básica es que generalmente contamos los efectos de escala mm y tratamos de abstraer niveles más bajos como modelos estadísticos. Por lo tanto, el micrómetro es igual a inmediato ya que la mayoría de los píxeles ven un área mucho mayor que esta. Lo mismo se aplica al color que no existe de manera significativa en la física de la misma manera que nuestros ojos y el cerebro se precieve
joojaa