Rapport de Stage Habillage procédural et rendu en temps réel de vastes terrains texturés par GPU-quadtrees (15 janvier - 15juillet 2006 15 avril - 15 juillet 2007) Effectué au sein du laboratoire MAP-ARIA Sous la conduite de MARSAULT Xavier Présenté par : AMARA Yacine
Introduction Notre travail vise à développer des techniques pour naviguer interactivement en 3D dans de larges paysages montagneux en ajoutant «à la volée» des éléments naturels plausibles pour enrichir visuellement les scènes de résolution limitée, tant au niveau de la géométrie du sol que de son habillage. En dehors du secteur des jeux où la modélisation de terrain est nécessaire pour la représentation d'environnements extérieurs, cette discipline est une nécessité dans de nombreux domaines de l'industrie tels que la simulation de vol, la météorologie, la cartographie militaire ou civile etc. Notre but est de réaliser une plateforme de rendu de terrains, en déportant le maximum de charge de calculs sur le processeur graphique. Ainsi, le processeur central peut s occuper d autres calculs d optimisation, de gestion ou bien d intelligence artificielle. Le champ d expérimentation choisi est le département français de la Haute Savoie (50cm par pixel pour les photographies aériennes et un point tous les 16m pour les données d altitude). Dans un tel contexte, lorsque l on se rapproche suffisamment du sol, la résolution des données géomatiques devient insuffisante. Il est nécessaire «d amplifier» la géométrie et les textures géo-spécifiquement, ce qui nécessite une préclassification 1 détaillée (au niveau pixel) des images aériennes (nature du sol et du sursol). Dans ce genre d applications, un compromis doit être maintenu entre la rapidité d affichage 2 et la qualité de rendu (réalisme de scène). En terme de frame rate notre application fournit en moyenne un taux de rafraîchissement de l ordre de 100 images par seconde. Un système de visualisation numérique nécessite un taux de l ordre de 34 images par seconde. Par conséquent, les algorithmes réalisés sont optimisés en vue de pouvoir supporter d autres simulations incorporées à notre plateforme. Ainsi, une application de simulation complète (notre plateforme et une application temps réel greffée) fournira un rendu conforme aux normes vidéo numériques. Nous présentons dans ce qui suit quelques captures d écran de la plateforme réalisée sous Microsoft Visual C++ et les langages de shaders Cg (C for graphics) et GLSL (OpenGL Shading Language) exploitant les capacités de la dernière génération des processeurs graphiques G80. Ce rapport est axé sur les résultats et la qualité de rendu obtenus lors de la navigation sur le département de la Haute-Savoie. Dans un premier temps, nous vous présentons une comparaison en terme de qualité de rendu entre ce que fournit notre application et celle de Google Earth 3 (Figure 1). Dans un second temps nous présentons l état d avancement de mes travaux de recherche en terme de développement. Enfin, nous concluons sur les acquis et les perspectives de ce travail. 1 Processus durant lequel on associe un type aux éléments constituant le sol texturé (ex : herbe, roche, neige, arbre, ) 2 Nombre d images affichées par seconde (frame rate) 3 Application web de navigation 3D sur l ensemble de la surface de notre planète. (http://earth.google.com)
Développements réalisés Figure 1 : à gauche, une capture d écran prise depuis Google-Earth, à droite, la même prise de vue depuis notre moteur de rendu. Malgré le fait que les textures utilisées dans notre plateforme sont d une meilleure résolution (par conséquent leur taille est plus importante), en comparaison avec Google Earth, notre moteur de rendu est plus fluide et maintient des transitions douces entre les différents niveaux de détails géométriques. Il intègre également la gestion de quelques effets climatiques (nuages, effets de lumière, brouillard), ce qui accroît le réalisme de la navigation. Nous soulignons le fait que Google Earth n intègre aucun de ces éléments ce qui réduit la qualité de son rendu. Figure 2 : Vue sur le Mont blanc : brouillard (fond bleuté)
La figure 2 illustre un premier effet climatique simulé. Il reproduit l effet naturel du brouillard bleuté qu on peut constaté si on observe un horizon naturel. Cet effet, de bleu atmosphérique, devient visible à partir du premier tiers supérieur de l image. Figure 3 : Auto ombrage du relief. Un deuxième effet qui intensifie la sensation de réalisme est la gestion de la lumière. Notamment vous pouvez constater l auto ombrage de la géométrie des montagnes. Ce qui fait ressortir la perception 3D de l image même si cette dernière est en 2D. Figure 4 : Projection de l ombre des nuages (en mouvement) sur le sol.
A travers ces deux images, on constate la comparaison de l effet d ombrage dû au passage des nuages combiné avec la texture habillant la géométrie du sol. Sachant que ces nuages sont obtenus à partir d une combinaison de deux textures procédurales en mouvement attractif entre eux, ce qui leur donne du volume. Figure 5 : Autres captures d écran du terrain. Ces images montrent différentes prises de vue avec une grande résolution qui nous permet d avoir plus de détails. Mais la perception de l aspect 3D contenu dans les photos aériennes se perd de plus en plus en s approchant du sol (au dessous de 600 m d altitude environ). Ce qui nous amène à amplifier la texture en créant de vrais objets 3D sans pré stockage de ces derniers au niveau de la mémoire centrale. Dans un premier temps, nous nous intéressons à l amplification du sol par des objets végétaux ou minéraux. A cet effet, une pré classification des textures a été établie afin d informer notre moteur de rendu de l occupation du sol pour qu il puisse créer à la volée et en 3D la géométrie des objets correspondant (arbre, roche, herbe, glace). Les arbres étant visibles jusqu'à environ 3000m de distance, le mécanisme développé pour gérer leur apparition en tient compte, ce qui a nécessité la prise en compte de trois niveaux de détail, et l ajustement de
leurs seuils de déclenchement pour obtenir des transitions imperceptibles. A titre indicatif, notre application est capable de gérer jusqu'à 255 essences d objets distincts, et supporte aisément le rendu de 20 000 arbres par frame. Figure 6 : Captures d écran relatives à l amplification du sol par des forets. Conclusion Actuellement, notre système est capable de traiter l amplification et la visualisation de terrains de l ordre de 16 000 km 2. Cette limite est due, d une part, au mécanisme de chargement progressif des textures, qui a été mis au point dans une optique d efficacité et d autre part à la disponibilité de bases de données de bonne résolution. Il importe à présent d étendre les algorithmes existants à la manipulation de terrains à l échelle planétaire. Une première réflexion sur leur refonte a été faite durant ce stage. Mais, leur mise en application nécessitera la mise à disposition de bases de données à grande échelle, ce qui semble difficile dans le contexte actuel.