Conclusion

Comme nous nous sommes attachés à le montrer dans cet état de l'art, le rendu de modèles géométriques complexes en temps réel a généré beaucoup de travaux et autant d'approches originales du problème. Les différentes classes de méthodes que nous avons présentées (simplification géométrique, rendu à base de points et rendu à base d'images) ont toutes pour but d'obtenir une grande complexité visuelle au moindre coût possible en terme de temps d'affichage et d'espace mémoire.

Dans ce cadre, la simplification de maillage peut être utilisée pour réduire le coût d'affichage d'un modèle complexe, quand celui-ci est vu de loin. Cette approche est très efficace mais un compromis doit être fait entre la qualité de la simplification, la complexité de l'algorithme et le type de maillage (tous les maillages ne sont pas simplifiables). De façon générale, même les algorithmes les plus performants demandent un temps de calcul qui dégrade les performances si on les applique à plusieurs modèles simultanément (ce qui est le cas général dans une application de simulation). De plus, par essence même, si le modèle est vu de près, il est affiché avec tous ses détails ce qui évidemment va a l'inverse du but recherché. Finalement, de part leur complexité même, ces algorithmes utilisent le processeur central, ce qui réduit la puissance de calcul disponible pour le reste de l'application.

Les techniques de rendu à base de points permettent d'afficher des modèles extrêmement complexes [GBP04], mais ne sont pas intégrables telles qu'elles dans un moteur de simulation d'environnements en 3D. En effet, les points sont par essence déconnectés, et donc difficiles à manipuler dans le cas ou l'on souhaite, par exemple, prendre en compte les collisions entre objets (ou tout autre interaction physique faisant appel à la surface de l'objet). Notamment, la projection de l'ombre du modèle sur son environnement semble très difficile à mettre en oeuvre.

Les méthodes de rendu à base d'images génèrent des images du modèle sur la base d'échantillons visuels (réels ou virtuels) de celui-ci.

Ces échantillons peuvent être utilisés pour réhausser l'apparence d'un modèle géométrique simple, comme dans le cas des techniques de placage de texture. Ils peuvent également complètement le remplacer au sein d'un scène virtuelle, comme dans le cas des imposteurs. Le problème général de ces méthodes provient du fait que les échantillons visuels ne sont valides que pour une seule position d'observation du modèle : la position d'échantillonnage. Dès que l'on s'écarte du point de vue de capture, les effets de parallaxes qui ne se produisent pas révèlent la nature de l'approximation visuelle qui a été faite lors de l'emploi de ces méthodes. Plus drastiquement encore, ces échantillons ne sont valides que pour une seule condition d'éclairement : celle de la capture. Ainsi, si l'éclairement de la scène change, cela peut révéler rapidement les approximations : les reflets spéculaire, par exemple, dépendent de la position de la surface et de l'éclairement ; les inter-réflexions ou les projections d'ombres, là aussi, ont un grand impact visuel sur l'image. Ces effets visuels, pour ne citer qu'eux, doivent donc d'être pris en compte par la technique de rendu.

Afin de gérer ces problèmes, ces échantillons visuels peuvent être réhaussés d'une information de relief liée à leur point de vue de capture. Ce relief peut être utilisé afin de traiter les effets de parallaxe, comme dans l'interpolation de point de vue, la déformation 3D d'images ou le parallax mapping. Il peut être utilisé également pour répercuter visuellement le changement d'éclairement, comme dans le cas du bump mapping ou des techniques d'auto-ombrage et d'inter-réflexions.

Cette représentation discrète de la surface de l'objet peut être obtenue (sous certaines conditions) à partir d'images réelles par des techniques d'analyse d'image ou de vision stéréoscopique. Dans le cas d'objets 3D virtuels, le tampon de profondeur (z-buffer) peut être directement utilisé. Le problème principal de ces relief exprimés par carte d'élévation ou de profondeurs est que les effets de parallaxe ne sont pas pris en compte. Ceci génère des zones sur- ou sous-échantillonnées quand le relief est observé selon un point de vue différent du point de vue d'échantillonnage. Les images à plans de profondeurs, entre autres, permettent de traiter ce problème mais sont beaucoup trop gourmandes en temps CPU pour être employées dans une application de simulation d'environnement 3D interactive.

Dans le cas de l'interpolation de rayons lumineux, le problème est la taille des données à traiter, et leur acquisition. Le matériel requis pour obtenir des échantillons lumineux permettant de reconstruire la fonction plénoptique est très spécifique et délicat à mettre en oeuvre. De plus, la taille des données (plusieurs dizaines de giga octets) rend très difficile leur manipulation. Par ailleurs, le champ lumineux n'est reconstuit que pour un éclairement fixe, et il n'existe pas encore d'algorithmes permettant de prendre en compte en éclairement variable de la scène en temps réel. Finalement, le méthodes les moins gourmandes en espace de stockage (panoramas et mosaïques) sont très limitées en termes de degré de liberté.

En conclusion, le problème de la complexité visuelle optimale au moindre coût (en termes d'espace mémoire et de temps de calcul) n'a evidemment pas de solution générale. Pour générer une image, les deux approches extrêmes seraient la capture du champ lumineux complet, nécessitant un espace de stockage infini, et la simulation complète du fonctionnement de la lumière, nécessitant un temps de calcul infini. Toutes les méthodes que nous avons présentées ici proposent un compromis entre ces deux extrêmes. Ce compromis est basé en particulier sur les spécificités du matériel disponible à un instant donné.

Porquet Damien 2005-03-02