A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Por Rodrigo Botelho da Silva Computação Gráfica Prof. Dr. Paulo Roberto Gomes Luzzardi Universidade Católica de Pelotas.

Apresentações semelhantes


Apresentação em tema: "Por Rodrigo Botelho da Silva Computação Gráfica Prof. Dr. Paulo Roberto Gomes Luzzardi Universidade Católica de Pelotas."— Transcrição da apresentação:

1 por Rodrigo Botelho da Silva Computação Gráfica Prof. Dr. Paulo Roberto Gomes Luzzardi Universidade Católica de Pelotas

2 Sumário 1. Introdução 2. Histórico 3. Ray Tracing 4. Ray Casting 5. Ray Tracing (continuação) 6. Ray Tracing Recursivo 6.1. Sombra 6.2. Reflexão 6.3. Refração 6.4. Transparência (Refração) 6.5. Antialising 7. Ray Tracing Distribuido 7.1. Depth of Field 7.2. Motion Blur 7.3. Penumbra 7.4. Reflexão Borrada 7.5. Translucência 8. Ray Tracing Parametrizado 9. Radiosidade com Ray Tracing 10. Imagens 11. Referências

3 1. Introdução A Computação Gráfica se divide em duas áreas: Modelagem e Visualização. A Computação Gráfica se divide em duas áreas: Modelagem e Visualização. Ray Tracing é um método de visualização de imagens. Ray Tracing é um método de visualização de imagens. É considerada a mais poderosa e de simples implementação dentre as existentes. Em compensação é dificilmente usada em aplicações em tempo real, pois são necessárias várias horas para a renderização da cena, obtendo um alto grau de realismo. É considerada a mais poderosa e de simples implementação dentre as existentes. Em compensação é dificilmente usada em aplicações em tempo real, pois são necessárias várias horas para a renderização da cena, obtendo um alto grau de realismo. É capaz de gerar imagens apartir de cenas consideradas de alta complexidade, ou seja, por possuírem muitos objetos e efeitos de sombras, reflexos, refração, texturas e sombreamento das superfícies visíveis. É capaz de gerar imagens apartir de cenas consideradas de alta complexidade, ou seja, por possuírem muitos objetos e efeitos de sombras, reflexos, refração, texturas e sombreamento das superfícies visíveis. Simula a propagação da luz e a interação dela com os objetos de uma cena. Simula a propagação da luz e a interação dela com os objetos de uma cena.

4 2. Histórico Em 1968, Appel desenvolveu um algoritmo para determinar sombras em um cena, e se um ponto visível estaria na zona de sombra ou não. Esse algoritmo serve de base para todas as implementações do algoritmo de Ray Tracing. Em 1968, Appel desenvolveu um algoritmo para determinar sombras em um cena, e se um ponto visível estaria na zona de sombra ou não. Esse algoritmo serve de base para todas as implementações do algoritmo de Ray Tracing. Em 1968, Goldstein, e em 1971, Nadel, desenvolveram algoritmos para calculo de trajetórias balisticas e particulas nucleares. Algum tempo depois, conjuntamente com o algoritmo de Appel, foram aplicados na geração de imagens. Em 1968, Goldstein, e em 1971, Nadel, desenvolveram algoritmos para calculo de trajetórias balisticas e particulas nucleares. Algum tempo depois, conjuntamente com o algoritmo de Appel, foram aplicados na geração de imagens. Em 1979, Kay introduziu modificações no algoritmo para o cálculo mais correto de iluminação especular e refração da luz. Em 1979, Kay introduziu modificações no algoritmo para o cálculo mais correto de iluminação especular e refração da luz.

5 2. Histórico Em 1980, Whitted melhorou a refração da luz. Criou imagens impressionantes para a época por causa de sua qualidade. Em 1980, Whitted melhorou a refração da luz. Criou imagens impressionantes para a época por causa de sua qualidade. O algoritmo sofreu alterações em 1984, possibilitando efeitos de penumbra, motion blur, depth of field, entre outros. O algoritmo sofreu alterações em 1984, possibilitando efeitos de penumbra, motion blur, depth of field, entre outros. Em 1989, Séquim e Smyryl introduziram formalmente a técnica de Ray Tracing Parametrizado. Em 1989, Séquim e Smyryl introduziram formalmente a técnica de Ray Tracing Parametrizado.

6 3. Ray Tracing Simula a geometria ótica envolvida no trajeto dos raios de luz que viajam pelo espaço da cena. Simula a geometria ótica envolvida no trajeto dos raios de luz que viajam pelo espaço da cena. Normalmente, os raios de luz vindo dos objetos chegam aos nosso olhos. Por motivos computacionais, esse processo é feito ao contrário. Supostamente os raios que saem dos olhos do observador e que passam pela tela, percorrem a cena. Normalmente, os raios de luz vindo dos objetos chegam aos nosso olhos. Por motivos computacionais, esse processo é feito ao contrário. Supostamente os raios que saem dos olhos do observador e que passam pela tela, percorrem a cena. Pintamos a tela com a cor do objeto mais próximo. Pintamos a tela com a cor do objeto mais próximo.

7 3. Ray Tracing – Algoritmo Básico Para cada ponto da tela Calcule uma linha reta unindo o olho do observador a este ponto Calcule uma linha reta unindo o olho do observador a este ponto Descubra as interseções desta reta com os objetos 3D que estão atrás da tela Descubra as interseções desta reta com os objetos 3D que estão atrás da tela Pinte o ponto com a cor do objeto mais próximo Pinte o ponto com a cor do objeto mais próximo

8 3. Ray Tracing Ray Tracing gasta de 75% a 95% do tempo total de processamento com intersecções. A Eficiência neste ponto afeta significativamente o tempo de processamento. Ray Tracing gasta de 75% a 95% do tempo total de processamento com intersecções. A Eficiência neste ponto afeta significativamente o tempo de processamento. O cálculo da cor é influenciado pela iluminação que nele incide, pela textura e pela rugosidade do objeto. O cálculo da cor é influenciado pela iluminação que nele incide, pela textura e pela rugosidade do objeto. Lançar os raios no caminho tradicional é impraticável, pois de uma fonte de luz partem bilhões de fótons, formadores de raios luminosos, sabendo que uma pequeníssima parte deles chegam ao olho do observador. Simular isso seria anos de renderização para uma cena simples. Lançar os raios no caminho tradicional é impraticável, pois de uma fonte de luz partem bilhões de fótons, formadores de raios luminosos, sabendo que uma pequeníssima parte deles chegam ao olho do observador. Simular isso seria anos de renderização para uma cena simples.

9 4. Ray Casting Versão simplificada do Ray Tracing. Versão simplificada do Ray Tracing. Usado para remover ou ignorar faces ocultas. Utiliza a informação das intersecções para isso. Usado para remover ou ignorar faces ocultas. Utiliza a informação das intersecções para isso. Não avalia efeitos da cena usando lançamento de raios secundários, e sim utilizando métodos matemáticos para isso. Elimina o custo computacional exigido para o cálculo de reflexões, refrações e zonas de sombra. Não avalia efeitos da cena usando lançamento de raios secundários, e sim utilizando métodos matemáticos para isso. Elimina o custo computacional exigido para o cálculo de reflexões, refrações e zonas de sombra. Método mais apropriado para a renderização em jogos 3D de tempo-real. Método mais apropriado para a renderização em jogos 3D de tempo-real.

10 5. Ray Tracing O algoritmo de Ray Tracing deve considerar os seguintes pontos: O algoritmo de Ray Tracing deve considerar os seguintes pontos: - Os raios primários são disparados apartir de um observador, de forma que cada um deles corresponda a um pixel da tela. - O raio percorre o espaço podendo atingir um objeto ou sair da cena. - Se o raio atingir um objeto, o ponto de intersecção é calculado. As contribuições das fontes de luz para cada ponto, levando em conta a sombra de outros objetos, também são calculadas. - Se o objeto for opaco, a soma dessas contribuições será a intensidade luminosa total naquele ponto. - Caso não for opaco, as contribuições devidas aos reflexos, e refrações, serão também computadas. O pixel correspondente pode ser exibido. - Se não houver intersecção, o pixel terá a cor de fundo. - Para o cálculo dos efeitos presentes em uma cena, são utilizados raios secundários. Estes são disparados apartir dos pontos de intersecção dos raios primários com os objetos da cena. Os raios secundários são disparados recursivamente, sendo que eles também podem vir a realizar chamadas recursivas.

11 6. Ray Tracing Recursivo O algoritmo de Ray Tracing se torna recursivo apartir do momento que consideramos os efeitos realísticos presentes na cena. Para o cálculo deste utiliza-se raios secundários, gerados na intersecção dos raios primários com os objetos da cena. O algoritmo de Ray Tracing se torna recursivo apartir do momento que consideramos os efeitos realísticos presentes na cena. Para o cálculo deste utiliza-se raios secundários, gerados na intersecção dos raios primários com os objetos da cena. O algoritmo então executa as seguintes tarefas: O algoritmo então executa as seguintes tarefas: - Traça um raio apartir do observador, cruzando por um dos pixels da tela onde desejasse representar a cena; - Determina qual é o primeiro objeto que intercepta esse raio; - Calcula a cor nesse ponto do objeto, considerando as características dele e a luz ambiente. - Se o objeto é reflexivo, traçar um novo raio apartir desse ponto na direção calcula como a de reflexo. - Se o objeto é transparente, traçar um novo raio apartir desse ponto. - Considera a cor dos objetos interseccionados, até finalmente sair da cena ou chega a fonte de luz, usando isso para determinar a cor do pixel e se há sombras.

12 6.1. Sombra A inclusão de sombra com Ray Tracing é dada pelo cálculo de um vetor V em direção a luz partindo de um ponto. Se o vetor interseccionar com qualquer objeto da cena quer dizer que o ponto está na sombra e a luz do mesmo é diminuída, caso contrário ele está na luz. A inclusão de sombra com Ray Tracing é dada pelo cálculo de um vetor V em direção a luz partindo de um ponto. Se o vetor interseccionar com qualquer objeto da cena quer dizer que o ponto está na sombra e a luz do mesmo é diminuída, caso contrário ele está na luz. No exemplo, os pontos P1 e P2 geram os vetores V1 e V2 respectivamente. Ambos são projetos em direção a luz, e V1 chega até a luz, mas V2 é obstruído por um objeto. No exemplo, os pontos P1 e P2 geram os vetores V1 e V2 respectivamente. Ambos são projetos em direção a luz, e V1 chega até a luz, mas V2 é obstruído por um objeto.

13 Sombra - Exemplo

14 6.2. Reflexão Um raio de luz atingindo a superfície, e é refletido segundo a lei da ótica que diz que o raio é refletido na mesma direção que incidiu sobre a superfície. Assim podemos visualizar como se um novo raio fosse lançado apartir desse ponto, só que na direção da reflexão. Esse ponto será calculado apartir do raio refletido. Um raio de luz atingindo a superfície, e é refletido segundo a lei da ótica que diz que o raio é refletido na mesma direção que incidiu sobre a superfície. Assim podemos visualizar como se um novo raio fosse lançado apartir desse ponto, só que na direção da reflexão. Esse ponto será calculado apartir do raio refletido.

15 Reflexão - Exemplo

16 6.3. Refração Desvio gerado pela penetração da luz no objeto. O cálculo de refração leva em consideração a Lei da Refração, que determina que um raio de luz sempre sofre um desvio na sua trajetória quando transita por meios com densidades diferentes. Desvio gerado pela penetração da luz no objeto. O cálculo de refração leva em consideração a Lei da Refração, que determina que um raio de luz sempre sofre um desvio na sua trajetória quando transita por meios com densidades diferentes. Objetos transparente funcionam como filtros. Por um objeto verde é iluminado por uma fonte de luz, deixar passar apenas luz verde, absorvendo os componentes vermelho e azul. Objetos transparente funcionam como filtros. Por um objeto verde é iluminado por uma fonte de luz, deixar passar apenas luz verde, absorvendo os componentes vermelho e azul.

17 Refração - Exemplo

18 6.4. Iluminação O cálculo da interação da luz com a cena ainda é um grande problema. Ainda não existe um modelo computacional que consiga descrever perfeitamente esse fenômeno. O cálculo da interação da luz com a cena ainda é um grande problema. Ainda não existe um modelo computacional que consiga descrever perfeitamente esse fenômeno. Existem vários modelo, exemplo o de Phong, constituído de 3 componentes de iluminação: ambiente, difusa e especular. Existem vários modelo, exemplo o de Phong, constituído de 3 componentes de iluminação: ambiente, difusa e especular.

19 Iluminação - Ambiente Gera uma iluminação constante em todos os pontos do objeto Gera uma iluminação constante em todos os pontos do objeto Depende da cor do objeto. Depende da cor do objeto.

20 Iluminação - Difusa Se a superfície é perfeitamente difusa, ela reflete igualmente em todas as direções. Se a superfície é perfeitamente difusa, ela reflete igualmente em todas as direções. Depende da cor do objeto e a posição da luz. Depende da cor do objeto e a posição da luz. Acontece quando a superfície do objeto é opaca ou escura. Acontece quando a superfície do objeto é opaca ou escura. Cria um efeito degrade no objeto. Cria um efeito degrade no objeto.

21 Iluminação - Especular A superfície aparecerá brilhante para uma única direção do observador, as demais permaneceram escuras. A superfície aparecerá brilhante para uma única direção do observador, as demais permaneceram escuras.

22 Iluminação - Completa

23 6.5. Antialising Problema muito encontrado em imagens geradas por computador, onde notamos o desagradável efeito escada. Problema muito encontrado em imagens geradas por computador, onde notamos o desagradável efeito escada. Falha na geração da imagem devido a natureza discreta do monitor. Falha na geração da imagem devido a natureza discreta do monitor. O Ray Tracing nos possibilita acionar a opção para tratamento de anti- alising. O Ray Tracing nos possibilita acionar a opção para tratamento de anti- alising. Solucionar esse problema é impossível, pois corresponde a um problema físico, mas podemos usar técnicas satisfatórias. Solucionar esse problema é impossível, pois corresponde a um problema físico, mas podemos usar técnicas satisfatórias. Uma técnica usada é a supersambling (super-amostragem), que se trata de que devemos lançar mais raios por pixel, calculando suas intensidades, assim tratando sub-pixels, e calculando depois uma média aritmética ou ponderada desses valores. O tempo de processamento aumenta a medida que o número de raios lançados por pixel aumenta. Uma técnica usada é a supersambling (super-amostragem), que se trata de que devemos lançar mais raios por pixel, calculando suas intensidades, assim tratando sub-pixels, e calculando depois uma média aritmética ou ponderada desses valores. O tempo de processamento aumenta a medida que o número de raios lançados por pixel aumenta.

24 Sem tratamento de alisingCom tratamento de alising

25 7. Ray Tracing Distribuido Diferencia-se do Ray Tracing Clássico quando falamos em lançamentos de raios. Ele utiliza vários raios distribuídos no tempo (borramento por movimento ou “motion blur”) e no espaço (profundidade de campo ou “depth of field”). Diferencia-se do Ray Tracing Clássico quando falamos em lançamentos de raios. Ele utiliza vários raios distribuídos no tempo (borramento por movimento ou “motion blur”) e no espaço (profundidade de campo ou “depth of field”). É utilizado o modelo de câmera com lentes ao invés do modelo de “pinhole”. É utilizado o modelo de câmera com lentes ao invés do modelo de “pinhole”.

26 7.1. Depth of Field Efeito que considera somente os objetos que estão focalizados estão no plano de focalização, ao contrário do modelo de pinhole onde todos estão focalizados. Efeito que considera somente os objetos que estão focalizados estão no plano de focalização, ao contrário do modelo de pinhole onde todos estão focalizados.

27 7.2. Motion Blur Essa técnica consiste em dar a cena um efeito semelhante ao de uma fotografia com objetos em movimento. Essa técnica consiste em dar a cena um efeito semelhante ao de uma fotografia com objetos em movimento. Objeto fotografado em movimento parece desfocado ou embaçado. Objeto fotografado em movimento parece desfocado ou embaçado. Considera a velocidade do objeto no momento que está sendo fotografado. Considera a velocidade do objeto no momento que está sendo fotografado.

28 7.3. Penumbra Fonte de luz é parcialmente obstruída. Fonte de luz é parcialmente obstruída. O cálculo de penumbra, os raios secundários devem ser distribuidos e lançados de acordo com a área relativa da fonte de luz. O cálculo de penumbra, os raios secundários devem ser distribuidos e lançados de acordo com a área relativa da fonte de luz. Sem PenumbraCom Penumbra

29 7.4. Reflexão Borrada O efeito de reflexão borrada(blurry reflection) é obtido com a distribuição dos raios de reflexão sobre a direção de reflexão. O efeito de reflexão borrada(blurry reflection) é obtido com a distribuição dos raios de reflexão sobre a direção de reflexão. Com Blurry Reflection Sem Blurry Reflection

30 7.5. Translucência Os raios devem ser distribuídos de acordo com a direção principal da luz transmitida. Tal distribuição é definida pela função de transmissão especular. Os raios devem ser distribuídos de acordo com a direção principal da luz transmitida. Tal distribuição é definida pela função de transmissão especular. Ray Tracing Clássico Ray Tracing Distribuido

31 8. Ray Tracing Parametrizado Renderizar a cena, guardando, para cada pixel da imagem, a árvore de raios que contém todas as informações geométricas utilizadas. Renderizar a cena, guardando, para cada pixel da imagem, a árvore de raios que contém todas as informações geométricas utilizadas. Logo após, podemos modificar os parâmetros óticos dos objetos (cor, textura,coeficientes especular, difuso, transparente, etc.), obtendo então uma nova imagem apenas reavaliando na árvore de raios de cada pixel as equações de shading. Logo após, podemos modificar os parâmetros óticos dos objetos (cor, textura,coeficientes especular, difuso, transparente, etc.), obtendo então uma nova imagem apenas reavaliando na árvore de raios de cada pixel as equações de shading. Grande quantidade de memória necessária para armazenar as árvores de raios de cada pixel da cena. Grande quantidade de memória necessária para armazenar as árvores de raios de cada pixel da cena. É útil para depurar interativamente uma cena,ajustando suas características, não precisando calcular novamente as interseções dos raios com os objetos. Isto aumenta a velocidade de renderização em até 150 vezes É útil para depurar interativamente uma cena,ajustando suas características, não precisando calcular novamente as interseções dos raios com os objetos. Isto aumenta a velocidade de renderização em até 150 vezes

32 9. Radiosidade com Ray Tracing Considerado, juntamente com o Ray Tracing, como o melhor método para gerar imagens realistas, Considerado, juntamente com o Ray Tracing, como o melhor método para gerar imagens realistas, Radiosidade consegue tratar de forma correta a reflexão da luz em superfícies difusas, coisa que não é possível com o Ray Tracing tradicional. Deste modo, efeitos como penumbras e fontes de luz com área são avaliadas corretamente. Radiosidade consegue tratar de forma correta a reflexão da luz em superfícies difusas, coisa que não é possível com o Ray Tracing tradicional. Deste modo, efeitos como penumbras e fontes de luz com área são avaliadas corretamente. Radiosiadade não consegue tratar superfícies especulares, o que é feito em Ray Tracing. Radiosiadade não consegue tratar superfícies especulares, o que é feito em Ray Tracing.

33 10. Imagens

34

35

36

37

38 11. Referências AZEVEDO, E., CONCI, A., Computação Gráfica – Teoria e Prática, Editora Elsevier, AZEVEDO, E., CONCI, A., Computação Gráfica – Teoria e Prática, Editora Elsevier, SILVA, F.W.S.V., Introdução ao Ray Tracing, COPPE-UFRJ, SILVA, F.W.S.V., Introdução ao Ray Tracing, COPPE-UFRJ, cg/laboratorio/aulas_pov/aula_1/introducao.html cg/laboratorio/aulas_pov/aula_1/introducao.html cg/laboratorio/aulas_pov/aula_1/introducao.html cg/laboratorio/aulas_pov/aula_1/introducao.html rio.br/~mgattass/fcg/trb07/gmoreira/T3/index.htm rio.br/~mgattass/fcg/trb07/gmoreira/T3/index.htm rio.br/~mgattass/fcg/trb07/gmoreira/T3/index.htm rio.br/~mgattass/fcg/trb07/gmoreira/T3/index.htm


Carregar ppt "Por Rodrigo Botelho da Silva Computação Gráfica Prof. Dr. Paulo Roberto Gomes Luzzardi Universidade Católica de Pelotas."

Apresentações semelhantes


Anúncios Google