Cadre de la thèse

Le cadre dans lequel s'inscrit cette thèse est le rendu en temps réel de scènes composées de modèles complexes non déformables, très finement détaillés. Ils peuvent être obtenus, par exemple, à l'aide de dispositifs d'acquisition 3D qui génèrent des millions de triangles [LPC+00], et sont alors impossibles à afficher en temps réel à cause du trop grand espace mémoire nécessaire et du temps de calcul requis.

Par rendu en temps réel, nous entendons les méthodes permettant comme au cinéma une fréquence d'affichage d'au moins 24 images par seconde (FPS, ''Frame per second''). Ce temps ($ 1/24$ s) correspond approximativement à la persistance rétinienne de l'homme et permet de donner l'illusion du mouvement à partir de l'affichage séquentiel d'images fixes. Néanmoins, dans le domaine de la simulation d'environnements virtuels, l'affichage ne correspond qu'à la dernière partie du processus. Il est en effet nécessaire de tenir compte des calculs à effectuer pour la simulation physique de l'environnement (variation de l'éclairement, mouvement des objets, tests de collisions, tests de visibilité, etc...). Il est alors nécessaire que le processus d'affichage soit le plus léger donc le plus rapide possible : de 50 à 300 FPS peuvent alors être requis pour que le système soit utilisable.

A cet effet, les cartes graphiques permettent d'effectuer matériellement une partie du travail. C'est à dire que certains des algorithmes de base utilisés en rendu sont implantés dans un ou plusieurs processeurs auxiliaires (GPU, ''Graphics Processing Unit'' ), indépendants du processeur central, et dédiés exclusivement à cette tâche. Ces cartes graphiques ouvrent de nouvelles perspectives. Il est désormais possible d'afficher interactivement des scènes composées de millions de primitives géométriques. De plus, des algorithmes comportant des calculs lourds peuvent maintenant être envisagés pour la synthèse d'images en temps réel et l'augmentation de la flexibilité de ces cartes permet d'implanter des algorithmes de complexité croissante.

Problématique

Bien que les performances du matériel doublent approximativement tous les ans, la demande de réalisme et donc la complexité des scènes est constamment croissante et dépasse toujours les capacités de calcul. Partant de cette constatation, d'autres approches pour contourner ce problème sont récemment apparues : le rendu à base d'images (IBR, ''Image-Based Rendering'') et le rendu à base de points (PSR, ''Point Sample Rendering''). Ces deux approches proposent une représentation alternative de la scène permettant de reformuler l'expression de sa complexité géométrique.

Le principe du rendu à base de points est d'afficher une version discrétisée de la surface de la scène plutôt que des primitives géométriques. Les avantages de cette représentation s'expriment particulièrement dans le cas de l'affichage de très gros modèles géométriques (MMR, ''Massive Model Rendering''). Comme les points sont traités isolément des autres, il n'y a pas besoin de maintenir une structure de connexité comme dans le cas de maillages géométriques : la mémoire utilisée est d'autant réduite et les techniques de niveau de détail (LOD, ''Level Of Details'', ) sont plus faciles à mettre en oeuvre que les algorithmes de simplification de maillage géométriques. D'autre part, le rendu effectif d'un point isolé est très rapide comparé à la ''rastérisation''0.1 d'une primitive géométrique. Le problème principal inhérent à ce mode de représentation est qu'il ne garantit pas la cohérence topologique et géométrique (continuités) des modèles affichés. En particulier, des zones sous échantillonnées apparaissent si l'on se rapproche trop de la surface. D'autre part, il n'y a aucune information locale dépassant l'espace du point ce qui rend très difficile l'utilisation de cette méthode dans un environnement physique virtuel.

Le principe du rendu à base d'images est d'utiliser non plus des modèles géométriques pour générer une image, mais un ensemble pré-acquis d'images de la scène. Ces images de référence, prises à des positions données (points de vue de référence), sont utilisées pour reconstruire l'apparence de la scène selon d'autres points de vue. Ainsi, la complexité géométrique de la scène n'intervient pas dans le temps de rendu. Néanmoins, différents problèmes tels que le très grand espace mémoire nécessaire, les difficultés rencontrées pour faire varier l'éclairement de la scène ou les effets de parallaxe (occlusion, masquage) font qu'il est impossible d'utiliser cette approche telle qu'elle. De très nombreuses méthodes de rendu hybrides (HIBGR, ''Hybrid Image-Based and Geometry Rendering'') ont depuis été proposées. Elles permettent de combiner dans une certaine mesure les avantages du rendu conventionnel avec les avantages du rendu basé image.

Motivations

En rendu en temps réel, les objets sont traditionnellement représentés par leur surface (B-Rep0.2). Elles peuvent être modélisées par un maillage de polygones, des surfaces implicites, des NURBS0.3 ou des surfaces de subdivision. Néanmoins, durant le rendu, ces primitives de haut niveau sont décomposées en un ensemble de triangles qui sont alors affichés par la carte graphique. La limitation principale de cette approche est le nombres de triangles affichables en temps réel. Ainsi, lors de la modélisation, il est souvent nécessaire de faire des sacrifices en baissant le nombre de polygones pour une partie donnée de la scène afin que l'ensemble puisse garder un taux d'affichage raisonnable. Bien sûr, baisser le nombre de polygones revient à dégrader la qualité du modèle.

Pour contrebalancer la simplification des objets, différentes techniques permettent de rehausser leur apparence de façon à donner l'illusion de l'objet original. Néanmoins, plusieurs problèmes font qu'il est difficile de les utiliser en l'état. La plupart ne fonctionnent que pour des cas particuliers concernant la nature de la surface à imiter ou donnent des résultats médiocres, suffisants seulement pour des vues lointaines. Quand elles donnent de bon résultats visuels, elles sont trop lourdes en mémoire et ne sont alors pas utilisable dans une application complète de simulation pour lesquelles le rendu doit prendre qu'une petite part des ressources. Le dernier écueil est que souvent ces méthodes demandent trop de temps de calcul pour une application de simulation d'environnement 3D interactive.

Nous nous sommes donc donnés comme base un modèle géométrique très complexe et nous nous sommes proposés de pouvoir l'afficher en temps réel avec une perte visuelle minimale et de pouvoir l'intégrer facilement dans un moteur de rendu traditionnel. C'est à dire faire en sorte d'utiliser au maximum les capacités de calcul délocalisé au niveau du pixel des cartes graphiques de façon à alléger le processeur central. De plus, pour pouvoir être facilement intégrable, les méthodes devront supporter le rendu par tampon de profondeur (''Z-Buffer'') et gérer les modèles d'éclairement classiques ainsi que les techniques d'ombrage en temps réel.

Pour réaliser cela nous nous sommes attachés à combiner les avantages des différents modes de représentation de la scène (voir paragraphe précédent) en développant des techniques de rendu hybrides. Plus précisément, ce qui nous a guidé a été la volonté de délocaliser dans des images une partie du relief de la scène afin que le temps de rendu ne dépende plus de la puissance brute d'affichage géométrique de la carte et puisse ainsi s'effectuer en temps interactif.



Sous-sections
Porquet Damien 2005-03-02