Geomipmapping o mipmapping geométrico es un algoritmo de representación de terreno basado en bloques en tiempo real desarrollado por WH de Boer en 2000 que tiene como objetivo reducir el tiempo de procesamiento de la CPU , que es un cuello de botella común en los enfoques de nivel de detalle para la representación del terreno. [1]
Antes de geomipmapping, se utilizaban técnicas como la representación de quadtree para dividir el terreno en mosaicos cuadrados creados por división binaria con tamaño decreciente cuadráticamente. El paso de subdivisión se realiza típicamente en la CPU, lo que crea un cuello de botella ya que los comandos de geometría se almacenan en búfer en la GPU . A diferencia de quadtrees que envían unidades de polígono 1x1 a la GPU, para reducir el tiempo de procesamiento de la CPU geomipmapping divide el terreno en mosaicos basados en cuadrículas que a su vez se subdividen regularmente. Por lo general, se almacena una cantidad fija de objetos de búfer de vértices (VBO) en la GPU en diferentes resoluciones de cuadrícula, como 10x10 y 20x20, y luego se colocan en las principales regiones del terreno elegidas selectivamente por la CPU. Luego se utiliza un sombreador de vértices para reposicionar los vértices para un VBO determinado, todo en la GPU. En general, esto da como resultado una reducción importante en el procesamiento de la CPU y un ancho de banda reducido de CPU a GPU, ya que la GPU realiza la mayor parte del trabajo. Los mapas geográficos y el raycasting por GPU son otras dos alternativas modernas al geomapeo para la representación interactiva del terreno.