Computação Gráfica www.dca.ufrn.br/~lmarcos/courses/compgraf

  • View
    104

  • Download
    1

Embed Size (px)

Text of Computação Gráfica www.dca.ufrn.br/~lmarcos/courses/compgraf

  • Slide 1
  • Computao Grfica www.dca.ufrn.br/~lmarcos/courses/compgraf
  • Slide 2
  • Modelos de Iluninao Luz real Como seres humanos percebem a luz Enganando seres humanos no computador Luzes e superfcies Tudo em openGL
  • Slide 3
  • Entendendo a luz
  • Slide 4
  • Slide 5
  • Slide 6
  • Intervalos aproximados Violeta380-440 m (mili-micron) Azul 440-490 Verde490-565 Amarelo565-590 Laranja590-630 Vermelho630-700
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • RGB 1=700 m (Red) 2=546 m (Green) 3=435.8 m (Blue) ( ) = (R( ), G( ), B( ))
  • Slide 16
  • XYZ
  • Slide 17
  • Sistemas complementares (CMY) Ideal para impressoras Subtrai do branco (processo subtrativo) Ciano = verde+azul=> elimina vermelho Magenta=azul+vermelho=> elimina verde Amarelo=vermelho+verde=> elimina azul
  • Slide 18
  • Tom, Saturao, Luminncia
  • Slide 19
  • Por que diferentes modelos?
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Iluminao Fontes de luz emitem luz: Espectro eletro-magntico Posio e direo Superfcies refletem luz Reflectncia Geometria (posio, orientao, micro-estrutura) Absoro Transmisso Iluminao determinada pela interao entre fontes de luzes e superfcies
  • Slide 24
  • Tipos de fontes de luz Ambiente: luz igual em todas as direes um hack para modelar interrelaes Direcional: raios todos na mesma direo fontes de luz distantes (sol) Pontual: raios divergem de um ponto aproxima uma lmpada
  • Slide 25
  • Mais fontes de luzes Spotlight: feixe de luz pontual direcionada intensidade mxima numa certa direo parmetros: cor, ponto, direo, espalhamento Fonte rea: superfcie 2D luminosa radia luz de todos os pontos de sua sueprfcie gera sombras suavizadas
  • Slide 26
  • Reflexo difusa Modelo mais simples de reflexo (lambertiano) Modela superfcie opaca rugosa a nvel microscpico Refletor difuso ideal luz recebida refletida igualmente em todas as direes o brilho visto no depende da direo de visualizao brilho no depende da direo de visualizao
  • Slide 27
  • Lei de Lambert = intensidade da fonte de luz = coeficiente de reflexo [0.0,1.0] = ngulo entre a direo da luz e a normal
  • Slide 28
  • Exemplos de iluminao difusa A mesma esfera com iluminao difusa com luz em diferentes ngulos
  • Slide 29
  • Reflexo ambiente + difusa Modelo Lambertiano no suficiente para CG. = luz ambiente (global) = reflectncia ambiente (local) [0,1] Iluminao difusa mais termo ambiente. Um truque para contar a luz de background causada por reflexo mltipla de todos os objetos na cena
  • Slide 30
  • Outros efeitos simples Atenuao da luz intensidade da luz diminui com o quadrado da distncia da fonte Luzes coloridas e superfcies 3 equaes separadas para RBG (ou XYZ, ou YIQ, etc). Atenuao atmosfrica usar a distncia observador-superfcie para dar efeitos extras tornar a radincia do objeto mais turva ou menos definida com um fator de cinza., com
  • Slide 31
  • Reflexo especular Superfcies brilhantes mudam a aparncia de acrdo com a posio de visualizao reflexo especular depende da posio de visualizao causada por superfcies lisas (smooth) ao nvel microscpico Em superfcies brilhantes, grande parte da luz incidente reflete coerentemente um raio refletido numa direo nica (ou quase) direo definida pela direo de incidncia e pela normal Um espelho um refletor especular perfeito Refletores especular aproximados do espalham pouco
  • Slide 32
  • Modelo de Phong Aproxima reflexo especular = ngulo entre raio refletido e observador = reflectncia especular [0,1] = taxa de decaimento da reflexo (espalhamento)
  • Slide 33
  • Calculando o raio refletido
  • Slide 34
  • Curvas de iluminao de Phong O expoente especular quase sempre muito maior que 1. Valores = 100 so encontrados
  • Slide 35
  • Exemplos de iluminao Phong
  • Slide 36
  • Combinando tudo Combinando ambiente, difusa e especular Para multiplas fontes: repita clculos para difusa e especular some as componentes de todas as fontes termo ambiente contribui apenas uma vez Coeficientes de reflectncia podem diferir metal simples: k a e k d compartilham cor, k s branco plstico simples: k s inclui tambm a cor do material
  • Slide 37
  • Alguns exemplos
  • Slide 38
  • Outros modelos de reflectncia Phong/Blinn Diffuse using Lambertian Specular using a hack Cook-Torrance Specular Useful for metals, sheens Seeliger Diffuse Skin, softer than Lambertian Hair Anisotropic Uses grain direction
  • Slide 39
  • Vectors N L R V N Normal L Source V View R Reflection H Halfway R = 2(N L)N L H = (V+L)/||V+L|| H (R)(R) (L)(L) x Fonte Obs Refl.
  • Slide 40
  • Phong e Blinn Phong L(V) = k a L a + k d L i (N L) + k s L i (V R) n Blinn L(V) = k a L a + k d L i (N L) + k s L i (N H) n In general ignore ambient term and assume a diffuse/specular decomposition
  • Slide 41
  • Cook-Torrance Models specular BRDF component F Fresnel term D Roughness term G Geometry term
  • Slide 42
  • Fresnel Term Derived from Maxwells equations Coefficients r angle of reflection w.r.t. H t angle of transmission w.r.t. H c = cos r = L H = V H g 2 = 2 + c 2 1 Index of refraction actually complex!
  • Slide 43
  • Efeito de Fresnel Luz incidente normal reflete cor da superfcie Luz incidente tangencial reflete cor da luz Reflexo aumenta medida que a incidncia se torna tangencial
  • Slide 44
  • Roughness Term Statistical model of light reflectance Centered around reflection direction R Blinn model Beckman function = N H) m
  • Slide 45
  • Geometry Term Shadowing (sombreando) Luz incidente no alcana o material G s = 2(N H)(N V)/(V H) Masking (mascarando) Luz refletida no alcana o observador G m = 2(N H)(N L)/(V H) Use minimum G m = min G s, G m
  • Slide 46
  • Seeliger f r = N L/(N L + N V) Modelo para reflexo difusa da pele Aparncia mais suave que o lambertiano Derivada de princpios primrios Usada como base para shading em multi- camada See Hanrahan & Krueger SIGGRAPH 93
  • Slide 47
  • Hair Anisotropic Uses tangent vector T Diffuse anisotropic f d = sin(T,L) Specular anisotropic f s = (T L) (T V) + sin(T,L) sin(T,V) T LL
  • Slide 48
  • Definindo coeficientes em OpenGL
  • Slide 49
  • Iluminando em OpenGL
  • Slide 50
  • Considerando refrao Refrao: inclinao que a luz sofre para diferentes velocidades em diferentes materiais ndice de refrao luz viaja velocidade c/n em um material com ndice n c a velocidade da luz no vcuo (n=1) varia de acordo com o comprimento de onda prismas e arco-iris (luz branca quebrada em vrias)
  • Slide 51
  • Transmisso com refrao A luz inclina pelo princpio fsico do tempo mnimo (princpio de Huygens) luz viaja de A a B pelo caminho mais rpido se passar de um material de ndice n 1 para outro de ndice n 2, a lei de Snell define o ngulo de refrao: Quando entra em materiais mais densos (n maior), a inclinao mais perpendicular (ar para a gua) e vice-versa se os ndices so os mesmos, a luz no inclina Quando entra num material menos denso, reflexo total pode ocorrer se
  • Slide 52
  • Sombras Sombras ocorrem quando objetos so protegidos da luz objeto no influi na iluminao da cena (no reflexo) Calcular o que est oculto um problema de visibilidade a luz consegue ver o objeto? use um algoritmo z-buffer para sombreamento rode o alguritmo do ponto de vista da luz salve o z-buffer como shadow-buffer rode o algoritmo z-buffer real, mapeando cada ponto nas coordenadas da fonte de luz e comparando o valor contra o shadow-buffer (OK, ainda no estudamos z-buffer:-)...
  • Slide 53
  • Shadow-buffer
  • Slide 54
  • Shading Dada uma equao para calcular a radincia da superfcie, ainda necessrio aplic-la ao modelo real geralmente executado durante scan conversion (rasterizao) h modelos eficientes para fazer isso (Gouraud, Phong shading) Mapeamento de textura melhora tudo isso coloca radincia baseado numa imagem Ainda melhor: uso de procedural shaders para especificar funes gerais para a radincia gera radincia on-line, durante o shading Pixar Renderman: usado em Toy Story, Bugs Life, etc
  • Slide 55
  • Mapeando texturas (paramtrica) Superfcies coloridas ou sombreadas uniformemente ainda so irreais Objetos reais possuem superfcies com textura (features) Opo: ter uma grande quantidade de polgonos com caractersticas de cor e reflectncia; ou Usar imagens de textura para produzir superfcies reais pegar texturas da natureza (nuvens, madeira, terra); pinte-as voc mesmo; mapeie a imagem na superfcie usando uma funo paramtrica que mapeia pontos (u,v) em coordenadas de imagem (x,y) quando visualizando um ponto, olhe no pxel correspondente na imagem de textura e use ist