Raytracing. 35T56 Sala 3E3 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227 DIM102

Documentos relacionados
Iluminação e Sombreamento

Resumo. Ray Tracing. Introdução. Ray Casting Básico. Idéia

Determinação de Superfícies Visíveis

Leandro Paganotti Brazil Rosane Minghim Computação Gráfica ICMC USP

O que é? Como funciona?

Visualização por Computador: Teoria, Prática e Aplicações

Algoritmos de Iluminação Global

aula 21 Tecnicas de Iluminação Global IC/UFF 2017 Aura

PEF 5743 Computação Gráfica Aplicada à Engenharia de Estruturas

Assunto última aula. Flat Shading

Características Principais. Introdução à Computação Gráfica Ray Tracing. Ray Casting. Contexto Histórico. Claudio Esperança Paulo Roma Cavalcanti

Fundamentos da Computação Gráfica Lista de Exercícios Marcelo Gattass TeCGraf/Departamento de Informática/PUC-Rio 19jun2003

Introdução à Computação Gráfica Ray Tracing. Claudio Esperança Paulo Roma Cavalcanti

Introdução ao Processamento e Síntese de imagens Rendering 2016

Fundamentos da Computação Gráfica

Modelos Globais de Iluminação

Coloração (Shading)e Iluminação global

Iluminação. André Tavares da Silva. baseado nos materiais de aula de Marcelo Walter, Claudio Esperança e Paulo Cavalcanti

Lista de exercícios. 4) Defina o conceito de função de eficiência luminosa. (Victor)

Capítulo 3. Descrição e visualização do modelo 25

Introdução ao Processamento e Síntese de imagens -Linhas e superfícies escondidas

Ray-Tracing. Licenciatura em Engenharia Informática e de Computadores Computação Gráfica. Edward Angel, Cap. 13 Apontamentos CG

3D no OpenGL. Visualização e Transformações Perspectiva. Transformações do Modelview. Processo

Pipeline de Visualização 3D

Ray Tracing e Ray Casting

Geometria Analítica I - MAT Lista 1 Profa. Lhaylla Crissaff

Introdução à Computação Gráfica Iluminação. Claudio Esperança Paulo Roma Cavalcanti

Lista de Álgebra Linear Aplicada

1º Teste Computação Gráfica

Terceiro Trabalho Ray Tracing

Iluminação e Sombreamento

Prof. Fernando V. Paulovich 3 de agosto de SCC Computação Gráca

Ray-Tracing. Licenciatura em Engenharia Informática e de Computadores Computação Gráfica. Edward Angel, Cap. 13 Apontamentos CG

Reflexões e Sombras em Superfícies Planares Animação e Visualização Tridimensional Prof. João Madeiras Pereira Instituto Superior Técnico 2005/2006

Computação Gráfica II

Processamento de Malhas Poligonais

INF1339 Computação Gráfica Tridimensional. Waldemar Celes. 10 de Agosto de 2010

Lista de Exercícios de Cálculo 3 Primeira Semana

G2 de Álgebra Linear I

Iluminação e Sombreamento

Transformações 3D. Soraia Raupp Musse

Ray Tracing (Traçado de Raios)

Rendering de Polígonos. Determinação de Superfícies Visíveis. Back Face Culling. Back Face Culling. Back Face Culling. Back Face Culling.

Iluminação Global. André Tavares da Silva.

4 Extração direta das PELs

ILUMINAÇÃO E. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

Segunda Prova 20 de junho de DURAÇÃO DA PROVA: 90m

Nº Nome: Relação de aspecto é o quociente entre a altura e a largura de uma janela ou um viewport.

PMR2560 Visão Computacional Visão estéreo. Prof. Eduardo L. L. Cabral

Iluminação e Sombreamento

Radiosidade. Radiosidade. Iluminação Direta e Indireta. Color Bleeding a cor do objeto é transmitida. Parcela Difusa em RT

UNIVERSIDADE FEDERAL DE VIÇOSA DEPARTAMENTO DE MATEMÁTICA LISTA DE EXERCÍCIOS DE MAT243-CÁLCULO III

Representação de Objetos e Cenas. Soraia Musse

5. Técnicas de Iluminação

Uma Arquitetura para Síntese de Imagens Fotorrealistas Baseada em Técnicas de Monte Carlo. Otávio de Pinho Forin Braga

Visibilidade Ray-Tracing

Técnicas de renderização com textura

O que é CG?? Soraia Raupp Musse

Introdução ao Processamento e Síntese de imagens - Projeções

Introdução à Computação Gráfica Aliasing e Ray Tracing Distribuído. Claudio Esperança Paulo Roma Cavalcanti

Técnicas de rendering. Realismo

Vetores no plano Cartesiano

Computação Gráfica - 09

UNIVERSIDADE ESTADUAL DE SANTA CRUZ UESC. 1 a Avaliação escrita de Cálculo IV Professor: Afonso Henriques Data: 10/04/2008

2 Modelando a Propagação do Som

Lista de exercícios de GA no espaço

Objetos definidos no seu próprio sistema de coordenadas

Ray Tracing / Ray Casting

aula 9 IC/UFF

2º Exame. Computação Gráfica

POV-Ray. André Tavares da Silva.

Pipeline Gráfico Cluter & Durand, MIT

Computação Gráfica - 09

Shading (sombreamento) & Smooth Shading

Processamento Gráfico

A terceira dimensão. Modelagem tridimensional Elaboração tridimensional Realidade virtual

Visualização e Projeções

UNIVERSIDADE FEDERAL DE VIÇOSA CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS DEPARTAMENTO DE MATEMÁTICA

Óptica. Aula 6 - Lentes e Instrumentos Ópticos.

Tópicos Especiais em Engenharia de Software (Jogos II)

1º Exame. Computação Gráfica

UNIVERSIDADE FEDERAL DE ALAGOAS INSTITUTO DE MATEMÁTICA Aluno(a): Professor(a): Curso:

Revisão. Soraia Raupp Musse

1º Exame. Computação Gráfica

Shading (sombreamento) & Smooth Shading

Rendering. Processo Físico de Geração de uma Imagem. Rendering

ESPAÇOS VETORIAIS EUCLIDIANOS

Realismo Visual. Aula 11 UFF

Departamento de Matemática

Álgebra Linear I - Lista 7. Respostas

Exame de Época Especial Computação Gráfica

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem Python

Universidade Federal do Pará Curso de Licenciatura em Matemática PARFOR Lista de Exercícios Referentes a Prova Substitutiva de Geometria Analítica

Física. Óptica. Professor Alexei Muller.

Processamento de Imagens CPS755

Geometria Analítica. Prof. M.Sc. Guilherme Schünemann

Transcrição:

Raytracing 35T56 Sala 3E3 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227 1

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 2 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) 3

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 4

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

Raytracing x Conversão de Scans 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 6

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 7

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] 8

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 9

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) 10

Calculando Interseções Transforme equação de superfície implícita em uma equação em função 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 11

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 f x, y, z 0 então nós podemos achar o vetor normal no ponto (x, y, z) usando o gradiente naquele ponto: n= f x, y, z Lembre se que o gradiente é umvetor com três componentes f x, y, z = 12 f x x, y,z, f y x, y, z, f z x, y, z

Vetores Normais em Pontos de Interseção No caso da esfera, nós temos f x, y, z = x 2 y 2 z 2 1 Logo, as derivadas parciais são x f y f E o gradiente é f n= f x, y, z = 2x,2 y,2 z z x, y, z =2x x, y, z =2y x, y, z =2z 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 13

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 14

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: 15 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 objectintensityλ = ambient + numlights light =attenuation 1 lightintensityλ [diffuse + specular] Construa um raio da superfície para cada luz Teste se o raio intersecta outros objetos antes de chegar a luz 16 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

Transparência Para um polígono parcialmente transparente I λ 1 k t1 I Î 1» k t1 I Î k t1 transmitancia do poligono 1 IÎ 1» IÎ 2» intensidade calculada para o poligono 1 intensidade calculada para o poligono 2 polygon 1 17 Iλ1 Iλ2 polygon 2 2»

Transparência Modela se o desvio da luz em interfaces de materiais usando se a lei de Snell medium 2 medium 1 sin Î sin Î Î Î 18 t iî» tî» Î i tî» index of refraction of medium 1 index of refraction of medium 2 Î iî»

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 I λ I a λ ka O dî» ambient 19 f att I pî» k d O dî» N L k s O sî» R V diffuse specular Intensidade de raios secundários calculadas com mesma equação Fointes de luz contribuem para iluminação especular e difusa Reflexão recursiva inter objetos é estritamente especular Reflexão recursiva inter objetos difusa é tratada usando se radiosidade Limitações m n k s Osλ k t Otλ I tî» reflected refracted recursive

Raytracing Recursivo Iluminação indireta 20

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

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