24T12 – Sala 3F5 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 227

Slides:



Advertisements
Apresentações semelhantes
Geometria Computacional Fecho Convexo II
Advertisements

Computação Gráfica I Conteúdo: Professor: - Objetos gráficos espaciais
Algoritmos para Geração de Variáveis Aleatórias
Geometria Computacional Galeria de Arte
DCA-0114 Computação Gráfica
Especificações de Filtros
Vetores Representação e características Operações I Decomposição
Modelos no Domínio do Tempo de Sistemas LTI Contínuos
Projeções e OpenGL Alex F. V. Machado.
Modelos de ILuminação Alex F. V. Machado.
Prof.: Raphael Carvalho
COMPUTAÇÃO GRÁFICA.
O que é Iluminação? Fenômeno físico resultante da interação de fótons com uma superfícieFenômeno físico resultante da interação de fótons com uma superfície.
Geometria Computacional Interseção de Segmentos
Parte 1 – Conceitos de Real Time Rendering. a. Pipeline Gráfico.
Introdução à Computação Gráfica Colorização
Iluminação e Sombreamento
Algoritmos de Varrimento para Desenho de Primitivas 2D
DIM102 1 Curvas e Superfícies 35T56 – Sala 3F4 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 227.
35T56 – Sala 3F4 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 227
Traçado de Raios e Modelos de Iluminação por Marcelo Gattass Departamento de Informática PUC-Rio.
Ismael Andrade Pimentel
04/07/07 RTDistribuído César Palomo 1 Fundamentos de CG Prof Marcelo Gattass 2007-s01 Trabalho 3 – Ray Tracing Distribuído César Palomo.
Computação Gráfica: Aula8: Iluminação
Computação Gráfica: Aula6: Iluminação
Ray Tracing.
PSI-2652: Processamento, Síntese e Análise de Imagens II Rodrigo Debczynski Fernandes – n°USP Prof. Marcio Lobo.
Visão Computacional Imagem: Reflexão
Técnicas para algoritmos de superfície visível eficientes (Techniques for efficient visible-surface algorithms) Fabio Utzig Rodrigo Senger.
Iluminação e FotoRealismo
Iluminação e FotoRealismo: Ray Tracing Distribuído Luís Paulo Peixoto dos Santos
Iluminação e FotoRealismo: BRDF e Equação de Rendering
L E N T E S ÓTICA 3 PROF. CESÁRIO.
Prof.: Raphael Carvalho
Campus de Caraguatatuba
Computação Gráfica: Aula6: Iluminação
ÓPTICA FÍSICA: Estuda os fenômenos luminosos cuja explicação depende das teorias relativas á natureza da luz (onda ou partícula). GEOMÉTRICA: Estuda os.
Professor: Diones Charles
Dependência e Independência Linear e Produto Vetorial
Carlos Oliveira Modelos de Reflexão.
FUNDAMENTOS DE COMPUTACION GRAFICA Jessica Palomares
Ray Tracing Felipe Baldino Moreira Fundamentos de Computação Gráfica
Estimação da direção de múltiplas fontes de luz Baseado no artigo Estimation of Illuminant Direction and Intensity of Multiple Light Sources, de W. Zhou.
Visão Computacional Formação da Imagem
ÓPTICA GEOMÉTRICA PREGOLINI.
Iluminação e Sombreamento
Na célula unitária CFC ilustrada,
Potencial elétrico Física Giovanni Ávila.
Trabalho e Potencial elétrico (Capítulo 3)
Thiago Aurélio Prof. Dr. Paulo Roberto Gomes Luzzardi
Ray Tracing Anderson Tavares Bacharelado em Ciência da Computação
Computação Gráfica – Visibilidade
2.º Ciclo 6.º ano de escolaridade
Radiosidade Rafael Decker Prof. Dr. Paulo Roberto Gomes Luzzardi.
1 Iluminação Global Rodrigo de Toledo UFRJ, CG1,
Mapeamento de Textura: Aspectos Gerais
Lentes esféricas Giovanni Ávila Física.
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
Ray Tracing Estocástico e Distribuido Aruquia Barbosa.
Introdução à Multimídia
Visão Computacional Formação da Imagem Radiometria
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
PEE 5789 Conceitos Avançados de Síntese de Imagens AULA 02 Modelos Locais de Iluminação Marcio.
Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo.
Conceitos Básicos de Óptica Geométrica
Computação Gráfica: Aula6: Iluminação
Rendering Por Adinan Aguiar.
Introdução à Computação Gráfica Iluminação
Introdução à Computação Gráfica Ray Tracing Claudio Esperança Paulo Roma Cavalcanti.
Prof.: Raphael Carvalho. ÓPTICA GEOMÉTRICA É a parte da Física que estuda os fenômenos relacionados com a luz e sua interação com meios materiais quando.
Transcrição da apresentação:

24T12 – Sala 3F5 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 227 Raytracing 24T12 – Sala 3F5 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 227

Introdução Raytracing é um método de iluminação global, baseado em física que descreve a transferência de energia e radiação na cena Interações de luz na cena dependem das propriedades da luz e dos materiais, e da geometria dos componentes da cena (luz, objetos e observador) Cada superfície tem uma distribuição que caracteriza sua absorção, reflexão, transparência, etc. Para cada comprimento de onda Imagem é então gerada amostrando-se (traçando raios) para pontos da cena Caro computacionalmente, usa-se algumas técnicas para acelerar sua execução

Renderizando com Raytracing Generalização da pintura de Durer que mostra projeção perspectiva Raytracing: Emita raios do olho para pontos de amostragem na foto virtual e calcule qual a cor/intensidade para cada ponto Ao invés de se emitir um número infinito de raios da fonte de luz para o objeto e depois para o observador, emite-se um número finito de raios do observador através dos pontos de amostragem para os objetos e depois para a fonte de luz (ou outro objeto)

Renderizando com Raytracing Gere raios primários, que vão da posição de observação aos pontos de amostragem Encontre objeto mais próximo do observador ao longo do raio, isto é, ache a primeira interseção entre o raio e um objeto da cena Use modelo de iluminação para determinar luz no elemento de superfície mais próximo Gere raios secundários que se originam no objeto interceptado

Raytracing x Conversão de Scans Para cada triângulo da cena... raytracing Para cada amostra na imagem

Raytracing x Conversão de Scans Para cada objeto da cena para cada triângulo ou quadrilátero do objeto passe geometria do vértice e cores para OpenGL, que pintará todos os pontos interiores do triângulo no framebuffer Rápido, mas restrito ao modelo de iluminação do OpenGL e uso de triângulos e quadriláteros Raytracing: Para cada amostra na imagem determine qual objeto na cena é atingido primeiro pelo raio naquela amostra pinte aquela amostra com a cor do objeto naquele ponto

Gerando Raios Inicie um raio do ponto de observação P, na direção d que o faça interceptar um ponto no plano do filme cuja cor nós desejamos saber Pontos ao longo do raio tem a forma P + td onde P é o ponto inicial do raio, d é o vetor unitário com a direção do raio e t é um número real não-negativo O ponto P é o centro de projeção no volume de visão perspectivo

Gerando Raios Inicie com pontos no espaço da tela e transforme esses pontos em pontos no plano do filme da câmera 3D Qualquer plano ortogonal ao vetor olhar-para é um plano de filme adequado pois possui z constante no volume de visão canônico Escolha um plano como o plano do filme e crie uma função que mapeie pontos do espaço da tela para este plano. Por exemplo, pode-se usar o plano traseiro. Para converter as coordenadas, basta mapear coordenadas inteiras do espaço da tela para a faixa de valores [-1,1]

Gerando Raios Transforme ponto do plano do filme em um ponto no espaço do mundo O vetor de direção é determinado pelo CoP e este ponto Direção deve estar no espaço do mundo porque objetos são posicionados usando este espaço Isso incorre na utilização da transformação inversa a transformação de normalização, a transformação de visualização

Calculando Interseções Se um objeto é definido implicitamente por uma função f tal que f(Q) = 0 se e somente se Q é um ponto na superfície do objeto, então o cálculo da interseção raio-objeto é relativamente fácil Pontos no raio tem a forma P + td, enquanto que um ponto Q na superfície do objeto tem f(Q) = 0, logo nós queremos saber para quais valores de t f(P + td) = 0 (se existirem)

Calculando Interseções Transforme equação de superfície implícita em uma equação em funçao de t e a resolva A parte do objeto que você vê primeiro do ponto de observação é o menor valor não-negativo de t Para objetos definidos por mais de uma equação, escreve-se um conjunto de equações e inequações e as codificam como casos (switch). Pode ser generalizada para lidar com outras combinações de objetos, como objetos de CSG ou objetos definidos por somas de equações implícitas

Vetores Normais em Pontos de Interseção Para se calcular a iluminação, nós devemos obter, dado um ponto na objeto, o vetor normal aquele ponto para que se possa calcular os ângulos entre a normal e os outros vetores Se a superfície engloba um sólido cujo interior é dado por então nós podemos achar o vetor normal no ponto (x, y, z) usando o gradiente naquele ponto: Lembre-se que o gradiente é umvetor com três componentes

Vetores Normais em Pontos de Interseção No caso da esfera, nós temos Logo, as derivadas parciais são E o gradiente é n deve ser normalizado antes de ser usado em produtos internos! Em alguns casos extremos esse gradiente pode ser zero, e esse método falha. Nesse caso, use um gradiente vizinho que não seja zero

Pixels e Amostras No caso mais simples, escolhe-se as amostras nos centros dos pixels (amostra=pixel) Para se obter melhores resultados, usa-se superamostragem, utilizando mais de uma amostra por pixel (amostrapixel) Técnicas mais avançadas usam amostragem adfaptativa, onde se aumenta a densidade das amostras em áreas de mudança rápida (na geometria ou iluminação) Na amostragem estocástica, as amostras são posicionadas probabilisticamente Para resultados mais rápidos pode-se usar subamostragem, ou seja, menos amostras que pixels Use o máximo de amostras que o tempo permite beam tracing: trace um conjunto de raios vizinhos juntos Converte-se amostras em pixel usando-se um filtro para se obter uma média ponderada das amostras

Raytracing Recursivo Criação recursiva de novos raios na cena, que vão captar mais informação sobre sobre as interações de luz Inicie no ponto de interseção O ideal seria enviar raios em todas as direções (muito caro computacionalmente) Envie raios nas direções mais prováveis de contribução significativa: direção da luz (sombras) Ricocheteando nos objetos (reflexão especular) Através do objeto (transparência)

Sombras Cada luz na cena contribui para a cor e intensidade de um elemento de superfície Construa um raio da superfície para cada luz Teste se o raio intersecta outros objetos antes de chegar a luz Se não for o caso, a contribuição completa da luz pode ser contada Caso contrário, nenhuma contribuição é contada, a não ser que o objeto intersectado tenha um componente de transparência não-nulo objectIntensityλ = ambient + attenuation ∙ lightIntensityλ ∙ [diffuse + specular] Σ numLights light = 1

Transparência Iλ1 Iλ2 Para um polígono parcialmente transparente polygon 1 Iλ2 polygon 2

Transparência Modela-se o desvio da luz em interfaces de materiais usando-se a lei de Snell medium 2 medium 1

Raytracing Recursivo Trace raios secundários nas interseções: Luz: trace raio para cada fonte de luz. Se a fonte de luz está encoberta por um objeto opaco ela não contribui para a iluminação Reflexão especular: trace raio na direção refletida em relação a N Refração/transparência: trace raio na direção de refração ditada pela lei de Snell Crie novos raios de luz recursivamente até que a contribuição dos mesmos seja insignificante A nova equacão de iluminação Intensidade de raios secundários calculadas com mesma equação Fointes de luz contribuem para iluminação especular e difusa Limitações Reflexão recursiva inter-objetos é estritamente especular Reflexão recursiva inter-objetos difusa é tratada usando-se radiosidade

Raytracing Recursivo Iluminação indireta

Pipeline de Raytracing Raytracer produz amostras visuais de um modelo - samples convolved with filter to form pixel image Pré-processamento adicional - pré-processamento do banco de dados dos objetos geralmente acelera cálculos smallest t generate secondary rays

Exemplos de Raytracing Raytracer gratuito disponível online: www.povray.org Imagens produzidas usando-se raytracing: www.irtc.org