Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo -...

78
Real Time Rendering

Transcript of Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo -...

Page 1: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Real Time Rendering

Page 2: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

a. Pipeline Gráfico

Page 3: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Pipeline Gráfico

- Pipeline / Estágios

- Gargalo

- Otimização

- Tipos de Processamento Paralelo

referência

Real Time Rendering – Second EditionAkenine-Möller, Haines

Page 4: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Pipeline Gráfico

Aplicação Geometria Rasterização

FísicaEntrada de DadosInteligência ArtificialCulling

Rendering

TransformaçãoIluminação de vérticeProjeção Recorte

Z-BufferTexturizaçãoIluminação por pixel

Page 5: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Representação de modelos geométricos

Page 6: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Representação de modelos geométricos

Lista de VérticesV1: x1, y1, z1V2: x2, y2, z2...

Lista de FacesF1: v1, v2, v3F2: v2, v3, v4...

Lista de materiaisM1: F1, F2, F3M2: F4, F5, F6...

Page 7: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Representação de modelos geométricos

Page 8: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.
Page 9: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Representação de modelos geométricos

Page 10: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

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

Page 11: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

modelos geométricos – 3DS MAX ASCII

Named Object: “Quadrado”Tri-mesh, Vertices: 8 Faces: 12Vertex list:Vertex 0: X: -1.00000 y: -1.00000 z: -1.00000Vertex 1: X: -1.00000 y: -1.00000 z: 1.00000Vertex 2: X: 1.00000 y: -1.00000 z: -1.00000Vertex 3: X: 1.00000 y: -1.00000 z: 1.00000Face List:Face 0: A:2 B:3 C:1 AB:1 BC:1 CA:1Material:”r255b255b255a0”Face 1: A:2 B:1 C:0 AB:1 BC:1 CA:1Material:”r255b255b255a0”

Page 12: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

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?

Page 13: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Estágio de Geometria

Transformação de Modelo e visão

Iluminação por vértice Projeção

Clipping

MapeamentoEm tela

Aproximadamente 100 operações de ponto flutuante para esta aplicação

Page 14: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Transformação de Modelo e Visão

Coordenadas de Modelo

Coordenadas de Mundo

Eye Space

camera

z

x

Page 15: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Transformações Homogeneas

Permite concatenação de matrizes

Vetores: (a b c 0)

Pontos: (a b c 1)

Page 16: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Transformações Homogeneas

Processo de “homogenização” de um ponto

(px/pw, py/pw, pz/pw, 1)

Page 17: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Transformação

Observação: vetores não sairão do lugar

Page 18: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Rotação

Page 19: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Rotação

Page 20: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Escala

Page 21: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Composição de Transformações

Como rotacionar um objeto ao redor de um ponto p?

T(p).Rz().T(-p)

Page 22: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Transformações de corpos rígidos

Distância relativa entre os vértices não é alterada

Page 23: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Desfazer as Transformações

X = T(t)R =

X-1 = (T(t)R)-1 = R-1 T(t)-1 = RTT(-t)

Page 24: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Exercício

Crie uma matriz de transformação para o movimento abaixo

Page 25: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

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.

Page 26: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

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]

Page 27: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Quaternions - Definição

Um quaternion unitário é um quaternion onde s2+v2

x+v2y+v2

z= 1.

Assim, se u for um vetor unitário, pode-se dizer que:q = (cossinué unitário

DEMONSTRE

Page 28: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Quaternions - Definição

Uma rotação de um ângulo em torno do eixo u (normalizado) é representada pelo quaternion unitário:

q = [s,v] = [cos(/2),sen(/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.

Page 29: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

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,

Page 30: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

O que é Iluminação?O que é Iluminação?

• Fenômeno físico resultante da interação de fótons Fenômeno físico resultante da interação de fótons com uma superfíciecom uma superfície

Page 31: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

MotivaçãoMotivação

Page 32: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Modelos de iluminaçãoModelos de iluminação

Page 33: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Conceitos de Raios de LuzConceitos de Raios de Luz

luz

visãoreflexo

Page 34: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Forward RaytracingForward Raytracing

Page 35: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Problema do Forward RaytracingProblema do Forward Raytracing

Page 36: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Backward RaytracingBackward Raytracing

Page 37: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Traçamento de RaiosTraçamento de Raios

Page 38: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Traçamento de RaiosTraçamento de Raios

Page 39: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Interseção do Raio com um objetoInterseção do Raio com um objeto

Page 40: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Interseção Raio com esferaInterseçã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

Page 41: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Interseção Raio com esferaInterseçã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 + COnde

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

Page 42: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Interseção Raio com esferaInterseçã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.

Page 43: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Exercício: Interseção Raio com planoExercí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

Page 44: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

IluminaçãoIluminação

-Se houver iluminação?

Page 45: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

45

Componentes da Iluminação Componentes da Iluminação – Ambiente– Ambiente

Page 46: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Componentes da Iluminação Componentes da Iluminação – Ambiente– Ambiente

Page 47: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Componentes da Iluminação Componentes da Iluminação – Radiosidade– Radiosidade

Page 48: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

48

Componentes da Iluminação Componentes da Iluminação – Radiosidade– Radiosidade

Page 49: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Componentes da Iluminação Componentes da Iluminação – Ambiente– Ambiente

Cora= materia . Ia

Page 50: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Normal de uma SuperfícieNormal de uma Superfície

N

Page 51: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Modelo Phong - DifusoModelo Phong - Difuso

NL

Iluminação

cos Iluminação

cos = L . N

Page 52: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Componentes da Iluminação Componentes da Iluminação – Difuso– Difuso

Cord = Material . cos cos N . L

Cord = K . (N . L)

Page 53: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Componentes da Iluminação Componentes da Iluminação – Especular– Especular

Normal (N)

Reflexo (R)

Luz (L)Observador ( O )

Page 54: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Componentes da Iluminação Componentes da Iluminação – Especular– Especular

Core = Material . (cos n

cos O . RCore = K . (O . R)n

n = 2 n = 5 n = 30

Page 55: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Modelo PhongModelo Phong

NL

Iluminação

cos Iluminação

cos = L . N

Itotal = Iambiente + Idifusa + Iespecular

Page 56: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

IluminaçãoIluminação

Page 57: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Reflexo e RefraçãoReflexo e Refração

Page 58: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Recursividade do Ray TracingRecursividade do Ray Tracing

Page 59: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Recursividade do Ray TracingRecursividade do Ray Tracing

NL Reflexo

Transmissão

P

Page 60: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Recursividade do Ray TracingRecursividade do Ray Tracing

Itotal = IPhong( P ) + Raytracing (Reflexo) + Raytracing (Transmissão)

Page 61: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Implementação do Ray TracingImplementaçã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)

Page 62: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Iluminação por polígonosIluminação por polígonos

N

1 cálculo de iluminação por polígono

Page 63: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Iluminação por vérticeIluminação por vértice

N2

4 cálculos de iluminação por polígono

N1

N3

N4

Page 64: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Iluminação por vérticeIluminação por vértice

Page 65: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Iluminação por pixelIluminação por pixel

n cálculos de iluminação por polígono

Page 66: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

ProjeçãoProjeçã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”

Linhas paralelas permanecem paralelas

Page 67: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Projeção

q

z

x

p

Z= -d

pz

qx px

qx -d

px pz

= qx -d px

pz

=

Page 68: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Exercício: Encontre a matriz de Projeção Perspectiva

Page 69: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Projeção Perspectiva

Page 70: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Clipping

Page 71: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Mapeamento para Coordenada de Tela

Page 72: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Algumas Otimizações

Page 73: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

b. Triangle Strips

Idéia fundamental: minimizar volume de vértices e consequentemente, minimizar cálculos de iluminação, normais, clipping, etc.

Page 74: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Triangle Strips

Strips: É possível descrever um triângulo com menos de 3 vértices?

Para n triângulos, n+2 vérticesCada Triangulo: Vi, Vi+1, Vi+2

Problema

Page 75: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Triangle Strips

Problema

Page 76: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Triangle Fans

Cada Triangulo: V1, Vi+1, Vi+2

Page 77: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Rasterização

Page 78: Real Time Rendering. a. Pipeline Gráfico Pipeline Gráfico - Pipeline / Estágios - Gargalo - Otimização - Tipos de Processamento Paralelo referência Real.

Algoritmo de Z-Buffer