Les techniques de rendu à base d'images (IBR, ''Image-Based Rendering'') utilisent principalement des images comme primitives de rendu, c'est à dire que les informations contenues dans une image sont utilisées pour synthétiser de nouvelles images.
Le concept d'image a évolué graduellement. La texture, la plus simple des images (un tableau 2D de pixels, un pixel stockant une couleur) ne permet pas, quand elle est déformée, de prendre en compte les effets de parallaxe. Ces effets peuvent être pris en compte en ajoutant une profondeur à chaque pixel. Une telle image contenant couleurs et profondeurs est appelée image de profondeurs (depth image). Néanmoins, une seule image de profondeurs ne contient pas assez d'informations pour créer un nouveau point de vue : les effets de parallaxe génèrent, par exemple, l'apparition de certaines parties de la scène qui ne sont pas dans l'image de base (effets d'occlusion ou de masquage, voir figure 1.6). Pour prendre en compte ce problème, les images à plans de profondeurs (LDI, ''Layered Depth Images'') stockent par pixel, non plus simplement une couleur et une profondeur, mais une liste de couleurs et de profondeurs, c'est à dire un échantillonnage des parties cachées.
|
Ces trois types d'images : texture, image de profondeurs
et image à plans de profondeurs constituent les primitives
de base des techniques de rendu à base d'image, et sont résumée dans
le tableau 1.1. Par la suite, nous utiliserons
le terme de texel (Texture Element) pour désigner les
données stockées dans une texture. Dans notre cas, il ne s'agit pas
des Texels au sens des textures volumiques de Kajiya-Neyret
[Ney95,KK89].
|
Les images de profondeurs peuvent être de deux types en fonction de ce que représente cette information de profondeur. Le premier type correspond au champ de hauteurs (Height Field) ou carte d'élévation, utilisé par exemple dans le placage de bosselures(Bump-mapping) et représentant un déplacement orthogonal à la surface, par pixel. Le second type d'image de profondeurs est le tampon de profondeurs (Z-Buffer), dont la profondeur représente la distance caméra/surface.
Dans le premier cas (figure 1.7, image de gauche), la hauteur représente la distance entre une surface de référence et la surface réelle, sous forme d'une élévation perpendiculaire à la normale au plan de référence. Par la suite nous dénommerons une telle image de profondeurs par le terme carte de hauteurs.
Dans le second cas (image de droite), la profondeur d'un pixel correspond à la distance entre le centre de projection de la caméra et la surface. Cette distance est la composante de la coordonnée 3D d'un point dans l'espace de la caméra. L'image de profondeurs correspond au z-buffer de la scène et nous utiliserons le terme carte de profondeurs pour dénommer une telle image.
|
La façon dont sont utilisées ces informations permet de distinguer les algorithmes à base d'images. En effet, ils utilisent, déforment et combinent une ou plusieurs images selon différentes techniques qui vont du simple placage de texture au transfert épipolaire en passant par la déformation 3D ainsi que différentes méthodes d'interpolation. Dans cet état de l'art, nous détaillons ces techniques.
Les méthodes que nous allons décrire sont également caractérisées et différenciées par la façon dont il est fait usage des images :