SlideShare une entreprise Scribd logo
1  sur  133
Algoritmo de Photon Mapping
                    Vitor F. Pamplona




    Imagem extraída de H.W. Jensen 1986: Global Illumination using Photon Maps
Relembrando

             


                              x

                                          Luz emitida
               Lo  x , = Le  x , 
  ∫ f r  x , ' ,  Li  x , ' −'⋅n d '
            BRDF               Luz Chegando             Atenuação


                   Copyright Vitor F. Pamplona                      4
Relembrando

             


                              x

                                          Luz emitida
               Lo  x , = Le  x , 
  ∫ f r  x , ' ,  Li  x , ' −'⋅n d '
            BRDF               Luz Chegando             Atenuação


                   Copyright Vitor F. Pamplona                      5
Relembrando
                              
                                                        '
            


                              x

                                          Luz emitida
                 Lo  x , = Le  x , 
  ∫   f r  x , ' ,  Li  x , ' −'⋅n d '
            BRDF               Luz chegando              Atenuação



                   Copyright Vitor F. Pamplona                       6
Relembrando
                               
                                                         '
            


                               x

                                           Luz emitida
                 Lo  x , = Le  x , 
  ∫   f r  x , ' ,  Li  x , ' −'⋅n d '
             BRDF               Luz chegando             Atenuação



                    Copyright Vitor F. Pamplona                      7
Relembrando
                                     
                                                                '
             


                                      x

                                                 Luz emitida
                 Lo  x , = Le  x , 
  ∫   f r  x , ' ,  Li  x , ' −'⋅n d '
              BRDF                     Luz chegando              Atenuação



           Kajiya, James T.Copyright Vitor F. Pamplona
                            (1986). The rendering equation. Siggraph 1986    8
Nosso problema
                               
                                                         '
            


                               x

                                           Luz emitida
                 Lo  x , = Le  x , 
  ∫   f r  x , ' ,  Li  x , ' −'⋅n d '
             BRDF               Luz chegando             Atenuação



                    Copyright Vitor F. Pamplona                      9
Path Tracing




          Kajiya, James T.Copyright Vitor F. Pamplona
                           (1986). The rendering equation. Siggraph 1986   10
Path Tracing




          Kajiya, James T.Copyright Vitor F. Pamplona
                           (1986). The rendering equation. Siggraph 1986   11
Path Tracing




          Kajiya, James T.Copyright Vitor F. Pamplona
                           (1986). The rendering equation. Siggraph 1986   12
Path Tracing




          Kajiya, James T.Copyright Vitor F. Pamplona
                           (1986). The rendering equation. Siggraph 1986   13
Path Tracing




          Kajiya, James T.Copyright Vitor F. Pamplona
                           (1986). The rendering equation. Siggraph 1986   14
Path Tracing




          Kajiya, James T.Copyright Vitor F. Pamplona
                           (1986). The rendering equation. Siggraph 1986   15
Path Tracing




          Kajiya, James T.Copyright Vitor F. Pamplona
                           (1986). The rendering equation. Siggraph 1986   16
Path Tracing




          Kajiya, James T.Copyright Vitor F. Pamplona
                           (1986). The rendering equation. Siggraph 1986   17
Photon Mapping




            Copyright Vitor F. Pamplona   18
Algoritmo de Photon Mapping
●   Photon Tracing
    ●   Emissão de fótons pelas fontes de luz
    ●   Armazenando numa estrutura de dados


●   Path tracing
    ●   Para cada superfície difusa
         –   Consulta os fótons armazenados
         –   Soma a radiância local
         –   Aplica na equação de rendering


                              Copyright Vitor F. Pamplona   19
Algoritmo de Photon Mapping
●   Photon Tracing
    ●   Emissão de fótons pelas fontes de luz
    ●   Armazenando numa estrutura de dados


●   Path tracing
    ●   Para cada superfície difusa
         –   Consulta os fótons armazenados
         –   Soma a radiância local
         –   Aplica na equação de rendering


                              Copyright Vitor F. Pamplona   20
Photon Tracing




                 Copyright Vitor F. Pamplona   21
Photon Tracing
                             Luz




             Vidro                      Espelho




                 Copyright Vitor F. Pamplona      22
Photon Tracing
                             Luz
                                        Lançar Fótons




             Vidro                      Espelho




                 Copyright Vitor F. Pamplona            23
Photon Tracing
                             Luz




             Vidro                      Espelho




                 Copyright Vitor F. Pamplona      24
Photon Tracing
                                    Luz




                                                      Roleta Russa

        Roleta Russa




                       Vidro                   Espelho




                        Copyright Vitor F. Pamplona                  25
Photon Tracing
                                Luz




                                                  Roleta Russa

        Absorveu




                   Vidro                   Espelho




                    Copyright Vitor F. Pamplona                  26
Photon Tracing
                             Luz




                                               Refletiu




             Vidro                      Espelho




                 Copyright Vitor F. Pamplona              27
Photon Tracing
                             Luz
                                               Absorveu

                                                          Refletiu




             Vidro                      Espelho




                 Copyright Vitor F. Pamplona                         28
Photon Tracing
                             Luz




                                               Refletiu




             Vidro                      Espelho




                 Copyright Vitor F. Pamplona              29
Photon Tracing
                             Luz




                                                        Refletiu




             Vidro                      Espelho

                                                  Absorveu




                 Copyright Vitor F. Pamplona                       30
Photon Tracing
                             Luz




                            Refletiu
             Vidro                      Espelho




                 Copyright Vitor F. Pamplona      31
Photon Tracing
                             Luz




             Vidro                      Espelho


                            Refletiu


                 Copyright Vitor F. Pamplona      32
Photon Tracing
                             Luz




             Vidro                      Espelho
                 Refletiu


                  Absorveu


                 Copyright Vitor F. Pamplona      33
Photon Tracing
                                  Luz




          Refratou


                     Vidro                   Espelho




                      Copyright Vitor F. Pamplona      34
Photon Tracing
                                    Luz




       Absorveu



                       Vidro                   Espelho

            Refratou




                        Copyright Vitor F. Pamplona      35
Algoritmo de Photon Mapping
●   Photon Tracing
    ●   Emissão de fótons pelas fontes de luz
    ●   Armazenando numa estrutura de dados


●   Path tracing
    ●   Para cada superfície difusa
         –   Consulta os fótons armazenados
         –   Soma a radiância local
         –   Aplica na equação de rendering


                              Copyright Vitor F. Pamplona   36
Path Tracing




                             Vidro
                                Espelho




               Copyright Vitor F. Pamplona   37
Path Tracing




                             Vidro
                                Espelho




               Copyright Vitor F. Pamplona   38
Path Tracing                                           N=3
                                             p3

                                                  p2
                                             p1
                                                   x




                             Vidro
                                Espelho




               Copyright Vitor F. Pamplona              39
Path Tracing                                              N=3
                                             p3

                                                  p2
                                             p1
                                                      x


                                                  V




                             Vidro
                                Espelho




               Copyright Vitor F. Pamplona                 40
Path Tracing                                                   N=3
                                             p3

                                                  p2
                                             p1
                                                      x


                                                  V

                                                      3

                                                  ∑ E  pi 
                                             I x = i=1
                                                          V

                             Vidro
                                Espelho




               Copyright Vitor F. Pamplona                      41
Path Tracing                                     N=3




                             Vidro
                                Espelho


                                             x


               Copyright Vitor F. Pamplona        42
Path Tracing                                          N=3




                                             p2
                             Vidro
                                Espelho
                                             p1
                           p3
                                                  x


               Copyright Vitor F. Pamplona             43
Path Tracing                                                       N=3




                                                       3

                                                      ∑ E  pi 
                                              I x = i=1
                                                           V
                                             p2
                             Vidro
                                Espelho                V

                                             p1
                           p3
                                                  x


               Copyright Vitor F. Pamplona                          44
Path Tracing                                 N=3




                             Vidro
                                Espelho




               Copyright Vitor F. Pamplona    45
Path Tracing                                     N=3




                             Vidro           x
                                Espelho




               Copyright Vitor F. Pamplona        46
Path Tracing                                     N=3




                       p2



                             Vidro           x
                                Espelho
                      p1
                            p3


               Copyright Vitor F. Pamplona        47
Path Tracing                                                   N=3




                                                   3

                                                  ∑ E  pi 
                       p2                    I x = i=1
                                                         V

                             Vidro           x
                                Espelho             V

                      p1
                            p3


               Copyright Vitor F. Pamplona                      48
Path Tracing                                     N=3




                       p2



                             Vidro           x
                                Espelho
                      p1
                            p3


               Copyright Vitor F. Pamplona        49
Path Tracing                                     N=3




                       p2



                             Vidro           x
                                Espelho
                      p1
                            p3


               Copyright Vitor F. Pamplona        50
Path Tracing                                 N=3




                             Vidro
                                Espelho




               Copyright Vitor F. Pamplona    51
Path Tracing                                 N=3




                             Vidro
                                Espelho


                                    x


               Copyright Vitor F. Pamplona    52
Path Tracing                                      N=3




                             Vidro
                                Espelho
                      p1
                           p3       x        p2


               Copyright Vitor F. Pamplona         53
Path Tracing                                                        N=3




                                                        3

                                                       ∑ E  pi 
                                                  I x = i=1
                                                              V

                             Vidro
                                Espelho
                      p1
                           p3       x            p2
                                             V

               Copyright Vitor F. Pamplona                           54
Path Tracing                                      N=3




                             Vidro
                                Espelho
                      p1
                           p3       x        p2


               Copyright Vitor F. Pamplona         55
Algoritmo de Photon Mapping
●   Photon Tracing
    ●   Emissão de fótons pelas fontes de luz
    ●   Armazenando numa estrutura de dados


●   Path tracing
    ●   Para cada superfície difusa
         –   Consulta os fótons armazenados
         –   Soma a radiância local
         –   Aplica na equação de rendering


                              Copyright Vitor F. Pamplona   56
Algoritmo de Photon Mapping
●   Photon Tracing
    ●   Emissão de fótons pelas fontes de luz
    ●   Armazenando numa estrutura de dados


●   Path tracing
    ●   Para cada superfície difusa
         –   Consulta os fótons armazenados
         –   Soma a radiância local
         –   Aplica na equação de rendering


                              Copyright Vitor F. Pamplona   57
Estrutura de Dados Espacial: Kd-Tree
●   Árvore binária




                     Copyright Vitor F. Pamplona   58
Estrutura de Dados Espacial: Kd-Tree
●   Árvore binária


                                                         p2
                                                    p1

                                               p3



                                                         p4




                     Copyright Vitor F. Pamplona              59
Estrutura de Dados Espacial: Kd-Tree
●   Árvore binária


                                                         p2
              L1
                                                    p1

                                               p3



                                                         p4




                     Copyright Vitor F. Pamplona              60
Estrutura de Dados Espacial: Kd-Tree
●   Árvore binária


                                                         p2
                L1
                                                    p1

                                               p3
           L2

                                                         p4




                     Copyright Vitor F. Pamplona              61
Estrutura de Dados Espacial: Kd-Tree
●   Árvore binária


                                                                 p2
                        L1
                                                            p1

                                                       p3
              L2


         p1        p2                                            p4




                             Copyright Vitor F. Pamplona              62
Estrutura de Dados Espacial: Kd-Tree
●   Árvore binária


                                                                      p2
                        L1
                                                                 p1

                                                            p3
              L2             L3


         p1        p2                                                 p4




                                  Copyright Vitor F. Pamplona              63
Estrutura de Dados Espacial: Kd-Tree
●   Árvore binária


                                                                                p2
                        L1
                                                                           p1

                                                                      p3
              L2                  L3


         p1        p2        p3        p4                                       p4




                                            Copyright Vitor F. Pamplona              64
Estrutura de Dados Espacial: Kd-Tree
●   Pesquisa pelos 2 vizinhos mais próximos


                                                                                p2
                        L1
                                                                           p1

                                                                      p3
              L2                  L3


         p1        p2        p3        p4                                  x    p4




                                            Copyright Vitor F. Pamplona              65
Estrutura de Dados Espacial: Kd-Tree
●   Pesquisa pelos 2 vizinhos mais próximos


                                                                                p2
                        L1
                                                                           p1

                                                                      p3
              L2                  L3


         p1        p2        p3        p4                                  x    p4




                                            Copyright Vitor F. Pamplona              66
Estrutura de Dados Espacial: Kd-Tree
●   Pesquisa pelos 2 vizinhos mais próximos


                                                                                p2
                        L1
                                                                           p1

                                                                      p3
              L2                  L3


         p1        p2        p3        p4                                  x    p4




                                            Copyright Vitor F. Pamplona              67
Estrutura de Dados Espacial: Kd-Tree
●   Pesquisa pelos 2 vizinhos mais próximos


                                                                                  p2
                          L1
                                                                             p1

                                                                        p3
                L2                  L3


           p1        p2        p3        p4                                  x    p4




     Mais próximos: p4



                                              Copyright Vitor F. Pamplona              68
Estrutura de Dados Espacial: Kd-Tree
●   Pesquisa pelos 2 vizinhos mais próximos


                                                                                  p2
                          L1
                                                                             p1

                                                                        p3
                L2                  L3


           p1        p2        p3        p4                                  x    p4




     Mais próximos: p4, p3



                                              Copyright Vitor F. Pamplona              69
Estrutura de Dados Espacial: Kd-Tree
●   Pesquisa pelos 2 vizinhos mais próximos


                                                                                  p2
                          L1
                                                                             p1

                                                                        p3
                L2                  L3


           p1        p2        p3        p4                                  x    p4




     Mais próximos: p4, p3



                                              Copyright Vitor F. Pamplona              70
Estrutura de Dados Espacial: Kd-Tree
●   Pesquisa pelos 2 vizinhos mais próximos


                                                                                  p2
                          L1
                                                                             p1

                                                                        p3
                L2                  L3


           p1        p2        p3        p4                                  x    p4




     Mais próximos: p4, p3



                                              Copyright Vitor F. Pamplona              71
Armazenamento em 3D
                                               p2
                                                          p4


                                                    p3

            p1




                                                              p5


       p6



                                  p9                     p8
                   p7

                 Copyright Vitor F. Pamplona                       72
Armazenamento em 3D
                                               p2
                                                          p4


                                                    p3

            p1




                                                              p5


       p6



                                  p9                     p8
                   p7

                 Copyright Vitor F. Pamplona                       73
Armazenamento em 3D
                                               p2
                                                          p4


                                                    p3

            p1




                                                              p5


       p6



                                  p9                     p8
                   p7

                 Copyright Vitor F. Pamplona                       74
Armazenamento em 3D
                                               p2
                                                          p4


                                                    p3

            p1




                                                              p5


       p6



                                  p9                     p8
                   p7

                 Copyright Vitor F. Pamplona                       75
Armazenamento em 3D
                                               p2
                                                          p4


                                                    p3

            p1




                                                              p5


       p6



                                  p9                     p8
                   p7

                 Copyright Vitor F. Pamplona                       76
Mapa de Fótons
                           L2
                                                                     L1
                      p2
                                     p4    L8
 L4

                           p3                           L2                        L3
     p1                               L5

                                                 L4           L5           L6           L7

                                      p5
                                                p1 p2        P3    L8     p6 p7        p8 p9
                                           L1
p6                                                                p4 p5
                                     L7
L6
                                p8
          p7     p9
            L3


                       Copyright Vitor F. Pamplona                                             77
Algoritmo de Photon Mapping
●   Photon Tracing
    ●   Emissão de fótons pelas fontes de luz
    ●   Armazenando numa estrutura de dados


●   Path tracing
    ●   Para cada superfície difusa
         –   Consulta os fótons armazenados
         –   Soma a radiância local
         –   Aplica na equação de rendering


                              Copyright Vitor F. Pamplona   78
Algoritmo de Photon Mapping
●   Photon Tracing
    ●   Emissão de fótons pelas fontes de luz
    ●   Armazenando numa estrutura de dados


●   Path tracing
    ●   Para cada superfície difusa
         –   Consulta os fótons armazenados
         –   Soma a radiância local
         –   Aplica na equação de rendering


                              Copyright Vitor F. Pamplona   79
Equação de Rendering
                               
                                                         '
            


                               x

                                           Luz emitida
                 Lo  x , = Le  x , 
  ∫   f r  x , ' ,  Li  x , ' − '⋅n d '
             BRDF               Luz chegando             Atenuação



                    Copyright Vitor F. Pamplona                      80
Equação de Rendering e Mapa de Fótons
                                
                                                   '
             


                                x


   ∫   f r  x , ' ,  Li  x ,  ' −'⋅n d '
              BRDF             Luz chegando        Atenuação




                     Copyright Vitor F. Pamplona               81
Equação de Rendering e Mapa de Fótons
                                
                                                   '
             
                                                       Photon Tracing



                                x


   ∫   f r  x , ' ,  Li  x ,  ' −'⋅n d '
              BRDF             Luz chegando        Atenuação




                     Copyright Vitor F. Pamplona                        82
Equação de Rendering e Mapa de Fótons
                                
             


                                x


   ∫   f r  x , ' ,  Li  x ,  ' −'⋅n d '
              BRDF             Luz chegando        Atenuação




                     Copyright Vitor F. Pamplona               83
Equação de Rendering e Mapa de Fótons
                                                               N
                                                              ∑ E  pi 
                                                        I x = i=1
                                                                     V


                                x


   ∫   f r  x , ' ,  Li  x ,  ' −'⋅n d '
              BRDF             Luz chegando        Atenuação




                     Copyright Vitor F. Pamplona                            84
Equação de Rendering e Mapa de Fótons
                                                               N
                                                              ∑ E  pi 
                                                        I x = i=1
                                                                     V


                                x                  Fluxo 




   ∫   f r  x , ' ,  Li  x ,  ' −'⋅n d '
              BRDF             Luz chegando        Atenuação




                     Copyright Vitor F. Pamplona                            85
Equação de Rendering e Mapa de Fótons
                                                               N
                                                              ∑ E  pi 
                                                        I x = i=1
                                                                     V


                                x                  Fluxo      =
                                                                  dE
                                                                  dt



   ∫   f r  x , ' ,  Li  x ,  ' −'⋅n d '
              BRDF             Luz chegando        Atenuação




                     Copyright Vitor F. Pamplona                            86
Equação de Rendering e Mapa de Fótons
                                                                   N
                                                                 ∑ E  pi 
                                                            I x = i=1
                                                                         V


                                x                  Fluxo 




   ∫   f r  x , ' ,  Li  x ,  ' −'⋅n d '
              BRDF             Luz chegando        Atenuação




                     Copyright Vitor F. Pamplona                               87
Equação de Rendering e Mapa de Fótons
                                                                   N
                                                                 ∑ E  pi 
                                                            I x = i=1
                                                                         V


                                x                  Fluxo 




   ∫   f r  x , ' ,  Li  x ,  ' −'⋅n d '
              BRDF                Radiância        Atenuação




                     Copyright Vitor F. Pamplona                               88
Equação de Rendering e Mapa de Fótons
                                                                       N
                                                                     ∑ E  pi 
                                                                I x = i=1
                                                                             V


                     2
                            x
                  d  x ,− '                        Fluxo 
    L x , ' =
                 − '⋅n d  ' dA


   ∫   f r  x , ' ,  Li  x ,  ' −'⋅n d '
              BRDF                    Radiância        Atenuação




                         Copyright Vitor F. Pamplona                               89
Equação de Rendering e Mapa de Fótons
                                                                       N
                                                                     ∑ E  pi 
                                                                I x = i=1
                                                                             V


                     2
                              x
                    d  x ,− '                      Fluxo 
      L x , ' =
                   − '⋅n d  ' dA

                                 2
                         d  x ,− ' 
 ∫   f r  x , ' ,                  −'⋅n d '
                        −'⋅n d ' dA Atenuação
              BRDF
                                       Radiância



                         Copyright Vitor F. Pamplona                               90
Equação de Rendering e Mapa de Fótons
                                                                 N
                                                               ∑ E  pi 
                                                          I x = i=1
                                                                       V


                               x                 Fluxo 



                           2
                         d  x ,− ' 
 ∫   f r  x , ' ,                  −'⋅n d '
                        −'⋅n d ' dA Atenuação
              BRDF
                                 Radiância



                   Copyright Vitor F. Pamplona                               91
Equação de Rendering e Mapa de Fótons
                                                                 N
                                                               ∑ E  pi 
                                                          I x = i=1
                                                                       V


                               x                 Fluxo 



                           2
                         d  x ,− ' 
 ∫   f r  x , ' ,                  −'⋅n d '
                        −'⋅n d ' dA Atenuação
              BRDF
                                 Radiância



                   Copyright Vitor F. Pamplona                               92
Equação de Rendering e Mapa de Fótons
                                                                  N
                                                                ∑ E  pi 
                                                           I x = i=1
                                                                        V


                                x                 Fluxo 



                            2
                         d  x ,− ' 
 ∫   f r  x , ' , 
                        −'⋅n d ' dA
              BRDF
                                  Radiância



                    Copyright Vitor F. Pamplona                               93
Equação de Rendering e Mapa de Fótons
                                                                      N
                                                                    ∑ E  pi 
                                                               I x = i=1
                                                                            V


                             x                        Fluxo 




                                      2
                             d  x ,− ' 
      ∫   f r  x , ' , 
                                  dA
                   BRDF
                                                Radiância



                  Copyright Vitor F. Pamplona                                     94
Equação de Rendering e Mapa de Fótons
                                                                  N
                                                                ∑ E  pi 
                                                           I x = i=1
                                                                        V


                             x
                                            Consulta ao
                                            Photon Map
                                      2
                             d  x ,− ' 
      ∫   f r  x , ' , 
                                  dA
                   BRDF
                                                Radiância



                  Copyright Vitor F. Pamplona                                 95
Equação de Rendering e Mapa de Fótons
                                                                  N
                                                                ∑ E  pi 
                                                           I x = i=1
                                                                        V


                             x
                                            Consulta ao
                                            Photon Map
                                      2
                             d  x ,− ' 
      ∫   f r  x , ' , 
                                  dA
                   BRDF
                                                Radiância



                  Copyright Vitor F. Pamplona                                 96
Equação de Rendering e Mapa de Fótons
                                                                   N
                                                                 ∑ E  pi 
                                                            I x = i=1
                                                                         V


                              x
                                             Consulta ao
                                             Photon Map
       N                               2
                               d  x ,−' 
      ∑     f r  x ,  ' , 
                                    dA
      i=1           BRDF
                                                 Radiância



                   Copyright Vitor F. Pamplona                                 97
Equação de Rendering e Mapa de Fótons
                                                                   N
                                                                 ∑ E  pi 
                                                            I x = i=1
                                                                         V


                              x
                                             Consulta ao
                                             Photon Map
       N                               2
                               d  x ,−' 
      ∑     f r  x ,  ' , 
                                    dA
      i=1           BRDF
                                                 Radiância



                   Copyright Vitor F. Pamplona                                 98
Equação de Rendering e Mapa de Fótons
                                                                   N
                                                                 ∑ E  pi 
                                                            I x = i=1
                                                                         V


                              x
                                             Consulta ao
                                             Photon Map
       N                               2
                               d  x ,−' 
      ∑     f r  x ,  ' , 
                                  r
                                       2
      i=1           BRDF
                                                 Radiância



                   Copyright Vitor F. Pamplona                                 99
Equação de Rendering e Mapa de Fótons
                                                                   N
                                                                 ∑ E  pi 
                                                            I x = i=1
                                                                         V

                                                             Fótons estão sempre
                                                             sobre uma superfície
                              x
                                             Consulta ao
                                             Photon Map
       N                               2
                               d  x ,−' 
      ∑     f r  x ,  ' , 
                                  r
                                       2
      i=1           BRDF
                                                 Radiância



                   Copyright Vitor F. Pamplona                                      100
Equação de Rendering e Mapa de Fótons
                                                                    N
                                                                  ∑ E  pi 
                                                            I x = i=1
                                                                         V

                                                             Fótons estão sempre
                                                             sobre uma superfície
                              x                              Com mais fótons o
                                                             círculo de coleta diminui
                                                             aproximando uma
                                             Consulta ao
                                                             superfície plana
                                             Photon Map
       N                               2
                               d  x ,−' 
      ∑     f r  x ,  ' , 
                                  r
                                       2
      i=1           BRDF
                                                 Radiância



                   Copyright Vitor F. Pamplona                                    101
Equação de Rendering e Mapa de Fótons
                              
             


                              x
                                             Consulta ao
                                             Photon Map
       N                               2
                               d  x ,−' 
      ∑     f r  x ,  ' , 
                                  r
                                       2
      i=1           BRDF
                                                 Radiância



                   Copyright Vitor F. Pamplona               102
Equação de Rendering e Mapa de Fótons
                              
             


                              x
                                             Consulta ao
                                             Photon Map
       N                               2
                               d  x ,−' 
      ∑     f r  x ,  ' , 
                                  r
                                       2
      i=1           BRDF
                                                 Radiância



                   Copyright Vitor F. Pamplona               103
Acabou?




              Lo  x , = Le  x , 
      N                        2
                              d  x ,−' 
     ∑     f r  x , ' ,           2
      i=1                           r
                  Copyright Vitor F. Pamplona   104
Acabou?




              Lo  x , = Le  x , 
      N                        2
                              d  x ,−' 
     ∑     f r  x , ' ,           2
      i=1                           r
                  Copyright Vitor F. Pamplona   105
Tipos de Fótons


                            Difusa




        Luz




                         Refletiva
                       Transparente




              Copyright Vitor F. Pamplona   106
Tipos de Fótons


              Iluminação
                 Direta             Difusa




        Luz




                                 Refletiva
              Iluminação
                               Transparente
                 Direta




                      Copyright Vitor F. Pamplona   107
Tipos de Fótons


              Iluminação
                 Direta             Difusa




        Luz




                                 Refletiva
              Iluminação
                               Transparente
                 Direta




                      Copyright Vitor F. Pamplona   108
Tipos de Fótons


              Iluminação
                 Direta             Difusa




        Luz




                                 Refletiva
              Iluminação
                               Transparente
                 Direta




                      Copyright Vitor F. Pamplona   109
Tipos de Fótons
                                 Iluminação
                                   Indireta


              Iluminação
                 Direta             Difusa




        Luz




                                 Refletiva
              Iluminação
                               Transparente
                 Direta




                      Copyright Vitor F. Pamplona   110
Tipos de Fótons
                                 Iluminação
                                   Indireta


              Iluminação
                 Direta             Difusa




        Luz




                                 Refletiva
              Iluminação
                               Transparente
                 Direta




                      Copyright Vitor F. Pamplona   111
Tipos de Fótons
                                 Iluminação
                                   Indireta


              Iluminação
                 Direta             Difusa




        Luz




                                 Refletiva
              Iluminação
                               Transparente
                 Direta




                      Copyright Vitor F. Pamplona   112
Tipos de Fótons
                                 Iluminação
                                   Indireta


              Iluminação
                 Direta             Difusa




        Luz                              Cáusticas




                                 Refletiva
              Iluminação
                               Transparente
                 Direta




                      Copyright Vitor F. Pamplona    113
Tipos de Fótons
                                 Iluminação
                                   Indireta


              Iluminação
                 Direta             Difusa




        Luz                              Cáusticas




                                 Refletiva
              Iluminação
                               Transparente
                 Direta




                      Copyright Vitor F. Pamplona    114
Distribuição dos Fótons




               Copyright Vitor F. Pamplona   115
Distribuição dos Fótons
               Direta                    Indireta   Cáusticas




 Renderizado




 Esperado




                    Copyright Vitor F. Pamplona                 116
Com 1 Único Mapa de Fótons




             



             x




                 Copyright Vitor F. Pamplona   117
Usar 3 Mapas de Fótons




             



             x
                         Direta


                 Copyright Vitor F. Pamplona   118
Usar 3 Mapas de Fótons




             



             x
                          Indireta


                 Copyright Vitor F. Pamplona   119
Usar 3 Mapas de Fótons




             



             x
                         Cáusticas


                 Copyright Vitor F. Pamplona   120
Iluminação Direta
                                            Parâmetros
                                            Direto: 100.000
                                            Indireto: 0
                                            Cáusticas: 0




              Copyright Vitor F. Pamplona                     121
Iluminação Indireta
                                             Parâmetros
                                             Direto: 0
                                             Indireto: 100.000
                                             Cáusticas: 0




               Copyright Vitor F. Pamplona                       122
Cáusticas
                                          Parâmetros
                                          Direto: 0
                                          Indireto: 0
                                          Cáusticas: 100.000




            Copyright Vitor F. Pamplona                        123
Resultado com Poucos Fótons
                                                      Parâmetros
                              Círculos na cena
                                                      Direto: 100.000
                                                      Indireto: 100.000
                                                      Cáusticas: 200.000
                                                      N: 100


                    Artefatos




       Sombras suaves

                        Copyright Vitor F. Pamplona                        124
Resultado com Muitos Fótons
                                            Parâmetros
                                            Direto: 2.000.000
                                            Indireto: 30.000.000
                                            Cáusticas: 200.000
                                            N: 20.000




              Copyright Vitor F. Pamplona                          125
Parâmetros do Photon Mapping
●   Quantidade de fótons para cada mapa
    ●   Quanto maior o número de fótons, menos artefatos
    ●   Deve-se estimar uma boa proporção de fótons




                         Copyright Vitor F. Pamplona       126
Parâmetros do Photon Mapping
●   Quantidade de fótons para cada mapa
    ●   Quanto maior o número de fótons, menos artefatos
    ●   Deve-se estimar uma boa proporção de fótons




             Milhares de Fótons                            Milhões de Fótons


                                  Copyright Vitor F. Pamplona                  127
Parâmetros do Photon Mapping
●   Quantidade de fótons para cada mapa
    ●   Quanto maior o número de fótons, menos artefatos
    ●   Deve-se estimar uma boa proporção de fótons
●   Número de fótons vizinhos a integrar (N)
    ●   Quanto maior, mais suave serão as variações de
        iluminação




                         Copyright Vitor F. Pamplona       128
Parâmetros do Photon Mapping
●   Quantidade de fótons para cada mapa
    ●   Quanto maior o número de fótons, menos artefatos
    ●   Deve-se estimar uma boa proporção de fótons
●   Número de fótons vizinhos a integrar (N)
    ●   Quanto maior, mais suave serão as variações de
        iluminação




                   N = 100                           N = 20.000

                             Copyright Vitor F. Pamplona          129
Photon Mapping: Prós
●   Performance independe do número de pixels da imagem
    ●   Apenas 1 raio por pixel no Path Tracing




                           Copyright Vitor F. Pamplona    130
Photon Mapping: Prós
●   Performance independe do número de pixels da imagem
    ●   Apenas 1 raio por pixel no Path Tracing
●   Suporta vários materiais
    ●   Superfícies difusas não lambertianas,
    ●   Superfícies refletivas e transparentes
    ●   Participating media e subsurface scattering




                            Copyright Vitor F. Pamplona   131
Photon Mapping: Prós
●   Performance independe do número de pixels da imagem
    ●   Apenas 1 raio por pixel no Path Tracing
●   Suporta vários materiais
    ●   Superfícies difusas não lambertianas,
    ●   Superfícies refletivas e transparentes
    ●   Participating media e subsurface scattering
●   Suporta spectral rendering
●   Suavização do ruído inerente dos métodos de Monte Carlo
●   Se acopla facilmente nas implementações de ray tracing


                            Copyright Vitor F. Pamplona       132
Photon Mapping: Contras
●   Alto uso de memória
●   Baixa performance com muitas fontes de luz
    ●   Kd-trees muito grandes
●   Parâmetros são escolhidos arbitrariamente
●   Não executa em tempo real




                          Copyright Vitor F. Pamplona   133
Sumário
●   Algoritmo de Photon Mapping
    ●   Photon tracing
    ●   Path tracing
●   Estrutura de dados espacial (Kd-tree)
●   A adaptação da equação de rendering
●   Tipos de iluminação e os mapas de fótons
●   Parâmetros a arbitrar
●   Prós e Contras do Algoritmo


                         Copyright Vitor F. Pamplona   142
Obrigado, perguntas?
                Vitor F. Pamplona




Imagem extraída de H.W. Jensen 1986: Global Illumination using Photon Maps

Contenu connexe

Plus de Vitor Pamplona

CATRA: Interactive Measuring and Modelling of Cataracts
CATRA: Interactive Measuring and Modelling of CataractsCATRA: Interactive Measuring and Modelling of Cataracts
CATRA: Interactive Measuring and Modelling of CataractsVitor Pamplona
 
Netra at Mobile Health Expo NYC
Netra at Mobile Health Expo NYCNetra at Mobile Health Expo NYC
Netra at Mobile Health Expo NYCVitor Pamplona
 
Unusual apps: NETRA and CATRA
Unusual apps: NETRA and CATRAUnusual apps: NETRA and CATRA
Unusual apps: NETRA and CATRAVitor Pamplona
 
Photorealistic Models for Pupil Light Reflex and Iridal Pattern Deformation
Photorealistic Models for Pupil Light Reflex and Iridal Pattern DeformationPhotorealistic Models for Pupil Light Reflex and Iridal Pattern Deformation
Photorealistic Models for Pupil Light Reflex and Iridal Pattern DeformationVitor Pamplona
 
NETRA on SIGGRAPH 2010
NETRA on SIGGRAPH 2010NETRA on SIGGRAPH 2010
NETRA on SIGGRAPH 2010Vitor Pamplona
 
Modelos Foto-realistas para reflexo pupilar à luz e deformação dos padrões da...
Modelos Foto-realistas para reflexo pupilar à luz e deformação dos padrões da...Modelos Foto-realistas para reflexo pupilar à luz e deformação dos padrões da...
Modelos Foto-realistas para reflexo pupilar à luz e deformação dos padrões da...Vitor Pamplona
 
Performance Analysis: C vs CUDA
Performance Analysis: C vs CUDAPerformance Analysis: C vs CUDA
Performance Analysis: C vs CUDAVitor Pamplona
 
Propagação de Incerteza em Medições
Propagação de Incerteza em MediçõesPropagação de Incerteza em Medições
Propagação de Incerteza em MediçõesVitor Pamplona
 
Geometric Algebra 2: Applications
Geometric Algebra 2: ApplicationsGeometric Algebra 2: Applications
Geometric Algebra 2: ApplicationsVitor Pamplona
 
Introduction about Geometric Algebra
Introduction about Geometric AlgebraIntroduction about Geometric Algebra
Introduction about Geometric AlgebraVitor Pamplona
 
Turbinando sua Carreira: mestrado, devo encarar essa?
Turbinando sua Carreira: mestrado, devo encarar essa?Turbinando sua Carreira: mestrado, devo encarar essa?
Turbinando sua Carreira: mestrado, devo encarar essa?Vitor Pamplona
 
Criando Projetos Open Source
Criando Projetos Open SourceCriando Projetos Open Source
Criando Projetos Open SourceVitor Pamplona
 
The Image-based data glove presentation
The Image-based data glove presentationThe Image-based data glove presentation
The Image-based data glove presentationVitor Pamplona
 

Plus de Vitor Pamplona (17)

CATRA: Interactive Measuring and Modelling of Cataracts
CATRA: Interactive Measuring and Modelling of CataractsCATRA: Interactive Measuring and Modelling of Cataracts
CATRA: Interactive Measuring and Modelling of Cataracts
 
Netra at Mobile Health Expo NYC
Netra at Mobile Health Expo NYCNetra at Mobile Health Expo NYC
Netra at Mobile Health Expo NYC
 
Unusual apps: NETRA and CATRA
Unusual apps: NETRA and CATRAUnusual apps: NETRA and CATRA
Unusual apps: NETRA and CATRA
 
Free software basics
Free software basicsFree software basics
Free software basics
 
Photorealistic Models for Pupil Light Reflex and Iridal Pattern Deformation
Photorealistic Models for Pupil Light Reflex and Iridal Pattern DeformationPhotorealistic Models for Pupil Light Reflex and Iridal Pattern Deformation
Photorealistic Models for Pupil Light Reflex and Iridal Pattern Deformation
 
NETRA on SIGGRAPH 2010
NETRA on SIGGRAPH 2010NETRA on SIGGRAPH 2010
NETRA on SIGGRAPH 2010
 
Modelos Foto-realistas para reflexo pupilar à luz e deformação dos padrões da...
Modelos Foto-realistas para reflexo pupilar à luz e deformação dos padrões da...Modelos Foto-realistas para reflexo pupilar à luz e deformação dos padrões da...
Modelos Foto-realistas para reflexo pupilar à luz e deformação dos padrões da...
 
Performance Analysis: C vs CUDA
Performance Analysis: C vs CUDAPerformance Analysis: C vs CUDA
Performance Analysis: C vs CUDA
 
Anotação de Imagens
Anotação de ImagensAnotação de Imagens
Anotação de Imagens
 
Propagação de Incerteza em Medições
Propagação de Incerteza em MediçõesPropagação de Incerteza em Medições
Propagação de Incerteza em Medições
 
Geometric Algebra 2: Applications
Geometric Algebra 2: ApplicationsGeometric Algebra 2: Applications
Geometric Algebra 2: Applications
 
Introduction about Geometric Algebra
Introduction about Geometric AlgebraIntroduction about Geometric Algebra
Introduction about Geometric Algebra
 
Turbinando sua Carreira: mestrado, devo encarar essa?
Turbinando sua Carreira: mestrado, devo encarar essa?Turbinando sua Carreira: mestrado, devo encarar essa?
Turbinando sua Carreira: mestrado, devo encarar essa?
 
Criando Projetos Open Source
Criando Projetos Open SourceCriando Projetos Open Source
Criando Projetos Open Source
 
O Mundo Open Source
O Mundo Open SourceO Mundo Open Source
O Mundo Open Source
 
Mobile 3D Game Engine
Mobile 3D Game EngineMobile 3D Game Engine
Mobile 3D Game Engine
 
The Image-based data glove presentation
The Image-based data glove presentationThe Image-based data glove presentation
The Image-based data glove presentation
 

Algoritmo de Photon Mapping

  • 1. Algoritmo de Photon Mapping Vitor F. Pamplona Imagem extraída de H.W. Jensen 1986: Global Illumination using Photon Maps
  • 2. Relembrando  x Luz emitida Lo  x , = Le  x ,  ∫ f r  x , ' ,  Li  x , ' −'⋅n d ' BRDF Luz Chegando Atenuação Copyright Vitor F. Pamplona 4
  • 3. Relembrando  x Luz emitida Lo  x , = Le  x ,  ∫ f r  x , ' ,  Li  x , ' −'⋅n d ' BRDF Luz Chegando Atenuação Copyright Vitor F. Pamplona 5
  • 4. Relembrando  '  x Luz emitida Lo  x , = Le  x ,  ∫ f r  x , ' ,  Li  x , ' −'⋅n d ' BRDF Luz chegando Atenuação Copyright Vitor F. Pamplona 6
  • 5. Relembrando  '  x Luz emitida Lo  x , = Le  x ,  ∫ f r  x , ' ,  Li  x , ' −'⋅n d ' BRDF Luz chegando Atenuação Copyright Vitor F. Pamplona 7
  • 6. Relembrando  '  x Luz emitida Lo  x , = Le  x ,  ∫ f r  x , ' ,  Li  x , ' −'⋅n d ' BRDF Luz chegando Atenuação Kajiya, James T.Copyright Vitor F. Pamplona (1986). The rendering equation. Siggraph 1986 8
  • 7. Nosso problema  '  x Luz emitida Lo  x , = Le  x ,  ∫ f r  x , ' ,  Li  x , ' −'⋅n d ' BRDF Luz chegando Atenuação Copyright Vitor F. Pamplona 9
  • 8. Path Tracing Kajiya, James T.Copyright Vitor F. Pamplona (1986). The rendering equation. Siggraph 1986 10
  • 9. Path Tracing Kajiya, James T.Copyright Vitor F. Pamplona (1986). The rendering equation. Siggraph 1986 11
  • 10. Path Tracing Kajiya, James T.Copyright Vitor F. Pamplona (1986). The rendering equation. Siggraph 1986 12
  • 11. Path Tracing Kajiya, James T.Copyright Vitor F. Pamplona (1986). The rendering equation. Siggraph 1986 13
  • 12. Path Tracing Kajiya, James T.Copyright Vitor F. Pamplona (1986). The rendering equation. Siggraph 1986 14
  • 13. Path Tracing Kajiya, James T.Copyright Vitor F. Pamplona (1986). The rendering equation. Siggraph 1986 15
  • 14. Path Tracing Kajiya, James T.Copyright Vitor F. Pamplona (1986). The rendering equation. Siggraph 1986 16
  • 15. Path Tracing Kajiya, James T.Copyright Vitor F. Pamplona (1986). The rendering equation. Siggraph 1986 17
  • 16. Photon Mapping Copyright Vitor F. Pamplona 18
  • 17. Algoritmo de Photon Mapping ● Photon Tracing ● Emissão de fótons pelas fontes de luz ● Armazenando numa estrutura de dados ● Path tracing ● Para cada superfície difusa – Consulta os fótons armazenados – Soma a radiância local – Aplica na equação de rendering Copyright Vitor F. Pamplona 19
  • 18. Algoritmo de Photon Mapping ● Photon Tracing ● Emissão de fótons pelas fontes de luz ● Armazenando numa estrutura de dados ● Path tracing ● Para cada superfície difusa – Consulta os fótons armazenados – Soma a radiância local – Aplica na equação de rendering Copyright Vitor F. Pamplona 20
  • 19. Photon Tracing Copyright Vitor F. Pamplona 21
  • 20. Photon Tracing Luz Vidro Espelho Copyright Vitor F. Pamplona 22
  • 21. Photon Tracing Luz Lançar Fótons Vidro Espelho Copyright Vitor F. Pamplona 23
  • 22. Photon Tracing Luz Vidro Espelho Copyright Vitor F. Pamplona 24
  • 23. Photon Tracing Luz Roleta Russa Roleta Russa Vidro Espelho Copyright Vitor F. Pamplona 25
  • 24. Photon Tracing Luz Roleta Russa Absorveu Vidro Espelho Copyright Vitor F. Pamplona 26
  • 25. Photon Tracing Luz Refletiu Vidro Espelho Copyright Vitor F. Pamplona 27
  • 26. Photon Tracing Luz Absorveu Refletiu Vidro Espelho Copyright Vitor F. Pamplona 28
  • 27. Photon Tracing Luz Refletiu Vidro Espelho Copyright Vitor F. Pamplona 29
  • 28. Photon Tracing Luz Refletiu Vidro Espelho Absorveu Copyright Vitor F. Pamplona 30
  • 29. Photon Tracing Luz Refletiu Vidro Espelho Copyright Vitor F. Pamplona 31
  • 30. Photon Tracing Luz Vidro Espelho Refletiu Copyright Vitor F. Pamplona 32
  • 31. Photon Tracing Luz Vidro Espelho Refletiu Absorveu Copyright Vitor F. Pamplona 33
  • 32. Photon Tracing Luz Refratou Vidro Espelho Copyright Vitor F. Pamplona 34
  • 33. Photon Tracing Luz Absorveu Vidro Espelho Refratou Copyright Vitor F. Pamplona 35
  • 34. Algoritmo de Photon Mapping ● Photon Tracing ● Emissão de fótons pelas fontes de luz ● Armazenando numa estrutura de dados ● Path tracing ● Para cada superfície difusa – Consulta os fótons armazenados – Soma a radiância local – Aplica na equação de rendering Copyright Vitor F. Pamplona 36
  • 35. Path Tracing Vidro Espelho Copyright Vitor F. Pamplona 37
  • 36. Path Tracing Vidro Espelho Copyright Vitor F. Pamplona 38
  • 37. Path Tracing N=3 p3 p2 p1 x Vidro Espelho Copyright Vitor F. Pamplona 39
  • 38. Path Tracing N=3 p3 p2 p1 x V Vidro Espelho Copyright Vitor F. Pamplona 40
  • 39. Path Tracing N=3 p3 p2 p1 x V 3 ∑ E  pi  I x = i=1 V Vidro Espelho Copyright Vitor F. Pamplona 41
  • 40. Path Tracing N=3 Vidro Espelho x Copyright Vitor F. Pamplona 42
  • 41. Path Tracing N=3 p2 Vidro Espelho p1 p3 x Copyright Vitor F. Pamplona 43
  • 42. Path Tracing N=3 3 ∑ E  pi  I x = i=1 V p2 Vidro Espelho V p1 p3 x Copyright Vitor F. Pamplona 44
  • 43. Path Tracing N=3 Vidro Espelho Copyright Vitor F. Pamplona 45
  • 44. Path Tracing N=3 Vidro x Espelho Copyright Vitor F. Pamplona 46
  • 45. Path Tracing N=3 p2 Vidro x Espelho p1 p3 Copyright Vitor F. Pamplona 47
  • 46. Path Tracing N=3 3 ∑ E  pi  p2 I x = i=1 V Vidro x Espelho V p1 p3 Copyright Vitor F. Pamplona 48
  • 47. Path Tracing N=3 p2 Vidro x Espelho p1 p3 Copyright Vitor F. Pamplona 49
  • 48. Path Tracing N=3 p2 Vidro x Espelho p1 p3 Copyright Vitor F. Pamplona 50
  • 49. Path Tracing N=3 Vidro Espelho Copyright Vitor F. Pamplona 51
  • 50. Path Tracing N=3 Vidro Espelho x Copyright Vitor F. Pamplona 52
  • 51. Path Tracing N=3 Vidro Espelho p1 p3 x p2 Copyright Vitor F. Pamplona 53
  • 52. Path Tracing N=3 3 ∑ E  pi  I x = i=1 V Vidro Espelho p1 p3 x p2 V Copyright Vitor F. Pamplona 54
  • 53. Path Tracing N=3 Vidro Espelho p1 p3 x p2 Copyright Vitor F. Pamplona 55
  • 54. Algoritmo de Photon Mapping ● Photon Tracing ● Emissão de fótons pelas fontes de luz ● Armazenando numa estrutura de dados ● Path tracing ● Para cada superfície difusa – Consulta os fótons armazenados – Soma a radiância local – Aplica na equação de rendering Copyright Vitor F. Pamplona 56
  • 55. Algoritmo de Photon Mapping ● Photon Tracing ● Emissão de fótons pelas fontes de luz ● Armazenando numa estrutura de dados ● Path tracing ● Para cada superfície difusa – Consulta os fótons armazenados – Soma a radiância local – Aplica na equação de rendering Copyright Vitor F. Pamplona 57
  • 56. Estrutura de Dados Espacial: Kd-Tree ● Árvore binária Copyright Vitor F. Pamplona 58
  • 57. Estrutura de Dados Espacial: Kd-Tree ● Árvore binária p2 p1 p3 p4 Copyright Vitor F. Pamplona 59
  • 58. Estrutura de Dados Espacial: Kd-Tree ● Árvore binária p2 L1 p1 p3 p4 Copyright Vitor F. Pamplona 60
  • 59. Estrutura de Dados Espacial: Kd-Tree ● Árvore binária p2 L1 p1 p3 L2 p4 Copyright Vitor F. Pamplona 61
  • 60. Estrutura de Dados Espacial: Kd-Tree ● Árvore binária p2 L1 p1 p3 L2 p1 p2 p4 Copyright Vitor F. Pamplona 62
  • 61. Estrutura de Dados Espacial: Kd-Tree ● Árvore binária p2 L1 p1 p3 L2 L3 p1 p2 p4 Copyright Vitor F. Pamplona 63
  • 62. Estrutura de Dados Espacial: Kd-Tree ● Árvore binária p2 L1 p1 p3 L2 L3 p1 p2 p3 p4 p4 Copyright Vitor F. Pamplona 64
  • 63. Estrutura de Dados Espacial: Kd-Tree ● Pesquisa pelos 2 vizinhos mais próximos p2 L1 p1 p3 L2 L3 p1 p2 p3 p4 x p4 Copyright Vitor F. Pamplona 65
  • 64. Estrutura de Dados Espacial: Kd-Tree ● Pesquisa pelos 2 vizinhos mais próximos p2 L1 p1 p3 L2 L3 p1 p2 p3 p4 x p4 Copyright Vitor F. Pamplona 66
  • 65. Estrutura de Dados Espacial: Kd-Tree ● Pesquisa pelos 2 vizinhos mais próximos p2 L1 p1 p3 L2 L3 p1 p2 p3 p4 x p4 Copyright Vitor F. Pamplona 67
  • 66. Estrutura de Dados Espacial: Kd-Tree ● Pesquisa pelos 2 vizinhos mais próximos p2 L1 p1 p3 L2 L3 p1 p2 p3 p4 x p4 Mais próximos: p4 Copyright Vitor F. Pamplona 68
  • 67. Estrutura de Dados Espacial: Kd-Tree ● Pesquisa pelos 2 vizinhos mais próximos p2 L1 p1 p3 L2 L3 p1 p2 p3 p4 x p4 Mais próximos: p4, p3 Copyright Vitor F. Pamplona 69
  • 68. Estrutura de Dados Espacial: Kd-Tree ● Pesquisa pelos 2 vizinhos mais próximos p2 L1 p1 p3 L2 L3 p1 p2 p3 p4 x p4 Mais próximos: p4, p3 Copyright Vitor F. Pamplona 70
  • 69. Estrutura de Dados Espacial: Kd-Tree ● Pesquisa pelos 2 vizinhos mais próximos p2 L1 p1 p3 L2 L3 p1 p2 p3 p4 x p4 Mais próximos: p4, p3 Copyright Vitor F. Pamplona 71
  • 70. Armazenamento em 3D p2 p4 p3 p1 p5 p6 p9 p8 p7 Copyright Vitor F. Pamplona 72
  • 71. Armazenamento em 3D p2 p4 p3 p1 p5 p6 p9 p8 p7 Copyright Vitor F. Pamplona 73
  • 72. Armazenamento em 3D p2 p4 p3 p1 p5 p6 p9 p8 p7 Copyright Vitor F. Pamplona 74
  • 73. Armazenamento em 3D p2 p4 p3 p1 p5 p6 p9 p8 p7 Copyright Vitor F. Pamplona 75
  • 74. Armazenamento em 3D p2 p4 p3 p1 p5 p6 p9 p8 p7 Copyright Vitor F. Pamplona 76
  • 75. Mapa de Fótons L2 L1 p2 p4 L8 L4 p3 L2 L3 p1 L5 L4 L5 L6 L7 p5 p1 p2 P3 L8 p6 p7 p8 p9 L1 p6 p4 p5 L7 L6 p8 p7 p9 L3 Copyright Vitor F. Pamplona 77
  • 76. Algoritmo de Photon Mapping ● Photon Tracing ● Emissão de fótons pelas fontes de luz ● Armazenando numa estrutura de dados ● Path tracing ● Para cada superfície difusa – Consulta os fótons armazenados – Soma a radiância local – Aplica na equação de rendering Copyright Vitor F. Pamplona 78
  • 77. Algoritmo de Photon Mapping ● Photon Tracing ● Emissão de fótons pelas fontes de luz ● Armazenando numa estrutura de dados ● Path tracing ● Para cada superfície difusa – Consulta os fótons armazenados – Soma a radiância local – Aplica na equação de rendering Copyright Vitor F. Pamplona 79
  • 78. Equação de Rendering  '  x Luz emitida Lo  x , = Le  x ,  ∫ f r  x , ' ,  Li  x , ' − '⋅n d ' BRDF Luz chegando Atenuação Copyright Vitor F. Pamplona 80
  • 79. Equação de Rendering e Mapa de Fótons  '  x ∫ f r  x , ' ,  Li  x ,  ' −'⋅n d ' BRDF Luz chegando Atenuação Copyright Vitor F. Pamplona 81
  • 80. Equação de Rendering e Mapa de Fótons  '  Photon Tracing x ∫ f r  x , ' ,  Li  x ,  ' −'⋅n d ' BRDF Luz chegando Atenuação Copyright Vitor F. Pamplona 82
  • 81. Equação de Rendering e Mapa de Fótons   x ∫ f r  x , ' ,  Li  x ,  ' −'⋅n d ' BRDF Luz chegando Atenuação Copyright Vitor F. Pamplona 83
  • 82. Equação de Rendering e Mapa de Fótons N  ∑ E  pi   I x = i=1 V x ∫ f r  x , ' ,  Li  x ,  ' −'⋅n d ' BRDF Luz chegando Atenuação Copyright Vitor F. Pamplona 84
  • 83. Equação de Rendering e Mapa de Fótons N  ∑ E  pi   I x = i=1 V x Fluxo  ∫ f r  x , ' ,  Li  x ,  ' −'⋅n d ' BRDF Luz chegando Atenuação Copyright Vitor F. Pamplona 85
  • 84. Equação de Rendering e Mapa de Fótons N  ∑ E  pi   I x = i=1 V x Fluxo  = dE dt ∫ f r  x , ' ,  Li  x ,  ' −'⋅n d ' BRDF Luz chegando Atenuação Copyright Vitor F. Pamplona 86
  • 85. Equação de Rendering e Mapa de Fótons N  ∑ E  pi   I x = i=1 V x Fluxo  ∫ f r  x , ' ,  Li  x ,  ' −'⋅n d ' BRDF Luz chegando Atenuação Copyright Vitor F. Pamplona 87
  • 86. Equação de Rendering e Mapa de Fótons N  ∑ E  pi   I x = i=1 V x Fluxo  ∫ f r  x , ' ,  Li  x ,  ' −'⋅n d ' BRDF Radiância Atenuação Copyright Vitor F. Pamplona 88
  • 87. Equação de Rendering e Mapa de Fótons N  ∑ E  pi   I x = i=1 V 2 x d  x ,− '  Fluxo  L x , ' = − '⋅n d  ' dA ∫ f r  x , ' ,  Li  x ,  ' −'⋅n d ' BRDF Radiância Atenuação Copyright Vitor F. Pamplona 89
  • 88. Equação de Rendering e Mapa de Fótons N  ∑ E  pi   I x = i=1 V 2 x d  x ,− '  Fluxo  L x , ' = − '⋅n d  ' dA 2 d  x ,− '  ∫ f r  x , ' ,  −'⋅n d ' −'⋅n d ' dA Atenuação BRDF Radiância Copyright Vitor F. Pamplona 90
  • 89. Equação de Rendering e Mapa de Fótons N  ∑ E  pi   I x = i=1 V x Fluxo  2 d  x ,− '  ∫ f r  x , ' ,  −'⋅n d ' −'⋅n d ' dA Atenuação BRDF Radiância Copyright Vitor F. Pamplona 91
  • 90. Equação de Rendering e Mapa de Fótons N  ∑ E  pi   I x = i=1 V x Fluxo  2 d  x ,− '  ∫ f r  x , ' ,  −'⋅n d ' −'⋅n d ' dA Atenuação BRDF Radiância Copyright Vitor F. Pamplona 92
  • 91. Equação de Rendering e Mapa de Fótons N  ∑ E  pi   I x = i=1 V x Fluxo  2 d  x ,− '  ∫ f r  x , ' ,  −'⋅n d ' dA BRDF Radiância Copyright Vitor F. Pamplona 93
  • 92. Equação de Rendering e Mapa de Fótons N  ∑ E  pi   I x = i=1 V x Fluxo  2 d  x ,− '  ∫ f r  x , ' ,  dA BRDF Radiância Copyright Vitor F. Pamplona 94
  • 93. Equação de Rendering e Mapa de Fótons N  ∑ E  pi   I x = i=1 V x Consulta ao Photon Map 2 d  x ,− '  ∫ f r  x , ' ,  dA BRDF Radiância Copyright Vitor F. Pamplona 95
  • 94. Equação de Rendering e Mapa de Fótons N  ∑ E  pi   I x = i=1 V x Consulta ao Photon Map 2 d  x ,− '  ∫ f r  x , ' ,  dA BRDF Radiância Copyright Vitor F. Pamplona 96
  • 95. Equação de Rendering e Mapa de Fótons N  ∑ E  pi   I x = i=1 V x Consulta ao Photon Map N 2 d  x ,−'  ∑ f r  x ,  ' ,  dA i=1 BRDF Radiância Copyright Vitor F. Pamplona 97
  • 96. Equação de Rendering e Mapa de Fótons N  ∑ E  pi   I x = i=1 V x Consulta ao Photon Map N 2 d  x ,−'  ∑ f r  x ,  ' ,  dA i=1 BRDF Radiância Copyright Vitor F. Pamplona 98
  • 97. Equação de Rendering e Mapa de Fótons N  ∑ E  pi   I x = i=1 V x Consulta ao Photon Map N 2 d  x ,−'  ∑ f r  x ,  ' ,  r 2 i=1 BRDF Radiância Copyright Vitor F. Pamplona 99
  • 98. Equação de Rendering e Mapa de Fótons N  ∑ E  pi   I x = i=1 V Fótons estão sempre sobre uma superfície x Consulta ao Photon Map N 2 d  x ,−'  ∑ f r  x ,  ' ,  r 2 i=1 BRDF Radiância Copyright Vitor F. Pamplona 100
  • 99. Equação de Rendering e Mapa de Fótons N  ∑ E  pi   I x = i=1 V Fótons estão sempre sobre uma superfície x Com mais fótons o círculo de coleta diminui aproximando uma Consulta ao superfície plana Photon Map N 2 d  x ,−'  ∑ f r  x ,  ' ,  r 2 i=1 BRDF Radiância Copyright Vitor F. Pamplona 101
  • 100. Equação de Rendering e Mapa de Fótons   x Consulta ao Photon Map N 2 d  x ,−'  ∑ f r  x ,  ' ,  r 2 i=1 BRDF Radiância Copyright Vitor F. Pamplona 102
  • 101. Equação de Rendering e Mapa de Fótons   x Consulta ao Photon Map N 2 d  x ,−'  ∑ f r  x ,  ' ,  r 2 i=1 BRDF Radiância Copyright Vitor F. Pamplona 103
  • 102. Acabou? Lo  x , = Le  x ,  N 2 d  x ,−'  ∑ f r  x , ' ,  2 i=1 r Copyright Vitor F. Pamplona 104
  • 103. Acabou? Lo  x , = Le  x ,  N 2 d  x ,−'  ∑ f r  x , ' ,  2 i=1 r Copyright Vitor F. Pamplona 105
  • 104. Tipos de Fótons Difusa Luz Refletiva Transparente Copyright Vitor F. Pamplona 106
  • 105. Tipos de Fótons Iluminação Direta Difusa Luz Refletiva Iluminação Transparente Direta Copyright Vitor F. Pamplona 107
  • 106. Tipos de Fótons Iluminação Direta Difusa Luz Refletiva Iluminação Transparente Direta Copyright Vitor F. Pamplona 108
  • 107. Tipos de Fótons Iluminação Direta Difusa Luz Refletiva Iluminação Transparente Direta Copyright Vitor F. Pamplona 109
  • 108. Tipos de Fótons Iluminação Indireta Iluminação Direta Difusa Luz Refletiva Iluminação Transparente Direta Copyright Vitor F. Pamplona 110
  • 109. Tipos de Fótons Iluminação Indireta Iluminação Direta Difusa Luz Refletiva Iluminação Transparente Direta Copyright Vitor F. Pamplona 111
  • 110. Tipos de Fótons Iluminação Indireta Iluminação Direta Difusa Luz Refletiva Iluminação Transparente Direta Copyright Vitor F. Pamplona 112
  • 111. Tipos de Fótons Iluminação Indireta Iluminação Direta Difusa Luz Cáusticas Refletiva Iluminação Transparente Direta Copyright Vitor F. Pamplona 113
  • 112. Tipos de Fótons Iluminação Indireta Iluminação Direta Difusa Luz Cáusticas Refletiva Iluminação Transparente Direta Copyright Vitor F. Pamplona 114
  • 113. Distribuição dos Fótons Copyright Vitor F. Pamplona 115
  • 114. Distribuição dos Fótons Direta Indireta Cáusticas Renderizado Esperado Copyright Vitor F. Pamplona 116
  • 115. Com 1 Único Mapa de Fótons  x Copyright Vitor F. Pamplona 117
  • 116. Usar 3 Mapas de Fótons  x Direta Copyright Vitor F. Pamplona 118
  • 117. Usar 3 Mapas de Fótons  x Indireta Copyright Vitor F. Pamplona 119
  • 118. Usar 3 Mapas de Fótons  x Cáusticas Copyright Vitor F. Pamplona 120
  • 119. Iluminação Direta Parâmetros Direto: 100.000 Indireto: 0 Cáusticas: 0 Copyright Vitor F. Pamplona 121
  • 120. Iluminação Indireta Parâmetros Direto: 0 Indireto: 100.000 Cáusticas: 0 Copyright Vitor F. Pamplona 122
  • 121. Cáusticas Parâmetros Direto: 0 Indireto: 0 Cáusticas: 100.000 Copyright Vitor F. Pamplona 123
  • 122. Resultado com Poucos Fótons Parâmetros Círculos na cena Direto: 100.000 Indireto: 100.000 Cáusticas: 200.000 N: 100 Artefatos Sombras suaves Copyright Vitor F. Pamplona 124
  • 123. Resultado com Muitos Fótons Parâmetros Direto: 2.000.000 Indireto: 30.000.000 Cáusticas: 200.000 N: 20.000 Copyright Vitor F. Pamplona 125
  • 124. Parâmetros do Photon Mapping ● Quantidade de fótons para cada mapa ● Quanto maior o número de fótons, menos artefatos ● Deve-se estimar uma boa proporção de fótons Copyright Vitor F. Pamplona 126
  • 125. Parâmetros do Photon Mapping ● Quantidade de fótons para cada mapa ● Quanto maior o número de fótons, menos artefatos ● Deve-se estimar uma boa proporção de fótons Milhares de Fótons Milhões de Fótons Copyright Vitor F. Pamplona 127
  • 126. Parâmetros do Photon Mapping ● Quantidade de fótons para cada mapa ● Quanto maior o número de fótons, menos artefatos ● Deve-se estimar uma boa proporção de fótons ● Número de fótons vizinhos a integrar (N) ● Quanto maior, mais suave serão as variações de iluminação Copyright Vitor F. Pamplona 128
  • 127. Parâmetros do Photon Mapping ● Quantidade de fótons para cada mapa ● Quanto maior o número de fótons, menos artefatos ● Deve-se estimar uma boa proporção de fótons ● Número de fótons vizinhos a integrar (N) ● Quanto maior, mais suave serão as variações de iluminação N = 100 N = 20.000 Copyright Vitor F. Pamplona 129
  • 128. Photon Mapping: Prós ● Performance independe do número de pixels da imagem ● Apenas 1 raio por pixel no Path Tracing Copyright Vitor F. Pamplona 130
  • 129. Photon Mapping: Prós ● Performance independe do número de pixels da imagem ● Apenas 1 raio por pixel no Path Tracing ● Suporta vários materiais ● Superfícies difusas não lambertianas, ● Superfícies refletivas e transparentes ● Participating media e subsurface scattering Copyright Vitor F. Pamplona 131
  • 130. Photon Mapping: Prós ● Performance independe do número de pixels da imagem ● Apenas 1 raio por pixel no Path Tracing ● Suporta vários materiais ● Superfícies difusas não lambertianas, ● Superfícies refletivas e transparentes ● Participating media e subsurface scattering ● Suporta spectral rendering ● Suavização do ruído inerente dos métodos de Monte Carlo ● Se acopla facilmente nas implementações de ray tracing Copyright Vitor F. Pamplona 132
  • 131. Photon Mapping: Contras ● Alto uso de memória ● Baixa performance com muitas fontes de luz ● Kd-trees muito grandes ● Parâmetros são escolhidos arbitrariamente ● Não executa em tempo real Copyright Vitor F. Pamplona 133
  • 132. Sumário ● Algoritmo de Photon Mapping ● Photon tracing ● Path tracing ● Estrutura de dados espacial (Kd-tree) ● A adaptação da equação de rendering ● Tipos de iluminação e os mapas de fótons ● Parâmetros a arbitrar ● Prós e Contras do Algoritmo Copyright Vitor F. Pamplona 142
  • 133. Obrigado, perguntas? Vitor F. Pamplona Imagem extraída de H.W. Jensen 1986: Global Illumination using Photon Maps