REFINAMENTO DE MALHA

Documentos relacionados
Texturas. André Tavares da Silva. Baseado no material de Claudio Esperança e Paulo Roma Cavalcanti

Tomás Antônio Costa Badan. Mapa de Textura: O Básico

Shading (sombreamento) & Smooth Shading

Shading (sombreamento) & Smooth Shading

Mapeamento de Texturas

Computação Gráfica - 13

Mapeamento de Texturas

Computação Gráfica - 13

Computação Gráfica 5385: Licenciatura em Engenharia Informática. Chap. 10 Texturas. Texturas

Mas essas alternativas podem ser inviáveis para superfícies imprevisíveis e muito. Podemos aumentar o nível de detalhes da

Introdução à Computação Gráfica Texturas

Texturas. Aula 7. Sistemas Gráficos e Interactivos Instituto Superior de Engenharia do Porto. Paulo Gandra de Sousa

Mapeamento de Textura

Mapeamento de Texturas

Técnicas de Mapeamento

Computação Gráfica. Texturas

Fundamentos de Computação Gráfica. Texturas

Computação Gráfica - 09

Computação Gráfica - 09

FCTUNIVERSIDADE NOVA DE LISBOA!

Geração de Geometria - Terrenos

Instituto Tecnológico de Aeronáutica. Prof. Carlos Henrique Q. Forster Sala 121 IEC. Luiz Felipe Simões Hoffmann

Computação Gráfica. Texturas

Pipeline de Visualização 3D

Geração Procedural de Terrenos em GPU

Visibilidade. Licenciatura em Engenharia Informática e de Computadores Computação Gráfica. Edward Angel, Cap. 7 Apontamentos CG

Introdução ao Processamento e Síntese de imagens - Projeções

Visualização bidimensional. Universidade Católica de Pelotas Centro Politécnico Disciplina: Computação Gráfica

Capítulo 3 Primeiros Passos em OpenGL Função Desenha Função Teclado Função Inicializa Programa Principal...

Introdução ao Processamento e Síntese de imagens -Linhas e superfícies escondidas

5.1 Visualização da curva silhueta em R 4 Alguns exemplos de superfícies em R 4

Mapeamento de Texturas

FCTUNIVERSIDADE NOVA DE LISBOA!

Iluminação e Sombreamento

UNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes. Um estudo dos estágios dos pipelines gráficos

Mapeamento de Texturas

Computação Gráfica. Prof. André Yoshimi Kusumoto

Segunda Prova 20 de junho de DURAÇÃO DA PROVA: 90m

Implementação de um Ambiente para Modelagem de Objetos 3D com uso de Sweeping. Ednilson José ALUNO. Prof. Dalton Solano dos Reis ORIENTADOR

Introdução. 1 Introdução

aula 22 Texturas IC/UFF 2017 Aura

4 Iluminação de dados sísmicos

Computação Gráfica 09

Introdução ao Processamento e Síntese de imagens Rendering 2016

Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 6. Projeções

Questão Valor Nota Total 10.0

Computação Gráfica II

Visualização Interativa de Modelos Massivos de Engenharia na Indústria de Petróleo com o Algoritmo de Voxels Distantes

Rendering de Polígonos. Determinação de Superfícies Visíveis. Back Face Culling. Back Face Culling. Back Face Culling. Back Face Culling.

INF1339 Computação Gráfica Tridimensional. Waldemar Celes. 10 de Agosto de 2010

Introdução à Computação Gráfica

aula 21 Tecnicas de Iluminação Global IC/UFF 2017 Aura

Exercícios de Programação e Computação para Arquitectura. António Menezes Leitão

Detalhes de Superfícies. Introdução à Computação Gráfica Texturas. Propriedades Mapeáveis. Mapeamento de Textura

QuadLOD: Uma Estrutura para a Visualização Interativa de Terrenos

FUNDAMENTOS E APLICAÇÕES. Luis Valente

Computação Gráfica. GLSL - Programação de Shaders Toon Mapping; Texturas

Thanks to Isabel Harb Manssour Marcelo Cohen

Determinação da Visibilidade

CÁLCUL O INTEGRAIS TRIPLAS ENGENHARIA

Instituto Tecnológico de Aeronáutica. Prof. Carlos Henrique Q. Forster Sala 121 IEC

Universidade de Aveiro Departamento de Electrónica, Telecomunicações e Informática. Transformações 2D

Imagem e Gráficos. vetorial ou raster?

Os testes foram efetuados em um processador Intel i7 de 2.8 GHz com 12Gb de memória RAM utilizando uma Nvidia GeForce GTX 480.

4 Visualização por pontos

A terceira dimensão. Modelagem tridimensional Elaboração tridimensional Realidade virtual

Computação Gráfica. Representação e Modelagem

Transformações 3D. Soraia Raupp Musse

Projeções ortográficas. Desenho Técnico 2017/1 Prof. Rafael Berti Schmitz

vértices dessas células. Exemplos de malhas estruturadas e não-estruturadas são apresentados na Figura 2.

Ptex e outras ferramentas para modelagem de animação

Computação Gráfica e Processamento de Imagens. - Sistemas 3D (conceitos básicos) Prof. Julio Arakaki

AdaptiveShadowMaps. Randima Fernando Sebastian Fernandez Kavita Bala Donald P. Greenberg Apresentado por Claudio Esperança

Jorge M. V. Capela, Marisa V. Capela. Araraquara, SP

SCE-201 Computação Gráfica. Representação de Objetos Tridimensionais Modelos Poligonais

COMPUTAÇÃO GRÁFICA - PROF. MSC. LEANDRO TONIETTO SELEÇÃO DE OBJETOS EM OPENGL - SELECT BUFFER

3.4. Determine o(s) ponto(s) da curva x =cost, y =sent, z =sen(t/2) mais distante(s) da origem.

3 Visualização de TetraQuads

Computação Gráfica Transformações Projetivas

Fundamentos da Computação Gráfica Lista de Exercícios Marcelo Gattass TeCGraf/Departamento de Informática/PUC-Rio 19jun2003

Fluxo de Trabalho Básico Modelar o ambiente Atribuir materiais aos objetos Adicionar luzes Posicionar câmeras Renderizar a cena Animar

Mapeamento de Texturas 2D. Maria Cristina F. de Oliveira 2013

Lista de exercícios. 4) Defina o conceito de função de eficiência luminosa. (Victor)

Aplicação de Tags em Objetos de Sistemas de Visualização em Tempo Real

Capítulo 3. Descrição e visualização do modelo 25

Introdução Geral a Computação Gráfica. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de Computação Gráfica

4 Técnicas de Renderização HDR

OpenGL #2: Brincando com Pixels

CIC 111 Análise e Projeto de Algoritmos II

Computação Gráfica. Licenciatura em Engenharia Informática e de Computadores Alameda/Taguspark. 1º Exame 29 Junho de 2010

IntMu.Lab5. Importe os ficheiros disponibilizados em

4 Impostores com Relevo

Geometria Analítica II - Aula

Aula Prática Laboratorial n.º 8, nº 9 e nº 10

Integrais Múltiplas. Prof. Ronaldo Carlotto Batista. 23 de outubro de 2014

Sumário. Introdução Câmera sintética Window-to-Viewport Exercício. 29-May-13 Leandro Tonietto!2

Solução: Um esboço da região pode ser visto na figura abaixo.

Transcrição:

TEXTURAS A utilização de luzes e tonalização conferem um certo realismo ao cenário porém nem sempre são suficientes para transmitir um visual natural ou um aspecto áspero ao material, por exemplo. A aspereza de uma superfície pode ser reproduzida através do refinamento de malha representando pequenas reentrâncias e/ou saliências acompanhadas de uma iluminação adequada. Dessa forma seria possível modelar a casca de uma laranja com suas variações de tonalidade e aparência rugosa... ou a lataria de um automóvel,...

REFINAMENTO DE MALHA

TEXTURAS Problema: a estratégia baseada apenas no refinamento da malha pode gerar um modelo geométrico muito pesado. A alternativa mais prática é utilizar técnicas tais como a texturização e/ou bumping mapping.

Comparativo Apenas Iluminação Mapeamento de textura + Iluminação Bumping mapping + Iluminação

TEXTURAS Uma das técnicas mais simples de texturização aplica o conceito de mapeamento de textura. No mapeamento de textura existe em um espaço de textura o qual é mapeado para o espaço do objeto e deste para a janela no dispositivo gráfico de saída. É necessário uma função de mapeamento entre coordenadas (s,t) do espaço de textura para coordenadas (x,y,z) no espaço do objeto. Esse mapeamento pode ser direto ou utilizar uma superfície auxiliar intermediária.

Uma das estratégias de realização de textura é através de um mapeamento direto (mapping). Edward Angel,2000 Uma função mapeia coordenadas de textura em coordenadas geométricas do objeto as quais são projetadas em coordenadas de tela. Um texel T(s,t) no padrão de textura é mapeado em um pixel p(u,v). Esse mapeamento é inversível.

Edward Angel,2000 Um texel T(s,t) no padrão de textura é mapeado em um pixel p(u,v). Esse mapeamento é inversível. u u min u max u min = s s min s max s min O mesmo raciocínio para a dimensão v em relação a r v v min v max v min = r r min r max r min

O mapeamento direto é de fácil aplicação porém não leva em conta a curvatura dos objetos. Seu uso é limitado a superfícies planas simples. Uma outra maneira de realizar o mapeamento é chamada Two- part mapping, a qual utiliza um objeto intermediário entre a textura (plana) e o objeto final.

A esfera é facilmente parametrizável e utilizada para esse fim... (π/4 ϕ π/2, 0 θ π/2) e (0 s 1, 0 t 1)

NA PRÁTICA O PROCESSO É INVERSO: do objeto para a textura De maneira simplória é como se raios saíssem do centro do modelo (cubo) interceptando um ponto (x,y,z) mapeado para a esfera (φ,θ) e desta para a textura em (s,t).

então o ponto da esfera é mapeado para o espaço (s,t) da textura... Através das inversas das expressões: x(φ,θ)=senφsenθ y(φ)= cosφ z(φ,θ)=senφcosθ Obtemos os ângulos (φ,θ), então utilizando: φ=π/4 π/4 t, θ= π/2 s determinamos (s,t) e o valor da textura na imagem de textura.

O ponto da esfera é mapeado para o espaço (s,t) da textura... O ponto (x,y,z) do objeto é então pintado com o valor determinado na textura em (s,t)... O processo é repetido e a textura aplicada ao objeto como um todo...

Alternativamente, um cilindro também pode ser aplicado com a mesmo finalidade...

Bumping Mapping O mapeamento de textura pode não ser suficiente A imagem de textura não varia o aspecto em função de uma rotação sob luz ambiente por exemplo. Em complemento, é usual utilizar outras técnicas, tais como: Bumping mapping: perturbação da normal de maneira que a tonalização, no ponto, exiba uma variação que simula uma mudança na superfície do objeto.

Anti-aliasing - Mip Mapping Os objetos texturizados são desenhados a distancias variadas do observador. Isto provoca um efeito visual desagradável e pouco natural (imagem esquerda) devido ao fenômeno chamado aliasing. Uma maneira de tratar esta situação é aplicar o mip mapping. Mip mapping é o processo pelo qual é produzido um conjunto de mapas de textura de resoluções gradualmente menores. Através do Mipmapping o OpenGL aplica o nível apropriado de detalhe para uma textura durante a renderização (Imagem direita).

glbindtexture(gl_texture_2d, texture_id[index]); Associa um identificador de textura a uma textura bidimensional O Array de textura pode ser criado em memória ou lido/carregado a partir de um arquivo gráfico com a imagem de textura: void CarregaTextura(char* Filename, GLuint Index){ imagemtextura = auxdibimageload(filename); glgentextures(1, &texture_id[index]); glbindtexture(gl_texture_2d, texture_id[index]);... } Carga de um arquivo gráfico seguida de glgentextures() e glbindtexture() para parametrizar a textura carregada glgentextures(1, &texture_id[index]); Determina um nome para a textura carregada referenciada por texture_id[index]

Algumas funções OpenGl para TEXTURA gltexcoord2f(0.0,0.0) glvertex3fv(1.0,1.0.1.0) Associa a origem das coordenadas de textura com o vértice determinado pelo ponto (1,1,1) glenable(...): habilita a texturização

Algumas funções OpenGl para TEXTURA gltexparameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); gltexparameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); Controla como a textura é tratada ao ser aplicada sobre o objeto, no caso, nas direções s e t do espaço de textura, a textura será repetida no objeto.

Algumas funções OpenGl para TEXTURA glteximage2d( GL_TEXTURE_2D,..., width,height,..., image) Especifica uma série de parâmetros importantes, tais como: o modo de textura, as dimensões do array do padrão de textura, o ponteiro para o os dados de textura...

A operação de texturização pode ser entendida como uma parte da tonalização A medida que os valores de textura são determinados, a tonalização é aplicada para os pontos visíveis (testados através do algoritmo do z- buffer, por exemplo) esfera e o cilindro são duas superfíto utilizadas como intermediárias. A imagem de textura tem que ter dimensões na base dois: 128x128, 256x64, 1024x512... Problemas podem acontecer: Edward Angel, 2000

Boas fontes http://www.flipcode.com/archives/advanced_opengl_texture_mapping.sh http://fly.cc.fer.hr/~unreal/theredbook/chapter09.html www.nullterminator.net/gltexture.html http://www.inf.pucrs.br/~manssour/cg/p-textura/index.html

Exercícios: 1) Mapeamento direto: Considere o espaço de imagem com 32x32 pixels e um espaço de textura (U,W), conforme abaixo. Encontre a função de mapeamento do intervalo de pixels [(16,16),(32,32)] em relação ao espaço de textura. Pinte os pixels de acordo conm esse mapeamento.

2) Two-Part-Mapping: considere o setor da esfera os seguintes pixels (espaço de imagem) associados aos respectivos pontos do modelo 3D (espaço do objeto): Px Py x y z 21 15 0.795 0.493 0.341 22 15 0.826 0.479 0.296 22 16 0.802 0.532 0.272 21 16 0.771 0.545 0.329 Determine as coordenadas (ϕ,θ) mapeamento para o setor da esfera (objeto auxiliar de texturização exibido abaixo) e respectivas coordenadas (u,w) no espaço de textura. (π/4 ϕ π/2, 0 θ π/2) e (0 u 1, 0 w 1) Px Py ϕ θ u w 21 15 22 15 22 16 21 16