Eric Bruneton

 

EVASION / LJK
INRIA Rhône-Alpes
655 Avenue de L'Europe
38330 Montbonnot
FRANCE
 
 
 

Recherche

J'ai rejoint l'équipe EVASION en septembre 2006 pour travailler sur le rendu en temps réel de paysages naturels dans leur ensemble. Je m'intéresse à l'animation et au rendu réaliste du terrain, de l'atmosphère, de l'océan, de la végétation, des rivières, des nuages, etc. Je recherche des algorithmes temps-réel et passant à l'échelle, permettant de naviguer librement n'importe où dans un très grand paysage (pouvant aller jusqu'à une planète entière), du sol à l'espace, sans transitions visibles. J'ai quitté l'INRIA en 2011 et je ne fait plus de recherche sur ce sujet.

Publications

Projets

Forêts

Nous présentons un nouvel algorithme pour le rendu et l'éclairage réalistes en temps-réel de forêts. Notre méthode peut afficher de très vastes forêts en temps-réel et à toutes les échelles, sans "popping" ni "aliasing". Cette méthode est basée sur deux nouvelles représentations pour les forêts, appelées "z-field" et "shader-maps", avec une transition sans couture entre elles. Notre premier modèle s'inspire des "light fields" et des champs de hauteur pour représenter les arbres les plus proches individuellement, en prenant en compte tous les effets d'illumination. Notre second modèle est basé sur un shader appliqué sur le terrain, et modulé en fonction de la position et des directions de vue et du soleil, en prenant en compte la contribution des éléments se projetant dans chaque pixel. Des comparaisons qualitative avec des photos montrent que notre méthode produit des résultats réalistes.

Océan

Nous proposons un nouvel algorithme pour la modélisation, l'animation, l'illumination et le rendu de l'océan, en temps-réel, à toutes les échelles et pour toutes les distances de vue. Notre algorithme est basé sur une représentation hiérarchique combinant géométrie, normales et BRDF. Pour chaque distance de vue, nous calculons une version simplifiée de la géométrie, et nous encodons les détails manquants dans les normales et la BRDF, selon le niveau de détails requis. Nous utilisons ensuite cette représentation pour l'illumination et le rendu. Notre algorithme est temps-réel et produit des images et animations très réalistes.

Extension: version améliorée utilisant une méthode FFT pour synthétiser la surface.

Atmosphère

Nous proposons une méthode nouvelle et précise pour rendre l'atmosphère en temps-réel depuis tout point de vue du sol à l'espace, en prenant en compte la diffusion multiple de Rayleigh et de Mie. Notre méthode reproduit de nombreux effets de la diffusion de la lumière, comme la couleur du ciel de jour et au crépuscule, la perspective aérienne pour toute direction de vue ou du soleil, ou encore les ombres de la Terre et des montagnes (raies de lumière) dans l'atmosphère. Notre méthode est basée sur une formulation de l'équation de transport de la lumière qui est précalculable pour tout point de vue, direction de vue et direction du soleil. Nous montrons comment stocker ces données de façon compacte et nous proposons un algorithme GPU pour les précalculer en quelques secondes. Ces données précalculées nous permettent d'évaluer les transports de lumière en temps constant lors du rendu, sans aucune intégration numérique, et tout en prenant en compte le sol pour les ombres et les raies de lumière.

Publications:

Terrain


Données de la Régie de Gestion des Données des Pays de Savoie

Nous proposons une méthode pour ajouter à un très grand terrain des détails fins tels que des routes, des rivières, des lacs ou des champs. Ces détails peuvent être édités interactivement, et le paysage peut être exploré en temps-réel à n'importe quelle altitude du sol à une vue d'avion. Nous utilisons une description vectorielle des détails linéiques et surfaciques, avec des shaders associés pour spécifier leur apparence (couleur et matériau), leur empreinte (effet sur la forme du terrain) et leurs objets associés (ponts, haies, etc.). Pour traiter à la fois de très grands terrains et des détails fins nous utilisons un arbre quaternaire subdivisé selon la position de l'observateur. Les nouveaux noeuds de l'arbre sont générés selon les besoins et mis en cache sur GPU pour les images suivantes. Pour chaque noeud nous produisons une texture de couleur, une texture d'empreinte, et des objets associés, selon les données vectorielles pour ce noeud. Un rafinement progressif, des détails vectoriels procéduraux et une pyramide de mipmap fournissent trois mécanismes de gestion du niveau de détails pour les noeuds de petite, moyenne et grande échelle. Nos résultats et la vidéo associée montrent que notre méthode est performante et donne des rendus de haute qualité visuelle.

Végétation


Données de la Régie de Gestion des Données des Pays de Savoie

Le but de ce travail est de dessiner en temps réel des terrains de la taille d'une planète couverts des plantes et d'arbres. Comme il est impossible de précalculer et de stocker la position de chaque plante (il y en a des milliards) nous les générons à la volée. Pour cela nous générons des positions candidates avec un générateur pseudo aléatoire, puis nous testons chaque position par rapport à une carte de classification de la couverture du sol, afin de rejeter les positions qui sont en dehors des zones de végétation (notre carte de couverture du sol pour la terre est assez grossière - 1 km par pixel - donc nous l'amplifions avec un bruit de Perlin pour ajouter des détails fins). Ensuite nous regroupons toutes les positions retenues à l'aide d'un algorithme de reduction de flux sur GPU, puis nous utilisons cette structure compacte pour instancier de nombreuses instances (> 100000) de modèles de plantes avec le niveau de détail approprié (en utilisant l'OpenGL instancing).

Ce travail a été réalisé par Yacine Amara, doctorant de l'Ecole Militaire Polytechnique d'Alger lors d'un stage à EVASION que j'ai encadré, en se basant sur des travaux réalisés en collaboration avec Xavier Marsault en 2007.

Rivières


Données de la Régie de Gestion des Données des Pays de Savoie

Nous proposons un algorithme pour la simulation interactive d'écoulement de fluide réalistes dans de grands mondes virtuels. Notre méthode repose sur deux contributions principales: le calcul local du champ de vitesse d'un écoulement stationnaire étant donné des conditions aux bords, et l'advection de détails fins, uniformément répartis dans l'espace écran, et se déplaçant en suivant le champ de vitesse précédent.

Ce travail a été réalisé par Qizhi Yu, ancien doctorant EVASION coencadré par Fabrice Neyret et moi-même.

Nuages

Nous proposons un algorithme pour la simulation réaliste et temps-réel de la diffusion multiple de la lumière dans un volume. Contrairement aux méthodes temps-réel précédentes nous traitons tous les types de chemins lumineux et nous préservons leur comportement anisotrope. Notre approche consiste à estimer le transport d'énérgie entre la surface éclairée du nuage et un pixel de nuage à rendre, de façon séparée pour chaque ordre de diffusion. Le rendu est réalisé par un shader sur GPU, en utilisant un maillage grossier dont la forme et la silhouette sont complétés par des détails fins sous forme d'une hypertexture. Notre méthode permet de rendre des cumulus détaillés et animés ou des ciels nuageux à environ 2 à 10 images par seconde.

Ce travail a été réalisé par Antoine Bouthors, ancien doctorant EVASION avec qui j'ai travaillé pendant sa thèse. J'ai ensuite encadré deux étudiants en Master recherche sur ce thème, Vincent Vidal et Laurent Belcour.

Proland

La plupart des travaux précédents sont intégrés au fur et à mesure dans une bibliothèque Open Source appelée Proland. Proland permet l'affichage temps-réel de terrains multi-résolutions, la gestion et l'édition temps-réel de données vectorielles (par exemple des routes ou des rivières), le rendu de l'atmosphère et des nuages, et le rendu de forêts. Toutes les données sont chargées ou générées à la volée en fonction du point de vue et peuvent être combinées de façon procédurale. Par exemple on peut modifier la forme et la texture d'un terrain en fonction de données vectorielles représentant des routes ou des rivières. Proland est basé sur un graphe de tâches et un gestionnaire de cache qui permettent de tirer parti des multi-processeurs, de charger des données à l'avance pour éviter les temps de latence dus aux accès disque, ainsi que de gérer les dépendences entre tâches (une donnée est automatiquement recalculée si une donnée dont elle dépend est modifiée).

Résultats:

Démos

Anciens travaux

Après ma thèse effectuée à l'INRIA dans l'équipe SIRAC (devenue l'équipe SARDES), intitulée "Un support d'exécution pour l'adaptation des aspects non-fonctionnels des applications réparties" et soutenue en 2001, j'ai travaillé 5 ans à France Telecom R&D en tant qu'ingénieur de recherche, sur le thème de la programmation par composants. Ce travail a donné lieu à plusieurs publications:

et à deux logiciels libres distribués par le consortium ObjectWeb:

En parallèle de mes activités professionnelles j'ai essayé de modéliser Rama, un vaisseau spatial gigantesque décrit par A.C. Clarke dans "Rendez vous avec Rama":

Ceci a conduit à un film (YouTube) accepté au festival d'animation par ordinateur de SIGGRAPH 2006. Et c'est également de là que vient mon envie de faire de la recherche sur les thèmes décrits ci dessus!