1 / 44

Traçado de Raios e Modelos de Iluminação por Marcelo Gattass Departamento de Informática

Traçado de Raios e Modelos de Iluminação por Marcelo Gattass Departamento de Informática. PUC-Rio. Pinturas: produção de imagens. Avercamp, Hendrick (1585-1634). Canaletto (Giovanni Antonio Canal) (1697-1768). Pin-Hole Camera. Câmara escura - Leonardo da Vinci -1545

tallys
Télécharger la présentation

Traçado de Raios e Modelos de Iluminação por Marcelo Gattass Departamento de Informática

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Traçado de Raios e Modelos de Iluminação por Marcelo Gattass Departamento de Informática PUC-Rio

  2. Pinturas: produção de imagens Avercamp, Hendrick (1585-1634).

  3. Canaletto (Giovanni Antonio Canal) (1697-1768).

  4. Pin-Hole Camera Câmara escura - Leonardo da Vinci -1545 Luis-Jacques-Mandé Daguerre (1789-1851)

  5. Modelo de câmera Iluminação Câmara Objetos y x z

  6. Traçado de raios: raios e objetos implícitos y x z x = x0 + t (x1 - x0 ) y = y0 + t (y1 - y0 ) z = z0 + t (z1 - z0 ) (x-xc )2 + (y-yc )2 + (z-zc )2 = R2 -b ± Ö b2 - 4ac 2a t =

  7. Interseção com a esfera O D ti

  8. Raios e objetos descritos pela fronteira y x z x = x0 + t (x1 - x0 ) y = y0 + t (y1 - y0 ) z = z0 + t (z1 - z0 ) P1 P0 Ax + By + Cz + D = 0 3 L0 = A0 / AT L1 = A1 / AT L2 = A2 / AT A1 A0 P é interior se e somente se A3 Li [0 ,1 ] 1 0

  9. Interseção com o plano do triângulo O D N P(ti)  V1

  10. Ponto no interior de um triângulo V3 a31 P é interior se t1, t2 et3tem o mesmo sentido, ou seja: a23 N Pi V1 ou a12 V2 Pe

  11. Coordenadas baricêntricas V3 a31 A1 a23 N A2 P é interior seL1, L2 e L3 [0..1] Pi A3 Mais ainda: V1 a12 V2 Pe

  12. Coordenadas baricêntricas como interpolantes V3 A1 A2 Pi L1 A3 V1 1 V2 L2 1 L3 1

  13. Interpolação com coordenadas baricêntricas V3 C3 U3 A1 A2 ou: Pi U1 A3 V1 C1 V2 C2 U2

  14. Exemplo: uma esfera e duas paredes y x z #SURFACE 20. 20. 100. 160. 160. 60. #LIGHT 40. 120. 0. 255 255 255 #SPHERE 0 25.0 0.0 20.0 0.0 #BOX 1 -80. -50. -50. 50. -45. 50. 1 -80. -50. -60. 50. 50. -50.

  15. Componente de reflexão difusa N L N L N L I, l, k  [0 ,1 ]

  16. Componente de reflexão especular n=1 n=4 n=8 -1 -0,5 0 0,5 1 R N V Brilho L I, l, k  [0 ,1 ]

  17. Cálculo do vetor R H H L’ R’ N 1 R L L’ = L / (L*N) H = N - L’ R’ = N + H R = unitário (R’)

  18. Luz direta sobre um ponto R V N

  19. Modelo de várias luzes Luz Ambiente

  20. Sombra A luz não chega a superfíce

  21. Uma revisão

  22. Reflexão de outros objetos V N q q Superfície especular

  23. Transparência V N q1 h1 Superfície transparente h2 q2 Lei de Snell: h1 sinq2 = h2 sinq1

  24. Iluminação considerando R e T transparência redução da reflexão

  25. Traçado de Raios Recursivo R2 R1 L2 T1 L1 L3 T2 R3 L1 R1 T1 L3 L2 R2 T2 R3

  26. Resultado de curso Alunos de CGI98

  27. Algoritmo de traçado de raios selecione o centro de projeção e uma janela no plano de projeção for (cada pixel da tela) { determine o raio ray que vai do centro de projeção ao pixel; pixel = trace ( ray, 1); } } rtColor trace ( rtRay ray, int depth) { determine a interseção mais próxima com um objeto if (intercepta objeto) { calcule a normal no ponto de interseção return ( shade ( object, ray, intersection, normal, depth); } return BACKGOUND; }

  28. rtColor shade ( rtObject object, rtRay ray, int depth, rtPoint point, rtNormal normal, int depth) { rtColor color, rColor, sColor; rtRay rRay, tRay, sRay; color = termo ambiente; for (cada luz) { sRay = raio para o ponto de luz; if (sRay • normal>0) { calcule quanto de luz é bloqueada por superfícies opacas e transparentes e use para computar as componentes difusa e especular } } if (depth >= maxDepth) return color; if (objeto é refletor) { rRay = raio na direção de refleção; rColor = trace( rRay, depth+1); reduza rColor pelo coeficente de refleção especular e some a color; } if (objeto é transparente) { tRay = raio na direção de refração; if (reflexão total não ocorre} { tColor = trace( tRay, depth+1); reduza tColor pelo coeficente de refração especular e some a color; } } return color; }

  29. Tratamento anti-alias dx Sub-Pixels dy ... Pixel dx, dy = variáveis randômicas • Lance um raio para cada sub-pixel • Faça uma média dos valores obtidos

  30. Normal e cor N A cor de um ponto depende de sua posição num mapa de textura N’ Pertubar aleatóriamente as normais dos objetos

  31. Textura na esfera z  y i  x j

  32. Refinamento Progresivo amostragem inicial primeira subdivisão subdivisão final segunda subdivisão pixels sendo visitados pixels já visitados

  33. Modelo da câmera Dados: eye, ref, vup (definem o sistema de coordenadas do olho) abertura do campo fixa de 900 vup ref eye ref 45o 45o Coordenadas dos Objetos eye Vista de cima

  34. Calcula o sistema - xe ye ze vup eye view y0 ref x0 z0 y0 x0 z0 dados: eye, ref, vup abertura da câmera vup ze eye view view =ref-eye ref ze = – view / ||view||

  35. Calcula o sistema - xe ye ze vup ze xe eye view y0 ref ye vup ze x0 xe eye z0 view y0 ye ref vup ze xe x0 eye z0 view xe = (vup x ze) / ||vup x ze|| ye = zex xe

  36. Canto inferior da janela no plano de projeção y0 x0 z0 ye ze xe eye Pll = eye + A + B + C A Se o ângulo de abertura for 900, d=1 e w = h: A = - xe B = - ye C = - xe B C Pll Pll = eye - ze - ye - xe

  37. Lançamento de Raios dy = 2 ye / h Pll dx = 2 xe / w P0 = Pu + dx/2 + dy/2; for (i=0; i<=w; i++) { P= P0 ; for (j=0; j<=h; j++) { P= P + dx; trace o raio (eye, P); } P0 = P0 + dy; } dy = 2 ye / h P0 P Pll dx = 2 xe / w

  38. Modelo de Lente e Obturador lente e obturador cena tela (pixels)

  39. Focalização imagem lente focalização df di d  df Luz de vários objetos chegam no mesmo ponto  confusão

  40. Obtenção dos raios P A plano da plano de lente imagem focalização

  41. Radiosidade e Ray Tracing

More Related