Carlos Oliveira coliveira@inf.puc-rio.br Modelos de Reflexão
Sumário Descrição e objetivo Iluminação Modelos de Reflexão Blinn-Phong Cook-Torrance Implementação Resultados obtidos
Descrição e Objetivo Implementar um programa para exibir uma ou mais esferas exemplificando os diferentes modelos de reflexão utilizados em CG Leitura do espectro da luz e conversão para RGB Implementação de um modelo físico, um fenomenológico e uma BRDF
Iluminação Tipos de fontes de luz Ambiente: igual em todas as direções Difusa: modelo lambertiano Modela superfície opaca rugosa a nível microscópico Refletor difuso ideal: Luz recebida é refletida igualmente em todas as direções O brilho visto não depende da direção de visualização Lei de Lambert: luz incidente
Iluminação (cont.) OpenGL Especular Depende da posição do observador Causada por superfícies lisas ao nível microscópico Um raio é refletido numa direção única Direção é definida pela direção de incidência e pela normal Modelo de Phong: OpenGL
Modelos de Reflexão: vetores N H (R) N – Normal L – Luz V – Observador R – Refletido H – Halfway R = 2(NL)N – L Modelo Phong padrão H = (V + L) / 2 Modelo Blinn-Phong (o que foi utilizado) Fonte (L) L R V x
Modelos de Reflexão: Blinn-Phong Modelo fenomenológico Modelo Blinn-Phong utilizado Mais eficiente e fisicamente correto que o Phong por utilizar NH ao invés de RV para a componente especular L(V) = ka La + kd Li (NL) + ks Li (NH)n
Modelos de Reflexão: Cook-Torrance Modelo físico – técnica baseada na física da superfície F – Fórmula de Fresnel D – Rugosidade das microfacetas G – Distribuição geométrica das microfacetas
Modelos de Reflexão: Cook-Torrance (cont.) Fórmula de Fresnel – derivada das equações de Maxwell Luz incidente normal reflete cor da superfície Luz incidente tangencial reflete cor da luz Reflexão aumenta à medida que a incidência se torna tangencial Coeficientes qi – ângulo de incidência relativo a H qt – ângulo de refração relativo a H qi = arccos(LH) sin(qt) = sin(qi) /
Modelos de Reflexão: Cook-Torrance (cont.) Rugosidade das Microfacetas – caracteriza os declives das microfacetas Utilizamos a função de distribuição de Beckman para superfícies rugosas m pequeno (e.g. 0.2) determina superfícies suaves, m grande (e.g. 0.8) determina superfícies rugosas α = arccos(NH)
Modelos de Reflexão: Cook-Torrance (cont.) Distribuição geométrica das microfacetas – modelo Torrance-Sparrow Sombreando – luz incidente não alcança o material Mascarando – luz refletida não alcança o observador Utilizamos o mínimo Gs = 2(NH)(NV)/(VH) Gm = 2(NH)(NL)/(VH) G = min(1, Gs, Gm)
Implementação Espectro da luz incidente Leitura do arquivo no formato <lambda>,<intensidade> <lambda>,<intensidade> ... Conversão do espectro para XYZ Conversão de XYZ para RGB
Implementação (cont.) Desenhar as duas esferas na tela, utilizando o RGB da luz calculado no passo anterior A primeira utilizando o modelo Cook-Torrance de iluminação A segunda utilizando o modelo Blinn-Phong
Resultados Obtidos Cook-Torrance Blinn-Phong