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.
Los materiales metálicos solo tienen reflejo. Toda la luz refractada es absorbida.
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.
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".
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)
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).
fuente