Para começar, sugiro ler a apresentação Siggraph de Naty Hoffman, que aborda a física da renderização. Dito isto, tentarei responder suas perguntas específicas, emprestando imagens de sua apresentação.
Observando uma única partícula de luz atingindo um ponto na superfície de um material, ela pode fazer duas coisas: refletir ou refratar. A luz refletida refletirá na superfície, semelhante a um espelho. A luz refratada salta dentro do material e pode sair do material a alguma distância de onde entrou. Finalmente, toda vez que a luz interage com as moléculas do material, perde alguma energia. Se perder bastante energia, consideramos que ela é totalmente absorvida.
Para citar Naty, "a luz é composta de ondas eletromagnéticas. Portanto, as propriedades ópticas de uma substância estão intimamente ligadas às suas propriedades elétricas". É por isso que agrupamos materiais como metais ou não metais.
Os não metais exibirão reflexão e refração.
Os materiais metálicos têm apenas reflexão. Toda a luz refratada é absorvida.
Seria proibitivamente caro tentar modelar a interação da partícula de luz com as moléculas do material. Em vez disso, fazemos algumas suposições e simplificações.
Se o tamanho do pixel ou a área de sombreamento for grande em comparação com as distâncias de entrada e saída, podemos assumir que as distâncias são efetivamente zero. Por conveniência, dividimos as interações de luz em dois termos diferentes. Chamamos o termo reflexão de superfície de "especular" e o termo resultante de refração, absorção, espalhamento e re-refração que chamamos de "difuso".
No entanto, essa é uma suposição bastante grande. Para a maioria dos materiais opacos, essa suposição é válida e não difere muito da vida real. No entanto, para materiais com qualquer tipo de transparência, a suposição falha. Por exemplo, leite, pele, sabão etc.
A cor observada de um material é a luz que não é absorvida. Essa é uma combinação da luz refletida e de qualquer luz refratada que sai do material. Por exemplo, um material verde puro absorve toda a luz que não é verde; portanto, a única luz que chega aos nossos olhos é a luz verde.
Portanto, um artista modela a cor de um material, fornecendo-nos a função de atenuação do material, ou seja, como a luz será absorvida pelo material. Em nosso modelo difuso / especular simplificado, isso pode ser representado por duas cores, a cor difusa e a cor especular. Antes de materiais físicos serem usados, o artista escolhia arbitrariamente cada uma dessas cores. No entanto, deve parecer óbvio que essas duas cores devem estar relacionadas. É aqui que a cor albedo entra. Por exemplo, no UE4, eles calculam cores difusas e especulares da seguinte maneira:
DiffuseColor = AlbedoColor - AlbedoColor * Metallic;
SpecColor = lerp(0.08 * Specular.xxx, AlbedoColor, Metallic)
onde Metálico é 0 para não metais e 1 para metais. O parâmetro 'Specular' controla a especularidade de um objeto (mas geralmente é uma constante 0,5 para 99% dos materiais)
Na verdade, eu estava pensando exatamente sobre isso há alguns dias. Não encontrando nenhum recurso na comunidade gráfica, na verdade, fui até o departamento de Física da minha universidade e perguntei .
Acontece que existem muitas mentiras em que as pessoas gráficas acreditam.
Primeiro, quando a luz atinge uma superfície, as equações de Fresnel se aplicam. As proporções de luz refletida / refratada dependem delas. Você provavelmente sabia disso.
Não existe uma "cor especular"
O que você talvez não saiba é que as equações de Fresnel variam com base no comprimento de onda, porque o índice de refração varia com base no comprimento de onda. A variação é relativamente pequena para dielétricos (dispersão, alguém?), Mas pode ser enorme para metais (presumo que isso tenha a ver com as diferentes estruturas elétricas desses materiais).
Portanto, o termo de reflexão de Fresnel varia de acordo com o comprimento de onda e, portanto, diferentes comprimentos de onda são refletidos preferencialmente . Visto sob iluminação de amplo espectro, é isso que leva à cor especular. Mas, em particular, não há absorção que ocorra magicamente na superfície (as outras cores são apenas refratadas).
Não existe "reflexão difusa"
Como Naty Hoffman diz na conversa vinculada na outra resposta, essa é realmente uma aproximação à dispersão subespacial dispersa.
Os metais transmitem luz
Naty Hoffman está errada (mais precisamente, simplificando). A luz não é absorvida imediatamente pelos metais. De fato, ele passará com facilidade através de materiais com vários nanômetros de espessura. (Por exemplo, para o ouro, são necessários 11,6633nm para atenuar a luz de 587,6nm (amarelo) pela metade.)
A absorção, como nos dielétricos, é devida à Lei Beer-Lambert. Para metais, o coeficiente de absorção é apenas muito maior (α = 4πκ / λ, onde κ é o componente imaginário do índice de refração (para metais ~ 0,5 e acima) e λ é dado em metros ).
Essa transmissão (ou mais precisamente o SSS que produz) é realmente responsável por uma parte significativa das cores dos metais (embora seja verdade que as aparências dos metais sejam dominadas por suas especulações).
fonte