1 / 78

Real Time Rendering

Real Time Rendering. a. Pipeline Gráfico. Pipeline Gráfico. referência. Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo. Real Time Rendering – Second Edition Akenine-Möller, Haines. Pipeline Gráfico. Rendering. Rasterização. Aplicação. Geometria. Z-Buffer

larue
Download Presentation

Real Time Rendering

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. 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 Rendering Rasterização Aplicação Geometria 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

  8. Representação de modelos geométricos

  9. 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

  10. modelos geométricos – 3DS MAX ASCII Named Object: “Quadrado” Tri-mesh, Vertices: 8 Faces: 12 Vertex list: Vertex 0: X: -1.00000 y: -1.00000 z: -1.00000 Vertex 1: X: -1.00000 y: -1.00000 z: 1.00000 Vertex 2: X: 1.00000 y: -1.00000 z: -1.00000 Vertex 3: X: 1.00000 y: -1.00000 z: 1.00000 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 Material:”r255b255b255a0”

  11. 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?

  12. Estágio de Geometria Iluminação por vértice Transformação de Modelo e visão Projeção Clipping Mapeamento Em tela Aproximadamente 100 operações de ponto flutuante para esta aplicação

  13. Transformação de Modelo e Visão Coordenadas de Modelo Coordenadas de Mundo x camera Eye Space z

  14. Transformações Homogeneas Permite concatenação de matrizes Vetores: (a b c 0)Pontos: (a b c 1)

  15. Transformações Homogeneas Processo de “homogenização” de um ponto (px/pw, py/pw, pz/pw, 1)

  16. Transformação Observação: vetores não sairão do lugar

  17. Rotação

  18. Rotação

  19. Escala

  20. Composição de Transformações Como rotacionar um objeto ao redor de um ponto p? T(p).Rz(a).T(-p)

  21. Transformações de corpos rígidos Distância relativa entre os vértices não é alterada

  22. Desfazer as Transformações X = T(t)R = X-1 = (T(t)R)-1 = R-1 T(t)-1 = RTT(-t)

  23. Exercício Crie uma matriz de transformação para o movimento abaixo

  24. 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.

  25. 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]

  26. 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

  27. 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.

  28. 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,

  29. O que é Iluminação? • Fenômeno físico resultante da interação de fótons com uma superfície

  30. Motivação

  31. Modelos de iluminação

  32. Conceitos de Raios de Luz luz visão reflexo

  33. Forward Raytracing

  34. Problema do Forward Raytracing

  35. Backward Raytracing

  36. Traçamento de Raios

  37. Traçamento de Raios

  38. Interseção do Raio com um objeto

  39. Interseção Raio com esfera Raio: R(t) = R0 + t * Rd , t > 0 Com R0 = [X0, Y0, Z0] e Rd = [Xd, Yd, Zd] X = X0 + Xd * tY = Y0 + Yd * tZ = Z0 + Zd * t Esfera: Sc = [xc, yc, zc] S: (xs - xc)2 + (ys - yc)2 + (zs - zc)2 = Raio2

  40. 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

  41. 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.

  42. 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 * tY = Y0 + Yd * tZ = Z0 + Zd * t

  43. Iluminação • Se houver iluminação?

  44. Componentes da Iluminação – Ambiente 45

  45. Componentes da Iluminação – Ambiente

  46. Componentes da Iluminação – Radiosidade

  47. Componentes da Iluminação – Radiosidade 48

  48. Componentes da Iluminação – Ambiente Cora= materia . Ia

  49. Normal de uma Superfície N

More Related