Geração de Terrenos em Tempo Real - Leitão, Ivo (2009)
A geração de terrenos em tempo real é um problema complexo. Efectivamente, as necessidades de armazenamento e de processamento resultantes da quantidade de dados envolvida levantam um conjunto de problemas que tornaram esta área um tópico de investigação muito activo no domínio da computação gráfica. A maioria do trabalho efectuado concentra se num conjunto de técnicas que procuram colmatar as dificuldades que surgem na representação de terrenos. Estas técnicas consistem sobretudo na aplicação de estratégias de culling e de nível de detalhe, com o intuito de reduzir o impacto que a representação de um terreno, especialmente os de grandes dimensões, tem ao nível do desempenho. Isto não obstante a grande evolução ao nível das placas gráficas que se tem verificado ao longo dos anos, mas que não tem sido, no entanto, suficiente para lidar com a tensão constante entre realismo e velocidade, entre fidelidade e número de frames por segundo que encontramos nesta área em particular e de uma forma geral na computação gráfica. Nesta dissertação apresentam se conceitos fundamentais relacionados com a geração de terrenos em tempo real, tais como a representação do terreno, o particionamento espacial, o culling, o vertex caching, a coerência espacial e temporal e a utilização de vertex textures no envio dos valores elevação para o GPU. Inclui se também a descrição dos algoritmos de geração de terrenos considerados mais relevantes, seleccionando se dois da classe Tiled Blocks, segundo a classificação proposta por Losasso e Hoppe, para comparar o seu desempenho. Estes algoritmos aplicam duas técnicas diferentes de nível de detalhe, bastante comuns na maioria dos algoritmos desta classe e são, respectivamente, o Geomipmapping, descrito por De Boer e o GPU Terrain Rendering, descrito por Vistnes. Avaliou se ainda a integração da técnica de occlusion culling empregue no algoritmo de Terrain Occlusion Culling With Horizons, descrito por Fiedler, e a utilização das vertex textures como alternativa no envio dos valores de elevação para o GPU. Como ponto de referência e com o intuito de avaliar a diferença a nível de desempenho, bem como verificar a necessidade de utilizar técnicas de nível de detalhe, concretizou se também uma aproximação de "força bruta" que não utiliza nenhuma técnica de nível de detalhe