FR2948799A1 - Procede d'estimation de diffusion de la lumiere - Google Patents
Procede d'estimation de diffusion de la lumiere Download PDFInfo
- Publication number
- FR2948799A1 FR2948799A1 FR0958058A FR0958058A FR2948799A1 FR 2948799 A1 FR2948799 A1 FR 2948799A1 FR 0958058 A FR0958058 A FR 0958058A FR 0958058 A FR0958058 A FR 0958058A FR 2948799 A1 FR2948799 A1 FR 2948799A1
- Authority
- FR
- France
- Prior art keywords
- light
- medium
- point
- estimated
- estimating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000009792 diffusion process Methods 0.000 title claims abstract description 20
- 238000004519 manufacturing process Methods 0.000 title description 2
- 238000005070 sampling Methods 0.000 claims abstract description 12
- 230000006870 function Effects 0.000 description 17
- 238000009877 rendering Methods 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 8
- 230000015654 memory Effects 0.000 description 8
- 238000010521 absorption reaction Methods 0.000 description 5
- 238000000149 argon plasma sintering Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 239000000203 mixture Substances 0.000 description 5
- 230000002238 attenuated effect Effects 0.000 description 4
- 239000002245 particle Substances 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000008033 biological extinction Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 239000000779 smoke Substances 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 239000008264 cloud Substances 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000003897 fog Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000031700 light absorption Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/506—Illumination models
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
L'invention concerne un procédé d'estimation de la quantité de lumière diffusée par un milieu participant hétérogène (10). Afin d'améliorer le rendu tout en minimisant les temps de calculs nécessaires, le procédé comprend les étapes de : - estimation de coefficients de projection dans une base de fonction à partir de valeurs de réduction d'intensité lumineuse estimées pour un ensemble de points (13) dudit milieu situés le long d'au moins une direction d'émission (110) de lumière par une source lumineuse (11), et - estimation de la quantité de lumière diffusée par ledit milieu (10), selon au moins une direction de diffusion (120) de la lumière, à partir desdits coefficients de projection estimés.
Description
1. Domaine de l'invention. L'invention se rapporte au domaine de la composition d'images de synthèse et plus particulièrement au domaine de la simulation de la diffusion de la lumière dans un milieu participant hétérogène. L'invention s'inscrit également dans le contexte des effets spéciaux pour une composition en temps réel (de l'anglais live ). 2. Etat de l'art. Selon l'état de la technique, différentes méthodes existent pour simuler la diffusion de la lumière dans des milieux participants tels que par exemple le brouillard, la fumée, la poussière ou les nuages. Les milieux participants correspondent à des milieux composés de particules en suspension qui interagissent avec la lumière pour en modifier le trajet et l'intensité notamment. Les milieux participants peuvent être décomposés en deux parties, à savoir les milieux homogènes tels que l'eau et les milieux hétérogènes, tels que la fumée ou les nuages. Dans le cas des milieux participants homogènes, il est possible de calculer de manière analytique l'atténuation de la lumière émise par une source de lumière. En effet, de part leur nature homogène, ces milieux présentent des paramètres tels que le coefficient d'absorption de la lumière ou le coefficient de diffusion de la lumière de valeur constante en tout point du milieu. A contrario, les propriétés d'absorption et de diffusion de la lumière varient d'un point à un autre dans un milieu participant hétérogène. Les calculs nécessaires pour simuler la diffusion de la lumière dans un tel milieu hétérogène sont alors très coûteux et il n'est ainsi pas possible de calculer de manière analytique et en temps réel la quantité de lumière diffusée par un milieu participant hétérogène. De plus, le milieu n'étant pas diffus (c'est-à-dire, la diffusion du milieu étant anisotrope), la quantité de lumière diffusée par le milieu varie également en fonction de la direction de diffusion de la lumière, c'est-à-dire de la direction dans laquelle une personne regarde ce milieu. Les calculs estimant la quantité de lumière diffusée doivent alors être réitérés pour chaque direction d'observation du milieu par une personne pour obtenir un rendu réaliste du milieu.
Pour effectuer le rendu en temps réel de milieux participant hétérogène, certaines méthodes effectuent le pré-calcul de certains paramètres représentatifs du milieu participant hétérogène. Si ces méthodes sont parfaitement adaptés pour une utilisation en studio de post-production par exemple et fournissent un rendu de bonne qualité, ces méthodes ne sont pas adaptés dans le contexte de conception interactive et de composition de rendu en temps réel d'un milieu participant hétérogène. Une telle méthode est par exemple décrite dans la demande de brevet W02009/003143 déposée par Microsoft Corporation et publiée le 31 décembre 2008.
L'invention objet de la demande W02009/003143 a pour objet un logiciel temps réel de rendu d'un milieu hétérogène et décrit une solution utilisant des fonctions de base radiales. Cette solution ne peut cependant pas être considérée comme une solution de rendu temps réel puisque certains prétraitements doivent être appliqués hors ligne (de l'anglais offline ) au milieu participant pour pouvoir calculer des coefficients de projection représentant le milieu qui seront utilisés pour des calculs temps réels de synthèse d'image. Avec l'émergence de jeux et d'applications de simulation interactifs, notamment en trois dimensions (3D), le besoin se fait sentir pour des méthodes de simulations temps réel offrant un rendu de milieux participants hétérogènes réaliste.
3. Résumé de l'invention. L'invention a pour but de pallier au moins un de ces inconvénients de l'art antérieur. Plus particulièrement, l'invention a notamment pour objectif d'optimiser les temps de calcul nécessaire pour composer un rendu réaliste en temps réel de la diffusion de la lumière dans un milieu participant hétérogène.
L'invention concerne un procédé d'estimation de la quantité de lumière diffusée par un milieu participant hétérogène, le procédé comprenant les étapes de : - estimation de coefficients de projection dans une base de fonction à partir de valeurs de réduction d'intensité lumineuse estimées pour un ensemble de points du milieu situés le long d'au moins une direction d'émission de lumière par une source lumineuse, et estimation de la quantité de lumière diffusée par le milieu, selon au moins une direction de diffusion de la lumière, à partir des coefficients de projection estimés. Selon une caractéristique particulière, le procédé comprend une étape d'estimation, pour chaque point du milieu, d'une valeur représentative de la réduction d'intensité lumineuse en un point donné du milieu. Avantageusement, l'estimation des valeurs représentatives de la réduction d'intensité lumineuse est réalisée par discrétisation du milieu. Selon une caractéristique spécifique, l'estimation des valeurs représentatives de la réduction d'intensité lumineuse est réalisée en utilisant la méthode d'échantillonnage de rayon. De manière avantageuse, l'estimation de la quantité de lumière diffusée par le milieu est réalisée par discrétisation du milieu le long de la au moins une direction de diffusion.
Selon une caractéristique particulière, l'estimation de la quantité de lumière diffusée par le milieu est réalisée en utilisant la méthode d'échantillonnage de rayon. Selon une autre caractéristique, les coefficients de projection sont stockés dans une texture de projection. 4. Liste des figures. L'invention sera mieux comprise, et d'autres particularités et avantages apparaîtront à la lecture de la description qui va suivre, la description faisant référence aux dessins annexés parmi lesquels : - la figure 1 illustre schématiquement un milieu participant hétérogène diffusant de la lumière, selon un mode de réalisation particulier de l'invention ; - la figure 2 illustre schématiquement une méthode d'estimation de l'atténuation de la lumière dans un milieu de la figure 1, selon un mode de réalisation particulier de l'invention ; - la figure 3 illustre schématiquement une méthode d'estimation de la quantité de lumière diffusée par un milieu de la figure 1, selon un mode de réalisation particulier de l'invention ; - la figure 4 illustre un dispositif mettant en oeuvre une méthode d'estimation de la quantité de lumière diffusée, selon un exemple de mise en oeuvre particulier de l'invention ; - les figures 5 et 6 illustrent un procédé d'estimation de la quantité de lumière diffusée, selon deux modes de réalisation particuliers de l'invention. 5. Description détaillée de modes de réalisation de l'invention. La figure 1 illustre un milieu participant hétérogène 10 (de l'anglais heterogeneous participating media ), par exemple un nuage. Un
milieu participant est un milieu, composé d'une multitude de particules en suspension, qui absorbe, émet et/ou diffuse de la lumière. Dans sa forme la plus simple, un milieu participant absorbe seulement de la lumière, par exemple de la lumière reçue d'une source de lumière 11 telle que le soleil par exemple. Cela signifie que de la lumière passant au travers du milieu 10
est atténuée, l'atténuation dépendant de la densité du milieu. Le milieu étant hétérogène, c'est-à-dire que les caractéristiques physiques du milieu, telle que la densité des particules le composant par exemple, varient d'un point à un autre dans le milieu. Comme le milieu participant est composée de petites particules qui interagissent avec la lumière, la lumière incidente, c'est-à-dire
reçue de la source de lumière 11 selon une direction w;n 110 n'est pas seulement absorbée mais elle est également diffusée. Dans un milieu participant à diffusion isotrope, la lumière est diffusée uniformément dans toutes les directions. Dans un milieu participant à diffusion anisotrope, tel que le nuage 10 illustré en figure 1, la diffusion de la lumière dépend de l'angle
entre la direction d'incidence w;n 110 et la direction de diffusion wout 120 de la lumière. La quantité de lumière diffusée en un point M 13 du milieu 10 dans la direction de diffusion wout 120 est calculée par l'équation suivante : Q (m, corne) = D (M). 6s. p (M, fout, coin). Lri (M, coin) Equation 1 La quantité de lumière diffusée par un point M 13 du milieu atteignant l'oeil d'un spectateur 12 situé en un point C de l'espace dans la direction wout 120, c'est-à-dire la quantité de lumière diffusée par le point M et atténuée par le milieu 10 sur le trajet M-P, le point P étant situé à l'intersection du milieu 10
et de la direction wout dans la direction du spectateur 12, est alors : f m ùD(s).Qt.ds LP (M, wout) = Q (m, wout). exp P Equation 2 pour laquelle :
• 6s est le coefficient de diffusion du milieu,
• 6a est le coefficient d'absorption du milieu,
• 6t=6s+Da est le coefficient d'extinction du milieu,
• D(M) est la densité du milieu en un point donné, la densité variant d'un point à un autre puisque le milieu 10 est hétérogène,
• p(M,wout,w;n) est la fonction de phase décrivant comment la lumière provenant de la direction d'incidence w;n est diffusée dans la direction de diffusion wout au point M,
• Lri(M,win) est l'intensité lumineuse réduite au point M provenant de la direction d'incidence w;n 110 et représente la quantité de lumière incidente arrivant au point M après atténuation due au trajet de la lumière dans le milieu 10 sur le segment K-M, K étant le point d'intersection entre le milieu 10 et le rayon d'incidence w;n 110, et
vaut : f K ùD(s)6tds exp m Equation 3 • expf7 -D(s)6tds représente l'atténuation de luminance diffusée due à l'absorption et à la diffusion le long du chemin allant de P 15 à m 13.
L'équation 2 permet de calculer la quantité de lumière diffusée par un point M et atteignant l'oeil d'un spectateur 12 situé sur la direction wout. Pour calculer la quantité de lumière reçue par un spectateur regardant dans la direction wout, il faut alors effectuer la somme de toutes les contributions de
l'ensemble des points du milieu situés sur l'axe wout, c'est-à-dire les points situés sur le segment P-Mmax, P et Mmax étant les deux points d'intersection entre le milieu 10 et la direction wout 120. Cette luminance diffusée totale arrivant en P 15 depuis la direction wout 120 due à la diffusion simple est alors :
Mmax L(P, wout) = fp Lp (M, wout)dM Equation 4 Dans ce cas de figure, on suppose que la lumière parcourant le trajet C-P n'est pas atténuée.
Cette luminance diffusée totale est obtenue par intégration des contributions de tous les points situés entre P et Mmax sur un rayon ayant wout comme direction. Une telle équation intégrale ne peut pas être résolue de manière analytique dans le cas général et encore moins pour une estimation en temps réel de la quantité de lumière diffusée. L'intégrale est évaluée numériquement en utilisant la méthode dite d'échantillonnage de rayon ou de suivi de rayon (de l'anglais ray-marching ). Dans cette méthode, le domaine d'intégration est discrétisé en une multitude d'intervalles de taille 6M et on obtient l'équation suivante :
L (p, wout) ~ ~p max LP (M, wout) SM Equation 5 De manière avantageuse, le milieu participant hétérogène 10 est un élément à trois dimensions, représenté en deux dimensions sur la figure 1 pour des raisons de clarté.
La figure 2 illustre une méthode d'estimation de l'atténuation de la lumière issue d'une source de lumière 11 dans le milieu participant hétérogène 10, et plus particulièrement l'application de la méthode d'échantillonnage de rayon pour estimer l'atténuation de la lumière dans le milieu 10, selon un mode de réalisation particulier de l'invention. Comme cela a été décrit en regard de la figure 1, la lumière diffusée en un point M 13 par le milieu 10 est une composition de l'atténuation lumière reçue par le milieu 10 d'une source lumineuse 11 et de la diffusion de cette quantité de lumière atténuée reçue par le milieu 10. Dans un premier temps, en regard de la figure 2, le terme de l'équation 1 représentatif de l'atténuation de la lumière reçue de la source lumineuse 11 dans le milieu 10 est estimé. Le terme représentatif de l'atténuation de la diffusion simple en un point M du milieu 10 est représenté par l'équation suivante, équivalente à l'équation 3 :
AttL(M) = expfK -D(s)atds Equation 6 où AttL(M) est l'atténuation de l'intensité lumineuse au point M 13 et représente la quantité de lumière incidente arrivant au point M après atténuation, D(s) est la densité du milieu, 6t est le coefficient d'extinction du milieu, correspondant à la somme du coefficient de diffusion du milieu 6s et du coefficient d'absorption du milieu 6a (at = as + aa).
Le milieu 10 étant hétérogène, son atténuation lumineuse varie selon le point M considéré. Une telle équation de type intégrale ne peut être résolue de manière analytique, le nombre d'opérations à effectuer étant trop important, notamment pour une résolution temps réel. Pour estimer l'atténuation de la lumière au point M, le domaine d'intégration situé sur la direction d'incidence 110 considérée entre le point d'entrée K 14 du rayon lumineux 110 dans le milieu 10 et un point considéré du milieu 10 est discrétisé en une série d'intervalles 201, 202, 20i, 20i+1, 20n de taille bs. Par ailleurs, la densité varie également d'un point à un autre, la densité étant égale à D1 en K et à Di en fonction de la position du point Mi sur le rayon d'incidence win 110. On obtient alors l'équation suivante :
AttL (M) fl exp-D(s)6tss Equation 7 Chaque fonction de l'espace fonctionnel pouvant être écrite comme une combinaison linéaire de fonctions de base, une fonction de base étant un élément d'une base pour un espace fonctionnel, l'équation 7 peut ainsi être représentée de manière équivalente par : AttL (M) EN o ci Bi (M) Equation 8
où ci est le jième coefficient de la fonction de base Bi et où ci est défini par la somme de i échantillons allant de 0 à N de AttL(xi).Bi(xi), c'est à dire : c~ N IKLI +1+1 N o AttL (xi). B~ (xi) Equation 9 xi correspondant à la position d'un point Mi sur le segment K-L ou de manière équivalente à la distance KMi sur la droite 110. L'ensemble de coefficients de fonction de base ainsi calculés est stocké dans une texture de projection (de l'anglais projective texture map ), une telle texture de projection pouvant être comparée à une carte d'ombre (de l'anglais shadow map ). Les coefficients calculés sont représentatifs de la fonction d'atténuation de la lumière le long de la direction d'émission associée à chaque élément (dit texel) de la texture de projection.
Une représentation graphique de l'atténuation de la lumière selon une direction donnée 110 est rendue possible en utilisant ces coefficients de fonction de base, telle que représentée en 20 sur la figure 2.
De manière avantageuse, les opérations décrites ci-dessus sont réitérées pour chaque direction d'éclairage (ou direction d'incidence ou rayon lumineux) partant de la source de lumière 11 et traversant le milieu 10. Pour chaque rayon lumineux, les coefficients de fonction de base représentatifs de l'atténuation de la lumière au fur et à mesure de la traversée du milieu sont stockés dans la texture de projection. La texture de projection comprend alors tous les coefficients de projections représentatifs de l'atténuation de lumière dans le milieu. Il est ainsi possible de représenter une courbe d'atténuation, telle que la courbe 20, pour chaque direction d'incidence de la lumière issue de la source de lumière 11. Par ailleurs, l'équation 9 peut être résolue en un nombre réduit d'itérations (par exemple 10, 50 ou 100 itérations) et il est ainsi possible de calculer l'intensité réduite en temps réel pour une multitude de points d'un milieu 10.
La figure 3 illustre une méthode d'estimation de diffusion simple de la lumière dans le milieu participant hétérogène 10, plus particulièrement l'application de la méthode d'échantillonnage de rayon pour estimer cette diffusion simple dans le milieu 10, et plus généralement une méthode d'estimation de diffusion de la lumière par le milieu 10 en utilisant les coefficients de fonction de base calculés précédemment, selon un mode de réalisation particulier de l'invention. Pour calculer la diffusion simple de la lumière dans le milieu 10, la méthode d'échantillonnage de rayon est mise en oeuvre selon un mode de réalisation non limitatif de l'invention. Dans un premier temps, le facteur d'atténuation de la lumière d'un point M 13 du milieu 10 correspondant à l'atténuation de la lumière sur le trajet allant de M 13 à p 15, est estimé par l'équation suivante :
att(M) = expie -D(s)atds Equation 10 La densité D(s) d'un élément s (c'est-à-dire du point M; considéré, la position du point M; allant de P à m) du segment de droite [PM] variant puisque le milieu 10 est hétérogène. Le milieu étant hétérogène, l'équation 10 est très coûteuse en puissance de calcul et ne peut donc pas être calculée de manière analytique.
Pour pallier ce problème, un échantillonnage du rayon P-M suivant la direction wout est réalisé et on obtient après discrétisation du segment P-M en une multitude d'éléments bs att(M) fP exp-D(S)6tss Equation 11
A partir des coefficients de projection représentatifs de l'atténuation de la lumière sur le trajet incident de la lumière issue d'une source lumineuse 11 (estimés via l'équation 8 décrite en regard de la figure 2) et stockés dans une texture de projection 30 et à partir de l'équation 11, il est possible d'estimer l'atténuation globale de la lumière en un point M telle qu'elle est reçue par un spectateur 12 (c'est-à-dire composition de l'atténuation lumineuse dans le milieu 10 selon w;n 110 et selon wout 120) de manière analytique, les ressources en terme de puissance de calcul nécessaire étant très largement inférieures par rapport à celles nécessaires pour une résolution analytique des équations de forme intégrale. A partir des équations 2, 8 et 11, il est alors possible d'estimer la quantité de lumière émise par un point M 13 du milieu et reçue par un spectateur 12 regardant dans la direction wout. On obtient ainsi :
LP (M, corne) 6S (M)• p (M, wout, . co). EN`o c.B.(x) . rlP exp-D(S)6tss Equation 12
Ln j 20 dans laquelle x représente la position du point M considéré sur le segment [KL] ou de manière équivalente la distance de K à m le long de la direction w;n 110 et Nc représente le nombre de coefficients de projection. L'équation 12 représente la quantité de lumière émise par un point M et reçue par un spectateur. Pour obtenir la quantité totale de lumière reçue par 25 un spectateur situé en un point C regardant dans la direction wout 120, il suffit de faire la somme des quantités de lumière élémentaires émises par l'ensemble des points M; allant de P à Mmax. On obtient pour cela :
Q (C, coout) E p max L P (M, wout) SM Equation 13 30 Pour obtenir la quantité de lumière totale diffusée par le milieu 10 et reçue par le spectateur 12, les estimations décrites ci-dessus sont réitérées pour toutes les directions partant de l'utilisateur et traversant le milieu 10. La somme des quantités de lumière reçues par le spectateur selon 35 chaque direction d'observation fournit la quantité de lumière reçue du milieu 10 par le spectateur 12.
La figure 4 illustre schématiquement un exemple de réalisation matérielle d'un dispositif 4 adapté à l'estimation de la quantité de lumière diffusée par un milieu participant hétérogène 10. Le dispositif 4 correspondant par exemple à un ordinateur personnel PC, à un ordinateur portable (de l'anglais laptop ) ou à une console de jeux. Le dispositif 4 comprend les éléments suivants, reliés entre eux par un bus 45 d'adresses et de données qui transporte également un signal d'horloge : - un microprocesseur 41 (ou CPU) ; - une carte graphique 42 comprenant : • plusieurs processeurs de traitement graphique 420 (ou GPUs) ; • une mémoire vive de type GRAM (de l'anglais Graphical Random Access Memory ) 421 ; - une mémoire non volatile de type ROM (de l'anglais Read Only Memory ) 46 ; - une mémoire vive ou RAM (de l'anglais Random Access Memory ) 47 ; - un ou plusieurs dispositifs I/O (de l'anglais Input/Output ou en français Entrée/Sortie ) 44, tels que par exemple un clavier, une souris, une webcam ; et - une alimentation 48. Le dispositif 4 comprend également un dispositif d'affichage 43 de type écran d'affichage relié directement à la carte graphique 42 pour afficher notamment le rendu d'images de synthèse calculées et composées dans la carte graphique, par exemple en temps réel. L'utilisation d'un bus dédié pour relier le dispositif d'affichage 43 à la carte graphique 42 offre l'avantage d'avoir des débits de transmission de données beaucoup plus important et ainsi de diminuer le temps de latence pour l'affichage d'images composées par la carte graphique. Selon une variante, le dispositif d'affichage est externe au dispositif 4. Le dispositif 4, par exemple la carte graphique, comprend un connecteur adapté à transmettre un signal d'affichage à un moyen d'affichage externe tel que par exemple un écran LCD ou plasma, un vidéoprojecteur.
On observe que le mot registre utilisé dans la description des mémoires 42, 46 et 47 désigne dans chacune des mémoires mentionnées, aussi bien une zone de mémoire de faible capacité (quelques données binaires) qu'une zone mémoire de grande capacité (permettant de stocker un programme entier ou tout ou partie des données représentatives de données calculées ou à afficher). A la mise sous tension, le microprocesseur 41 charge et exécute 5 les instructions du programme contenu dans la RAM 47. La mémoire vive 47 comprend notamment : - dans un registre 430, le programme de fonctionnement du microprocesseur 41 chargé à la mise sous tension du dispositif 4 10 - des paramètres 471 représentatifs du milieu participant hétérogène 10 (par exemple paramètres de densité, de coefficients d'absorption de la lumière, de coefficients de diffusion de la lumière). Les algorithmes mettant en oeuvre les étapes du procédé propres 15 à l'invention et décrits ci-après sont stockés dans la mémoire GRAM 47 de la carte graphique 42 associée au dispositif 4 mettant en oeuvre ces étapes. A la mise sous tension et une fois les paramètres 470 représentatifs du milieu chargés en RAM 47, les processeurs graphiques 420 de la carte graphique 42 charge ces paramètres en GRAM 421 et exécute les instructions de ces 20 algorithmes sous la forme de microprogrammes du type shader utilisant le langage HLSL (de l'anglais High Level Shader Language ou en français Langage de programmation shader de haut niveau ), le langage GLSL (de l'anglais OpenGL Shading language ou en français Langage de shaders OpenGL ) par exemple. 25 La mémoire vive GRAM 421 comprend notamment : - dans un registre 4210, les paramètres représentatifs du milieu 10, - des coefficients de projection 4211 représentatifs de l'intensité lumineuse réduite en chaque point du milieu 10 ; 30 - des valeurs de réduction d'intensité lumineuse 4212 pour chaque point du milieu 10 ; - des valeurs 4213 représentatives de la quantité de lumière diffusée par le milieu 10 selon une ou plusieurs directions d'observation. 35 Selon une variante, une partie de la RAM 47 est allouée par le CPU 41 pour stocker les coefficients 4211 et valeurs 4212 et 4213 si l'espace mémoire disponible en GRAM 421 est insuffisant. Cette variante entraîne cependant des temps de latence plus important dans la composition d'une image comprenant une représentation du milieu 10 composée à partir des microprogrammes contenus dans les GPUs puisque les données doivent être transmises de la carte graphique à la mémoire vive 47 en passant par le bus 45 dont les capacités de transmission sont généralement inférieures à celles disponibles dans la carte graphique pour faire passer les données des GPUs à la GRAM et vice-versa. Selon une autre variante, l'alimentation 48 est externe au dispositif 4.
La figure 5 illustre un procédé d'estimation de diffusion de la lumière dans un milieu participant hétérogène mis en oeuvre dans un dispositif 4, selon un premier exemple de mise en oeuvre non limitatif particulièrement avantageux de l'invention.
Au cours d'une étape d'initialisation 50, les différents paramètres du dispositif 4 sont mis à jour. En particulier, les paramètres représentatifs du milieu participant hétérogène 10 sont initialisés d'une manière quelconque. Ensuite, au cours d'une étape 51, des coefficients de projection d'une fonction de base sont estimés, ces coefficients de projection étant représentatifs de la réduction de l'intensité lumineuse dans le milieu participant hétérogène 10. Pour ce faire, une valeur représentative de la réduction de l'intensité lumineuse est calculée pour un ensemble de points représentatifs d'un segment de droite correspondant à l'intersection d'un rayon lumineux 110, issu d'une source lumineuse 11, avec le milieu 10.
Ainsi, pour chaque point du segment considéré est calculée une valeur représentative de la réduction de l'intensité lumineuse, cette valeur étant minimale au point d'incidence K 14 du rayon 110 dans le milieu 10 et étant de plus en plus grande au fur et à mesure que l'on s'enfonce dans le milieu 10 pour atteindre une valeur maximale au point L qui correspond au deuxième point d'intersection du rayon lumineux 110 avec le milieu 10. L'estimation des valeurs représentatives de la réduction d'intensité lumineuse est réalisée selon toute méthode connue de l'homme du métier, par exemple par discrétisation du segment de droite correspondant à l'intersection du rayon lumineux avec le milieu 10. Pour ce faire, le segment est par exemple divisé spatialement en une multitude de morceaux élémentaires de même longueur ou de longueurs différentes et la réduction de l'intensité lumineuse est calculée pour un point de chaque morceau élémentaire du segment. Les valeurs représentatives de la réduction de l'intensité lumineuse des autres points d'un morceau élémentaire sont alors estimées par interpolation, par exemple à partir des valeurs calculées pour deux points de deux morceaux élémentaires consécutifs. De manière avantageuse, la méthode utilisée pour discrétiser le segment de droite et pour estimer la réduction d'intensité lumineuse est la méthode dite d'échantillonnage de rayon (de l'anglais ray-marching algorithm ) telle que décrite en regard de la figure 2. Puis pour chaque valeur représentative de la réduction de l'intensité lumineuse en un point du milieu 10 le long du rayon 110, un coefficient de projection d'une fonction de base est estimé par application de l'équation 9 décrite en regard de la figure 2. Ces coefficients de projection sont également représentatifs de la réduction de l'intensité lumineuse en des points du milieu 10. De manière avantageuse, les coefficients de projection sont estimés pour la totalité des points formant le milieu 10. Pour ce faire, les valeurs représentatives de la réduction de l'intensité lumineuse sont estimées pour un ensemble de rayons lumineux issus de la source lumineuse, traversant le milieu 10 et compris entre les rayons lumineux 31 et 32 délimitant le milieu 10. Chaque segment lumineux traversant le milieu 10 est discrétisé pour en déduire les valeurs de réduction d'intensité lumineuse, par exemple par échantillonnage de rayon, puis les coefficients de projection en sont déduits par application de l'équation 9. Puis, au cours d'une étape 52, la quantité de lumière diffusée par le milieu 10 selon une direction d'émission 120 est estimée en utilisant les coefficients de projection estimés précédemment. Pour ce faire, le segment de droite correspondant à l'intersection de la direction d'émission 120 avec le milieu 120, c'est-à-dire le segment [PMmax] est discrétisé spatialement en une multitude de points ou de morceaux élémentaires représentatifs de ce segment. Pour chaque point de ce segment (respectivement chaque morceau élémentaire), on applique l'équation 12 en utilisant le coefficient de projection estimé précédemment. Selon une variante, la méthode d'échantillonnage de rayon est mise en oeuvre pour estimer la réduction de l'intensité lumineuse entre un point du segment considéré et le point P 15 situé à la périphérie du milieu 10 dans la direction d'émission 120.
L'utilisation de coefficients de projection représentatifs de la réduction de l'intensité lumineuse selon un rayon lumineux incident permet de simplifier les calculs à mettre en oeuvre tout en fournissant une estimation réaliste de la réduction de l'intensité lumineuse dans un milieu hétérogène. Aucun pré-calcul n'est alors nécessaire pour effectuer le rendu de la diffusion de la lumière dans un milieu participant hétérogène, autorisant le rendu temps réel de tels milieux dans des applications interactives de type jeu vidéo par exemple dans lequel l'utilisateur est amené à se déplacer virtuellement dans un espace comprenant un ou plusieurs milieux participants hétérogènes. De manière avantageuse, la quantité de lumière diffusée par le milieu 10 est estimée pour plusieurs directions d'émission. En faisant la somme de ces quantités de lumières estimées pour une pluralité de direction d'émission, on obtient la quantité de lumière totale diffusée par le milieu 10 et perçue par un spectateur observant le milieu 10. Les étapes 51 et 52 sont avantageusement réitérées au fur et à mesure qu'un spectateur 12 se déplace autour du milieu 10, l'image formant le rendu du milieu 10 étant recomposée pour chaque déplacement élémentaire du spectateur 12 autour du milieu 10.
La figure 6 illustre un procédé d'estimation de diffusion de la lumière dans un milieu participant hétérogène mis en oeuvre dans un dispositif 4, selon un deuxième exemple de mise en oeuvre non limitatif particulièrement avantageux de l'invention. Au cours d'une étape d'initialisation 60, les différents paramètres du dispositif 4 sont mis à jour. En particulier, les paramètres représentatifs du milieu participant hétérogène 10 sont initialisés d'une manière quelconque. Ensuite, au cours d'une étape 61, des coefficients de projection sont estimés de la même manière que celle décrite en regard de l'étape 51 de la figure 5. L'étape 61 n'est donc pas détaillée à nouveau ici. Puis au cours d'une étape 62, les coefficients de projection précédemment estimés sont enregistrés et stockés dans une texture de projection 30. Ainsi, un espace de stockage de la texture de projection est alloué pour le stockage des coefficients de projection estimés pour chaque rayon lumineux incident issu de la source lumineuse 11. Il ya autant d'espaces de stockages dans la texture de projection 30 qu'il y a de rayons lumineux issus de la source 11 et traversant le milieu 10. La texture de projection comprend de manière avantageuse l'ensemble des coefficients de projection du milieu 10, c'est-à-dire un coefficient de projection pour chaque point du milieu 10. Une tel stockage des coefficients de projection offre l'avantage d'accélérer les calculs d'estimation de la quantité de lumière diffusée par le milieu 10 et perçue par un spectateur, les coefficients de projection représentatifs de la réduction de l'intensité lumineuse incidente étant disponible à tout moment et de manière immédiate pour une utilisation dans les équations 12 et 13.
Enfin, au cours d'une étape 63, la quantité de lumière diffusée est estimée de la même manière que celle décrite en regard de l'étape 52 de la figure 5.
Bien entendu, l'invention ne se limite pas aux modes de réalisation 10 décrits précédemment. En particulier, l'invention n'est pas limitée à un procédé d'estimation de la quantité de lumière diffusée par un milieu participant hétérogène mais s'étend également à tout dispositif mettant en oeuvre ce procédé et notamment tous les dispositifs comprenant au moins un GPU. La 15 mise en oeuvre des équations décrites en regards des figures 1 à 3 pour l'estimation des coefficients de projection, des réduction d'intensité lumineuse dans les directions d'incidence et d'émission, de la quantité de lumière diffusée n'est pas non plus limitée à une mise en oeuvre dans des microprogrammes de type shader mais s'étend également à une mise en 20 oeuvre dans tout type de programme, par exemple des programmes exécutables par un microprocesseur de type CPU. De manière avantageuse, les fonctions de base utilisées pour l'estimation des coefficients de projections sont des fonctions de Fourier classiques. Selon une variante, les fonctions de base utilisées sont les 25 polynômes de Legendre ou encore les polynômes de Tchebychev. A titre d'exemple, le procédé de diffusion mis en oeuvre dans un dispositif comprenant un microprocesseur Xeon cadencé à 3.6GHz et une carte graphique nVidia geforce GTX280 permet de composer le rendu de 20 images par seconde en temps réel pour un milieu participant hétérogène de 30 type nuage composé de 4096 sphères. L'utilisation de l'invention n'est cependant pas limitée à une utilisation temps réel mais s'étend également à toute autre utilisation, par exemple pour les traitements dits de postproduction en studio d'enregistrement pour le rendu d'images de synthèse par exemple. La mise en oeuvre de l'invention en postproduction 35 offre l'avantage de fournir un excellent rendu visuel en termes de réalisme notamment tout en diminuant les temps de calcul nécessaires.
L'invention concerne également un procédé de composition d'une image vidéo, en deux dimensions ou en trois dimensions, pour lequel la quantité de lumière diffusée par un milieu participant hétérogène est calculée et l'information représentative de la luminance qui en découle est utilisée pour l'affichage des pixels de l'image, chaque pixel correspondant à une direction d'observation selon une direction d'observation wout. La valeur de luminance calculée pour affichage par chacun des pixels de l'image est recalculée pour s'adapter aux différents points de vue du spectateur. La présente invention peut être utilisée dans des applications de jeux vidéo par exemple, que ce soit par des programmes exécutables dans un ordinateur de type PC ou portable ou dans des consoles de jeux spécialisées produisant et affichant des images en temps réel. Le dispositif 5 décrit en regard de la figure 5 est avantageusement doté de moyens d'interactions tels que clavier et/ou manette de jeux, d'autres modes d'introduction de commandes telle que par exemple la reconnaissance vocale étant également possibles.
Claims (7)
- REVENDICATIONS1. Procédé d'estimation de la quantité de lumière diffusée par un milieu participant hétérogène (10), caractérisé en ce que le procédé comprend les étapes de : - estimation (51, 62) de coefficients de projection dans une base de fonction à partir de valeurs de réduction d'intensité lumineuse estimées pour un ensemble de points dudit milieu situés le long d'au moins une direction d'émission (110) de lumière par une source lumineuse (11), et - estimation (53, 64) de la quantité de lumière diffusée par ledit milieu (10), selon au moins une direction de diffusion (120) de la lumière, à partir desdits coefficients de projection estimés.
- 2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend une étape d'estimation (61), pour chaque point dudit milieu (10), d'une valeur représentative de la réduction d'intensité lumineuse en un point donné dudit milieu.
- 3. Procédé selon l'une des revendications 1 à 2, caractérisé en ce que ladite estimation des valeurs représentatives de la réduction d'intensité lumineuse est réalisée par discrétisation dudit milieu. 25
- 4. Procédé selon l'une des revendications 1 à 3, caractérisée en ce que ladite estimation des valeurs représentatives de la réduction d'intensité lumineuse est réalisée en utilisant la méthode d'échantillonnage de rayon.
- 5. Procédé selon l'une des revendications 1 à 4, caractérisé en ce que 30 ladite estimation de la quantité de lumière diffusée par ledit milieu est réalisée par discrétisation dudit milieu le long de la au moins une direction de diffusion.
- 6. Procédé selon l'une des revendications 1 à 5, caractérisé en ce que 35 ladite estimation de la quantité de lumière diffusée par ledit milieu est réalisée en utilisant la méthode d'échantillonnage de rayon.20
- 7. Procédé selon l'une des revendications 1 à 6, caractérisé en ce que lesdits coefficients de projection sont stockés dans une texture de projection (30).5
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0958058A FR2948799A1 (fr) | 2009-11-16 | 2009-11-16 | Procede d'estimation de diffusion de la lumiere |
US13/508,746 US20120232830A1 (en) | 2009-11-16 | 2010-11-09 | Method for estimating light scattering |
PCT/EP2010/067076 WO2011057997A2 (fr) | 2009-11-16 | 2010-11-09 | Procede d'estimation de diffusion de la lumiere |
EP10773358A EP2502206A2 (fr) | 2009-11-16 | 2010-11-09 | Procede d'estimation de diffusion de la lumiere |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0958058A FR2948799A1 (fr) | 2009-11-16 | 2009-11-16 | Procede d'estimation de diffusion de la lumiere |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2948799A1 true FR2948799A1 (fr) | 2011-02-04 |
Family
ID=42269428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0958058A Pending FR2948799A1 (fr) | 2009-11-16 | 2009-11-16 | Procede d'estimation de diffusion de la lumiere |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2948799A1 (fr) |
-
2009
- 2009-11-16 FR FR0958058A patent/FR2948799A1/fr active Pending
Non-Patent Citations (5)
Title |
---|
ANONYMOUS: "Discrete cosine transform", 2 September 2009 (2009-09-02), pages 1 - 9, XP002596944, Retrieved from the Internet <URL:http://en.wikipedia.org/w/index.php?title=Discrete_cosine_transform&oldid=311440997> [retrieved on 20100812] * |
EVA CEREZO ET AL: "A survey on participating media rendering techniques", THE VISUAL COMPUTER ; INTERNATIONAL JOURNAL OF COMPUTER GRAPHICS, SPRINGER, BERLIN, DE LNKD- DOI:10.1007/S00371-005-0287-1, vol. 21, no. 5, 1 June 2005 (2005-06-01), pages 303 - 328, XP019339111, ISSN: 1432-8726 * |
GAUTORN, P ET AL: "Volumetric Shadow Mapping", 3 August 2009 (2009-08-03), pages 1 - 1, XP002596945, Retrieved from the Internet <URL:http://gautron.pascal.free.fr/publications/SIGGRAPH2009Sketch/volumetricShadowMapping.pdf> [retrieved on 20100813] * |
NIELSEN, M. B;: "Course Notes for Simulating Fluids in CG Ray Marching", 7 April 2009 (2009-04-07), pages 1 - 4, XP002596943, Retrieved from the Internet <URL:http://www.daimi.au.dk/~bang/fluids2009/raymarching.pdf> [retrieved on 20100811] * |
TOKUYOSHI Y ET AL: "A fast rendering method for a scene with participating media of anisotropic scattering property", COMPUTER GRAPHICS INTERNATIONAL 2005 STONY BROOK, NY, USA JUNE 22-24, 2005, PISCATAWAY, NJ, USA,IEEE LNKD- DOI:10.1109/CGI.2005.1500423, 22 June 2005 (2005-06-22), pages 227 - 233, XP010830152, ISBN: 978-0-7803-9330-1 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1982310B1 (fr) | Procede de synthese d'une image virtuelle par lancer de faisceaux | |
US9953457B2 (en) | System, method, and computer program product for performing path space filtering | |
FR2965652A1 (fr) | Procede d’estimation de la quantite de lumiere recue en un point d’un environnement virtuel | |
FR2988891A1 (fr) | Procede d'estimation de niveau d'opacite dans une scene et dispositif correspondant | |
EP1292921A1 (fr) | Raffinement d'un maillage triangulaire en trois dimensions | |
EP2504816B1 (fr) | Procede d'estimation de diffusion de la lumiere | |
Simon et al. | Rich‐VPLs for improving the versatility of many‐light methods | |
Delalandre et al. | Transmittance function mapping | |
Bauszat et al. | Sample‐based manifold filtering for interactive global illumination and depth of field | |
WO2011057997A2 (fr) | Procede d'estimation de diffusion de la lumiere | |
FR2964775A1 (fr) | Procede d'estimation de l'occultation dans un environnement virtuel | |
FR2988502A1 (fr) | Procede pour representer un milieu participant dans une scene et dispositif correspondant | |
WO2012000847A2 (fr) | Procede d'estimation de diffusion de la lumiere | |
EP2502207A2 (fr) | Procede d'estimation de diffusion de la lumiere | |
Elek et al. | Spectral ray differentials | |
Pan et al. | Transient instant radiosity for efficient time-resolved global illumination | |
FR2974217A1 (fr) | Procede d’estimation d’une information representative d’une hauteur | |
Habel et al. | Physically based real-time translucency for leaves | |
FR2964776A1 (fr) | Procede d’estimation de diffusion de la lumiere dans un milieu homogene | |
FR2948799A1 (fr) | Procede d'estimation de diffusion de la lumiere | |
Bouchard et al. | Improving robustness of Monte-Carlo global illumination with directional regularization | |
Elek et al. | Real-time screen-space scattering in homogeneous environments | |
WO2010094619A1 (fr) | Procede d'estimation de diffusion de la lumiere | |
Kougianos et al. | Large-scale ray traced water caustics in real-time using cascaded caustic maps | |
WO2018068870A1 (fr) | Procédé de modélisation d'au moins une source de lumière |