Geração de Geometria - Terrenos

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

Fundamentos de Computação Gráfica. Texturas

Computação Gráfica. Texturas

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

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

Computação Gráfica. Texturas

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

IntMu.Lab5. Importe os ficheiros disponibilizados em

Mapeamento de Texturas

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

Shading (sombreamento) & Smooth Shading

OpenGL #2: Brincando com Pixels

Mapeamento de Texturas

CG 2015/2016 Segundo Teste LEIC Alameda/Taguspark. Segundo Teste. 18 de Novembro de 2015

Computação Gráfica - 13

Textura e Iluminação

Computação Gráfica - 13

Shading (sombreamento) & Smooth Shading

Mapeamento de Texturas

REFINAMENTO DE MALHA

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

FCTUNIVERSIDADE NOVA DE LISBOA!

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

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

Implementação do algoritmo Marching Cubes usando shaders. Luiz Fernando Oliveira Corte Real

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

Geração de imagens com texturas utilizando OpenGL

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

FUNDAMENTOS E APLICAÇÕES. Luis Valente

CG 2013/2014 Segundo Teste LEIC Alameda/Taguspark

Ferramentas Web, Web 2.0 e Software Livre em EVT

Engenharia Informática Computação Gráfica

Reflexões e Sombras em Superfícies Planares Animação e Visualização Tridimensional Prof. João Madeiras Pereira Instituto Superior Técnico 2005/2006

Geração Procedural de Terrenos em GPU

Modelos Geométricos Transformações

Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009

António Costa. Paulo Roma Cavalcanti

Computação Gráfica LEI / LCC Departamento de Informática Universidade do Minho. Desempenho. Display Lists e Vertex Bufer Objects

Desenho de uma matriz de retângulos Serve de base para o exercício das cores

Modelos Pontuais de Distribuição em Visão Computacional Estudo, Desenvolvimento e Aplicação

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

Desenho/Formas SmartArt

PMR2560 Visão Computacional Visão estéreo. Prof. Eduardo L. L. Cabral

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

Prof. Fernando V. Paulovich 3 de agosto de SCC Computação Gráca

FCTUNIVERSIDADE NOVA DE LISBOA!

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

Programação 2012/2013 1º Semestre MEEC Laboratório 2 Semana de 22 de Outubro de 2012

Entendendo a geometria

Emparelhamento de Objectos Representados em Imagens usando Técnicas de Optimização

SISTEMAS DE INFOMAÇÃO GEOGRÁFICA Reconhecer conceitos associados aos SIG/GIS Estabelecer um conjunto de procedimentos em função da análise a efectuar

Mapeamento de Textura

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

Departamento de Matemática

Exame de Época Especial Computação Gráfica

Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 2. Introdução a OpenGL

CG 2013/2014 Primeiro Teste LEIC Alameda/Taguspark

Computação Gráfica - 10

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

Bruno Pereira Evangelista. Pontifícia Universidade Católica de Minas Gerais

Modelagem Numérica do Terreno. Prof. Maria Isabel C. de Freitas Adaptado de INPE - DPI

Computação Gráfica II

Fundamentos de Computação Gráfica

Universidade Federal do Paraná Departamento de Informática Ciência da Computação e Informática Biomédica. Tópicos em Computação

Tópicos Especiais em Engenharia de Software (Jogos II)

FCG2006 Prova sobre OpenGL e Rastreamento de Raios

Processamento de Malhas Poligonais

CG com OpenGL. Paulo Gandra de Sousa Sistemas Gráficos e Interactivos Instituto Superior de Engenharia do Porto

CG 2015/2016 Primeiro Teste LEIC Alameda/Taguspark. Primeiro Teste

Mapeamento de Texturas

Análise Semântica e Representação Intermédia

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

Técnicas de renderização com textura

Transformações geométricas no plano e no espaço

GEOPROCESSAMENTO. MNT - Modelo Numérico de Terreno. Prof. Luiz Rotta

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

Enquadramento e Conceitos Fundamentais

Plano Director Municipal. Tecnologias de Informação Geográfica

Computação Gráfica. Desempenho

Universidade Federal de Sergipe Departamento de Matemática. Imagem* Profª. Maria Andrade. *Parte desta apresentação foi do Prof. Thales Vieira.

Interactividade Básica com GLUT e Primitivas Geométricas

1º Teste de Computação Gráfica

Câmara Virtual. Licenciatura em Engenharia Informática e de Computadores Computação Gráfica. Edward Angel, Cap. 5 Apontamentos CG

Projecto de Engenharia Geográfica. Modelos Digitais do Terreno

ESCOLA SECUNDÁRIA FERREIRA DIAS

Apresentação de uma Plataforma Computacional para a Reconstrução e Caracterização da Forma 3D de Objectos

Os computadores processam dados digitais ou discretos. Os dados são informação representada num sistema digital de símbolos.

2º Exame de Animação e Visualização Tridimensional

Automatização do processo de calibração de cor

Modelação de Sólidos. Sistemas Gráficos/ Computação Gráfica e Interfaces FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

ASSA 2001/ /2002

Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 7. Iluminação

Pipeline de Visualização 3D

Os pixels ou pontos podem ser endereçados por dois inteiros, o número horizontal do pixel (dcx) e o número vertical do pixel (dcy).

Computação Gráfica. Licenciatura em Engenharia Informática e de Computadores Alameda / Taguspark. Terceiro Teste 19 de Maio de 2012

Interpolação. Dr. Marcos Figueiredo

Iluminação. Computação Gráfica LEI / LCC Departamento de Informática Universidade do Minho

Transcrição:

Computação Gráfica LEI / LCC Departamento de Informática Universidade do Minho Geração de Geometria - Terrenos Imagens e Texturas António Ramires Fernandes Computação Gráfica 09/10

Mapas de Alturas Intensidade por pixel pode representar uma altura numa grelha regular 2

Terrenos a partir de Imagens Objectivo: Dada uma imagem criar uma grelha regular em que a altura de cada ponto da grelha corresponde à intensidade do pixel correspondente. Tarefas: Y Carregar a imagem Criar a geometria a partir da matriz de pixels extraída da imagem. X Z 3

Terrenos a partir de Imagens Primeiro passo: Construir uma grelha regular com altura 0.0 com as dimensões da imagem Y X Z 4

Terrenos a partir de Imagens Segundo Passo: Atribuir as alturas de acordo com os dados da imagem (atenção às árvores) 5

DevIL Abrir um ficheiro de imagem ilinit(); ilgenimages(1,ima); // unsigned int ima[...] ilbindimage(ima[0]); illoadimage((ilstring)filename); // char *filename 6

DevIL Aceder aos dados e informações da imagem int width = ilgetinteger(il_image_width); int height = ilgetinteger(il_image_height); unsigned char *imagedata = ilgetdata(); 7

DevIL Converter para escala de cinzentos ilconvertimage(il_luminance,il_unsigned_byte); outras opções: IL_RGB, IL_RGBA 8

Textura Objectivo: Colocar uma textura na superfície do terreno Carregar uma imagem e criar uma textura definir coordenadas para a aplicação da textura 9

DevIL + OpenGL Exemplo para criar textura a partir de uma imagem: unsigned int t, tw, th; unsigned char *texdata; ilgenimages(1,&t); ilbindimage(t); illoadimage((ilstring) relva1.jpg"); tw = ilgetinteger(il_image_width); th = ilgetinteger(il_image_height); ilconvertimage(il_rgba, IL_UNSIGNED_BYTE); texdata = ilgetdata(); glgentextures(1,&texid); // unsigned int texid - variavel global; glbindtexture(gl_texture_2d,texid); gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_S, GL_REPEAT); gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_T, GL_REPEAT); gltexparameteri(gl_texture_2d, GL_TEXTURE_MAG_FILTER, GL_LINEAR); gltexparameteri(gl_texture_2d, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glteximage2d(gl_texture_2d, 0, GL_RGBA, tw, th, 0, GL_RGBA, GL_UNSIGNED_BYTE, texdata); 10

Texturas Activar Texturas (inicialização): glenable(gl_texture_2d); Antes de desenhar o terreno: glbindtexture(gl_texture_2d, texid); Ao desenhar o terreno, definir para cada vértice as coordenadas de textura: gltexcoord2f(s,t); Após desenhar o terreno: glbindtexture(gl_texture_2d, 0); 11

Exercício Dada uma imagem, interpretá-la como um mapa de alturas e gerar a geometria correspondente Aplicar uma textura (outra imagem) ao terreno; Colocar as árvores na altura correcta TPC: Definir normais e activar a iluminação; TPC: Implementar um esquema de surface following. 12

Surface Following Problema: determinar a altura do ponto (x,z) de uma grelha. Y Sendo h(i,j) a função que determina a altura nos vértices da grelha, é necessário determinar a altura do ponto (x,z) a partir dos cantos da célula onde o ponto se encontra (x,z) X Z 13

Surface Following Através da função h temos acesso às alturas dos cantos da célula (pontos amarelos). a altura de (x11,z12) obtem-se por interpolação linear das alturas de (x1,z1) e (x1,z2). Processo semelhante para determinar a altura de (x22,z12). (x1,z1) (x2,z1) seja fz a parte fraccionária de z: fz = z - z1; // 0 <= fz <= 1 (x11,z12) (x,z) (x22,z12) alt(x11,z12) = h(x1,z1) * (1-fz) + h(x1,z2) * fz alt(x22,z12) = h(x2,z1) * (1-fz) + h(x2,z2) * fz A altura de (x,z) obtem-se por interpolação entre as alturas de (x11,z12) e (x22,z12) (x1,z2) (x2,z2) alt(x,z) = alt(x11,z12) * (1 - fx) + alt(x22,z12) * fx 14

Normais numa Grelha O cálculo da normal dentro de uma grelha pode ser realizado de uma forma simples recorrendo aos pontos vizinhos O N S E Considerando os 4 vizinhos (N,S,E,O), calculam-se dois vectores. O produto externo (normalizado) destes dois vectores é uma aproximação à normal pretendida. 15