Renderize polígonos complexos preenchidos com grande número de vértices com o OpenGL

Eu uso o OpenGL para renderizar o mapa 2D e, no processo, eu preciso renderizar polígonos preenchidos com grande número de vértices (100,000+) Para fazer isso, classifiquei os polígonos em triângulos usando o glu tessellator e renderizei os triângulos com VBO.

Os polígonos são renderizados com sucesso.O problema é que o processo de mosaico acaba sendo extremamente lento. Para alguns gráficos com500,000 vértices, levará quase2 min no meu laptop (i5-3230M 2.6GHz, 8G RAM). Isso é inaceitável para o meu aplicativo.

Existe algum outro algoritmo de mosaico mais rápido que o glu tessellator?

Ou eu fiz errado?

As duas imagens a seguir são os resultados da renderização com

glPolygonMode(GL_FRONT, GL_LINE)

EDIT: Os dados do mapa são estáticos e os dados originais do polígono estão no formato latitude-longitude. Eu já salvei os dados do polígono em mosaico (esses triângulos) em um arquivo separado.

Para ser mais claro (não diretamente relacionado ao problema), para renderização na tela, é necessária uma projeção para transformar o formato LL em coordenadas da tela.

O problema é que o usuário pode ter milhares de gráficos para instalar (nos quais o mosaico será feito). Embora o mosaico seja executado apenas uma vez, ainda leva muito tempo.

questionAnswers(2)

yourAnswerToTheQuestion