Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Real Time Rendering
2
a. Pipeline Gráfico
3
Pipeline Gráfico referência Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo Real Time Rendering – Second Edition Akenine-Möller, Haines
4
Pipeline Gráfico Aplicação Rasterização Geometria Rendering Z-Buffer
Texturização Iluminação por pixel Física Entrada de Dados Inteligência Artificial Culling Transformação Iluminação de vértice Projeção Recorte
5
Representação de modelos geométricos
6
Representação de modelos geométricos
Lista de Vértices V1: x1, y1, z1 V2: x2, y2, z2 ... Lista de Faces F1: v1, v2, v3 F2: v2, v3, v4 Lista de materiais M1: F1, F2, F3 M2: F4, F5, F6
7
Representação de modelos geométricos
9
Representação de modelos geométricos
10
Outras Representações
Half-Edge Meshes – Similar ao HE, mas com simplificação para um predecessor e um sucessor (ao invés de 2). Quad-Edge Meshes – Similar, porém sem referencia às faces Corner-Table – Armazena os vértices numa tabela pré-definida de acordo com a ordem ditada pelo polígono
11
modelos geométricos – 3DS MAX ASCII
Named Object: “Quadrado” Tri-mesh, Vertices: 8 Faces: 12 Vertex list: Vertex 0: X: y: z: Vertex 1: X: y: z: Vertex 2: X: y: z: Vertex 3: X: y: z: Face List: Face 0: A:2 B:3 C:1 AB:1 BC:1 CA:1 Material:”r255b255b255a0” Face 1: A:2 B:1 C:0 AB:1 BC:1 CA:1
12
Trabalho 1 Para um cubo composto por faces triangulares (12 triangulos), calcule: O tamanho, em Bytes, para cada uma das estruturas citadas Como responder as seguintes perguntas: Quantas faces usam um determinado vértice? Que arestas usam este vértice? Que faces tem esta aresta como borda? Que arestas estão contidas nesta face? Que faces são adjacentes a esta face?
13
Aproximadamente 100 operações de ponto flutuante para esta aplicação
Estágio de Geometria Transformação de Modelo e visão Iluminação por vértice Projeção Clipping Mapeamento Em tela Aproximadamente 100 operações de ponto flutuante para esta aplicação
14
Transformação de Modelo e Visão
Coordenadas de Modelo Coordenadas de Mundo x camera Eye Space z
15
Transformações Homogeneas
Permite concatenação de matrizes Vetores: (a b c 0) Pontos: (a b c 1) 15
16
Transformações Homogeneas
Processo de “homogenização” de um ponto (px/pw, py/pw, pz/pw, 1) 16
17
Transformação Observação: vetores não sairão do lugar
18
Rotação
19
Rotação
20
Escala
21
Composição de Transformações
Como rotacionar um objeto ao redor de um ponto p? T(p).Rz(a).T(-p)
22
Transformações de corpos rígidos
Distância relativa entre os vértices não é alterada
23
Desfazer as Transformações
X = T(t)R = X-1 = (T(t)R)-1 = R-1 T(t)-1 = RTT(-t)
24
Exercício Crie uma matriz de transformação para o movimento abaixo
25
Quaternions Em simulações dinâmicas é preferivel usar quaternions unitários a matrizes de rotação (corpos rígidos), devido ao acumulo de erros numéricos na matriz de rotação.
26
Quaternions - Definição
Um quaternion q é uma estrutura algébrica constituída de duas partes: um escalar s e um vetor v = (vx, vy, vz), ou q = [s,v]. A multiplicação de dois quaternions q1 e q2 é definida como q1q2 = [s1,v1][s2,v2] = [s1s2−v1 ·v2, s1v2+s2v1+v1×v2]
27
Quaternions - Definição
Um quaternion unitário é um quaternion onde s2+v2x+v2y+v2z= 1. Assim, se u for um vetor unitário, pode-se dizer que: q = (cosq, sinq u ) é unitário DEMONSTRE
28
Quaternions - Definição
Uma rotação de um ângulo q em torno do eixo u (normalizado) é representada pelo quaternion unitário: q = [s,v] = [cos(q /2),sen(q /2)u] A rotação inversa q−1 é definida invertendo-se o sinal de s ou de v na equação acima, mas não de ambos.
29
Quaternions - Definição
Para rotacionar um ponto P(x, y, z) por um quaternion q, escreve-se o ponto P como o quaternion p = [0, (x,y, z)] e efetua-se o produto: prot = q [0, (x´,y´, z´)] q−1 = q p q−1,
30
O que é Iluminação? Fenômeno físico resultante da interação de fótons com uma superfície
31
Motivação
32
Modelos de iluminação
33
Conceitos de Raios de Luz
visão reflexo
34
Forward Raytracing
35
Problema do Forward Raytracing
36
Backward Raytracing
37
Traçamento de Raios
38
Traçamento de Raios
39
Interseção do Raio com um objeto
40
Interseção Raio com esfera
R(t) = R0 + t * Rd , t > 0 Com R0 = [X0, Y0, Z0] e Rd = [Xd, Yd, Zd] X = X0 + Xd * t Y = Y0 + Yd * t Z = Z0 + Zd * t Esfera: Sc = [xc, yc, zc] S: (xs - xc)2 + (ys - yc)2 + (zs - zc)2 = Raio2
41
Interseção Raio com esfera
Substituindo a equação do raio na equação da esfera: (X0 + Xd*t - Xc)2 + (Y0 + Yd*t - Yc)2 + (Z0 + Zd*t - Zc)2 = Raio2 Desenvolvendo a equação e juntando as constantes: Teremos uma equação da forma: At2 + Bt + C Onde A = Xd2 + Yd2 + Zd2 B = 2*(Xd * (X0 - Xc) + Yd * (Y0 - Yc) + Zd * (Z0 - Zc)) C = (X0 - Xc)2 + (Y0 - Yc)2 + (Z0 - Zc)2 – Raio2 Para que de fato a equação resulte numa interseção: At2 + Bt + C = 0
42
Interseção Raio com esfera
Se as raizes t0 e t1 forem números complexos: não há raízes reais e portanto não há interseção Se t0 = t1 : houve tangencia da reta e a esfera Se t0 e t1 forem distintas e reais: houve interseção. Deve-se calcular qual o ponto mais próximo do observador.
43
Exercício: Interseção Raio com plano
Equação do Plano: Ax + By + Cz = d Determine a equação para interseção com o raio: R(t) = R0 + t * Rd , t > 0 Com R0 = [X0, Y0, Z0] e Rd = [Xd, Yd, Zd] X = X0 + Xd * t Y = Y0 + Yd * t Z = Z0 + Zd * t
44
Iluminação Se houver iluminação?
45
Componentes da Iluminação – Ambiente
45
46
Componentes da Iluminação – Ambiente
47
Componentes da Iluminação – Radiosidade
48
Componentes da Iluminação – Radiosidade
48
49
Componentes da Iluminação – Ambiente
Cora= materia . Ia
50
Normal de uma Superfície
51
Iluminação N cos Iluminação L cos = L . N Modelo Phong - Difuso
52
Cord = Material . cos cos N . L Cord = K . (N . L)
Componentes da Iluminação – Difuso Cord = Material . cos cos N . L Cord = K . (N . L)
53
Componentes da Iluminação – Especular
Observador ( O ) Normal (N) Luz (L) Reflexo (R)
54
Core = Material . (cos n cos O . R Core = K . (O . R)n
Componentes da Iluminação – Especular n = 2 n = 5 n = 30 Core = Material . (cos n cos O . R Core = K . (O . R)n
55
Iluminação N cos Iluminação L cos = L . N Modelo Phong
Itotal = Iambiente + Idifusa + Iespecular
56
Iluminação
57
Reflexo e Refração
58
Recursividade do Ray Tracing
59
Recursividade do Ray Tracing
L N Reflexo P Transmissão
60
Recursividade do Ray Tracing
Itotal = IPhong( P ) + Raytracing (Reflexo) + Raytracing (Transmissão)
61
Implementação do Ray Tracing
Ray_Tracing (VETOR) Para cada Pixel da Imagem OBJETO_MAIS_PRÓXIMO = NENHUM DISTANCIA_MINIMA = INFINITO Crie um raio do observador ao pixel Para cada Objeto da Cena Se o raio tem interseção com este objeto Se DISTANCIA_MINIMA < distancia (camera até este objeto) OBJETO_MAIS_PRÓXIMO = este objeto Se OBJETO_MAIS_PRÓXIMO == NENHUM Pixel = COR_DE_FUNDO Senão REFLEXO = Calcula_Reflexo (OBJETO_MAIS_PRÓXIMO, LUZ) TRANSMISSÃO = Calcula_Transmissão (OBJETO_MAIS_PRÓXIMO, N) Pixel = Phong(OBJETO) + Ray_Tracing (REFLEXO) + Ray_Tracing (TRANSMISSÃO)
62
1 cálculo de iluminação por polígono
Iluminação por polígonos N 1 cálculo de iluminação por polígono
63
4 cálculos de iluminação por polígono
Iluminação por vértice N3 N2 N4 N1 4 cálculos de iluminação por polígono
64
Iluminação por vértice
65
n cálculos de iluminação por polígono
Iluminação por pixel n cálculos de iluminação por polígono
66
Linhas paralelas permanecem paralelas
Projeção Linhas paralelas permanecem paralelas Projeção Ortográfica Assumindo que os vértices estão em coordenadas de eye space A matriz não possui inversa, pois a determinante é nula. Assim, esta é uma transformação sem “volta” 66
67
Projeção pz p Z= -d q x qx px z qx d qx d px = = px pz pz 67
68
Exercício: Encontre a matriz de Projeção Perspectiva
68
69
Projeção Perspectiva 69
70
Clipping
71
Mapeamento para Coordenada de Tela
71
72
Algumas Otimizações 72
73
b. Triangle Strips Idéia fundamental: minimizar volume de vértices e consequentemente, minimizar cálculos de iluminação, normais, clipping, etc.
74
Triangle Strips Strips: É possível descrever um triângulo com menos de 3 vértices? Problema Para n triângulos, n+2 vértices Cada Triangulo: Vi, Vi+1, Vi+2
75
Triangle Strips Problema
76
Triangle Fans Cada Triangulo: V1, Vi+1, Vi+2
77
Rasterização
78
Algoritmo de Z-Buffer 78
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.