por rodrigo botelho da silva computação gráfica prof. dr. paulo roberto gomes luzzardi...

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

Upload: internet

Post on 22-Apr-2015

104 views

Category:

Documents


1 download

TRANSCRIPT

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

por Rodrigo Botelho da Silvapor Rodrigo Botelho da Silva

Computação GráficaComputação Gráfica

Prof. Dr. Paulo Roberto Gomes LuzzardiProf. Dr. Paulo Roberto Gomes Luzzardi

Universidade Católica de Universidade Católica de PelotasPelotas

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

SumárioSumário1. Introdução1. Introdução2. Histórico2. Histórico3. Ray Tracing3. Ray Tracing4. Ray Casting4. Ray Casting5. Ray Tracing (continuação)5. Ray Tracing (continuação)6. Ray Tracing Recursivo6. Ray Tracing Recursivo6.1. Sombra6.1. Sombra6.2. Reflexão6.2. Reflexão6.3. Refração6.3. Refração6.4. Transparência (Refração)6.4. Transparência (Refração)6.5. Antialising6.5. Antialising

7. Ray Tracing Distribuido7. Ray Tracing Distribuido

7.1. Depth of Field7.1. Depth of Field

7.2. Motion Blur7.2. Motion Blur

7.3. Penumbra7.3. Penumbra

7.4. Reflexão Borrada7.4. Reflexão Borrada

7.5. Translucência7.5. Translucência

8. Ray Tracing Parametrizado8. Ray Tracing Parametrizado

9. Radiosidade com Ray 9. Radiosidade com Ray TracingTracing

10. Imagens10. Imagens

11. Referências11. Referências

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

1. Introdução1. Introdução A A Computação GráficaComputação Gráfica se divide em duas áreas: se divide em duas áreas: ModelagemModelagem

e e VisualizaçãoVisualização.. Ray Tracing é um método de Ray Tracing é um método de visualização de imagensvisualização de imagens.. É considerada a É considerada a mais poderosamais poderosa e de e de simplessimples

implementação dentre as existentes. Em compensação implementação dentre as existentes. Em compensação é é dificilmente usada em aplicações em tempo realdificilmente usada em aplicações em tempo real, pois são , pois são necessárias necessárias várias horas para a renderizaçãovárias horas para a renderização da cena, da cena, obtendo um alto grau de realismo.obtendo um alto grau de realismo.

É capaz de gerar imagens apartir de É capaz de gerar imagens apartir de cenas consideradas de cenas consideradas de alta complexidadealta complexidade, ou seja, por possuírem , ou seja, por possuírem muitos objetosmuitos objetos e e efeitos de sombras, reflexos, refração, texturas e efeitos de sombras, reflexos, refração, texturas e sombreamento das superfícies visíveissombreamento das superfícies visíveis..

Simula a Simula a propagação da luzpropagação da luz e a e a interaçãointeração dela com os dela com os objetosobjetos de uma cena. de uma cena.

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

2. Histórico2. Histórico Em Em 19681968, , AppelAppel desenvolveu um algoritmo para desenvolveu um algoritmo para determinar determinar

sombrassombras em um cena, e se um ponto visível estaria na zona em um cena, e se um ponto visível estaria na zona de sombra ou não. Esse algoritmo serve de de sombra ou não. Esse algoritmo serve de base para todas base para todas as implementações do algoritmo de Ray Tracing.as implementações do algoritmo de Ray Tracing.

Em Em 19681968, , GoldsteinGoldstein, e em , e em 19711971, , NadelNadel, desenvolveram , desenvolveram algoritmos para calculo de algoritmos para calculo de trajetóriastrajetórias balisticasbalisticas e e particulasparticulas nuclearesnucleares. Algum tempo depois, conjuntamente com o . Algum tempo depois, conjuntamente com o algoritmo de algoritmo de AppelAppel, foram aplicados na , foram aplicados na geraçãogeração dede imagensimagens..

Em Em 19791979, , KayKay introduziu modificações no algoritmo para o introduziu modificações no algoritmo para o cálculocálculo maismais corretocorreto de de iluminaçãoiluminação especularespecular e e refraçãorefração dada luzluz..

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

2. Histórico2. Histórico Em Em 19801980, , WhittedWhitted melhorou a melhorou a refraçãorefração dada luzluz. Criou imagens . Criou imagens

impressionantes para a época por causa de sua impressionantes para a época por causa de sua qualidadequalidade..

O algoritmo O algoritmo sofreusofreu alteraçõesalterações em em 19841984, possibilitando efeitos de , possibilitando efeitos de penumbrapenumbra, , motionmotion blurblur, , depthdepth ofof fieldfield, entre outros., entre outros.

Em Em 19891989, , SéquimSéquim e e SmyrylSmyryl introduziram formalmente a técnica de introduziram formalmente a técnica de RayRay TracingTracing ParametrizadoParametrizado..

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

3. Ray Tracing3. Ray Tracing Simula a geometria ótica envolvida no Simula a geometria ótica envolvida no trajetotrajeto dosdos raiosraios dede

luzluz queque viajamviajam pelopelo espaçoespaço dada cenacena.. Normalmente, os raios de luz vindo dos objetos chegam aos Normalmente, os raios de luz vindo dos objetos chegam aos

nosso olhos. Por motivos computacionais, esse processo é nosso olhos. Por motivos computacionais, esse processo é feito feito aoao contráriocontrário. Supostamente os raios que saem dos . Supostamente os raios que saem dos olhos do olhos do observadorobservador e que passam pela e que passam pela telatela, , percorrempercorrem a a cenacena..

Pintamos a tela com a cor do Pintamos a tela com a cor do objetoobjeto maismais próximopróximo..

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

3. Ray Tracing – Algoritmo 3. Ray Tracing – Algoritmo BásicoBásico

Para cada ponto da telaPara cada ponto da tela Calcule uma Calcule uma linha retalinha reta unindo o olho do unindo o olho do

observadorobservador a este a este pontoponto Descubra as interseçõesDescubra as interseções desta reta com os desta reta com os

objetos 3D que estão atrás da telaobjetos 3D que estão atrás da tela Pinte o ponto com a cor do Pinte o ponto com a cor do objeto mais objeto mais

próximopróximo

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

3. Ray Tracing3. Ray Tracing Ray Tracing gasta de Ray Tracing gasta de 75% a 95%75% a 95% do tempo total de do tempo total de

processamentoprocessamento comcom intersecçõesintersecções. A Eficiência neste ponto . A Eficiência neste ponto afeta significativamente o afeta significativamente o tempotempo dede processamentoprocessamento..

O O cálculocálculo dada corcor é influenciado pela é influenciado pela iluminaçãoiluminação que nele que nele incide, pela incide, pela texturatextura e pela e pela rugosidaderugosidade dodo objetoobjeto..

Lançar os raios no caminho tradicional é impraticável, pois Lançar os raios no caminho tradicional é impraticável, pois de uma de uma fontefonte dede luzluz partem partem bilhõesbilhões dede fótonsfótons, formadores , formadores de raios luminosos, sabendo que uma pequeníssima parte de raios luminosos, sabendo que uma pequeníssima parte deles chegam ao olho do observador. Simular isso seria deles chegam ao olho do observador. Simular isso seria anosanos dede renderizaçãorenderização para uma cena simples. para uma cena simples.

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

4. Ray Casting4. Ray Casting Versão simplificada do Ray Tracing.Versão simplificada do Ray Tracing. Usado para remover ou ignorar Usado para remover ou ignorar faces ocultasfaces ocultas. Utiliza a informação das . Utiliza a informação das

intersecções para isso.intersecções para isso. Não avalia efeitos da cena usando lançamento de raios secundários, e sim 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 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.exigido para o cálculo de reflexões, refrações e zonas de sombra.

Método mais apropriado para a renderização em Método mais apropriado para a renderização em jogos 3D de tempo-realjogos 3D de tempo-real..

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

5. Ray Tracing5. Ray Tracing O algoritmo de Ray Tracing deve considerar os seguintes pontos:O algoritmo de Ray Tracing deve considerar os seguintes pontos:

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

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

6. Ray Tracing Recursivo6. Ray Tracing Recursivo O algoritmo de Ray Tracing se tornaO algoritmo de Ray Tracing se torna recursivo recursivo apartir do momento apartir do momento

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

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

6.1. Sombra6.1. Sombra A inclusão de sombra com Ray Tracing é dada pelo cálculo de um 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 vetor V em direção a luz partindo de um ponto. Se o vetor interseccionar com qualquer objeto da cena quer dizer que o interseccionar com qualquer objeto da cena quer dizer que o ponto está na sombra e a luz do mesmo é diminuída, caso ponto está na sombra e a luz do mesmo é diminuída, caso contrário ele está na luz.contrário ele está na luz.

No exemplo, os pontos P1 e P2 geram os vetores V1 e V2 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 respectivamente. Ambos são projetos em direção a luz, e V1 chega até a luz, mas V2 é obstruído por um objeto.chega até a luz, mas V2 é obstruído por um objeto.

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

Sombra - ExemploSombra - Exemplo

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

6.2. Reflexão6.2. Reflexão Um raio de luz atingindo a superfície, e é refletido segundo a lei Um raio de luz atingindo a superfície, e é refletido segundo a lei

da ótica que diz que o raio é da ótica que diz que o raio é refletido na mesma direção que refletido na mesma direção que incidiu sobre a superfícieincidiu sobre a superfície. Assim podemos visualizar como se um . Assim podemos visualizar como se um novo raio fosse lançado apartir desse ponto, só que na novo raio fosse lançado apartir desse ponto, só que na direção direção da reflexãoda reflexão. Esse ponto será calculado apartir do raio refletido. . Esse ponto será calculado apartir do raio refletido.

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

Reflexão - ExemploReflexão - Exemplo

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

6.3. Refração6.3. Refração Desvio gerado pela Desvio gerado pela penetração da luz no objetopenetração da luz no objeto. O cálculo de refração leva em . O cálculo de refração leva em

consideração a Lei da Refração, que determina que um raio de luz sempre sofre 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.um desvio na sua trajetória quando transita por meios com densidades diferentes.

Objetos transparente funcionam como filtrosObjetos transparente funcionam como filtros. Por um objeto verde é iluminado por . Por um objeto verde é iluminado por uma fonte de luz, deixar passar apenas luz verde, absorvendo os componentes uma fonte de luz, deixar passar apenas luz verde, absorvendo os componentes vermelho e azul.vermelho e azul.

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

Refração - ExemploRefração - Exemplo

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

6.4. Iluminação6.4. Iluminação O cálculo da interação da luz com a cena ainda é um O cálculo da interação da luz com a cena ainda é um

grande problema. Ainda não existe um modelo grande problema. Ainda não existe um modelo computacional que consiga descrever perfeitamente esse computacional que consiga descrever perfeitamente esse fenômeno.fenômeno.

Existem vários modelo, exemplo o de Existem vários modelo, exemplo o de PhongPhong, constituído de , constituído de 3 componentes de iluminação: 3 componentes de iluminação: ambiente, difusa e ambiente, difusa e especularespecular..

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

Iluminação - AmbienteIluminação - Ambiente Gera uma iluminação constante em todos os pontos do Gera uma iluminação constante em todos os pontos do

objetoobjeto Depende da cor do objeto.Depende da cor do objeto.

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

Iluminação - DifusaIluminação - Difusa Se a superfície é perfeitamente difusa, ela reflete igualmente em Se a superfície é perfeitamente difusa, ela reflete igualmente em

todas as direções.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.

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

Iluminação - EspecularIluminação - Especular A superfície aparecerá brilhante para uma única direção do A superfície aparecerá brilhante para uma única direção do

observador, as demais permaneceram escuras.observador, as demais permaneceram escuras.

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

Iluminação - CompletaIluminação - Completa

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

6.5. Antialising6.5. Antialising Problema muito encontrado em imagens geradas por computador, Problema muito encontrado em imagens geradas por computador,

onde notamos o desagradável efeito escada.onde notamos o desagradável efeito escada. Falha na geração da imagem devido a natureza discreta do Falha na geração da imagem devido a natureza discreta do

monitor.monitor. O Ray Tracing nos possibilita acionar a opção para tratamento de O Ray Tracing nos possibilita acionar a opção para tratamento de

anti-alising.anti-alising. Solucionar esse problema é impossível, pois corresponde a um Solucionar esse problema é impossível, pois corresponde a um

problema físico, mas podemos usar técnicas satisfatórias.problema físico, mas podemos usar técnicas satisfatórias. Uma técnica usada é a Uma técnica usada é a supersamblingsupersambling (super-amostragem), que (super-amostragem), que

se trata de que devemos se trata de que devemos lançar mais raios por pixellançar mais raios por pixel, calculando , calculando suas intensidades, assim tratando sub-pixels, e calculando depois suas intensidades, assim tratando sub-pixels, e calculando depois uma média aritmética ou ponderada desses valores. O tempo de uma média aritmética ou ponderada desses valores. O tempo de processamento aumenta a medida que o número de raios processamento aumenta a medida que o número de raios lançados por pixel aumenta.lançados por pixel aumenta.

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

Sem tratamento de alising Com tratamento de alising

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

7. Ray Tracing Distribuido7. Ray Tracing Distribuido Diferencia-se do Ray Tracing Clássico quando falamos em Diferencia-se do Ray Tracing Clássico quando falamos em

lançamentos de raioslançamentos de raios. Ele utiliza vários raios distribuídos no . Ele utiliza vários raios distribuídos no tempo (borramento por movimento ou “motion blur”) e no tempo (borramento por movimento ou “motion blur”) e no espaço (profundidade de campo ou “depth of field”).espaço (profundidade de campo ou “depth of field”).

É utilizado o modelo de câmera com É utilizado o modelo de câmera com lenteslentes ao invés do ao invés do modelo de “pinhole”.modelo de “pinhole”.

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

7.1. Depth of Field7.1. Depth of Field Efeito que considera somente Efeito que considera somente os objetos que estão os objetos que estão

focalizados estão no plano de focalizaçãofocalizados estão no plano de focalização, ao contrário do , ao contrário do modelo de pinhole onde todos estão focalizados.modelo de pinhole onde todos estão focalizados.

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

7.2. Motion Blur7.2. Motion Blur Essa técnica consiste em dar a cena um efeito semelhante ao de Essa técnica consiste em dar a cena um efeito semelhante ao de

uma fotografia com uma fotografia com objetos em movimentoobjetos em movimento.. Objeto fotografado em movimento parece Objeto fotografado em movimento parece desfocado ou desfocado ou

embaçadoembaçado.. Considera a velocidade do objeto no momento que está sendo Considera a velocidade do objeto no momento que está sendo

fotografado.fotografado.

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

7.3. Penumbra7.3. Penumbra Fonte de Fonte de luz é parcialmente obstruídaluz é parcialmente obstruída.. O cálculo de penumbra, os raios secundários devem ser O cálculo de penumbra, os raios secundários devem ser

distribuidos e lançados de acordo com a área relativa da distribuidos e lançados de acordo com a área relativa da fonte de luz.fonte de luz.

Sem Penumbra Com Penumbra

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

7.4. Reflexão Borrada7.4. Reflexão Borrada O efeito de reflexão borrada(blurry reflection) é obtido com O efeito de reflexão borrada(blurry reflection) é obtido com

a distribuição dos raios de reflexão sobre a direção de a distribuição dos raios de reflexão sobre a direção de reflexão.reflexão.

Com Blurry ReflectionSem Blurry Reflection

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

7.5. Translucência7.5. Translucência Os raios devem ser distribuídos de acordo com a direção Os raios devem ser distribuídos de acordo com a direção

principal da luz transmitida. Tal distribuição é definida pela principal da luz transmitida. Tal distribuição é definida pela função de função de transmissão especulartransmissão especular..

Ray Tracing Clássico Ray Tracing Distribuido

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

8. Ray Tracing 8. Ray Tracing ParametrizadoParametrizado

Renderizar a cenaRenderizar a cena, guardando, , guardando, para cada pixel da imagem, a para cada pixel da imagem, a árvore de raios que contém todas as informações geométricas árvore de raios que contém todas as informações geométricas utilizadasutilizadas..

Logo após, podemos modificar os parâmetros óticos dos objetos Logo após, podemos modificar os parâmetros óticos dos objetos (cor, textura,coeficientes especular, difuso, transparente, etc.), (cor, textura,coeficientes especular, difuso, transparente, etc.), obtendo então uma nova imagem apenas reavaliando na árvore obtendo então uma nova imagem apenas reavaliando na árvore de raios de cada pixel as equações de shading. de raios de cada pixel as equações de shading.

Grande quantidade de memória necessária para armazenar as Grande quantidade de memória necessária para armazenar as árvores de raios de cada pixel da cena.árvores de raios de cada pixel da cena.

É útil para depurar interativamente uma cena,ajustando suas É útil para depurar interativamente uma cena,ajustando suas

características, não precisandocaracterísticas, não precisando calcular novamente as interseções calcular novamente as interseções dos raios com os objetos. Isto dos raios com os objetos. Isto aumenta a velocidade de aumenta a velocidade de renderização em até 150 vezesrenderização em até 150 vezes

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

9. Radiosidade com Ray 9. Radiosidade com Ray TracingTracing

Considerado, juntamente com o Ray Tracing, como o melhor Considerado, juntamente com o Ray Tracing, como o melhor método para gerar imagens realistas, método para gerar imagens realistas,

Radiosidade consegue tratar de forma correta a Radiosidade consegue tratar de forma correta a reflexão da luz reflexão da luz em superfícies difusasem superfícies difusas, coisa que não é possível com o Ray , coisa que não é possível com o Ray Tracing tradicional. Deste modo, efeitos como Tracing tradicional. Deste modo, efeitos como penumbras e fontes penumbras e fontes de luz com áreade luz com área são avaliadas corretamente. são avaliadas corretamente.

Radiosiadade não consegue tratar Radiosiadade não consegue tratar superfíciessuperfícies especularesespeculares, o que é , o que é feito em Ray Tracing.feito em Ray Tracing.

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

10. Imagens10. Imagens

Page 34: Por Rodrigo Botelho da Silva Computação Gráfica Prof. Dr. Paulo Roberto Gomes Luzzardi Universidade Católica de Pelotas
Page 35: Por Rodrigo Botelho da Silva Computação Gráfica Prof. Dr. Paulo Roberto Gomes Luzzardi Universidade Católica de Pelotas
Page 36: Por Rodrigo Botelho da Silva Computação Gráfica Prof. Dr. Paulo Roberto Gomes Luzzardi Universidade Católica de Pelotas
Page 37: Por Rodrigo Botelho da Silva Computação Gráfica Prof. Dr. Paulo Roberto Gomes Luzzardi Universidade Católica de Pelotas
Page 38: Por Rodrigo Botelho da Silva Computação Gráfica Prof. Dr. Paulo Roberto Gomes Luzzardi Universidade Católica de Pelotas

11. Referências11. Referências

AZEVEDO, E., CONCI, A., Computação Gráfica – Teoria e AZEVEDO, E., CONCI, A., Computação Gráfica – Teoria e Prática, Editora Elsevier, 2003.Prática, Editora Elsevier, 2003.

SILVA, F.W.S.V., Introdução ao Ray Tracing, COPPE-UFRJ, SILVA, F.W.S.V., Introdução ao Ray Tracing, COPPE-UFRJ, 1999.1999.

http://disciplinas.ist.utl.pt/leic-cg/programa/livro/Raytracing.http://disciplinas.ist.utl.pt/leic-cg/programa/livro/Raytracing.pdfpdf

http://disciplinas.ist.utl.pt/leic-cg/laboratorio/aulas_pov/aulahttp://disciplinas.ist.utl.pt/leic-cg/laboratorio/aulas_pov/aula_1/introducao.html_1/introducao.html

http://www.cin.ufpe.br/~marcelow/Marcelow/raycife.htmlhttp://www.cin.ufpe.br/~marcelow/Marcelow/raycife.html http://www.tecgraf.puc-rio.br/~mgattass/fcg/trb07/gmoreirahttp://www.tecgraf.puc-rio.br/~mgattass/fcg/trb07/gmoreira

/T3/index.htm/T3/index.htm http://www.inf.ufsc.br/~awangenh/CG/raytracing/iluminacaohttp://www.inf.ufsc.br/~awangenh/CG/raytracing/iluminacao

.html.html http://pt.wikipedia.org/wiki/Ray_castinghttp://pt.wikipedia.org/wiki/Ray_casting