Mapa de altura - Heightmap

Um mapa de altura criado com Terragen
O mesmo mapa de altura convertido em uma malha 3D e renderizado com Anim8or

Em computação gráfica , um mapa de altura ou campo de altura é uma imagem raster usada principalmente como Grade Global Discreta na modelagem de elevação secundária . Cada pixel armazena valores, como dados de elevação de superfície , para exibição em gráficos de computador 3D . Um mapa de altura pode ser usado no mapeamento de relevo para calcular onde esses dados 3D criariam sombra em um material, no mapeamento de deslocamento para deslocar a posição geométrica real dos pontos sobre a superfície texturizada ou para terreno onde o mapa de altura é convertido em uma malha 3D.

Um mapa de altura contém um canal interpretado como uma distância de deslocamento ou "altura" do "chão" de uma superfície e às vezes visualizado como luma de uma imagem em tons de cinza , com o preto representando a altura mínima e o branco representando a altura máxima. Quando o mapa é renderizado, o designer pode especificar a quantidade de deslocamento para cada unidade do canal de altura, que corresponde ao “contraste” da imagem. Heightmaps podem ser armazenados sozinhos em formatos de imagem em tons de cinza existentes, com ou sem metadados especializados , ou em formatos de arquivo especializados , como Daylon Leveler , GenesisIV e documentos Terragen .

Pode-se também explorar o uso de canais de cores individuais para aumentar os detalhes. Por exemplo, uma imagem RGB padrão de 8 bits pode mostrar apenas 256 valores de cinza e, portanto, apenas 256 alturas. Usando cores, um número maior de alturas pode ser armazenado (para uma imagem de 24 bits, 256 3 = 16.777.216 alturas podem ser representadas (256 4 = 4.294.967.296 se o canal alfa também for usado)). Esta técnica é especialmente útil quando a altura varia ligeiramente em uma grande área. Usando apenas valores de cinza, porque as alturas devem ser mapeadas para apenas 256 valores, o terreno renderizado parece plano, com "degraus" em certos lugares.

Mapa de altura da superfície da Terra (incluindo água e gelo) em projeção equirretangular , normalizada como escala de cinza de 8 bits

Mapas de altura são comumente usados ​​em sistemas de informações geográficas , onde são chamados de modelos digitais de elevação .

Criação

Os mapas de altura podem ser criados manualmente com um programa de pintura clássico ou um editor de terreno especial. Esses editores visualizam o terreno em 3D e permitem ao usuário modificar a superfície. Normalmente existem ferramentas para elevar, abaixar, suavizar ou erodir o terreno. Outra forma de criar um terreno é usar um algoritmo de geração de terreno. Isso pode ser, por exemplo, uma função de ruído simplex 2D ou por agregação limitada por difusão . Outro método é reconstruir mapas de altura de dados do mundo real, por exemplo, usando radar de abertura sintética .

Usar

Heightmaps são amplamente usados ​​em softwares de renderização de terreno e videogames modernos . Os mapas de altura são uma forma ideal de armazenar elevações digitais do terreno; em comparação com uma malha poligonal regular, eles requerem substancialmente menos memória para um determinado nível de detalhe. A maioria dos programas de modelagem moderna de computador 3D são capazes de usar dados de heightmaps na forma de colisão , normais , ou de deslocamento mapas de forma rápida e precisamente criar terreno complexo e outras superfícies.

Nos primeiros jogos usando renderização por software, os elementos frequentemente representavam alturas de colunas de voxels renderizados com projeção de raios . Na maioria dos jogos mais recentes, os elementos representam a coordenada de altura dos polígonos em uma malha .

Software de renderização

Gerando software

Curiosidades

Embora os termos mapa de altura e campo de altura sejam freqüentemente indistinguíveis um do outro, ainda há uma pequena diferença nos termos. Heightmap vem do termo matemático 'mapa' e heightfield vem do termo matemático 'campo vetorial'. Heightmap é a descrição mais correta porque a maioria dos heightfields não são um campo (vetorial) em termos matemáticos, mas são sempre um mapa (em termos matemáticos, bem como na representação visual).

Veja também

Referências

links externos