Brevet FR2969354A1 — publié le 20120622

i La présente invention concerne un procédé de simulation de l'éclairage en un point d'une image de synthèse. En image de synthèse, afin de fidèlement simuler l'éclairage naturel d'une scène en trois dimensions (3D) à partir de sources lumineuses, comme le soleil, la prise en compte de l'illumination indirecte des objets est quasiment indispensable, en particulier dans des milieux clos, où la lumière interagit de nombreuses fois avec la géométrie environnante, générant une contribution indirecte non négligeable, sous forme d'inter-réflexions diffuses et/ou spéculaires. io Le calcul de l'éclairage d'un point en 3D peut être séparé en deux composantes distinctes: - l'éclairage direct, représentant l'illumination des surfaces visibles directement depuis les sources lumineuses, sans interaction intermédiaire. L'angle solide des sources depuis un point 3D est en général suffisamment 15 restreint pour que le calcul d'éclairage et d'ombrage converge à moindre coût, les calculs étant concentrés vers ces zones précises. Le tracé de rayons offre une méthode robuste pour calculer cette contribution directe des sources sur les surfaces 3D de la scène. - l'éclairage indirect, représentant l'illumination des surfaces après 20 plusieurs interactions de la lumière avec les autres surfaces de la scène. Chaque point 3D peut donc recevoir de la lumière provenant de n'importe quelle autre surface visible depuis ce point, ce qui rend le calcul extrêmement coûteux car l'effort de calcul doit être distribué (en général) sur un angle solide beaucoup plus important. La convergence de l'estimation est 25 donc beaucoup plus lente, et un calcul par tracé de rayons devient rapidement prohibitif pour un résultat précis. Afin d'accélérer le calcul de l'éclairage indirect, la technique de Photon Mapping (parfois appelé placage de photons) a été développée au milieu des années 90 ("Global Illumination using Photon Maps", 1996, Henrik Wann 30 Jensen) afin de générer une solution approximative de l'illumination sous forme d'un nuage de photons, au préalable du calcul final de l'image en tracé de rayons. Ce nuage forme la Photon Map. Ce nuage est généré en envoyant aléatoirement des photons depuis les sources lumineuses de la scène et en suivant leurs parcours, chaque interaction avec une surface générant un nouveau point dans le nuage, ainsi que les caractéristiques locales de la surface touchée par ce photon (position, direction incidente du photon, vecteur normal à la surface touchée, flux lumineux transporté par le photon). Lors du calcul final de l'image, des rayons sont tracés depuis le point de vue afin de rechercher les surfaces visibles sur l'image. En ces points, l'éclairage direct est en général évalué via un tracé de rayons statistique, io obtenant ainsi une estimation par Monte Carlo de l'illumination directe. Pour l'éclairage indirect, la Photon Map est mise à contribution, grâce à une estimation de densité des photons au point considéré. La division de la somme des flux de chaque photon collecté par la surface de la zone servant à l'estimation donne donc une estimation de l'éclairage en un point donné. 15 Si l'estimation est effectuée directement aux points touchés par les rayons primaires issus du point de vue, les photons "directs" (ceux touchant les surfaces sans interaction intermédiaire) doivent être ignorés, car l'éclairage direct est calculé par tracés de rayons de manière plus précise. Si l'estimation est effectuée en des points secondaires issus d'un 20 échantillonnage hémisphérique par tracé de rayons, tous les photons sont pris en compte. Le nombre de photons nécessaire à une cartographie suffisamment précise de l'éclairage d'une scène dépend de la complexité géométrique, mais l'ordre de grandeur "moyen" est d'environ un million de photons 25 envoyés depuis les sources de lumière, produisant un nuage photonique de quelques millions de photons. Cette méthode du Photon Mapping présente toutefois certains inconvénients. Ainsi, lors de l'estimation de l'éclairage avec la Photon Map, les photons au voisinage du point d'estimation sont collectés. Ce point 30 d'estimation fournit une indication de position, et d'orientation de surface afin de ne collecter que les photons aux propriétés similaires. Sur la figure 1, qui illustre le procédé connu du Photon Mapping, le point d'estimation P représenté par la croix indique que la surface S touchée est horizontale. Seuls les photons de normale verticale et à peu près alignés avec la surface touchée sont donc considérés pour l'estimation. Les photons dits « valides », sont ceux ayant des caractéristiques de position et d'orientation de surface similaires à celles du point d'estimation P, et les photons dits « invalides » sont ceux ayant des caractéristiques de position et d'orientation de surface différentes de celles du point d'estimation P. Dans la méthode traditionnelle de la figure 1, les photons invalides sont complètements ignorés. La sélection est symbolisée par le cercle aplati suivant la normale au io point touché, pour indiquer que les photons éventuellement placés sur le mur vertical M, du type invalide, seront ignorés lors de l'estimation, car ils représentent l'éclairage sur ledit mur M, et non sur la surface S horizontale considérée. La Photon Map est par nature décorrelée de la géométrie initiale de la 15 scène: elle n'est constituée que d'un nuage de photons, et forme donc un échantillonnage ponctuel des surfaces. On voit sur la figure 1 que le point d'estimation P est à l'intérieur d'une pièce cloisonnée par le mur M représenté par la ligne verticale. L'estimation de densité nécessitant un nombre suffisant de photons avoisinants afin d'être statistiquement 20 représentative, le rayon de collection traverse ici le mur M de la pièce, et des photons issus de l'éclairage extérieur sont pris en compte dans l'estimation, ce qui conduit à une estimation erronée de l'éclairage à l'intérieur près du mur M. Ce phénomène de fuite de lumière ("Light Leak") est caractéristique de la Photon Map et constitue sa majeure limitation. La Photon Map "ignore" 25 qu'un bloqueur géométrique, tel qu'un mur, se trouve dans la zone d'estimation, et ne restreint donc pas l'estimation à la seule zone intérieure. La figure 5 montre la visualisation directe de l'estimation de densité au moyen de la Photon Map dans une pièce possédant une fenêtre visible au fond, par laquelle la lumière solaire pénètre avant d'illuminer l'ensemble de 30 l'intérieur par de multiples rebonds diffus. En bas des murs du fond et de droite, les fuites de lumière sont clairement visibles. La figure 6 montre le résultat du calcul final de l'image, où la Photon Map est utilisée de manière indirecte pour estimer les inter-réflexions diffuses. Les murs du fond et de droite "voient" la fuite de lumière inscrite dans la Photon Map, menant à une estimation erronée de l'éclairage local. Pour surmonter ces inconvénients, il est alors généralement nécessaire de tracer de nombreux rayons supplémentaires pour détecter les bloqueurs géométriques, ce qui réduit les performances du procédé et en augmente considérablement le coût. La présente invention a pour but de surmonter les inconvénients io susmentionnés. La présente invention a notamment pour but de fournir un procédé qui améliore le procédé de Photon Mapping, notamment en diminuant ou en supprimant les fuites de lumières. La présente invention a aussi pour but de fournir un tel procédé qui 15 est simple et peu coûteux à réaliser. La présente invention a donc pour objet un procédé de simulation de l'éclairage en un point d'estimation d'une image de synthèse en trois dimensions décrivant une scène pourvue d'au moins une source lumineuse, ledit point d'estimation étant situé sur une surface, ledit procédé comprenant 20 les étapes suivantes : générer un nuage de photons virtuels (Photon Map) en envoyant des photons depuis ladite au moins une source lumineuse et en suivant le parcours de ces photons, chaque interaction avec une surface de la scène pouvant générer un nouveau photon dans le nuage, et en stockant au moins une caractéristique des surfaces touchées par ce photon, 25 sélectionner un volume local de ladite Photon Map disposé autour dudit point d'estimation, le procédé comprenant les étapes suivantes : analyser les photons contenus dans ledit volume local pour détecter la présence d'au moins une autre surface, différente de ladite surface, s'étendant au voisinage dudit point d'estimation, et calculer l'éclairage indirect audit point d'estimation 30 en tenant compte de ladite au moins une autre surface détectée. Avantageusement, ladite au moins une caractéristique de surface stockée comprend une ou plusieurs des caractéristiques suivantes : position du photon, direction incidente du photon, vecteur normal à la surface, flux lumineux transporté par le photon. Avantageusement, les photons de la Photon Map situés, par rapport audit point d'estimation, de l'autre coté de ladite au moins une autre surface détectée, sont ignorés pendant l'étape de calcul de l'illumination globale au point d'estimation. Avantageusement, ledit volume local contient des photons « valides », ayant des caractéristiques de position et d'orientation de surface similaires à celles du point d'estimation, et des photons « invalides », ayant des io caractéristiques de position et d'orientation de surface différentes de celles du point d'estimation, ledit procédé comprenant d'utiliser les photons invalides contenus dans ledit volume local pour détecter ladite au moins une autre surface au voisinage dudit point d'estimation. Avantageusement, les photons « invalides » de la Photon Map 15 contenus dans le volume local sont collectés pour effectuer une reconstruction géométrique statistique de ladite au moins une autre surface au voisinage dudit point d'estimation. Avantageusement, ladite l'étape d'analyser les photons contenus dans ledit volume local comprend d'analyser des densités locales de photons 20 valides, et d'utiliser des discontinuités locales de densité photonique pour détecter ladite au moins une autre surface au voisinage dudit point d'estimation. Avantageusement, ladite étape d'analyser des densités locales est réalisée par de multiples évaluations partielles de densité, effectuées en 25 découpant la surface d'estimation initiale en plusieurs sous-zones. Ces caractéristiques et avantages et d'autres de la présente invention apparaîtront plus clairement au cours de la description détaillée suivante de celle-ci, faite en référence aux dessins joints, donnés à titre d'exemples non limitatifs, et sur lesquels 30 - la figure 1 est une vue schématique du procédé de Photon Mapping de l'art antérieur, - les figures 2 et 3 sont des vues schématiques d'un procédé selon un premier mode de réalisation avantageux de la présente invention, - la figure 4 est une vue schématique d'un procédé selon un second mode de réalisation avantageux de la présente invention, - les figures 5 et 6 sont des vues schématiques illustrant le résultat obtenu avec le procédé de l'art antérieur, et - les figures 7 et 8 sont des vues schématiques similaires aux figures 5 et 6, illustrant le résultat obtenu avec le procédé de l'invention. Un but de la présente invention est de détecter la présence de io bloqueurs géométriques potentiels au sein de la zone d'estimation de densité afin de restreindre la collection des photons - ainsi que la surface d'estimation - à une zone géométriquement connexe autour du point d'estimation initial. Par bloqueur géométrique, on entend notamment une autre surface que celle sur laquelle est situé le point d'estimation, et qui 15 s'étend au voisinage dudit point d'estimation. Lors de l'estimation traditionnelle précédemment décrite en référence aux figures 1, 5 et 6, les photons voisins au point d'estimation P sont collectés, localisés dans un volume local, typiquement une sphère 3D, environ centré sur le point P. 20 Les figures 2 et 3 illustrent un premier mode de réalisation de l'invention. De nombreux photons "invalides" qui possèdent des caractéristiques de position et d'orientation de surface trop différentes de celles du point d'estimation P, sont ignorés par le Photon Mapping traditionnel. Or, ces photons invalides contiennent de l'information importante 25 sur la configuration géométrique locale. Sur la figure 3, des photons que la méthode traditionnelle ignore sont représentés sur le mur vertical M par des carrés. Leur vecteur normal est ici perpendiculaire à celui du point d'estimation P et ne contribueront donc pas à l'estimation de l'éclairage. Cependant, ils forment un échantillonnage ponctuel du mur. La méthode 30 d'estimation de l'invention collecte tous ces photons invalides afin d'effectuer une reconstruction géométrique statistique des bloqueurs situés au voisinage du point d'estimation P. Contrairement au Photon Mapping traditionnel, qui ignore complètement les photons dits invalides contenus dans la sphère, la présente invention utilise ces photons invalides pour améliorer le calcul de l'illumination au point d'estimation P. Une fois cette reconstruction géométrique effectuée, les photons "valides" collectés pour l'estimation de l'éclairage vont être confrontés à cette géométrie afin de déterminer s'ils se trouvent dans une zone connexe au point d'estimation initial P. Sur la figure 2, les photons extérieurs symbolisés par des losanges seront correctement ignorés. L'estimation se fera donc comme indiqué sur la figure 3, sans déborder de l'autre coté du mur M. io Un second mode de réalisation de l'invention est illustré sur la figure 4. Les photons valides peuvent également renseigner sur la présence éventuelle de bloqueurs géométriques, sous la forme de discontinuités locales de densité. La zone extérieure du plan de sol, en l'occurrence la surface S, renferme une densité photonique supérieure, car plus exposée à 15 la lumière solaire. Dans ce second mode de réalisation de l'invention, on utilise ces variations de densités locales afin de détecter la présence de bloqueurs. Ces variations de densités locales peuvent être détectées au sein de la zone d'estimation d'éclairage par de multiples évaluations partielles de densité. Une méthode d'analyse de la densité consiste à découper la surface 20 d'estimation initiale en plusieurs sous-zones, puis à calculer la densité locale pour chacune de ces sous-zones et à comparer les densités locales entre sous-zones. Ces dernières représenteront une cartographie des densités locales, permettant la détection de discontinuités éventuelles. La figure 4 montre une vue de dessus du scénario initial, à savoir une 25 zone intérieure et une zone extérieure, toutes deux séparées par un mur M. Le cercle en pointillés symbolise le volume local, en l'occurrence la sphère initiale d'estimation. La frontière de discontinuité de densité modélise fidèlement le mur géométrique M séparant les zones intérieure et extérieure de la pièce. 30 L'analyse statistique du nuage de photons, que ce soit à partir de l'analyse des photons invalides, telle que décrite en référence aux figures 2 et 3, ou à partir de l'analyse fine de densité photonique locale, telle que décrite en référence à la figure 4, permet d'éliminer complètement les fuites de lumière de manière efficace sans recourir à un tracé de rayons supplémentaires pour détecter les bloqueurs avoisinants. En effet, la Photon Map seule contient suffisamment d'information à cet effet, et la méthode d'estimation traditionnelle fournit une base aux méthodes d'analyses de la présente invention. Dans le Photon Mapping traditionnel, les photons invalides sont déjà répertoriés, mais ignorés, et les discontinuités de densités locales de photons valides sont également ignorées. La présente invention simplifie donc la méthode traditionnelle, et diminue considérablement les io coûts en évitant d'avoir à recourir aux tracés de rayons supplémentaires. La figure 7 montre la visualisation directe de notre nouvelle estimation de densité au moyen de la Photon Map dans la même scène que celle utilisée pour la figure 5. Aucune fuite de lumière n'est visible au niveau des murs du fond et de droite, et la qualité de l'estimation de l'éclairage local est 15 équivalente à celle de la méthode traditionnelle dans les zones non problématiques. La comparaison des figures 5 et 7 montre clairement l'amélioration fournie par le procédé de la présente invention. Il en est de même avec la figure 8, qui montre le résultat du calcul final de l'image, où la Photon Map est utilisée de manière indirecte pour estimer 20 les inter-réflexions diffuses. Là encore, la méthode d'estimation de l'invention produit un résultat sans erreur visuelle, contrairement au résultat obtenu avec le procédé de l'art antérieur, illustré sur la figure 6. A nouveau, la comparaison des figures 6 et 8 démontre l'efficacité de la présente invention. Bien entendu, la présente invention est efficace aussi pour modéliser 25 des surfaces autres que des murs, par exemples dess objets, tels que du mobilier, ou d'autres éléments contenus dans la scène et susceptibles de modifier l'éclairage global. Bien que la présente invention ait été décrite en référence aux modes de réalisation illustrés sur les dessins, il est entendu que l'homme du métier 30 peut apporter toutes modifications utiles sans sortir du cadre de la présente invention tel que défini par les revendications annexées. REVENDICATIONS1.- Procédé de simulation de l'éclairage en un point d'estimation (P) d'une image de synthèse en trois dimensions décrivant une scène pourvue d'au moins une source lumineuse, ledit point d'estimation (P) étant situé sur une surface (S), ledit procédé comprenant les étapes suivantes : - générer un nuage de photons virtuels (Photon Map) en envoyant des photons depuis ladite au moins une source lumineuse et en suivant le parcours de ces photons, chaque interaction avec une surface de la scène pouvant générer un nouveau photon dans le nuage, et en io stockant au moins une caractéristique des surfaces touchées par ce photon, - sélectionner un volume local de ladite Photon Map disposé autour dudit point d'estimation (P), caractérisé en ce que le procédé comprend les étapes suivantes : 15 - analyser les photons contenus dans ledit volume local pour détecter la présence d'au moins une autre surface (M), différente de ladite surface (S), s'étendant au voisinage dudit point d'estimation (P), et - calculer l'éclairage indirect audit point d'estimation (P) en tenant 20 compte de ladite au moins une autre surface détectée (M). 2.- Procédé selon la revendication 1, dans lequel ladite au moins une caractéristique de surface stockée comprend une ou plusieurs des caractéristiques suivantes : position du photon, direction incidente du 25 photon, vecteur normal à la surface, flux lumineux transporté par le photon. 3.- Procédé selon la revendication 1 ou 2, dans lequel les photons de la Photon Map situés, par rapport audit point d'estimation (P), de 30 l'autre coté de ladite au moins une autre surface détectée (M), sont 9i0 ignorés pendant l'étape de calcul de l'illumination globale au point d'estimation (P). 4.- Procédé selon l'une quelconque des revendications précédentes, dans lequel ledit volume local contient des photons « valides », ayant des caractéristiques de position et d'orientation de surface similaires à celles du point d'estimation (P), et des photons « invalides », ayant des caractéristiques de position et d'orientation de surface différentes de celles du point d'estimation (P), ledit procédé io comprenant d'utiliser les photons invalides contenus dans ledit volume local pour détecter ladite au moins une autre surface (M) au voisinage dudit point d'estimation (P). 5.- Procédé selon la revendication 4, dans lequel les photons 15 « invalides » de la Photon Map contenus dans le volume local sont collectés pour effectuer une reconstruction géométrique statistique de ladite au moins une autre surface (M) au voisinage dudit point d'estimation (P). 20 6.- Procédé selon l'une quelconque des revendications 1 à 3, dans lequel ladite l'étape d'analyser les photons contenus dans ledit volume local comprend d'analyser des densités locales de photons valides, et d'utiliser des discontinuités locales de densité photonique pour détecter ladite au moins une autre surface (M) au voisinage dudit point 25 d'estimation (P). 7.- Procédé selon la revendication 6, dans lequel ladite étape d'analyser des densités locales est réalisée par de multiples évaluations partielles de densité, effectuées en découpant la surface d'estimation 30 initiale en plusieurs sous-zones.