Nous avons tout d'abord étudié, adapté et étendu les méthodes d'interpolation
d'images au rendu en temps réel de modèles complexes en développant
des structures permettant d'intégrer ces techniques à un moteur de
rendu temps réel conventionnel, et en particulier de prendre en compte
un éclairement variable de l'objet :
- Premièrement, nous avons adapté les méthodes de placage de texture
dépendant du point de vue (section 1.4.1.7) à des modèles
très simplifiés d'objets 3D de façon à éviter les opérations manuelles
inhérentes à ces méthodes, et de façon à pouvoir intégrer facilement
le modèle à un environnement 3D temps réel. Nous avons également étendu
le placage de texture dépendant du point de vue de façon à prendre
en compte un éclairement variable des textures, effet non pris en
compte dans le placage de texture dépendant du point de vue conventionnel.
Nous avons mis en évidence les problèmes rencontrés et nous présentons
les solutions que nous avons mises en oeuvre.
- Deuxièmement, nous avons étudié les techniques d'interpolation de
point de vue (section 1.4.4). De la même
façon que pour les textures dépendantes du point de vue, nous avons
étendu le procédé de façon à ce qu'il s'exécute en temps réel. De
même, nous y intégrons un éclairement variable et permettons une intégration
dans un moteur de rendu en temps réel conventionnel.
- Troisièmement, nous avons étendu l'interpolation de points de vue
de façon à ce que l'interpolation ne se fasse plus sur les pixels
de l'écran mais sur des parties de l'image, des blocs automatiquement
créés à partir du traitement automatique d'images de référence.
Nous avons ensuite étudié l'utilisation dans le domaine du temps réel
des textures 4D se modifiant en fonction du point de vue, en les appliquant
à un cube remplaçant le modèle géométrique de base. Dans ce cadre,
nous avons étendu le
lancer de rayons virtuels de Dischler[
Dis98]
de façon à ce que le précalcul et la génération des textures soit
très rapide. Notre méthode se base sur une décomposition de l'objet
originel en un nuage de points qui permettent de calculer la couleur
des texels, et sur une structure de visibilité 4D qui permet de prendre
en compte les effets de parallaxe. Les points s'apparentent à des
surfels (voir section
1.3.2 de l'état de l'art)
mais sont étendus de façon à pouvoir prendre en compte différents
modèles d'illumination locale ainsi que l'
auto-ombrage (section
1.4.1.3) de l'objet, et à occuper le moins d'espace
mémoire possible. Nous avons appelé QLS (
''Quantized Light
Surfel'') ce nouveau type de surfel.
Finalement, nous avons développé une technique d'interpolation de
points de vue originale qui permet de plaquer en temps réel de la
géométrie sur une surface simplifiée d'un objet géométrique de façon
à ce qu'il n'y ait que très peu de différence visuelle discernable
entre l'objet simplifié et l'objet originel.
Nous nous basons pour cela sur un nombre restreint d'images de référence
de l'objet complexe qui nous servent à stocker la géométrie de sa
surface sous la forme de cartes de profondeurs. Le coeur de notre
méthode est l'algorithme qui permet, sur la base de la version simplifiée
de la surface du modèle et des images, de reconstruire au niveau du
pixel la géométrie de la scène complexe.
Pour la capture des images de référence, nous avons développé une
technique permettant de contrôler l'acquisition des meilleurs points
de vue de façon à minimiser le nombre d'images nécessaires.
La surface simplifiée sur laquelle nous appliquons notre méthode d'interpolation
de points de vue peut être une image de profondeurs représentant
le relief approché du modèle original selon un point de vue donné,
ou un maillage 3D simplifié :
- Dans le premier cas, nous proposons une méthode permettant de retrouver
une version approchée de la surface de la scène complexe pour une
position quelconque sur une trajectoire prédéfinie au sein de la scène.
Cette structure permet de compresser l'ensemble des variations de
profondeur de chaque pixel, lorsque la caméra se déplace le long de
cette trajectoire, sous une forme segmentée. Nous avons également
mis au point un algorithme rapide de décompression s'exécutant en
temps réel, bien qu'utilisant le processeur central. Cette reconstruction
se fait au niveau du pixel et s'ajuste facilement en fonction de la
précision voulue et de la mémoire disponible.
- Dans le second cas, nous avons implémenté notre système d'interpolation
de points de vues en employant la simplification de maillage sur le
modèle complexe. Ceci nous permet de combiner la rapidité d'affichage
du rendu du maillage simplifié à la qualité visuelle de l'objet complet.
L'intégration dans un moteur de rendu conventionnel est immédiate,
les modèles d'éclairement habituels peuvent être utilisés ainsi que
des techniques réputées coûteuses en temps de calcul, telle que l'auto-ombrage.
Un des avantages de cette méthode est que le temps de rendu ne dépend
plus de la complexité de la scène mais essentiellement du nombre de
pixels affichés, c'est à dire de la surface qu'occupe l'objet sur
l'image finale. D'autre part, l'algorithme d'interpolation étant effectué
intégralement par la carte graphique, nous obtenons un taux d'affichage
élevé ainsi qu'une excellente qualité visuelle comparée au modèle
original.
Porquet Damien
2005-03-02