Buscar

Processamento Gráfico

Prévia do material em texto

Fundamentos de Processamento Gráfico
Helton H. Bı́scaro ; Fátima Nunes
30 de maio de 2023
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 1 / 45
Textura
Texturas:
Prover uma forma eficiente de lidar com as diferenças de reflectância
difusa ponto-a-ponto em uma superfı́cie (Catmull, 1975);
Adicionar detalhes a uma superfı́cie sem onerar o processo de
renderização.
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 3 / 45
Textura
Texturas:
Texturização
Funções ou imagens que alteram os atributos de uma figura geométrica.
Tal função ou imagem é chamada de mapeamento de textura.
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 4 / 45
Textura
Texturas:
Texturização
Interação da luz com a superfı́cie dos materiais.
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 5 / 45
Textura
Texturas:
Texturização
Sı́ntese de imagem com mapeamento de textura.
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 6 / 45
Textura
Texturas:
Texturização - Tipos de Mapeamento.
Mapeamento de Cor: substitui a componente difusa da equação da
iluminação pela cor especificada em textura de forma a reproduzir a
aparência da textura ;
Mapeamento de reflexões especulares: Em inglês, enviroment
mapping: substitui a componente especular da equação de iluminação
pela cor especificada em textura de forma a aparentar a reflexão
especular;
Mapeamento de Bossagem: Em ingês, Bump mapping: perturba a
direção das normais com o valor especificado em textura, de forma a
aprentar uma aparência rugosa;
Mapeamento de deslocamento: Em ingês, dislacement mapping:
perturba a direção do ponto na superfı́cie ao longo da normal, de modo a
dar uma aparência de protuberância;
Mapemento de transparência: Perturba a opacidade da superfı́cie de
modo a dar impressão de translucidezHelton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 7 / 45
Textura
Texturas:
Texturização - Tipos de Mapeamento.
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 8 / 45
Textura
Texturas:
Espaços de Textura.
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 9 / 45
Textura
Texturas:
Dimensão dos possı́veis Espaços.
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 10 / 45
Textura
Texturas:
Texturas 2D.
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 11 / 45
Textura
Texturas:
Texturas 2D.
Exemplos de Texturas de Bump
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 12 / 45
Textura
Texturas:
Texturas de Sombras
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 13 / 45
Textura
Texturas:
Textura Procedural
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 14 / 45
Textura
Texturas:
Textura Procedural
Dado um ponto Pi = (xi,yi,zi), calculamos valores aleatórios G = (ai,bi,ci):
ai = Random(64∗ xi +56∗ yi +71∗ zi)
bi = Randon(73∗ xi +79∗ yi +83∗ zi)
ci = Randon(89∗ xi +97∗ yi +101∗ zi)
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 15 / 45
Textura
Texturas:
Textura Procedural
deslocamento ∆d em relação ao ponto Q5 = (⌊x⌋ ,⌊y⌋,⌊z⌋) e também aos
demais:
∆d = (dx,dy,dz) = (x−⌊x⌋ ,y−⌊y⌋ ,z−⌊z⌋)
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 16 / 45
Textura
Texturas:
Textura Procedural
Q8 = (⌊x⌋+1,⌊y⌋,⌊z⌋)
Q6 = (⌊x⌋,⌊y⌋,⌊z⌋+1)
Q7 = (⌊x⌋+1,⌊y⌋,⌊z⌋+1)
Q1 = (⌊x⌋,⌊y⌋+1,⌊z⌋)
Q2 = (⌊x⌋,⌊y⌋+1,⌊z⌋+1)
Q4 = (⌊x⌋+1,⌊y⌋+1,⌊z⌋)
Q3 = (⌊x⌋+1,⌊y⌋+1,⌊z⌋+1)
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 17 / 45
Textura
Texturas:
Textura Procedural
Dados os ruı́dos de duas amostras adjacentes
RA = ⟨Pi −QA,GA⟩= (aAxi +bAyi + cAzi)− (aAxA +bAyA + cAzA) e
RB = ⟨Pi −QB,GB⟩= (aBxi +bByi + cBzi)− (aBxB +bByB + cBzB) , estima-se
o ruı́do RAB por interpolação linear:
RAB = RA + t (RB −RA)
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 18 / 45
Textura
Texturas:
Textura Procedural
Com o uso de ∆d, estima-se os fatores ( fx, fy, fz) de interpolação nas três
direções por uma função cúbica 3t2 −2t3, ou seja:
fx = 3d2
x −2d3
x
fy = 3d2
y −2d2
y
fz = 3d2
z −2d3
z
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 19 / 45
Textura
Texturas:
Textura Procedural
Interpolando linearmente na direção x, temos:
RL1 = RQ1 + fx (RQ4 −RQ1)
RL2 = RQ2 + fx (RQ3 −RQ2)
RL3 = RQ5 + fx (RQ8 −RQ5)
RL4 = RQ6 + fx (RQ7 −RQ6)
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 20 / 45
Textura
Texturas:
Textura Procedural
A partir de RL1 ,RL2 ,RL3 e RL4 aplica-se a interpolação linear na direção y :
RM1 = RL3 + fy (RL1 −RL3)
RM2 = RL4 + fy (RL2 −RL4)
e finalmente na direção z, obtem-se o ruı́do de Perlin no ponto Pi
RPi = RM1 − fz (RM2 −RM1)
Multiplicamos cada componente de cor (Cr,Cg,Cb) pelo ruı́do de Perlin.
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 21 / 45
Textura
Texturas:
Textura Procedural
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 22 / 45
Textura
Texturas:
Textura Procedural - Exemplos de Ruı́do de Perlin
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 23 / 45
Textura
Texturas:
Mapeamento de Textura
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 24 / 45
Textura
Texturas:
Mapeamento Direto
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 25 / 45
Textura
Texturas:
Mapeamento Linear - Método inverso:
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 26 / 45
Textura
Texturas:
Mapeamento Esférico - Método inverso:
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 27 / 45
Textura
Texturas:
Mapeamento Cilindrico - Método inverso:
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 28 / 45
Textura
Texturas:
Mapeamento Cúbico - Método inverso:
Em vez de se usar um mapa de textura, utiliza-se seis. Um para cada
lado do cubo.
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 29 / 45
Textura
Texturas:
Mapeamento Cúbico - Exemplo:
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 30 / 45
Textura
Texturas:
Mapeamento Em dois Passos:
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 31 / 45
Textura
Texturas:
Mapeamento Esférico Em dois Passos:
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 32 / 45
Textura
Texturas:
Mapeamento Cilindrico Em dois Passos:
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 33 / 45
Textura
Texturas:
Mapeamento Cúbico Em dois Passos:
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 34 / 45
Textura
Texturas:
Sumarizando
Para cada entrada (s, t) são armazenados valores de cor (R,G,B) que podem
alterar os valores do pixel correspondente de uma das três maneiras:
1 Substituição: A cor do pixel é substituida pela cor do textel;
2 Decalque: A cor do pixel é combinada com a cor do textel;
3 Modulação: A cor do pixel é modulada pela cor do textel;
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 35 / 45
Textura
Texturas:
“Enviroment Mapping ”
Técnica simples e eficaz de simular reflexos produzidos por superfı́cies
espelhadas. Requer o mapa de reflexão.
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 36 / 45
Textura
Texturas:
Mapa de reflexão - Exemplo:
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 37 / 45
Textura
Texturas:
Sphere MappingExemplo:
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 38 / 45
Textura
Texturas:
Mapeamento Cúbico Reflexivo - Exemplo:
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 39 / 45
Textura
Texturas:
Mapeamento Cúbico Reflexivo - Exemplo:
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 40 / 45
Textura
Texturas:
Função de Mapeamento - Exercı́cio:
Mapear coordenadas de textuta
(s, t) ∈ [0,1]× [0,1]→ (θ,φ) ∈ [0,2π]× [−π
2 ,
π
2 ] :
x(θ,φ) = r cos(θ)sin(φ)
y(θ,φ) = r sin(θ)sin(φ)
z(θ,φ) = r cos(φ)
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 41 / 45
Textura
Texturas:
Função de Transformação - Exercı́cio:
Textuta de Bump
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 42 / 45
Textura
Texturas:
Função de Transformação - Exercı́cio:
Suponha que o textel (s, t) seja correspondente ao ponto
P = r (x(u,v) ,y(u,v) ,z(u.v)) com normal igual a N.
1 A posição de P é perturbada ao longo da normal
Pn = P+
b(s, t)N
∥N∥
2 Blinn mostrou que uma boa aproximação para nova normal é
Nn = N +
bs (N × ru)−bt (N × rv)
∥N∥
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 43 / 45
Textura
Texturas:
Função de Transformação - Exercı́cio:
Num espaço discreto de textel:
Encontrar uma aproximação para bt e bs:
Helton H. Bı́scaro ; Fátima Nunes Computação Gráfica 30 de maio de 2023 44 / 45
	Textura

Continue navegando