EP2502206A2 - Method for estimating light scattering - Google Patents

Method for estimating light scattering

Info

Publication number
EP2502206A2
EP2502206A2 EP10773358A EP10773358A EP2502206A2 EP 2502206 A2 EP2502206 A2 EP 2502206A2 EP 10773358 A EP10773358 A EP 10773358A EP 10773358 A EP10773358 A EP 10773358A EP 2502206 A2 EP2502206 A2 EP 2502206A2
Authority
EP
European Patent Office
Prior art keywords
medium
light
point
estimating
projection
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.)
Withdrawn
Application number
EP10773358A
Other languages
German (de)
French (fr)
Inventor
Cyril Delalandre
Pascal Gautron
Jean-Eudes Marvie
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from FR0958058A external-priority patent/FR2948799A1/en
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of EP2502206A2 publication Critical patent/EP2502206A2/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/506Illumination models

Definitions

  • the invention relates to the field of synthetic image composition and more particularly to the field of simulating the scattering of light in a heterogeneous participating medium.
  • the invention is also in the context of special effects for a composition in real time (of the English "live").
  • the participating media correspond to media composed of suspended particles that interact with the light to modify the path and the intensity in particular.
  • the participating media can be broken down into two parts, namely homogeneous media such as water and heterogeneous media, such as smoke or clouds.
  • homogeneous participating media it is possible to calculate in an analytical way the attenuation of the light emitted by a light source. Indeed, because of their homogeneous nature, these media have parameters such as the absorption coefficient of light or the scattering coefficient of light of constant value at any point in the medium.
  • the absorption and scattering properties of light vary from one point to another in a heterogeneous participating medium. The calculations necessary to simulate the scattering of light in such a heterogeneous medium are then very expensive and it is thus not possible to calculate analytically and in real time the amount of light scattered by a heterogeneous participating medium.
  • the quantity of light diffused by the medium also varies as a function of the direction of diffusion of the light. that is, the direction in which a person looks at this environment. Calculations estimating the amount of light scattered must then be repeated for each direction of observation of the medium by a person to obtain a realistic rendering of the medium.
  • some methods perform the pre-calculation of certain parameters representative of the heterogeneous participating medium. While these methods are ideally suited for use in a post-production studio, for example, and provide good quality rendering, these methods are not suitable in the context of interactive design and real-time rendering of a participating environment. heterogeneous.
  • WO2009 / 003143 Such a method is for example described in the patent application WO2009 / 003143 filed by Microsoft Corporation and published on December 31, 2008.
  • the object of the invention WO2009 / 003143 object is a real-time software rendering a heterogeneous medium and describes a solution using radial basic functions.
  • this solution can not be considered as a real-time rendering solution since certain pre-treatments must be applied offline (from the "offline") to the participating medium in order to calculate projection coefficients representing the environment that will be used for real time calculations of image synthesis.
  • the invention aims to overcome at least one of these disadvantages of the prior art.
  • the invention particularly aims to optimize the computation time required to compose a realistic real-time rendering of the light scattering in a heterogeneous participating medium.
  • the invention relates to a method for estimating the amount of light diffused by a heterogeneous participating medium, the method comprising the steps of:
  • estimating projection coefficients in a function base from estimated light intensity reduction values for a set of middle points along at least one direction of light emission by a light source, and estimating the quantity of light diffused by the medium, according to at least one direction of diffusion of the light, from the estimated projection coefficients.
  • the estimation of the projection coefficients is independent of the wavelength of the light emitted by the light source.
  • the projection coefficients are estimated by taking into account a predetermined scale factor ⁇ .
  • the method comprises a step of estimating, for each point of the medium, a value representative of the reduction of luminous intensity at a given point of the medium.
  • the estimation of the values representative of the reduction of luminous intensity is carried out by discretization of the medium.
  • the estimation of the values representative of the reduction of luminous intensity is carried out using the method of sampling of radius.
  • the estimate of the amount of light diffused by the medium is achieved by discretizing the medium along the at least one direction of diffusion.
  • the estimation of the quantity of light diffused by the medium is carried out using the method of sampling of radius.
  • the projection coefficients are stored in a projection texture.
  • FIG. 1 schematically illustrates a heterogeneous, light-scattering participating medium, according to a particular embodiment of the invention
  • FIG. 2 schematically illustrates a method for estimating the attenuation of light in a medium of FIG. 1, according to a particular embodiment of the invention
  • FIG. 3 schematically illustrates a method for estimating the quantity of light diffused by a medium of FIG. 1, according to one particular embodiment of the invention
  • FIG. 4 illustrates a device implementing a method for estimating the quantity of scattered light, according to an example of a particular implementation of the invention
  • FIGS. 5 and 6 illustrate a method of estimating the amount of scattered light, according to two particular embodiments of the invention.
  • FIG. 1 illustrates a heterogeneous participating media (heterogeneous participant media), for example a cloud.
  • a participating medium is a medium, composed of a multitude of particles in suspension, which absorbs, emits and / or diffuses light.
  • a participating medium absorbs only light, for example light received from a light source 11 such as the sun for example. This means that light passing through the medium 10 is attenuated, the attenuation depending on the density of the medium.
  • the medium being heterogeneous, that is to say that the physical characteristics of the medium, such as the density of the particles composing it for example, vary from one point to another in the medium.
  • the participating medium is composed of small particles that interact with the light
  • the incident light that is, received from the light source 11 in a direction ⁇ in 110
  • the light is diffused uniformly in all directions.
  • an anisotropic scattering participating medium such as the cloud 10 illustrated in FIG. 1, the scattering of the light depends on the angle between the incidence direction ⁇ in 1 10 and the diffusion direction ⁇ out 120 of the light.
  • the amount of light scattered at a point M 13 of the medium 10 in the diffusion direction ⁇ out 120 is calculated by the following equation:
  • the amount of light scattered by a point M 13 of the medium reaching the eye of a viewer 12 located at a point C of the space in the direction u) 0lrt 120 that is to say the amount of light scattered by the point M and attenuated by the medium 10 on the path MP, the point P being situated at the intersection of the middle 10 and the direction ⁇ ⁇ ⁇ in the direction of the spectator 12, is then:
  • D (M) is the density of the medium at a given point, the density varying from one point to another since the medium is heterogeneous
  • the incidence direction ⁇ ⁇ 1 10 represents the amount of incident light arriving at the point M after attenuation due to the path of the light in the medium 10 on the segment KM, K being the point of intersection between the medium 10 and the radius of incidence ⁇ in 1 10, and is:
  • represents the scattered luminance attenuation due to absorption and scattering along the path from P15 to M
  • Equation 2 makes it possible to calculate the quantity of light diffused by a point M and reaching the eye of a spectator 12 situated on the direction ⁇ out. To calculate the amount of light received by a viewer looking in the ⁇ out direction . it is then necessary to sum all the contributions of all the points of the middle located on the axis ⁇ out. that is, the points on the PM maX segment ! P and M max being the two points of intersection between the medium 10 and the direction ⁇ out 120. This total scattered luminance arriving at P 15 from the direction ⁇ out 120 due to the simple diffusion is then:
  • This total scattered luminance is obtained by integrating the contributions of all the points situated between P and M max on a radius having ⁇ out as direction.
  • Such an integral equation can not be solved analytically in the general case and even less so for real-time estimation of the amount of scattered light.
  • the integral is evaluated numerically using the so-called ray sampling or ray-marching method. In this method, the integration domain is discretized into a multitude of size intervals ⁇ M and we obtain the following equation:
  • the heterogeneous participating medium 10 is a three-dimensional element, shown in two dimensions in FIG. 1 for the sake of clarity.
  • FIG. 2 illustrates a method for estimating the attenuation of light from a light source 11 in the heterogeneous participating medium 10, and more particularly the application of the radius sampling method to estimate the attenuation light in the medium 10, according to a particular embodiment of the invention.
  • the light diffused at a point M 13 by the medium 10 is a composition of the light attenuation received by the medium 10 of a light source 11 and the diffusion of this light. amount of attenuated light received by the medium 10.
  • the term of the equation 1 representative of the attenuation of the light received from the light source 11 in the medium 10 is estimated .
  • AÎÎLÎM is the attenuation of the luminous intensity at the point M 13 and represents the amount of incident light arriving at the point M after attenuation
  • a t is the extinction coefficient of the medium, corresponding to the sum of the medium diffusion coefficient ⁇ ⁇ and the absorption coefficient of the medium
  • the medium 10 being heterogeneous, its light attenuation varies according to the point M considered.
  • Such an integral type equation can not be solved analytically, the number of operations to be performed being too large, especially for a real-time resolution.
  • the integration domain situated on the direction of incidence 1 10 considered between the entry point K 14 of the light ray 1 10 in the medium 10 and a considered point of the middle 10 is discretized in a series of intervals 201, 202, 20i, 201 + 1, 20n of size S 5.
  • the density also varies from one point to another, the density being equal to Di in K and D, as a function of the position of the point M, on the radius of incidence ⁇ in 1 10. the following equation:
  • equation 7 can thus be represented equivalently by:
  • the extinction coefficient of the medium ⁇ t being dependent on the wavelength of the light emitted by the light source, it turns out necessary to calculate a set of basic function coefficients for each elementary component of the light, for example the components R, G and B (of the English “Red, Green, Biue” or in French “Red, green, blue” ), each component R, G and B having a particular wavelength or the components R, G, B and Y (of the English “Red, Green, Blue, Yellow” or in French “Red, green, blue , yellow ").
  • the estimation of the basic function coefficients is performed independently of the wavelength of the light emitted by the light source. To do this, the term has been removed from equation 7 which becomes:
  • Equation 9 then becomes:
  • equation 9 being independent of the wavelength of the light emitted by the light source.
  • the set of basic function coefficients thus calculated is stored in a projection texture (of the English "projective texture map” or “projective texturing"), such a projection texture can be compared to a shadow map ( of the English "shadow map”).
  • the coefficients calculated are representative of the attenuation function of the light along the emission direction associated with each element (called texel) of the projection texture.
  • a graphical representation of the attenuation of light in a given direction 110 is made possible by using these basic function coefficients, as shown in FIG. 2.
  • a scaling factor ⁇ is introduced into equation 7 or in equation T.
  • This scale factor ⁇ advantageously makes it possible to reduce the influence of density in equations 7 or T and makes it possible in particular to reduce, or even eliminate, ringing artefacts, or Gibbs effects, due to the transformation of the reduced intensity of light in the functional space, for example in the Fourier space. Equations 7 and 7 ' then become according to this variant:
  • the scale factor ⁇ is advantageously parameterizable and determined by the user and is for example equal to twice the maximum density of the medium, or more than twice the maximum density, for example three or four times the maximum of density.
  • the operations described above are repeated for each illumination direction (or direction of incidence or light ray) starting from the light source 11 and passing through the medium 10.
  • the function coefficients The basis of the attenuation of light as the medium passes through is stored in the projection texture.
  • the projection texture then comprises all the projection coefficients representative of the attenuation of light in the medium. It is thus possible to represent an attenuation curve, such as the curve 20, for each direction of incidence of the light coming from the light source 1 1.
  • the equation 9 can be solved in a reduced number iterations (for example 10, 50 or 100 iterations) and it is thus possible to calculate the reduced intensity in real time for a multitude of points of a medium 10.
  • FIG. 3 illustrates a method for estimating the simple scattering of light in the heterogeneous participating medium 10, more particularly the application of the radius sampling method for estimating this simple diffusion in the medium 10, and more generally a method estimation of light scattering by the medium 10 using the basic function coefficients calculated above, according to a particular embodiment of the invention.
  • the ray sampling method is implemented according to a non-limiting embodiment of the invention.
  • the attenuation factor of the light of a point M 13 of the medium 10 corresponding to the attenuation of the light on the path going from M 13 to P 15, is estimated by the following equation:
  • the density D (s) of an element s (that is to say, the point M > considered, the position of the point M, ranging from P to M) of the line segment [PM] varying since the medium 10 is heterogeneous.
  • equation 10 Since the medium is heterogeneous, equation 10 is very expensive in computing power and can not be calculated analytically. To overcome this problem, a sampling of the radius PM in the direction ⁇ out is performed and after discretization of the segment PM is obtained in a multitude of elements.
  • Equation 12 represents the amount of light emitted by a point M and received by a spectator. To get the total amount of light received by a spectator located at a point C looking in the direction u) out 120, it is sufficient to sum the elementary light quantities emitted by the set of points M, ranging from P to M max . We obtain for this:
  • the estimates described above are repeated for all directions starting from the user and passing through the medium 10.
  • the sum of the amounts of light received by the viewer in each observation direction provides the amount of light received from the medium 10 by the viewer 12.
  • equation 12 becomes:
  • FIG. 4 schematically illustrates an example of a hardware embodiment of a device 4 adapted to the estimation of the quantity of light diffused by a heterogeneous participating medium 10.
  • the device 4 corresponding, for example, to a personal computer PC, to a laptop ( from the English "laptop") or a game console.
  • the device 4 comprises the following elements, interconnected by an address and data bus 45 which also carries a clock signal:
  • microprocessor 41 or CPU
  • a graphics card 42 comprising:
  • a random access memory of type G RAM (of the English “Graphical Random Access Memory”) 421;
  • a random access memory Random Access Memory 47
  • I / O devices English “Input / Output" 44, such as for example a keyboard, a mouse, a webcam
  • the device 4 also comprises a display screen type display device 43 connected directly to the graphics card 42 to display in particular the rendering of computed and compounded synthesis images in the graphics card, for example in real time.
  • the use of a dedicated bus for connecting the display device 43 to the graphics card 42 has the advantage of having much higher data transmission rates and thus of reducing the latency for the display of data. 'images composed by the graphics card.
  • the display device is external to the device 4.
  • the device 4, for example the graphics card comprises a connector adapted to transmit a display signal to an external display means such as for example an LCD screen or plasma, a video projector.
  • the word "register" used in the description of the memories 42, 46 and 47 designates in each of the memories mentioned, as well a memory area of low capacity (a few binary data) that a memory area of large capacity (allowing storing an entire program or all or part of the representative data data calculated or display).
  • the microprocessor 41 loads and executes the instructions of the program contained in the RAM 47.
  • the random access memory 47 comprises in particular:
  • parameters 471 representative of the heterogeneous participating medium 10 for example density parameters, light absorption coefficients, light scattering coefficients, scale factor ⁇ ).
  • the algorithms implementing the steps of the method specific to the invention and described below are stored in the memory G RAM 47 of the graphics card 42 associated with the device 4 implementing these steps.
  • the graphic processors 420 of the graphics card 42 loads these parameters into G RAM 421 and executes the instructions of these algorithms in the form of firmware of the "shader" type using the HLSL (High Levei Shader Language) language or in French “Programming language” shader " high-level "), the GLSL (OpenGL Shading language) or English language (“ OpenGL shader language ”) for example.
  • HLSL High Levei Shader Language
  • GLSL OpenGL Shading language
  • English language OpenGL shader language
  • RAM RAM 421 comprises in particular:
  • values 4213 representative of the quantity of light diffused by the medium 10 along one or more observation directions.
  • a part of the RAM 47 is allocated by the CPU 41 to store the coefficients 4211 and values 4212 and 4213 if the available memory space in G RAM 421 is insufficient.
  • This variant results in longer latency times in the composition of an image comprising a representation of the medium 10 composed from the microprograms contained in the GPUs since the data must be transmitted from the graphics card to the random access memory 47 via the bus 45 whose transmission capacities are generally lower than those available in the graphics card for passing the data from GPUs to G RAM and vice versa.
  • the power supply 48 is external to the device
  • FIG. 5 illustrates a method for estimating the scattering of light in a heterogeneous participating medium implemented in a device 4, according to a first example of nonlimiting implementation that is particularly advantageous for the invention.
  • the various parameters of the device 4 are updated.
  • the representative parameters of the heterogeneous participating medium are initialized in some way.
  • projection coefficients of a basic function are estimated, these projection coefficients being representative of the reduction of the luminous intensity in the heterogeneous participating medium 10.
  • a value of representative of the reduction of the luminous intensity is calculated for a set of representative points of a line segment corresponding to the intersection of a light ray 1 10, coming from a light source 11, with the medium 10.
  • each point of the segment under consideration is calculated a value representative of the reduction of the luminous intensity, this value being minimal at the point of incidence K 14 of the radius 110 in the medium 10 and being larger and larger as and when as one sinks into the medium 10 to reach a maximum value at the point L which corresponds to the second point of intersection of the light ray 1 10 with the medium 10.
  • the estimate of the values rep of the light intensity reduction is carried out according to any method known to those skilled in the art, for example by discretization of the line segment corresponding to the intersection of the light beam with the medium 10. To do this, the segment is by example divided spatially into a multitude of elementary pieces of the same length or different lengths and the reduction in light intensity is calculated for a point of each elementary piece of the segment.
  • the values representative of the reduction of the luminous intensity of the other points of an elementary piece are then estimated by interpolation, for example from the values calculated for two points of two consecutive elementary pieces.
  • the method used to discretize the line segment and to estimate the reduction in luminous intensity is the so-called ray-marching algorithm (ray-marching algorithm) as described with reference to FIG. FIG. 2.
  • ray-marching algorithm ray-marching algorithm
  • a projection coefficient of a basic function is estimated by applying the equation 9 described in FIG. Figure 2.
  • the projection coefficients are estimated for all the points forming the medium 10.
  • the representative values of the reduction of the luminous intensity are estimated for a set of light rays coming from the source light, passing through the medium 10 and between the light rays 31 and 32 defining the medium 10.
  • Each light segment passing through the medium 10 is discretized to deduce the light intensity reduction values, for example by radius sampling, then the Projection coefficients are deduced by applying equation 9.
  • the amount of light scattered by the medium 10 in a transmission direction 120 is estimated using the projection coefficients estimated previously.
  • the line segment corresponding to the intersection of the transmission direction 120 with the medium 120 that is to say the segment [PM max ] is discretized spatially in a multitude of points or elementary pieces representative of this segment.
  • equation 12 is applied using the projection coefficient estimated previously.
  • the ray sampling method is implemented to estimate the reduction in light intensity between a point of the segment considered and the point P located at the periphery of the medium 10 in the emission direction 120.
  • the quantity of light diffused by the medium 10 is estimated for several directions of emission. By summing these quantities of lights estimated for a plurality of transmission directions, the total amount of light diffused by the medium 10 and perceived by a spectator observing the medium 10 is obtained.
  • FIG. 6 illustrates a method for estimating the scattering of light in a heterogeneous participating medium implemented in a device 4, according to a second particularly advantageous nonlimiting implementation example of the invention.
  • the various parameters of the device 4 are updated.
  • the representative parameters of the heterogeneous participating medium are initialized in some way.
  • Step 61 projection coefficients are estimated in the same manner as that described with respect to step 51 of the .
  • Step 61 is therefore not detailed again here.
  • the previously estimated projection coefficients are recorded and stored in a projection texture 30.
  • a storage space of the projection texture is allocated for storing the estimated projection coefficients for each ray. light incident from the light source 11.
  • the projection texture advantageously comprises the set of projection coefficients of the medium 10, that is to say a projection coefficient for each point of the middle 10.
  • Such a storage of the projection coefficients offers the advantage of accelerating the estimation calculations of the quantity of light diffused by the medium 10 and perceived by a spectator, the projection coefficients representative of the reduction of the incident light intensity being available at any time immediately for use in equations 12 and 13.
  • step 63 the quantity of scattered light is estimated in the same manner as that described with regard to step 52 of FIG. 5.
  • the invention is not limited to the embodiments previously described.
  • the invention is not limited to a method for estimating the amount of light diffused by a heterogeneous participating medium but also extends to any device implementing this method and in particular all the devices comprising at least one GPU.
  • the implementation of the equations described with reference to FIGS. 1 to 3 for the estimation of the projection coefficients, intensity reduction luminous in the directions of incidence and emission, the amount of light scattered is not limited to an implementation in firmware type shader but also extends to an implementation in any type of program, for example programs executable by a microprocessor of the CPU type.
  • the basic functions used for estimating the projection coefficients are conventional Fourier functions.
  • the basic functions used are Legendre polynomials or Chebyshev polynomials.
  • the broadcasting method implemented in a device comprising a 3.6GHz Xeon® microprocessor and a nVidia geforce GTX280 graphics card makes it possible to compose the 20 frames per second rendering in real time for a heterogeneous participating medium.
  • cloud type consisting of 4096 spheres.
  • the use of the invention is however not limited to real-time use but also extends to any other use, for example for so-called postproduction processing in the recording studio for the rendering of computer-generated images. example.
  • the implementation of the invention in postproduction offers the advantage of providing an excellent visual rendering in terms of realism in particular while reducing the calculation time required.
  • the invention also relates to a method for composing a two-dimensional or three-dimensional video image in which the amount of light scattered by a heterogeneous participating medium is calculated and the information representative of the luminance that results therefrom is used.
  • a method for composing a two-dimensional or three-dimensional video image in which the amount of light scattered by a heterogeneous participating medium is calculated and the information representative of the luminance that results therefrom is used.
  • the present invention can be used in video game applications for example, whether by programs executable in a PC or portable computer or in specialized gaming consoles producing and displaying images in real time.
  • the device 5 described with reference to FIG. 5 is advantageously provided with interaction means such as keyboard and / or joystick, other modes of introduction of commands such as, for example, voice recognition being also possible.

Abstract

The invention relates to a method for estimating the amount of light scattered by a heterogeneous participating medium (10). In order to improve the rendering while minimizing the necessary calculation times thereof, the method includes the steps of: estimating projection coefficients within a function base on the basis of light intensity reduction values estimated for a set (13) of points of said medium that are located along at least one direction (110) for emission of light by means of a light source (11), and estimating the amount thereof of light scattered by said medium (10) in at least one scattering direction (120) for said light on the basis of said estimated projection coefficients.

Description

PROCEDE D'ESTIMATION DE DIFFUSION DE LA LUMIERE  METHOD FOR ESTIMATING LIGHT DISTRIBUTION
1. Domaine de l'invention. 1. Field of the 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 »).  The invention relates to the field of synthetic image composition and more particularly to the field of simulating the scattering of light in a heterogeneous participating medium. The invention is also in the context of special effects for a composition in real time (of the English "live").
2. Etat de l'art. 2. State of the 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.  According to the state of the art, different methods exist to simulate the diffusion of light in participating environments such as for example fog, smoke, dust or clouds. The participating media correspond to media composed of suspended particles that interact with the light to modify the path and the intensity in particular.
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 an isotrope), 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 WO2009/003143 déposée par Microsoft Corporation et publiée le 31 décembre 2008. L'invention objet de la demande WO2009/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. The participating media can be broken down into two parts, namely homogeneous media such as water and heterogeneous media, such as smoke or clouds. In the case of homogeneous participating media, it is possible to calculate in an analytical way the attenuation of the light emitted by a light source. Indeed, because of their homogeneous nature, these media have parameters such as the absorption coefficient of light or the scattering coefficient of light of constant value at any point in the medium. On the contrary, the absorption and scattering properties of light vary from one point to another in a heterogeneous participating medium. The calculations necessary to simulate the scattering of light in such a heterogeneous medium are then very expensive and it is thus not possible to calculate analytically and in real time the amount of light scattered by a heterogeneous participating medium. Moreover, since the medium is not diffuse (that is to say, since the diffusion of the medium is isotropic), the quantity of light diffused by the medium also varies as a function of the direction of diffusion of the light. that is, the direction in which a person looks at this environment. Calculations estimating the amount of light scattered must then be repeated for each direction of observation of the medium by a person to obtain a realistic rendering of the medium. To perform the real-time rendering of heterogeneous participating media, some methods perform the pre-calculation of certain parameters representative of the heterogeneous participating medium. While these methods are ideally suited for use in a post-production studio, for example, and provide good quality rendering, these methods are not suitable in the context of interactive design and real-time rendering of a participating environment. heterogeneous. Such a method is for example described in the patent application WO2009 / 003143 filed by Microsoft Corporation and published on December 31, 2008. The object of the invention WO2009 / 003143 object is a real-time software rendering a heterogeneous medium and describes a solution using radial basic functions. However, this solution can not be considered as a real-time rendering solution since certain pre-treatments must be applied offline (from the "offline") to the participating medium in order to calculate projection coefficients representing the environment that will be used for real time calculations of image synthesis.
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.  With the emergence of games and interactive simulation applications, especially in three-dimensional (3D) applications, there is a need for real-time simulation methods that render realistic heterogeneous participant media.
3. Résumé de l'invention. 3. Summary of the invention.
L'invention a pour but de pallier au moins un de ces inconvénients de l'art antérieur.  The invention aims to overcome at least one of these disadvantages of the prior art.
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.  More particularly, the invention particularly aims to optimize the computation time required to compose a realistic real-time rendering of the light scattering in a heterogeneous participating medium.
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 :  The invention relates to a method for estimating the amount of light diffused by a heterogeneous participating medium, the method comprising the steps of:
- 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. estimating projection coefficients in a function base from estimated light intensity reduction values for a set of middle points along at least one direction of light emission by a light source, and estimating the quantity of light diffused by the medium, according to at least one direction of diffusion of the light, from the estimated projection coefficients.
De manière avantageuse, l'estimation des coefficients de projection est indépendante de la longueur d'onde de la lumière émise par la source lumineuse.  Advantageously, the estimation of the projection coefficients is independent of the wavelength of the light emitted by the light source.
Selon une caractéristique spécifique, les coefficients de projection sont estimés en prenant en compte un facteur d'échelle Δ prédéterminé.  According to a specific characteristic, the projection coefficients are estimated by taking into account a predetermined scale factor Δ.
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.  According to a particular characteristic, the method comprises a step of estimating, for each point of the medium, a value representative of the reduction of luminous intensity at a given point of the medium.
Avantageusement, l'estimation des valeurs représentatives de la réduction d'intensité lumineuse est réalisée par discrétisation du milieu.  Advantageously, the estimation of the values representative of the reduction of luminous intensity is carried out by discretization of the medium.
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.  According to a specific characteristic, the estimation of the values representative of the reduction of luminous intensity is carried out using the method of sampling of radius.
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.  Advantageously, the estimate of the amount of light diffused by the medium is achieved by discretizing the medium along the at least one direction of 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.  According to a particular characteristic, the estimation of the quantity of light diffused by the medium is carried out using the method of sampling of radius.
Selon une autre caractéristique, les coefficients de projection sont stockés dans une texture de projection.  According to another characteristic, the projection coefficients are stored in a projection texture.
4. Liste des figures. 4. List of 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 :  The invention will be better understood, and other features and advantages will appear on reading the description which follows, the description referring to the appended drawings among which:
- 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 ; FIG. 1 schematically illustrates a heterogeneous, light-scattering participating medium, according to a particular embodiment of the 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 ; FIG. 2 schematically illustrates a method for estimating the attenuation of light in a medium of FIG. 1, according to a particular embodiment of the invention; FIG. 3 schematically illustrates a method for estimating the quantity of light diffused by a medium of FIG. 1, according to one particular embodiment of the 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 œuvre particulier de l'invention ; FIG. 4 illustrates a device implementing a method for estimating the quantity of scattered light, according to an example of a particular implementation of the 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. ~ Figures 5 and 6 illustrate a method of estimating the amount of scattered light, according to two particular embodiments of the invention.
5. Description détaillée de modes de réalisation de l'invention. 5. Detailed description of embodiments of the invention.
La figure 1 illustre un milieu participant hétérogène 10 (de l'anglais « heterogeneous participating média »), 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 !e 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 ωin 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 ωin 1 10 et la direction de diffusion ω out 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 ω out 120 est calculée par l'équation suivante : La quantité de lumière diffusée par un point M 13 du milieu atteignant l'œil d'un spectateur 12 situé en un point C de l'espace dans la direction u)0lrt 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 ωουΐ dans la direction du spectateur 12, est alors : Figure 1 illustrates a heterogeneous participating media (heterogeneous participant media), for example a cloud. A participating medium is a medium, composed of a multitude of particles in suspension, which absorbs, emits and / or diffuses light. In its simplest form, a participating medium absorbs only light, for example light received from a light source 11 such as the sun for example. This means that light passing through the medium 10 is attenuated, the attenuation depending on the density of the medium. The medium being heterogeneous, that is to say that the physical characteristics of the medium, such as the density of the particles composing it for example, vary from one point to another in the medium. Since the participating medium is composed of small particles that interact with the light, the incident light, that is, received from the light source 11 in a direction ω in 110, is not only absorbed but is also diffused . In an isotropic scattering participating medium, the light is diffused uniformly in all directions. In an anisotropic scattering participating medium, such as the cloud 10 illustrated in FIG. 1, the scattering of the light depends on the angle between the incidence direction ω in 1 10 and the diffusion direction ω out 120 of the light. The amount of light scattered at a point M 13 of the medium 10 in the diffusion direction ω out 120 is calculated by the following equation: The amount of light scattered by a point M 13 of the medium reaching the eye of a viewer 12 located at a point C of the space in the direction u) 0lrt 120, that is to say the amount of light scattered by the point M and attenuated by the medium 10 on the path MP, the point P being situated at the intersection of the middle 10 and the direction ω ου ΐ in the direction of the spectator 12, is then:
pour laquelle : for which :
• os est le coefficient de diffusion du milieu, • where s is the diffusion coefficient of the medium,
· oa est le coefficient d'absorption du milieu, · Where a is the absorption coefficient of the medium,
coefficient d'extinction du milieu, extinction coefficient of the medium,
• 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, D (M) is the density of the medium at a given point, the density varying from one point to another since the medium is heterogeneous,
• est la fonction de phase décrivant comment la lumière • is the phase function describing how the light
provenant de la direction d'incidence ω,η est diffusée dans la direction de diffusion ω out au point M, from the incidence direction ω, η is scattered in the diffusion direction ω out at the point M,
• est l'intensité lumineuse réduite au point M provenant de • is the reduced luminous intensity at point M from
la direction d'incidence ωίη 1 10 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 ωin 1 10, et vaut :the incidence direction ω ίη 1 10 and represents the amount of incident light arriving at the point M after attenuation due to the path of the light in the medium 10 on the segment KM, K being the point of intersection between the medium 10 and the radius of incidence ωin 1 10, and is:
· représente l'atténuation de luminance diffusée due à l'absorption et à la diffusion le long du chemin allant de P 15 à M · represents the scattered luminance attenuation due to absorption and scattering along the path from P15 to M
13. 13.
L'équation 2 permet de calculer la quantité de lumière diffusée par un point M et atteignant l'œil d'un spectateur 12 situé sur la direction ω out. Pour calculer la quantité de lumière reçue par un spectateur regardant dans la direction ω out. il faut alors effectuer la somme de toutes les contributions de l'ensemble des points du milieu situés sur l'axe ω out. 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 ω out 120. Cette luminance diffusée totale arrivant en P 15 depuis la direction ω out 120 due à la diffusion simple est alors : Equation 2 makes it possible to calculate the quantity of light diffused by a point M and reaching the eye of a spectator 12 situated on the direction ω out. To calculate the amount of light received by a viewer looking in the ω out direction . it is then necessary to sum all the contributions of all the points of the middle located on the axis ω out. that is, the points on the PM maX segment ! P and M max being the two points of intersection between the medium 10 and the direction ω out 120. This total scattered luminance arriving at P 15 from the direction ω out 120 due to the simple diffusion is then:
Dans ce cas de figure, on suppose que la lumière parcourant le trajet C-P n'est pas atténuée. In this case, it is assumed that the light traveling along the path C-P is not attenuated.
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 ω out 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 δM et on obtient l'équation suivante : This total scattered luminance is obtained by integrating the contributions of all the points situated between P and M max on a radius having ω out as direction. Such an integral equation can not be solved analytically in the general case and even less so for real-time estimation of the amount of scattered light. The integral is evaluated numerically using the so-called ray sampling or ray-marching method. In this method, the integration domain is discretized into a multitude of size intervals δ M and we obtain the following equation:
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é.  Advantageously, the heterogeneous participating medium 10 is a three-dimensional element, shown in two dimensions in FIG. 1 for the sake of clarity.
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 1 1 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 1 1 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 : où AÎÎLÎ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, FIG. 2 illustrates a method for estimating the attenuation of light from a light source 11 in the heterogeneous participating medium 10, and more particularly the application of the radius sampling method to estimate the attenuation light in the medium 10, according to a particular embodiment of the invention. As has been described with regard to FIG. 1, the light diffused at a point M 13 by the medium 10 is a composition of the light attenuation received by the medium 10 of a light source 11 and the diffusion of this light. amount of attenuated light received by the medium 10. In a first step, with reference to FIG. 2, the term of the equation 1 representative of the attenuation of the light received from the light source 11 in the medium 10 is estimated . The representative term of the attenuation of the simple diffusion at a point M of the medium 10 is represented by the following equation, equivalent to the equation 3: where AÎÎLÎM) is the attenuation of the luminous intensity at the point M 13 and represents the amount of incident light arriving at the point M after attenuation,
D(s) est la densité du milieu,  D (s) is the density of the medium,
at est le coefficient d'extinction du milieu, correspondant à la somme du coefficient de diffusion du milieu σδ et du coefficient d'absorption du milieu a t is the extinction coefficient of the medium, corresponding to the sum of the medium diffusion coefficient σ δ and the absorption coefficient of the medium
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 1 10 considérée entre le point d'entrée K 14 du rayon lumineux 1 10 dans le milieu 10 et un point considéré du milieu 10 est discrétisé en une série d'intervalles 201 , 202, 20i, 201+1 , 20n de taille 5S. Par ailleurs, la densité varie également d'un point à un autre, la densité étant égale à Di en K et à D, en fonction de la position du point M, sur le rayon d'incidence ωin 1 10. On obtient alors l'équation suivante : The medium 10 being heterogeneous, its light attenuation varies according to the point M considered. Such an integral type equation can not be solved analytically, the number of operations to be performed being too large, especially for a real-time resolution. In order to estimate the attenuation of the light at the point M, the integration domain situated on the direction of incidence 1 10 considered between the entry point K 14 of the light ray 1 10 in the medium 10 and a considered point of the middle 10 is discretized in a series of intervals 201, 202, 20i, 201 + 1, 20n of size S 5. Moreover, the density also varies from one point to another, the density being equal to Di in K and D, as a function of the position of the point M, on the radius of incidence ω in 1 10. the following equation:
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 : Since each function of the functional space can be written as a linear combination of basic functions, a basic function being an element of a basis for a functional space, equation 7 can thus be represented equivalently by:
où q est le j'eme coefficient de la fonction de base Bj et où q est défini par la somme de i échantillons allant de 0 à N de AttL(Xi).Bj(Xi), c'est à dire : where q is the j 'th coefficient of the base function Bj and wherein q is defined by the sum of i samples from 0 to L N of Att (Xi) .bj (Xi), ie:
Xi correspondant à la position d'un point M, sur le segment K-L ou de manière équivalente à la distance KMi sur la droite 1 10. Xi corresponding to the position of a point M on the segment KL or equivalent to the distance KM i on the line 1 10.
Le coefficient d'extinction du milieu δt étant dépendant de la longueur d'onde de la lumière émise par la source lumineuse, il s'avère nécessaire de calculer un ensemble de coefficients de fonction de base pour chaque composante élémentaire de la lumière, par exemple les composantes R, G et B (de l'anglais « Red, Green, Biue » ou en français « Rouge, vert, bleu »), chaque composante R, G et B ayant une longueur d'onde particulière ou encore les composantes R, G, B et Y (de l'anglais « Red, Green, Blue, Yellow » ou en français « Rouge, vert, bleu, jaune »). Pour éviter ces nombreux calculs et ainsi accélérer les traitements nécessaires à l'estimation de ces coefficients et aussi pour minimiser l'espace mémoire nécessaire au stockage de ces coefficients de fonction de base, l'estimation des coefficients de fonction de base est réalisée indépendamment de la longueur d'onde de la lumière émise par la source lumineuse. Pour ce faire, le terme at est sorti de l'équation 7 qui devient : The extinction coefficient of the medium δt being dependent on the wavelength of the light emitted by the light source, it turns out necessary to calculate a set of basic function coefficients for each elementary component of the light, for example the components R, G and B (of the English "Red, Green, Biue" or in French "Red, green, blue" ), each component R, G and B having a particular wavelength or the components R, G, B and Y (of the English "Red, Green, Blue, Yellow" or in French "Red, green, blue , yellow "). To avoid these numerous calculations and thus accelerate the processing required for the estimation of these coefficients and also to minimize the storage space required for the storage of these basic function coefficients, the estimation of the basic function coefficients is performed independently of the wavelength of the light emitted by the light source. To do this, the term has been removed from equation 7 which becomes:
L'équation 9 devient alors : Equation 9 then becomes:
l'équation 9' étant indépendante de la longueur d'onde de la lumière émise par la source lumineuse.  equation 9 'being independent of the wavelength of the light emitted by the light source.
Le coefficient ot sorti de l'équation 9' est pris en compte lors de l'estimation de la quantité de lumière émise par le point M comme cela sera expliqué en regard de la figure 3, notamment dans l'équation 12. The coefficient o t exited from the equation 9 'is taken into account when estimating the quantity of light emitted by the point M as will be explained with regard to FIG. 3, in particular in equation 12.
L'ensemble de coefficients de fonction de base ainsi calculés est stocké dans une texture de projection (de l'anglais « projective texture map » ou « projective texturing »), 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 iumiè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.  The set of basic function coefficients thus calculated is stored in a projection texture (of the English "projective texture map" or "projective texturing"), such a projection texture can be compared to a shadow map ( of the English "shadow map"). The coefficients calculated are representative of the attenuation function of the light along the emission direction associated with each element (called texel) of the projection texture. A graphical representation of the attenuation of light in a given direction 110 is made possible by using these basic function coefficients, as shown in FIG. 2.
Selon une variante, un facteur d'échelle Δ est introduit dans l'équation 7 ou dans l'équation T. Ce facteur d'échelle Δ permet avantageusement de diminuer l'influence de la densité dans les équations 7 ou T et permet notamment de réduire, voire supprimer, les artéfacts d'oscillation (de l'anglais « ringing artifact »), ou effets de Gibbs, dus à la transformation de l'intensité réduite de la lumière dans l'espace fonctionnel, par exemple dans l'espace de Fourier. Les équations 7 et 7' deviennent alors selon cette variante : According to one variant, a scaling factor Δ is introduced into equation 7 or in equation T. This scale factor Δ advantageously makes it possible to reduce the influence of density in equations 7 or T and makes it possible in particular to reduce, or even eliminate, ringing artefacts, or Gibbs effects, due to the transformation of the reduced intensity of light in the functional space, for example in the Fourier space. Equations 7 and 7 ' then become according to this variant:
Le facteur d'échelle Δ est avantageusement paramétrable et déterminé par l'utilisateur et est par exemple égal à deux fois le maximum de densité du milieu, ou à plus de deux fois le maximum de densité, par exemple trois ou quatre fois le maximum de densité. The scale factor Δ is advantageously parameterizable and determined by the user and is for example equal to twice the maximum density of the medium, or more than twice the maximum density, for example three or four times the maximum of density.
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 1 1. 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.  Advantageously, the operations described above are repeated for each illumination direction (or direction of incidence or light ray) starting from the light source 11 and passing through the medium 10. For each light beam, the function coefficients The basis of the attenuation of light as the medium passes through is stored in the projection texture. The projection texture then comprises all the projection coefficients representative of the attenuation of light in the medium. It is thus possible to represent an attenuation curve, such as the curve 20, for each direction of incidence of the light coming from the light source 1 1. Furthermore, the equation 9 can be solved in a reduced number iterations (for example 10, 50 or 100 iterations) and it is thus possible to calculate the reduced intensity in real time for a multitude of points of a medium 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 œuvre 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 : FIG. 3 illustrates a method for estimating the simple scattering of light in the heterogeneous participating medium 10, more particularly the application of the radius sampling method for estimating this simple diffusion in the medium 10, and more generally a method estimation of light scattering by the medium 10 using the basic function coefficients calculated above, according to a particular embodiment of the invention. To calculate the simple scattering of light in the medium 10, the ray sampling method is implemented according to a non-limiting embodiment of the invention. In a first step, the attenuation factor of the light of a point M 13 of the medium 10 corresponding to the attenuation of the light on the path going from M 13 to P 15, is estimated by the following equation:
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. The density D (s) of an element s (that is to say, the point M > considered, the position of the point M, ranging from P to M) of the line segment [PM] varying since the medium 10 is heterogeneous.
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 ω out est réalisé et on obtient après discrétisation du segment P-M en une multitude d'élémentsSince the medium is heterogeneous, equation 10 is very expensive in computing power and can not be calculated analytically. To overcome this problem, a sampling of the radius PM in the direction ω out is performed and after discretization of the segment PM is obtained in a multitude of elements.
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 1 1 (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 ω,η 110 et selon ω out 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, 9' 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 ωουί. On obtient ainsi : From the projection coefficients representative of the attenuation of light on the incident path of light from a light source 11 (estimated via equation 8 described with reference to FIG. 2) and stored in a texture of projection 30 and from equation 11, it is possible to estimate the global attenuation of light at a point M such that it is received by a spectator 12 (that is to say composition of the luminous attenuation in the medium 10 according to ω, η 110 and ω out 120) analytically, the resources in terms of computational power required being much lower than those needed for an analytical resolution of the integral form equations. From equations 2, 8, 9 'and 11, it is then possible to estimate the amount of light emitted by a point M 13 of the middle and received by a spectator 12 looking in the direction ω ουί . We obtain as follows:
soitis
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 ω,π 1 10 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 un spectateur situé en un point C regardant dans la direction u)out 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 : where x represents the position of the point M considered on the segment [KL] or equivalently the distance from K to M along the direction ω, π 1 10 and N c represents the number of projection coefficients. Equation 12 represents the amount of light emitted by a point M and received by a spectator. To get the total amount of light received by a spectator located at a point C looking in the direction u) out 120, it is sufficient to sum the elementary light quantities emitted by the set of points M, ranging from P to M max . We obtain for this:
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 chaque direction d'observation fournit la quantité de lumière reçue du milieu 10 par le spectateur 12. To obtain the total amount of light scattered by the medium 10 and received by the viewer 12, the estimates described above are repeated for all directions starting from the user and passing through the medium 10. The sum of the amounts of light received by the viewer in each observation direction provides the amount of light received from the medium 10 by the viewer 12.
Selon la variante selon laquelle les coefficients Cj sont calculés indépendamment du coefficient d'extinction ot, l'équation 12 devient : According to the variant in which the coefficients Cj are calculated independently of the extinction coefficient,, equation 12 becomes:
Selon la variante selon laquelle un facteur d'échelle est introduit dans le calcul de l'atténuation de la lumière en M, l'équation 12 devient : 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. According to the variant according to which a scale factor is introduced into the calculation of the attenuation of the light in M, equation 12 becomes: FIG. 4 schematically illustrates an example of a hardware embodiment of a device 4 adapted to the estimation of the quantity of light diffused by a heterogeneous participating medium 10. The device 4 corresponding, for example, to a personal computer PC, to a laptop ( from the English "laptop") or a game console.
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 :  The device 4 comprises the following elements, interconnected by an address and data bus 45 which also carries a clock signal:
- un microprocesseur 41 (ou CPU) ;  a microprocessor 41 (or CPU);
- une carte graphique 42 comprenant :  a graphics card 42 comprising:
· plusieurs processeurs de traitement graphique 420 · Multiple GPUs 420
(ou GPUs) ; (or GPUs);
.· une mémoire vive de type G RAM (de l'anglais « Graphical Random Access Memory ») 421 ;  A random access memory of type G RAM (of the English "Graphical Random Access Memory") 421;
- une mémoire non volatile de type ROM (de l'anglais « Read Only Memory ») 46 ;  a non-volatile memory of ROM type (of the English "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 a random access memory (Random Access Memory) 47; one or more I / O devices (English "Input / Output") 44, such as for example a keyboard, a mouse, a webcam; and
- une alimentation 48.  - a power supply 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.  The device 4 also comprises a display screen type display device 43 connected directly to the graphics card 42 to display in particular the rendering of computed and compounded synthesis images in the graphics card, for example in real time. The use of a dedicated bus for connecting the display device 43 to the graphics card 42 has the advantage of having much higher data transmission rates and thus of reducing the latency for the display of data. 'images composed by the graphics card. According to one variant, the display device is external to the device 4. The device 4, for example the graphics card, comprises a connector adapted to transmit a display signal to an external display means such as for example an LCD screen or plasma, a video projector.
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).  It is observed that the word "register" used in the description of the memories 42, 46 and 47 designates in each of the memories mentioned, as well a memory area of low capacity (a few binary data) that a memory area of large capacity (allowing storing an entire program or all or part of the representative data data calculated or display).
A la mise sous tension, le microprocesseur 41 charge et exécute les instructions du programme contenu dans la RAM 47.  On power-up, the microprocessor 41 loads and executes the instructions of the program contained in the RAM 47.
La mémoire vive 47 comprend notamment :  The random access memory 47 comprises in particular:
- dans un registre 430, le programme de fonctionnement du microprocesseur 41 chargé à la mise sous tension du dispositif 4 ;  in a register 430, the operating program of the microprocessor 41 charged at powering up the device 4;
- 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, le facteur d'échelle Δ).  parameters 471 representative of the heterogeneous participating medium 10 (for example density parameters, light absorption coefficients, light scattering coefficients, scale factor Δ).
Les algorithmes mettant en œuvre les étapes du procédé propres à l'invention et décrits ci-après sont stockés dans la mémoire G RAM 47 de la carte graphique 42 associée au dispositif 4 mettant en œuvre 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 G RAM 421 et exécute les instructions de ces algorithmes sous la forme de microprogrammes du type « shader » utilisant le langage HLSL (de l'anglais « High Levei 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. The algorithms implementing the steps of the method specific to the invention and described below are stored in the memory G RAM 47 of the graphics card 42 associated with the device 4 implementing these steps. At power-up and once the parameters 470 representative of the medium loaded in RAM 47, the graphic processors 420 of the graphics card 42 loads these parameters into G RAM 421 and executes the instructions of these algorithms in the form of firmware of the "shader" type using the HLSL (High Levei Shader Language) language or in French "Programming language" shader " high-level "), the GLSL (OpenGL Shading language) or English language (" OpenGL shader language ") for example.
La mémoire vive G RAM 421 comprend notamment :  RAM RAM 421 comprises in particular:
- dans un registre 4210, les paramètres représentatifs du milieu 10 ;  in a register 4210, the representative parameters of the medium 10;
- des coefficients de projection 4211 représentatifs de l'intensité lumineuse réduite en chaque point du milieu 10 ;  projection coefficients 4211 representative of the reduced light intensity at each point of the medium 10;
- des valeurs de réduction d'intensité lumineuse 4212 pour chaque point du milieu 10 ;  light intensity reduction values 4212 for each point of the medium 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.  values 4213 representative of the quantity of light diffused by the medium 10 along one or more observation directions.
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 G RAM 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 G RAM et vice-versa.  According to a variant, a part of the RAM 47 is allocated by the CPU 41 to store the coefficients 4211 and values 4212 and 4213 if the available memory space in G RAM 421 is insufficient. This variant, however, results in longer latency times in the composition of an image comprising a representation of the medium 10 composed from the microprograms contained in the GPUs since the data must be transmitted from the graphics card to the random access memory 47 via the bus 45 whose transmission capacities are generally lower than those available in the graphics card for passing the data from GPUs to G RAM and vice versa.
Selon une autre variante, l'alimentation 48 est externe au dispositif According to another variant, the power supply 48 is external to the device
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 œuvre dans un dispositif 4, selon un premier exemple de mise en œuvre non limitatif particulièrement avantageux de l'invention. 4. FIG. 5 illustrates a method for estimating the scattering of light in a heterogeneous participating medium implemented in a device 4, according to a first example of nonlimiting implementation that is particularly advantageous for the 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 1 10, 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 1 10 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 1 10, 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. During an initialization step 50, the various parameters of the device 4 are updated. In particular, the representative parameters of the heterogeneous participating medium are initialized in some way. Then, during a step 51, projection coefficients of a basic function are estimated, these projection coefficients being representative of the reduction of the luminous intensity in the heterogeneous participating medium 10. To do this, a value of representative of the reduction of the luminous intensity is calculated for a set of representative points of a line segment corresponding to the intersection of a light ray 1 10, coming from a light source 11, with the medium 10. Thus for each point of the segment under consideration is calculated a value representative of the reduction of the luminous intensity, this value being minimal at the point of incidence K 14 of the radius 110 in the medium 10 and being larger and larger as and when as one sinks into the medium 10 to reach a maximum value at the point L which corresponds to the second point of intersection of the light ray 1 10 with the medium 10. The estimate of the values rep of the light intensity reduction is carried out according to any method known to those skilled in the art, for example by discretization of the line segment corresponding to the intersection of the light beam with the medium 10. To do this, the segment is by example divided spatially into a multitude of elementary pieces of the same length or different lengths and the reduction in light intensity is calculated for a point of each elementary piece of the segment. The values representative of the reduction of the luminous intensity of the other points of an elementary piece are then estimated by interpolation, for example from the values calculated for two points of two consecutive elementary pieces. Advantageously, the method used to discretize the line segment and to estimate the reduction in luminous intensity is the so-called ray-marching algorithm (ray-marching algorithm) as described with reference to FIG. FIG. 2. Then for each value representative of the reduction of the luminous intensity at a point of the medium 10 along the radius 1 10, a projection coefficient of a basic function is estimated by applying the equation 9 described in FIG. Figure 2. These projection coefficients are also representative of the reduction of the luminous intensity at points of the medium 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. Advantageously, the projection coefficients are estimated for all the points forming the medium 10. To do this, the representative values of the reduction of the luminous intensity are estimated for a set of light rays coming from the source light, passing through the medium 10 and between the light rays 31 and 32 defining the medium 10. Each light segment passing through the medium 10 is discretized to deduce the light intensity reduction values, for example by radius sampling, then the Projection coefficients are deduced by applying equation 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 œuvre 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 œuvre 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. Then, during a step 52, the amount of light scattered by the medium 10 in a transmission direction 120 is estimated using the projection coefficients estimated previously. To do this, the line segment corresponding to the intersection of the transmission direction 120 with the medium 120, that is to say the segment [PM max ] is discretized spatially in a multitude of points or elementary pieces representative of this segment. For each point of this segment (respectively each elementary chunk), equation 12 is applied using the projection coefficient estimated previously. According to one variant, the ray sampling method is implemented to estimate the reduction in light intensity between a point of the segment considered and the point P located at the periphery of the medium 10 in the emission direction 120. The use of projection coefficients representative of the reduction of the luminous intensity according to an incident light ray makes it possible to simplify the calculations to be implemented while providing a realistic estimate of the reduction of the luminous intensity in a heterogeneous medium. No precalculation is then necessary to render the scattering of light in a heterogeneous participating medium, allowing real-time rendering of such media in interactive applications of the video game type for example in which the user is led to virtually move in a space comprising one or more heterogeneous participating media.
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.  Advantageously, the quantity of light diffused by the medium 10 is estimated for several directions of emission. By summing these quantities of lights estimated for a plurality of transmission directions, the total amount of light diffused by the medium 10 and perceived by a spectator observing the medium 10 is obtained.
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 œuvre dans un dispositif 4, selon un deuxième exemple de mise en œuvre non limitatif particulièrement avantageux de l'invention. The steps 51 and 52 are advantageously reiterated as a spectator 12 moves around the medium 10, the image forming the rendering of the medium 10 being recomposed for each elementary movement of the spectator 12 around the medium 10. FIG. 6 illustrates a method for estimating the scattering of light in a heterogeneous participating medium implemented in a device 4, according to a second particularly advantageous nonlimiting implementation example of the 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.  During an initialization step 60, the various parameters of the device 4 are updated. In particular, the representative parameters of the heterogeneous participating medium are initialized in some way.
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. Then, during a step 61, projection coefficients are estimated in the same manner as that described with respect to step 51 of the . Figure 5. Step 61 is therefore not detailed again here.
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.  Then, during a step 62, the previously estimated projection coefficients are recorded and stored in a projection texture 30. Thus, a storage space of the projection texture is allocated for storing the estimated projection coefficients for each ray. light incident from the light source 11. There are as many storage spaces in the projection texture 30 as there are light rays from the source 11 and passing through the medium 10. The projection texture advantageously comprises the set of projection coefficients of the medium 10, that is to say a projection coefficient for each point of the middle 10. Such a storage of the projection coefficients offers the advantage of accelerating the estimation calculations of the quantity of light diffused by the medium 10 and perceived by a spectator, the projection coefficients representative of the reduction of the incident light intensity being available at any time immediately for use in equations 12 and 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 décrits précédemment.  Finally, during a step 63, the quantity of scattered light is estimated in the same manner as that described with regard to step 52 of FIG. 5. Of course, the invention is not limited to the embodiments previously described.
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 œuvre ce procédé et notamment tous les dispositifs comprenant au moins un GPU. La mise en œuvre 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 œuvre dans des microprogrammes de type shader mais s'étend également à une mise en œuvre dans tout type de programme, par exemple des programmes exécutables par un microprocesseur de type CPU. In particular, the invention is not limited to a method for estimating the amount of light diffused by a heterogeneous participating medium but also extends to any device implementing this method and in particular all the devices comprising at least one GPU. The implementation of the equations described with reference to FIGS. 1 to 3 for the estimation of the projection coefficients, intensity reduction luminous in the directions of incidence and emission, the amount of light scattered is not limited to an implementation in firmware type shader but also extends to an implementation in any type of program, for example programs executable by a microprocessor of the CPU type.
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 polynômes de Legendre ou encore les polynômes de Tchebychev.  Advantageously, the basic functions used for estimating the projection coefficients are conventional Fourier functions. According to one variant, the basic functions used are Legendre polynomials or Chebyshev polynomials.
A titre d'exemple, le procédé de diffusion mis en œuvre 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 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 œuvre de l'invention en postproduction offre l'avantage de fournir un excellent rendu visuel en termes de réalisme notamment tout en diminuant les temps de calcul nécessaires.  By way of example, the broadcasting method implemented in a device comprising a 3.6GHz Xeon® microprocessor and a nVidia geforce GTX280 graphics card makes it possible to compose the 20 frames per second rendering in real time for a heterogeneous participating medium. cloud type consisting of 4096 spheres. The use of the invention is however not limited to real-time use but also extends to any other use, for example for so-called postproduction processing in the recording studio for the rendering of computer-generated images. example. The implementation of the invention in postproduction offers the advantage of providing an excellent visual rendering in terms of realism in particular while reducing the calculation time required.
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 ω out - 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. The invention also relates to a method for composing a two-dimensional or three-dimensional video image in which the amount of light scattered by a heterogeneous participating medium is calculated and the information representative of the luminance that results therefrom is used. for displaying the pixels of the image, each pixel corresponding to an observation direction in a viewing direction ω out - The luminance value calculated for display by each pixel of the image is recalculated to fit to the different points of view of the viewer.
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.  The present invention can be used in video game applications for example, whether by programs executable in a PC or portable computer or in specialized gaming consoles producing and displaying images in real time. The device 5 described with reference to FIG. 5 is advantageously provided with interaction means such as keyboard and / or joystick, other modes of introduction of commands such as, for example, voice recognition being also possible.

Claims

REVENDICATIONS
1. 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 : A method for estimating the amount of light scattered by a heterogeneous participating medium (10), characterized in that the method comprises the steps of:
- estimation (51 , 62) de coefficients de projection dans un espace fonctionnel 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  - estimating (51, 62) projection coefficients in a functional space a function basis from estimated light intensity reduction values for a set of points of said medium along at least one direction of emission ( 110) by a light source (11), and
- 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.  estimating (53, 64) the quantity of light diffused by said medium (10), according to at least one diffusion direction (120) of the light, from said estimated projection coefficients.
2. Procédé selon la revendication 1 , caractérisé en ce que l'estimation desdits coefficients de projection est indépendante de la longueur d'onde de la lumière émise par la source lumineuse (11 ). 2. Method according to claim 1, characterized in that the estimation of said projection coefficients is independent of the wavelength of the light emitted by the light source (11).
3. Procédé selon l'une des revendications 1 à 2, caractérisé en ce que les coefficients de projection sont estimés en prenant en compte un facteur d'échelle Δ prédéterminé. 3. Method according to one of claims 1 to 2, characterized in that the projection coefficients are estimated by taking into account a predetermined scale factor Δ.
4. Procédé selon l'une des revendications 1 à 3, 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. 4. Method according to one of claims 1 to 3, characterized in that it comprises an estimation step (61), for each point of said medium (10), a value representative of the reduction of light intensity at a given point of said medium.
5. Procédé selon l'une des revendications 1 à 4, 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. 5. Method according to one of claims 1 to 4, characterized in that said estimate of the values representative of the reduction of light intensity is achieved by discretization of said medium.
6. Procédé selon l'une des revendications 1 à 5, 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. 6. Method according to one of claims 1 to 5, characterized in that said estimate of the values representative of the reduction of light intensity is performed using the method of sampling radius.
7. Procédé selon l'une des revendications 1 à 6, caractérisé en ce que 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. 7. Method according to one of claims 1 to 6, characterized in that said estimate of the amount of light diffused by said medium is achieved by discretizing said medium along the at least one direction of diffusion.
8. Procédé selon l'une des revendications 1 à 7, caractérisé en ce que 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. 8. Method according to one of claims 1 to 7, characterized in that said estimate of the amount of light scattered by said medium is performed using the method of sampling radius.
9. Procédé selon l'une des revendications 1 à 8, caractérisé en ce que lesdits coefficients de projection sont stockés dans une texture de projection (30). 9. Method according to one of claims 1 to 8, characterized in that said projection coefficients are stored in a projection texture (30).
EP10773358A 2009-11-16 2010-11-09 Method for estimating light scattering Withdrawn EP2502206A2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FR0958058A FR2948799A1 (en) 2009-11-16 2009-11-16 Light diffusion quantity estimating method for e.g. game console in post-production studio, involves estimating quantity of light diffused by medium along light diffusion direction from estimated coefficients
FR1056087 2010-07-26
FR1056096 2010-07-26
PCT/EP2010/067076 WO2011057997A2 (en) 2009-11-16 2010-11-09 Method for estimating light scattering

Publications (1)

Publication Number Publication Date
EP2502206A2 true EP2502206A2 (en) 2012-09-26

Family

ID=43901026

Family Applications (1)

Application Number Title Priority Date Filing Date
EP10773358A Withdrawn EP2502206A2 (en) 2009-11-16 2010-11-09 Method for estimating light scattering

Country Status (3)

Country Link
US (1) US20120232830A1 (en)
EP (1) EP2502206A2 (en)
WO (1) WO2011057997A2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9495797B2 (en) 2010-03-10 2016-11-15 Intel Corporation Hardware accelerated simulation of atmospheric scattering
US20130100135A1 (en) * 2010-07-01 2013-04-25 Thomson Licensing Method of estimating diffusion of light
US20150006113A1 (en) * 2012-01-10 2015-01-01 Thomson Licensing Method and device for estimating light scattering
US10282894B1 (en) * 2017-10-13 2019-05-07 Activision Publishing, Inc. Participating media baking

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10066246A1 (en) * 2000-09-22 2005-10-06 Robert Bosch Gmbh Scattered light smoke
AU2003297596A1 (en) * 2002-11-26 2004-06-18 The Trustees Of Columbia University In The City Of New York Systems and methods for modeling the impact of a medium on the appearances of encompassed light sources
JPWO2007018039A1 (en) * 2005-08-05 2009-02-19 パナソニック株式会社 Semiconductor light emitting device
US8009168B2 (en) 2007-06-26 2011-08-30 Microsoft Corporation Real-time rendering of light-scattering media

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
None *
See also references of WO2011057997A2 *

Also Published As

Publication number Publication date
WO2011057997A3 (en) 2011-08-11
US20120232830A1 (en) 2012-09-13
WO2011057997A2 (en) 2011-05-19

Similar Documents

Publication Publication Date Title
EP1982310B1 (en) Method for synthesizing a virtual image by beam launching
US9953457B2 (en) System, method, and computer program product for performing path space filtering
FR2988891A1 (en) METHOD FOR ESTIMATING OPACITY LEVEL IN A SCENE AND CORRESPONDING DEVICE
Yu et al. Real‐time depth of field rendering via dynamic light field generation and filtering
FR2965652A1 (en) METHOD FOR ESTIMATING LIGHT QUANTITY RECEIVED IN ONE POINT OF A VIRTUAL ENVIRONMENT
EP1527599A2 (en) Method and system enabling real time mixing of synthetic images and video images by a user
EP1292921A1 (en) Refinement of a triangular mesh representing a three-dimensional object
EP2504816B1 (en) Method for estimating light scattering
Simon et al. Rich‐VPLs for improving the versatility of many‐light methods
Delalandre et al. Transmittance function mapping
EP2502206A2 (en) Method for estimating light scattering
FR2966623A1 (en) METHOD FOR ESTIMATING OCCULTATION IN A VIRTUAL ENVIRONMENT
Fuchs et al. Combining confocal imaging and descattering
FR2964775A1 (en) METHOD FOR ESTIMATING OCCULTATION IN A VIRTUAL ENVIRONMENT
WO2012000847A2 (en) Method of estimating diffusion of light
EP2502207A2 (en) Method for estimating light scattering
FR2988502A1 (en) METHOD FOR REPRESENTING A PARTICIPATING ENVIRONMENT IN A SCENE AND CORRESPONDING DEVICE
FR2974217A1 (en) METHOD FOR ESTIMATING INFORMATION REPRESENTATIVE OF A HEIGHT
Habel et al. Physically based real-time translucency for leaves
FR2964776A1 (en) METHOD FOR ESTIMATING LIGHT DISTRIBUTION IN A HOMOGENEOUS ENVIRONMENT
FR2948799A1 (en) Light diffusion quantity estimating method for e.g. game console in post-production studio, involves estimating quantity of light diffused by medium along light diffusion direction from estimated coefficients
Elek et al. Real-time screen-space scattering in homogeneous environments
Kottravel et al. Coverage-based opacity estimation for interactive depth of field in molecular visualization
WO2010094619A1 (en) Method for estimating light scattering
Shinya et al. Multiple scattering approximation in heterogeneous media by narrow beam distributions

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20120515

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20170629

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20190514