Effectuer des calculs d'illumination globale pour des environnements complexes et les visualiser de manière interactive demeure un problème difficile en synthèse d'images. En effet, la radiosité hiérarchique est un processus très coûteux en termes de temps de calcul et de ressources mémoire, même pour des scènes de complexité moyenne. Par conséquent, dans le cas d'environnements complexes, une étape de précalcul est nécessaire. Ce précalcul consiste à découper la scène en plusieurs régions (appelées cellules) et évaluer les relations de visibilité entre ces régions. La méthode de découpage (ou de structuration) que nous proposons est inspirée de l'analyse d'images et consiste à mettre en correspondance des modèles génériques de cellules avec des éléments géométriques déduits de la scène. Comparée à la technique de subdivision binaire de l'espace, cette méthode fournit des résultats beaucoup plus convaincants car le nombre de cellules obtenues est plus faible et par conséquent les calculs de visibilité et de simulation d'éclairage se trouvent simplifiés. A chaque étape de la simulation d'éclairage, seule une petite partie de la scène réside en mémoire. Les informations géométriques et photométriques nécessaires à la représentation des objets de la scène sont stockées sur disque. La simulation de la propagation de la lumière est alors considérée comme la composition de tâches élémentaires consistant à (i) charger en mémoire les informations nécessaires à la simulation, (ii) effectuer les calculs de radiosité, (iii) remettre à jour la base de données sur le disque. Néanmoins, afin de réduire les nombreux échanges d'information entre le disque et la mémoire, il est nécessaire d'ordonner les calculs de manière efficace. Pour cela, nous proposons plusieurs stratégies d'ordonnancement des calculs reposant sur une prédiction des coûts de ces échanges d'informations à court, moyen ou long terme. Ces stratégies utilisent les connaissances relatives à la structuration de la scène en cellules et les relations de visibilité qui existent entre elles. Nous avons mis en oeuvre une version parallèle de cet algorithme à l'aide de l'environnement de programmation MPI (Message Passing Interface). Dans ce cas, toutes les données sont stockées sur un disque commun à tous les processeurs afin de réduire le nombre de messages et leur taille. Chaque processeur effectue les calculs pour un ensemble de régions selon les mêmes stratégies d'ordonnancement que l'algorithme séquentiel. Un mécanisme d'équilibrage de charge dynamique suivant une technique de vol de tâche (task stealing) permet d'éviter que certains processeurs restent inactifs au cours des calculs. Enfin, la terminaison de l'algorithme est réalisée à l'aide d'une reconfiguration dynamique des processeurs en anneau qui permet également la gestion de la convergence de l'algorithme.
Identifer | oai:union.ndltd.org:CCSD/oai:tel.archives-ouvertes.fr:tel-00007237 |
Date | 28 June 1998 |
Creators | Meneveaux, Daniel |
Publisher | Université Rennes 1 |
Source Sets | CCSD theses-EN-ligne, France |
Language | French |
Detected Language | French |
Type | PhD thesis |
Page generated in 0.0019 seconds