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