• Aucun résultat trouvé

Traitement des discontinuités temporelles :

Algorithme 7.1 Mise à jour récursive de la hiérarchie

7.3 Résultats expérimentaux

Nous avons apporté à notre programme de radiosité hiérarchique spatiale et temporelle les modi-fications décrites dans les paragraphes précédents afin d’utiliser la base de fonctions

M

2. Cela permet à la radiosité sur chaque élément de varier linéairement.

Dans ce chapitre, nous montrons que cette nouvelle base de fonctions permet d’améliorer gran-dement la qualité des animations pour lesquelles l’utilisation d’éléments uniformes entraîne des dis-continuités dans l’éclairement. Nous montrons également qu’elle permet une réduction du nombre de subdivisions temporelles nécessaires à l’obtention d’une précision donnée dans les échanges lumi-neux. Cette réduction de la hiérarchie a pour conséquence, pour ces animations, une amélioration des temps de calcul et de la place mémoire utilisée.

7.3.1 Amélioration de la continuité temporelle

Afin de démontrer l’amélioration de la continuité temporelle, nous utilisons de nouveau la scène de test employée au paragraphe 5.2.2, grâce à laquelle nous avons mis en évidence l’existence des dis-continuités temporelles dues à l’utilisation d’une base de fonctions uniformes. Rappelons brièvement que cette scène est composée de quatre boîtes blanches fixes, dans une pièce illuminée par quatre pro-jecteurs en mouvement. Ces propro-jecteurs ne créant qu’un cône de lumière assez étroit, la quasi totalité de la scène n’est éclairée que de manière indirecte. De plus, les murs de la pièce étant respectivement rouge, vert, bleu et blanc, le mouvement des projecteurs provoque des variations importantes dans la couleur de l’éclairage ambiant. On peut en particulier observer des taches colorées se déplacer au sol et au plafond de la pièce, ainsi que sur les boîtes, provoquées par la réflexion de la lumière sur les murs.

Rappelons également que le mouvement de ces taches colorées est, dans le cas où l’on utilise une base de fonctions uniformes, particulièrement discontinu. Tout se passe en effet comme si pour ces taches de couleur, l’animation n’était mise à jour que toutes les deux ou trois secondes. On peut constater, sur le graphe de la figure 7.6 l’amplitude de ces discontinuités. On y voit clairement que, comme nous l’avions noté au paragraphe 5.2.2, les discontinuités les plus importantes se produisent au milieu de l’animation, puis aux premier et troisième quarts, puis dans une moindre mesure aux autres fractions paires de l’animation.

FIG. 7.7:Comparaison des discontinuités temporelles à t 

1

2. Un ton plus sombre indique une plus grande discontinuité. À gauche : avec une base de Haar. À droite : avec une base

M

2

Si l’on calcule la même animation en utilisant une base de fonction

M

2, l’éclairage indirect de l’animation obtenue est visiblement plus cohérent. A moins d’y prêter une attention particulière, il est extrêmement difficile d’y repérer quelque discontinuité. La figure 7.6 permet de constater que l’éclairage indirect est indubitablement plus « continu » que lorsque l’on utilise une base de fonc-tions uniformes. L’utilisation de la base de multi-ondelettes

M

2 ne nous permet pas de garantir une représentation continue de la radiosité, mais elle permet de réduire fortement l’amplitude des discon-tinuités.

La figure 7.7 permet de constater que la principale discontinuité temporelle, ayant lieu au milieu de l’animation, est quasiment réduite à zéro sur toute la surface de la scène, alors qu’elle est clairement visible en de nombreux endroits dans le cas de la base de Haar.

7.3.2 Performances de l’algorithme

Le tableau 7.1 donne le temps de calcul et la place mémoire nécessaires au calcul de notre anima-tion test. À titre de comparaison, nous donnons ces chiffres pour un calcul image par image effectué à l’aide d’un algorithme de radiosité hiérarchique classique, utilisant un oracle de raffinement si-milaire au nôtre mais ne procédant pas à un échantillonnage temporel. Nous indiquons également les performances de notre algorithme de radiosité hiérarchique spatiale et temporelle, lorsque l’on utilise respectivement la base de Haar et la base

M

2 (ces chiffres sont obtenus sur un processeur

MIPS R12000 cadencé à 300 Mhz).

Temps de calcul Mémoire

Éclairage direct Indirect Total par image

Image par Image 600 s 9.000 s 16,0 s 5 Mo

Haar 254 s 1.492 s 2,9 s 587 Mo

M

2 271 s 1.172 s 2,4 s 464 Mo

de calcul nécessaire au calcul de l’éclairage direct). Ces chiffres sont donc bien meilleurs que ceux obtenus pour les deux premières scènes de test utilisées au chapitre 5.

– Bien que la consommation mémoire de notre algorithme reste importante (puisque nous conser-vons en mémoire la hiérarchie correspondant à l’ensemble des dates de l’animation), l’utilisa-tion de la base de foncl’utilisa-tions

M

2 permet de réduire la consommation mémoire d’environ 15% par rapport à la base de Haar. En dépit du sur-coût occasionné par le stockage des coefficients de radiosité supplémentaires, ainsi que des matrices d’interactions, elle permet de réduire le nombre total d’éléments ainsi que le nombre total d’interactions. Ceci permet également d’ex-pliquer l’amélioration du temps de calcul par rapport à la base de Haar.

Afin de tester le fonctionnement de notre algorithme de regroupement de surfaces lorsque l’on utilise des fonctions d’ordre supérieur, nous avons « compliqué » la scène de test précédente, en remplaçant les boîtes par des objets plus complexes. La scène obtenue (cf. figure 7.9) est composée d’environ 30$000 polygones. Bien que les groupes ne soient pas raffinés très finement en temps, on peut constater sur l’animation obtenue une évolution continue de la luminosité des surfaces qu’ils contiennent conforme au déplacement des sources de lumière indirecte.

Le tableau 7.2 indique le temps et la mémoire nécessaire à ce calcul. Le facteur d’accélération obtenu est ici d’environ 14 (ce qui confirme les résultats obtenus au paragraphe 6.3). Toutefois, il semble que les approximations effectuées pour le calcul de l’illumination des groupes augmentent l’amplitude des discontinuités observées.

Temps de calcul Mémoire

Éclairage direct Indirect Total par image

Image par image 6s 103s 109s 17 Mo

M

2 146s 4.445s 8s 415Mo

TAB. 7.2: Résultats expérimentaux, scène complexe

7.3.3 Conclusion

Nous avons, dans ce chapitre, présenté les modifications à apporter à l’algorithme de radiosité hié-rarchique spatiale et temporelle afin d’employer une base de multi-ondelettes d’ordre supérieur pour la représentation temporelle de la radiosité. Nous avons montré que, puisque nous utilisons la dé-composition en ondelettes sur un espace unidimensionnel (le temps), l’algorithme obtenu ne présente pas les inconvénients ordinairement associés à l’utilisation des ondelettes pour les calculs de radio-sité (coût mémoire prohibitif, mécanisme de mise à jour hiérarchique compliqué, etc.). Nous avons également démontré que l’utilisation de la base de multi-ondelettes

M

2permet de réduire de façon considérable les discontinuités temporelles qu’introduisait l’utilisation de l’algorithme de radiosité hiérarchique spatiale et temporelle. Finalement, nous avons montré que l’utilisation de ces nouvelles bases de fonctions reste compatible avec le regroupement des surfaces que nous avons présenté au chapitre 6.

Gestion de la mémoire :