Reliefs topographiques raytracés

(english version)

En naviguant sur les (nombreux) sites sur POV-Ray, je suis tombé sur Christoph's page, qui comporte un rendu de l'île d'Hawaï à partir de données satellitaires (altimétrie radar).

Je me suis mis en tête d'expérimenter un peu avec les cartes de ma région (Bordeaux et ses alentours). Comme la page originale ne donne pas beaucoup de détails, et comme d'autres personnes pourraient être intéressées par d'autres cartes, voici le résultat de mes recherches...

Récupération des cartes

Bordeaux est facile à situer, 45°N, 1°W (environ). J'ai donc récupéré les cartes

Le format de ces fichiers est documenté : l'altitude est stockée sur 16 bits signés, grand-boutien. Les fichiers SRTM-3 précédents stockent 1201 par 1201 échantillons, les bords des cartes se recouvrant sur un bande de 1 échantillon.

Conversion de format

La primitive de choix POV-Ray pour ce genre d'objets est le height_field, qui a besoin d'une image (16 bits de préférence) comme source pour l'altitude de ses points.

asc2tga génère des fichiers TGA adéquats. Armé des sources de asc2tga, j'ai écris un filtre (en fait deux) pour lire les SRTM-3 zippés, les assembler, et écrire un fichier TGA 16 bits compatible POV-Ray :

Ces filtres ne sont pas paramétrables (paresse, quand tu nous tiens), mais les différentes phases à exécuter sont commandées par la fin du code, il devrait être facile de l'adapter à vos besoins.

Raytracing

Le plus dur est fait. Le temps d'écrire un fichier .POV correct, et voilà :

petchema at concept-micro dot com