Baixe o app para aproveitar ainda mais
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
Compartilhar