1 / 13

Ray Tracing

Ray Tracing. Felipe Baldino Moreira Fundamentos de Computação Gráfica Prof. Marcelo Gatass. Ray Tracing.

Download Presentation

Ray Tracing

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

E N D

Presentation Transcript


  1. Ray Tracing Felipe Baldino Moreira Fundamentos de Computação Gráfica Prof. Marcelo Gatass

  2. Ray Tracing • O algoritmo raytracing é um algoritmo recursivo que consiste em projetar, a partir do observador, um vector (raio) por cada um dos pixels constituintes da nossa cena/imagem, vector este que irá intersectar os objetos que formam a cena em análise. As intersecções a que estão sujeitos cada um dos vectores projetados tem que ser confirmadas para todos os objetos que compõe a imagem a fim de determinar qual o que está mais próximo do observador. • Se um determinado raio não intersectar nenhum objeto no seu trajeto, é atribuído ao pixel, por onde o raio passa, a cor do fundo da cena. No caso de o raio intersectar algum objeto, e após ter-se confirmado que esta é a intersecção mais próxima do observador para esse mesmo raio, é necessário determinar a cor do pixel correspondente. Para tal é necessário calcular a iluminação no ponto da cena que o raio atinge, iluminação esta que pode ser proveniente diretamente de fontes de luz, pode ser luz proveniente de outro objecto que por reflexão ilumina o ponto que estamos a analisar, pode ser luz refratada transmitida através do objeto e que assim ilumina o ponto, ou pode ainda ser uma combinação de mais do que uma destas formas de iluminação, que é a situação mais comum. • Para a determinação das componentes de luz que atingem o ponto em análise, o algoritmo recorre a três tipos de raios diferentes a que chamamos de raios secundários. • Raios refletidos; • Raios refratados; • Raios de sombra. • Cada um destes raios possui características e objetivos diferentes que podem, facilmente, ser identificados pelo seu nome. A partir da intersecção destes raios secundários com os objetos, e de acordo com a informação que cada um deles transporta, o algoritmo calcula então as características da luz e qual a contribuição para a iluminação do ponto de intersecção do raio primário com o objeto. • Como podemos observar na figura um único raio pode ser refletido e refratado indefinidamente, subdividindo-se em vários raios secundários, formando assim uma árvore de raios, mais ou menos, complexa, de acordo com a composição da nossa cena. Para conseguirmos processar esta informação, necessitamos de estabelecer um limite máximo de subdivisões. Um dos métodos utilizados para terminar a inspeção recursiva dos raios secundários, acontece quando a contribuição retornada pelos raios secundários para um determinado pixel, se torna inferior a um determinado valor mínimo previamente definido, ou então tal com referimos anteriormente, quando um raio primário não intersecta qualquer objeto dentro dos limites da cena pré-estabelecidos atribuindo nesse caso a cor de fundo ao pixel em análise. • As sombras são verificadas através de raios secundários que são lançados a partir do ponto de intersecção do raio primário com o objeto, em direção ao foco de luz. Se no seu trajeto o raio voltar a cruzar-se com um objeto, é porque o ponto em análise se encontra na sombra, se não, é porque recebe luz direta.

  3. O Algoritmo de Raycasting Algoritmo • Para cada ponto(i,j) da tela • Calcule uma linha reta unindo o olho do observador a um ponto (i,j) da tela; • Descubra as interseções desta reta com os objetos 3D que estão atrás da tela; • Se houve interseções, pinte o ponto com a cor do objeto mais próximo. Caso contrário pinte o ponto com a cor do fundo

  4. Intersecção Raio Cena

  5. Ray TracingVs Ray Casting • Ao contrário do Ray Casting, não considera somente para a intersecção com as superfícies visíveis • O raio intersecta com os objetos e continua a saltar ao redor da cena, coletando várias contribuições de intensidades • Muitas extensões do algoritmos básico de Ray Tracing foram desenvolvidas para aumentar o realismo da cena • Cenas construídas por Ray Tracing podem ser altamente realísticas, principalmente quando a cena contém objetos brilhantes

  6. O modelo de Raio do Ray tracing

  7. Sobre do Ray Tracing • O algoritmo de Ray Tracing é formado por diversas chamadas recursivas • Tal recursão é necessária para determinar a interação do raio com os objetos da cena e produzir os efeitos de reflexão, sombra e transparência • Os raios provenientes de reflexão e refração são chamados raios secundários • Para facilitar o cálculo das intersecções dos raiso com os objetos, normalmente se utiliza uma arvore a raytracingtree que contém todos os objetos da cena. • A cada intersecção, o modelo de iluminação é computado para determinar a contribuição da intensidade • O valor da intensidade é armazenado na posição do correspondente nó de superfície na Ray-TracingTree • O “raio de sombra”, que une o ponto do objeto que foi atingido ao ponto de luz. Se entre o ponto e a luz existir um outro objeto opaco, este ponto estará na sombra. • Raio de Reflexão é lançado um novo raio visual a partir do ponto atingido, só que na direção de reflexão. Este ponto terá a cor calculada a partir do raio refletido. • Raio de Refração : é um raio refratado através de um material transparente

  8. Ray Tracing : Algoritmo Para cada ponto(i,j) da tela Calcule uma linha reta unindo o olho do observador a um ponto (i,j) da tela; Descubra as interseções desta reta com os objetos 3D que estão atrás da tela; Se houve interseção, determinar o objeto mais próximo: Computar contribuição da luz ambiente Para cada fonte de luz, determinar a visibilidade (detecção d sombra). Se a fonte for visível, somar a contribuição de reflexão difusa. Se limite de recursão não foi atingido: somar contribuição de reflexão especular acompanhado o raio refletido, e somar contribuição de transmissão acompanhando o raio refratado. Caso contrário pinte o ponto com a cor do fundo.

  9. O Algoritmo do Ray Tracing • O algoritmo de Ray Tracing é formado por diversas chamadas recursivas • Tal recursão é necessária para determinar a interação do raio com os objetos da cena e produzir os efeitos de reflexão, sombra e transparência • Os raios provenientes de reflexão e refração são chamados raios secundários • Para facilitar o cálculo das intersecções dos raiso com os objetos, normalmente se utiliza uma arvore a raytracingtree que contém todos os objetos da cena. • A cada intersecção, o modelo de iluminação é computado para determinar a contribuição da intensidade • O valor da intensidade é armazenado na posição do correspondente nó de superfície na Ray-TracingTree

  10. Cálculos

  11. Reflexção e Sombra

  12. Raio Refratado

  13. A Saída do Programa O código implementado segue anexo em pdf com a explicação.

More Related