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

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

Ray Tracing Patrícia Cordeiro Pereira Pampanelli

Apresentações semelhantes


Apresentação em tema: "Ray Tracing Patrícia Cordeiro Pereira Pampanelli"— Transcrição da apresentação:

1 Ray Tracing Patrícia Cordeiro Pereira Pampanelli
Disciplina: Fundamentos de Computação Gráfica Professor: Marcelo Gattass PUC-Rio

2 Sumário Introdução Objetivos Fundamentos Implementação Resultados
Passos Iniciais Traços secundários Modelagem dos objetos Implementação Renderização com GLSL Resultados

3 Introdução Algoritmo de renderização e síntese de imagens
Utiliza o traçado de raios a partir de cada um dos pixels do plano da imagem Alto grau de realismo das imagens Alto custo computacional

4 Objetivos Implementar o algoritmo básico de traçado de raios

5 Fundamentos Definição da câmera Definição da cena Algoritmo básico
Modelagem dos objetos

6 Definição da câmera eixo vertical eixo óptico eixo horizontal
Espaço do olho xe, ye, ze Eixo vertical e eixo horizontal Eixo óptico eixo óptico v u eye xe ye ze eixo horizontal eixo vertical

7 Definição da câmera Campo de visão – Abertura da câmera fov1 fov2 a f1
fovy f1 f2 fov1 fov2 a

8 Definição da cena Cor de fundo Luz ambiente Fontes de luz Câmera
Conjunto de objetos Esfera Caixa Triângulo ...

9 Algoritmo Básico - Passos iniciais
Um raio é lançado para cada um dos pixels da imagem Cada raio tem uma origem e uma direção

10 Algoritmo Básico - Traços secundários
Região visível Sombra

11 Modelagem dos Objetos Tipo de objeto Material Esfera Caixa Triângulo
... Material Cor luz difusa Cor luz especular Fator especular Fator reflexão Fator opacidade

12 Implementação Vertex shader #version 330
uniform mat4 projectionMatrix; uniform mat4 modelViewMatrix; in vec4 vertex; in vec2 texCoord; out vec2 fragmentTexCoord; void main(void) { fragmentTexCoord = texCoord; // Posição do vértice gl_Position = projectionMatrix*modelViewMatrix*vertex; }

13 Implementação Fragment shader #version 330
// Imagem resultante obtida com o Ray Tracing uniform sampler2D imageResult; // Coordenadas para o acesso à textura in vec2 fragmentTexCoord; layout(location = 0, index = 0) out vec4 fragColor; void main(void) { fragColor = texture2D(imageResult, fragmentTexCoord); }

14 Resultados Luz difusa – sem sombra

15 Resultados Luz difusa – com sombra

16 Resultados Luz especular

17 Resultados Reflexão

18 Transparência

19 Resultados

20 Resultados

21 Resultados

22 Referências Notas de aula


Carregar ppt "Ray Tracing Patrícia Cordeiro Pereira Pampanelli"

Apresentações semelhantes


Anúncios Google