WO2010094619A1 - Procede d'estimation de diffusion de la lumiere - Google Patents

Procede d'estimation de diffusion de la lumiere Download PDF

Info

Publication number
WO2010094619A1
WO2010094619A1 PCT/EP2010/051744 EP2010051744W WO2010094619A1 WO 2010094619 A1 WO2010094619 A1 WO 2010094619A1 EP 2010051744 W EP2010051744 W EP 2010051744W WO 2010094619 A1 WO2010094619 A1 WO 2010094619A1
Authority
WO
WIPO (PCT)
Prior art keywords
light
medium
point
light source
amount
Prior art date
Application number
PCT/EP2010/051744
Other languages
English (en)
Inventor
Pascal Gautron
Jean-Eudes Marvie
Original Assignee
Thomson Licensing
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
Application filed by Thomson Licensing filed Critical Thomson Licensing
Publication of WO2010094619A1 publication Critical patent/WO2010094619A1/fr

Links

Classifications

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

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 homogeneous 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. On the contrary, the absorption and scattering properties of light vary from one point to another in a heterogeneous participating medium.
  • some methods pre-calculate some representative parameters of the homogeneous 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 high-quality real-time rendering homogeneous participant medium.
  • Such a method is for example described in the patent application WO2009 / 003143 filed by Microsoft Corporation and published on December 31, 2008.
  • the invention that is the subject of the application WO2009 / 003143 object real-time rendering software of a participating 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 rendering in real time of the scattering of light in a participating medium.
  • the invention relates to a method for estimating the amount of light scattered by a homogeneous participating medium in a virtual environment comprising at least one modeled object, the light being emitted by at least one light source, the method comprising a step of generating a light source.
  • a shadow map comprising a set of first values representative of distances separating the at least one light source from a set of points of the at least one modeled object, the method further comprising a step of estimating the quantity of light diffused by said medium, in at least one direction of light scattering, from the first representative values of distance and diffusion parameters of said participating medium.
  • the method comprises a step of estimating the quantity of light reflected by a point situated on the at least one diffusion direction and a second value representative of the distance separating the point of an origin from said at least one diffusion direction, the point corresponding to the intersection of the at least one diffusion direction with the modeled object closest to the origin of the at least one diffusion direction.
  • the estimation of the quantity of light diffused by the medium is carried out by discretizing the medium along the at least one diffusion direction.
  • the estimate of the amount of light scattered by the medium is performed using the ray sampling method.
  • FIG. 1 schematically illustrates a participating medium diffusing light, according to a particular embodiment of the invention
  • FIG. 2 diagrammatically 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. 3 illustrates a device implementing a method for estimating the quantity of light diffused by a medium of FIG. 1, according to an example of a particular implementation of the invention
  • FIG. 4 and 5 illustrate a method of estimating the amount of scattered light, according to two particular embodiments of the invention.
  • FIG. 1 illustrates a virtual environment 10 or a virtual scene 10 immersed in a homogeneous participating media, for example fog, that is to say that the atmosphere of the virtual environment 10 is composed of a homogeneous participating medium.
  • the virtual environment is composed of one or more virtual objects 101, 102, 103 modeled according to any method known to those skilled in the art, for example by polygonal modeling, in which the model is likened to a set of polygons each defined by the list of vertices and edges that compose it, by NURBS (non uniform rational basic spline) type of modeling in which the model is defined by a set of curves created thanks to control points (of control vertices), by modeling by subdivision of surfaces ...
  • NURBS non uniform rational basic spline
  • any virtual representation (obtained by modeling) of a real object composing a real environment for example the floor, a house or facade of a house, a car, a tree, that is to say any element composing an environment such as a room of a house, a street, a city, the countryside, .
  • the reference sign 10 is indifferently associated with the virtual environment or the homogeneous participating medium composing the atmosphere of the virtual environment.
  • the light source 1 1 being placed above the objects 101 and 102 constituting the virtual environment 10, these objects 101 and 102 form below them shaded areas 1010 and 1020 also called occultation zones, whose geometric shape is dependent on the geometric shape of the object from which they came.
  • 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 is homogeneous, that is to say that the physical characteristics of the medium, such as the density of the component particles, for example, are constant from one point to another in the medium. Since the participating medium 10 is composed of small particles that interact with the light, the incident light, i.e. received from the light source 11 in a direction ⁇ in 1 10 is not only absorbed but is also broadcast.
  • the light In an isotropic scattering participating medium, the light is diffused uniformly in all directions.
  • the scattering of the light depends on the angle between the direction of incidence ⁇ in 110 and the diffusion direction ⁇ out 120 (respectively 121) of the light.
  • the amount of light scattered at a point P 13 of the medium 10 in the diffusion direction ⁇ out 120, 121 is calculated by the following equation:
  • Equation 2 allows to calculate the amount of light scattered by a point P and reaching the eye of a spectator 12 located on the direction ⁇ out - To calculate the amount of light received by a spectator looking in the direction ⁇ out, it is then necessary to make the sum of all the contributions of all the points of the middle located on the axis ⁇ out , that is to say the points located on the segment Pin-Pmax, Pin representing the intersection between the beginning of the middle 10 and the direction ⁇ out in the direction of observation of the viewer 12 and P max representing the intersection between the direction ⁇ out and the first obstacle or object of the environment 10 (for example point 14 of the object 102 for the direction ⁇ out 120) where P represents the intersection between the end of the middle 10 and the direction ⁇ out when no object composing the environment 10 is not encountered on the direction ⁇ out (for example the point 15 in the direction ⁇ or t 121 where the point P max corresponds to the exit point P or t of the medium 10).
  • the virtual environment 10 is a three-dimensional environment, shown in two dimensions in Figure 1 for the sake of clarity.
  • the objects that compose it are 3-dimensional objects represented in two dimensions in FIG. 1.
  • the shaded areas formed by the objects 101 and 102 positioned between the ground 103 and the light source 1 1 also form three-dimensional areas whose geometric shape results from the three-dimensional geometric shape of the objects 101 and 102 which form the origin.
  • FIG. 2 illustrates a method for estimating the simple scattering of light in the homogeneous participating medium 10, and more particularly the application of the radius sampling method for estimating this simple diffusion in the medium 10, according to a method of particular embodiment of the invention.
  • the ray sampling method is implemented according to a non-limiting embodiment of the invention.
  • the shadow map of the virtual environment 10 is generated according to any method known to those skilled in the art, for example based on the shadow map technique. ("shadow mapping") as proposed by WILLIAMS, L. in 1978 in a document entitled “Casting curved shadows on curved surfaces” and published in the document “proceeding of SIGGRAPH", pages 270-274.
  • first values representative of the distance separating the light source 11 from a set of points belonging to the modeled objects 101, 102 and 103 making up the virtual environment 10 are estimated and stored.
  • the points for which the first values representative of the distance to the light source 11 are determined are advantageously the points of intersection between the directions of incidence ⁇ in 1 1 1, 112, 1 13 coming from the light source 1 1 and the objects 101, 102 and 103 forming the virtual environment 10.
  • the points for which the first values representative of the distance to the light source are determined represent a part or a sample representative of all the points of intersection between the incidence directions ⁇ in and the modeled objects 101, 102 and 103.
  • the shadow map of the virtual environment 10 it is possible to simply determine the points of the virtual environment 10 (or equivalently the points of the homogeneous participating medium 10) which are in the parts illuminated directly by the light source 11 as well as the points of the enviro 10 which are in the parts of the environment 10 which are not directly illuminated by the light source 1 1, that is to say the areas of the environment 10 which are in the shadow of the objects 101 and 102, from an information representative of the distance separating the light source 1 1 from any point P 13 of the environment 10.
  • the points of the environment 10 directly illuminated by the light source 1 1 are those for which the distance separating them from the light source 1 1 in a given direction ⁇ in is less than or equal to the distance separating the light source 11 from the point of intersection between this direction ⁇ in and the first object modeled 101, 102 or 103 encountered in this direction, this distance between the point of the object and the light source being included in the shadow map 13.
  • the value of the attenuation of the luminous intensity is determined directly by calculation according to the following equation:
  • Att ⁇ _ (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
  • equation 6 Since the medium is homogeneous, equation 6 is inexpensive in computing power and can be calculated analytically.
  • Equation 7 represents the amount of light emitted by a point
  • 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 viewing direction ⁇ or t 120, 121 (also known as the light scattering direction) provides the amount of light received from the medium 10 by the viewer 12.
  • the light received from the light source
  • this luminous intensity may not be taken into account to estimate only the information representative of the volumetric shading for example, the information relating to the quantity of light reflected by the objects being determined thereafter according to the needs of the post-production in the image processing.
  • the quantity of light reflected by the points of the surfaces of the objects receiving light from the light source is taken into account in the estimation of the quantity of light diffused by the middle 10.
  • the light reflected back to the viewer 12 is estimated by using the light reflection properties of the material used to compose the surface of the object at point P.
  • This variant has the advantage of improving the quality of the the estimation of the quantity of light diffused by the taking into account of more realistic phenomena, that is to say the reflection of light by the surface areas of the objects illuminated by the light source 1 1.
  • equation 5 is modified as follows:
  • FIG. 3 schematically illustrates an example of a hardware embodiment of a device 3 adapted to the estimation of the quantity of light diffused by a homogeneous participating medium 10.
  • the device 3 corresponds, for example, to a personal computer PC, to a portable computer ( from the English "laptop") or a game console.
  • the device 3 comprises the following elements, interconnected by an address and data bus which also carries a clock signal: a microprocessor 31 (or CPU);
  • a graphics card 32 comprising: Several graphic processing processors 320 (or GPUs);
  • Random access memory type GRAM English “Graphical Random Access Memory” 321; - a non-volatile memory type ROM (from the English "Read
  • Random Access Memory Random Access Memory
  • I / O devices English “Input / Output" 34, such as for example a keyboard, a mouse, a webcam; and
  • the device 3 also comprises a display screen display device 33 connected directly to the graphics card 32 to display in particular the rendering of synthetic images computed and composed in the graphics card, for example in real time.
  • the use of a dedicated bus for connecting the display device 33 to the graphics card 32 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 3.
  • the device 3, 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.
  • register used in the description of the memories 32, 36 and 37 designates in each of the memories mentioned, both a memory area of small capacity (a few binary data) and a memory zone of large capacity (allowing storing an entire program or all or part of the representative data data calculated or display).
  • the random access memory 37 comprises in particular:
  • parameters representative of the heterogeneous participating medium for example density parameters, light absorption coefficients, light scattering coefficients
  • data representative of the virtual environment 10 and objects 101, 102 and 103 which compose it for example data relating to the modeling of these objects, data representative of the texture of the objects.
  • the GRAM 321 random access memory includes:
  • first values 3212 representative of distances separating the light source (s) 11 from points of the objects 101, 102, 103 in directions of incidence ⁇ in ;
  • values 3215 representative of the quantity of light reflected by surface points of the objects 101, 102, 103 constituting the virtual environment 10; second values 3216 representative of distances separating an observer 12 from points of the medium 10 in diffusion directions ⁇ or t-
  • part of the RAM 37 is allocated by the CPU 31 to store the values 3212 to 3216 if the available memory space in GRAM 321 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 37 via the bus 35 whose transmission capacity is generally lower than those available in the graphics card for passing the data from GPUs to GRAM and vice versa.
  • the power supply 38 is external to the device 3.
  • FIG. 4 illustrates a method for estimating the scattering of light in a heterogeneous participating medium implemented in a device 3, according to a first example of non-limiting implementation that is particularly advantageous for the invention.
  • the various parameters of the device 3 are updated.
  • the representative parameters of the heterogeneous participating medium are initialized in some way.
  • a shadow map associated with the virtual environment 10 is generated, the shadow map comprising a set of first values representative of distances separating the light source or sources 1 1 from a set of points belonging to the object or objects belonging to the virtual environment 10.
  • the distance separating the light source 1 1 from the surface point of the first modeled object of the virtual environment 10 positioned between the light source and the ground 103 in a direction of incidence ⁇ in is determined.
  • the same operation is repeated for a set of incidence directions ⁇ in whose number is representative of all the directions of incidence.
  • the first representative distance values are estimated for all the points belonging to the surfaces of the modeled objects of the virtual environment illuminated by the light source 1 1. Then, during a step 52, the quantity of light scattered by the medium 10 in a transmission direction 120 is estimated using the diffusion parameters of the homogeneous participating medium 10 and using the first values representative of distance. To do this, the line segment corresponding to the intersection of the transmission direction 120 with the medium 10 and the first object encountered on the diffusion direction ⁇ out (or with the output of the medium 10 if no object is found on the direction of diffusion ⁇ out in the zone corresponding to the medium 10), that is to say the segment [PinPmax] is discretized spatially in a multitude of points or elementary pieces representative of this segment.
  • the segment is for example divided spatially into a multitude of elementary pieces of the same length or of 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 light intensity is the so-called ray-marching algorithm method.
  • the point P max corresponding to the point of intersection between ⁇ out and the first object of the environment 10 situated on the direction ⁇ out in the direction of observation of the viewer 12 is determined for example from the coordinates of the points forming the objects modeled and coordinates of the points forming the direction ⁇ out crossing the middle 10. In the case where no object is on the path traveled by the direction ⁇ out in the middle 10, P max corresponds to the point of intersection between ⁇ out and the end of the middle 10.
  • the use of the first representative distance values included in the shadow map associated with the discretization of the segment [PinPmax] makes it possible to simplify the calculations to be implemented while providing a realistic estimate of the quantity of light diffused by a participating medium. homogeneous. No pre-calculation is then necessary to render the scattering of light in a homogeneous participating medium, allowing the real-time rendering of such media in interactive applications of the video game type for example in which the user is brought to move virtually in a space whose atmosphere is composed of such a homogeneous participating medium.
  • the quantity of light diffused by the medium 10 is estimated for several directions of diffusion ⁇ out 120, 121.
  • the quantity of light diffused by the medium 10 is estimated for several directions of diffusion ⁇ out 120, 121.
  • 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. 5 illustrates a method of estimating the scattering of light in a heterogeneous participating medium implemented in a device 3, according to a second particularly advantageous nonlimiting implementation example of the invention.
  • the various parameters of the device 3 are updated.
  • the representative parameters of the homogeneous participating medium are initialized in any way.
  • the shadow map associated with the virtual environment 10 is generated in the same manner as that described with respect to step 41 of FIG. 4. Step 51 is so not detailed again here.
  • the amount of light reflected by a surface point of an object illuminated by the light source 1 1 being on the diffusion direction ⁇ out in the medium 10, this surface point corresponding to the point P max is estimated based on the first distance value of the shadow map to determine whether the point considered is illuminated or not by the light source 1 1.
  • a second value representative of the distance between the point origin of the direction of diffusion ⁇ out is also determined and recorded in the Alpha channel of a RGBA buffer (from "Red, Green, Blue, Alpha buffer” or "Red, Green, Blue, Alpha buffer”). Taking into account the amount of reflected light makes it possible to increase the quality of the estimation of the quantity of light diffused to make it more realistic.
  • the quantity of scattered light is estimated in the same manner as that described with regard to step 42 of FIG. 4, taking into account the quantity of reflected light determined in step 52. .
  • 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 and 2 for the estimation of the reduction of luminous intensity in the directions of incidence and emission of the quantity of scattered light is not limited either to a implemented in firmware shader type but also extends to an implementation in any type of program, for example programs executable by a CPU type microprocessor.
  • a constant parameter representative of a constant and user defined ambient lighting is added to the luminance reflected by any point of the medium 10 to compensate for the non-taking into account of the interreflections between the different points forming the participating medium. 10.
  • Att exp (- ⁇ t
  • UiLambiant represents the amount of ambient light received at point C
  • ⁇ s is the diffusion coefficient of the medium (constant because the medium is homogeneous)
  • L amb represents the amount of light diffused by the ambient lighting and is a constant, for example defined by a user
  • Lp represents the amount of light reflected at the point P and att represents the attenuation of the light reflected on the path [CP].
  • the use of the invention is not limited to a 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 synthetic images, for 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 homogeneous 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.
  • 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 3 described with reference to FIG. 3 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.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

L'invention concerne un procédé d'estimation de la quantité de lumière diffusée par un milieu participant homogène (10) dans un environnement virtuel comprenant au moins un objet modélisé (101, 102, 103), la lumière étant émise par au moins une source lumineuse (11 ). Afin d'améliorer le rendu tout en minimisant les temps de calculs nécessaires, le procédé comprend les étapes de : - génération d'une carte d'ombre (13) comprenant un ensemble de premières valeurs représentatives de distances séparant ladite au moins une source lumineuse (11 ) d'un ensemble de points dudit au moins un objet modélisé (101, 102, 103), et - estimation de la quantité de lumière diffusée par ledit milieu (10), selon au moins une direction de diffusion de la lumière (120, 121 ), à partir desdits premières valeurs représentatives de distance et de paramètres de diffusion dudit milieu participant (10).

Description

PROCEDE D'ESTIMATION DE DIFFUSION DE LA LUMIERE
1. Domaine de l'invention. L'invention se rapporte au domaine de la composition d'images de synthèse et plus particulièrement au domaine de la simulation de la diffusion de la lumière dans un milieu participant homogène. L'invention s'inscrit également dans le contexte des effets spéciaux pour une composition en temps réel (de l'anglais « live »).
2. Etat de l'art.
Selon l'état de la technique, différentes méthodes existent pour simuler la diffusion de la lumière dans des milieux participants tels que par exemple l'eau, le brouillard, la fumée, la poussière ou les nuages. Les milieux participants correspondent à des milieux composés de particules en suspension qui interagissent avec la lumière pour en modifier le trajet et l'intensité notamment.
Les milieux participants peuvent être décomposés en deux parties, à savoir les milieux homogènes tels que l'eau et les milieux hétérogènes, tels que la fumée ou les nuages. Dans le cas des milieux participants homogènes, il est possible de calculer de manière analytique l'atténuation de la lumière émise par une source de lumière. En effet, de part leur nature homogène, ces milieux présentent des paramètres tels que le coefficient d'absorption de la lumière ou le coefficient de diffusion de la lumière de valeur constante en tout point du milieu. A contrario, les propriétés d'absorption et de diffusion de la lumière varient d'un point à un autre dans un milieu participant hétérogène.
Pour effectuer le rendu en temps réel de milieux participant homogène, certaines méthodes effectuent le pré-calcul de certains paramètres représentatifs du milieu participant homogè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 haute qualité en temps réel d'un milieu participant homogè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 participant et décrit une solution utilisant des fonctions de base radiales. Cette solution ne peut cependant pas être considérée comme une solution de rendu temps réel puisque certains prétraitements doivent être appliqués hors ligne (de l'anglais « offline ») au milieu participant pour pouvoir calculer des coefficients de projection représentant le milieu qui seront utilisés pour des calculs temps réels de synthèse d'image.
Avec l'émergence de jeux et d'applications de simulation interactifs, notamment en trois dimensions (3D), le besoin se fait sentir pour des méthodes de simulations temps réel offrant un rendu de milieux participants homogène de haute qualité et réaliste.
3. Résumé de l'invention.
L'invention a pour but de pallier au moins un de ces inconvénients de l'art antérieur.
Plus particulièrement, l'invention a notamment pour objectif d'optimiser les temps de calcul nécessaire pour composer un rendu réaliste en temps réel de la diffusion de la lumière dans un milieu participant.
L'invention concerne un procédé d'estimation de la quantité de lumière diffusée par un milieu participant homogène dans un environnement virtuel comprenant au moins un objet modélisé, la lumière étant émise par au moins une source lumineuse, le procédé comprenant une étape de génération d'une carte d'ombre comprenant un ensemble de premières valeurs représentatives de distances séparant la au moins une source lumineuse d'un ensemble de points du au moins un objet modélisé, le procédé comprenant en outre une étape d'estimation de la quantité de lumière diffusée par ledit milieu, selon au moins une direction de diffusion de la lumière, à partir des premières valeurs représentatives de distance et de paramètres de diffusion dudit milieu participant. Selon une caractéristique particulière, le procédé comprend une étape d'estimation de la quantité de lumière réfléchie par un point situé sur la au moins une direction de diffusion et d'une deuxième valeur représentative de la distance séparant le point d'une origine de ladite au moins une direction de diffusion, le point correspondant à l'intersection de la au moins une direction de diffusion avec l'objet modélisé le plus proche de l'origine de la au moins une direction de diffusion. Avantageusement, l'estimation de la quantité de lumière diffusée par le milieu est réalisée par discrétisation du milieu le long de la au moins une direction de diffusion.
Selon une caractéristique spécifique, l'estimation de la quantité de lumière diffusée par let milieu est réalisée en utilisant la méthode d'échantillonnage de rayon.
4. Liste des figures.
L'invention sera mieux comprise, et d'autres particularités et avantages apparaîtront à la lecture de la description qui va suivre, la description faisant référence aux dessins annexés parmi lesquels :
- la figure 1 illustre schématiquement un milieu participant diffusant de la lumière, selon un mode de réalisation particulier de l'invention ;
- la figure 2 illustre schématiquement une méthode d'estimation de la quantité de lumière diffusée par un milieu de la figure 1 , selon un mode de réalisation particulier de l'invention ;
- la figure 3 illustre un dispositif mettant en œuvre une méthode d'estimation de la quantité de lumière diffusée par un milieu de la figure 1 , selon un exemple de mise en œuvre particulier de l'invention ; - les figures 4 et 5 illustrent un procédé d'estimation de la quantité de lumière diffusée, selon deux modes de réalisation particuliers de l'invention.
5. Description détaillée de modes de réalisation de l'invention.
La figure 1 illustre un environnement virtuel 10 ou une scène virtuelle 10 baignant dans un milieu participant homogène (de l'anglais « homogeneous participating média »), par exemple du brouillard, c'est-à- dire que l'atmosphère de l'environnement virtuel 10 est composée par un milieu participant homogène. L'environnement virtuel est composé d'un ou plusieurs objets virtuels 101 , 102, 103 modélisés selon toute méthode connue de l'homme du métier, par exemple par modélisation polygonale, dans laquelle le modèle est assimilé à un ensemble de polygones chacun défini par la liste des sommets et des arêtes qui le compose, par modélisation par courbe de type NURBS (de l'anglais « Non uniform rational basic spline » ou en français « Spline basique rationnelle non uniforme ») dans laquelle le modèle est défini par un ensemble de courbes créées grâce à des points de contrôle (de l'anglais « control vertices »), par modélisation par subdivision de surfaces... On entend par objet virtuel toute représentation virtuelle (obtenue par modélisation) d'un objet réel composant un environnement réel (par exemple le sol, une maison ou une façade d'une maison, une voiture, un arbre, c'est-à-dire tout élément composant un environnement tel qu'une pièce d'une maison, une rue, une ville, la campagne, ...). Dans la suite de la description, le signe de référence 10 est associé de manière indifférente à l'environnement virtuel ou au milieu participant homogène composant l'atmosphère de l'environnement virtuel. La source de lumière 1 1 étant placée au dessus des objets 101 et 102 composant l'environnement virtuel 10, ces objets 101 et 102 forment en dessous d'eux des zones d'ombre 1010 et 1020 dénommées également zones d'occultation, dont la forme géométrique est dépendante de la forme géométrique de l'objet dont elles sont issues. 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 1 1 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 homogène, c'est-à-dire que les caractéristiques physiques du milieu, telle que la densité des particules le composant par exemple, sont constantes d'un point à un autre dans le milieu. Comme le milieu participant 10 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 1 1 selon une direction ωin 1 10 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 milieu 10 illustré en figure 1 , la diffusion de la lumière dépend de l'angle entre la direction d'incidence ωin 110 et la direction de diffusion ωout 120 (respectivement 121 ) de la lumière. La quantité de lumière diffusée en un point P 13 du milieu 10 dans la direction de diffusion ωout 120, 121 est calculée par l'équation suivante :
Q(P, ωout) = σs(P). p(P, ωout, ωin). Lri(P, ωin) Equation 1 La quantité de lumière diffusée par un point P 13 du milieu atteignant l'œil d'un spectateur 12 situé en un point C de l'espace dans la direction ωout 120 ou 121 , c'est-à-dire la quantité de lumière diffusée par le point P et atténuée par le milieu 10 sur le trajet Pjn-P, le point Pin étant situé à l'intersection de la zone éclairée par la source lumineuse 1 1 du milieu 10 et de la direction ωout dans la direction du spectateur 12, est alors :
LP (P, ωout) = Q(P, ωout).
Figure imgf000007_0001
Equation 2 pour laquelle : • σs est le coefficient de diffusion du milieu,
• σa est le coefficient d'absorption du milieu,
• σtsa est le coefficient d'extinction du milieu,
• p(P,ω0Ut,ωin) est la fonction de phase décrivant comment la lumière provenant de la direction d'incidence ωin est diffusée dans la direction de diffusion ωout au point P,
• U(P, coin) est l'intensité lumineuse réduite au point P provenant de la direction d'incidence ωin 1 10 et représente la quantité de lumière incidente arrivant au point P 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 : Lri(P) = Equation 3
Figure imgf000007_0002
où Isource est l'intensité de la source lumineuse 1 1.
• exp}p -σtis)as représente l'atténuation de luminance diffusée due à l'absorption et à la diffusion le long du chemin allant de Pin à P.
L'équation 2 permet de calculer la quantité de lumière diffusée par un point P 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 Pin-Pmax, Pin représentant l'intersection entre le début du milieu 10 et la direction ωout dans le sens d'observation du spectateur 12 et Pmax représentant l'intersection entre la direction ωout et le premier obstacle ou objet de l'environnement 10 (par exemple le point 14 de l'objet 102 pour la direction ωout 120) ou P représentant l'intersection entre la fin du milieu 10 et la direction ωout lorsque aucun objet composant l'environnement 10 n'est rencontré sur la direction ωout (par exemple le point 15 selon la direction ωout 121 où le point Pmax correspond au point de sortie Pout du milieu 10). Cette luminance diffusée totale arrivant en Pin depuis la direction ωout 120 ou 121 due à la diffusion simple est alors :
L(Pin, août) = Ip max Lp (P, ωout)dP Equation 4
Dans ce cas de figure, on suppose que la lumière parcourant le trajet C-Pin n'est pas atténuée. Cette luminance diffusée totale est obtenue par intégration des contributions de tous les points situés entre Pin et Pmaχ 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 δp tel qu'illustré en figure 2 et on obtient l'équation suivante :
L(P, ωout) ≈ ∑p™α* LP (P, ωoutP Equation 5
De manière avantageuse, l'environnement virtuel 10 est un environnement à trois dimensions, représenté en deux dimensions sur la figure 1 pour des raisons de clarté. De la même manière, les objets qui le composent sont des objets en 3 dimensions représentés en deux dimensions sur la figure 1. Les zones d'ombres formés par les objets 101 et 102 positionnés entre le sol 103 et la source lumière 1 1 forment également des zones à trois dimensions dont la forme géométrique résulte de la forme géométrique à trois dimensions des objets 101 et 102 qui en forment l'origine.
La figure 2 illustre une méthode d'estimation de diffusion simple de la lumière dans le milieu participant homogène 10, et plus particulièrement l'application de la méthode d'échantillonnage de rayon pour estimer cette diffusion simple dans le milieu 10, 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, la carte d'ombre (de l'anglais « shadow map ») de l'environnement virtuel 10 est générée selon toute méthode connue de l'homme du métier, par exemple basée sur la technique de carte d'ombre (de l'anglais « shadow mapping ») telle que proposée par WILLIAMS, L. en 1978 dans un document intitulé « Casting curved shadows on curved surfaces » et publié dans le document « proceeding of SIGGRAPH », pages 270-274. Selon cette méthode dite de carte d'ombre, des premières valeurs représentatives de la distance séparant la source de lumière 1 1 d'un ensemble de points appartenant aux objets modélisés 101 , 102 et 103 composant l'environnement virtuel 10 sont estimées et stockées. Les points pour lesquels sont déterminées les premières valeurs représentatives de la distance à la source lumineuse 11 sont avantageusement les points d'intersections entre les directions d'incidence ωin 1 1 1 , 112, 1 13 issues de la source lumineuse 1 1 et les objets 101 , 102 et 103 formant l'environnement virtuel 10. Selon une variante, les points pour lesquels sont déterminées les premières valeurs représentatives de la distance à la source lumineuse représentent une partie ou un échantillon représentatif de l'ensemble des points d'intersection entre les directions d'incidences ωin et les objets modélisés 101 , 102 et 103. Une fois la carte d'ombre de l'environnement virtuel 10 générée, il est possible de déterminer simplement les points de l'environnement virtuel 10 (ou de manière équivalente les points du milieu participant homogène 10) qui se trouvent dans les parties éclairée directement par la source de lumière 11 ainsi que les points de l'environnement 10 qui se trouvent dans les parties de l'environnement 10 qui ne sont pas directement éclairées par la source de lumière 1 1 , c'est-à-dire les zones de l'environnement 10 qui se trouvent à l'ombre des objets 101 et 102, à partir d'une information représentative de la distance séparant la source de lumière 1 1 d'un point quelconque P 13 considéré de l'environnement 10. Les points de l'environnement 10 directement éclairés par la source de lumière 1 1 sont ceux pour lesquels la distance les séparant de la source de lumière 1 1 selon une direction ωin donnée est inférieure ou égale à la distance séparant la source de lumière 11 du point d'intersection entre cette direction ωin et le premier objet modélisé 101 , 102 ou 103 rencontré par cette direction, cette distance entre le point de l'objet et la source de lumière étant comprise dans la carte d'ombre 13. Pour ces points du milieu 10 directement éclairés par la source de lumière 1 1 , la valeur de l'atténuation de l'intensité lumineuse est déterminée directement par calcul selon l'équation suivante :
att(P) = exp^ ~σt(s)ds = exp (-σt| |ΛTP| |) Equation 6
où attι_(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, σt est le coefficient d'extinction du milieu, correspondant à la somme du coefficient de diffusion du milieu σs et du coefficient d'absorption du milieu σat = σs + σa).
Le milieu étant homogène, l'équation 6 est peu coûteuse en puissance de calcul et peut être calculée de manière analytique.
A partir des équations 2, 5 et 6, il est alors possible d'estimer la quantité de lumière émise par un point P 13 du milieu et reçue par un spectateur 12 regardant dans la direction ωout- On obtient ainsi :
LP{P, ω0Ut) ≈ σs{P).V{P, ωout, ωin).
Figure imgf000010_0001
Lri(P) Equation 7
L'équation 7 représente la quantité de lumière émise par un point
P 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 ωout 120, il suffit de faire la somme des quantités de lumière élémentaires émises par l'ensemble des points Pi allant de Pjn à Pmaχ- On obtient pour cela :
Q{C, ω0Ut) ≈ ∑"max LP{P, ω0Ut) δP Equation 8
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 ωout 120, 121 (dite également direction de diffusion de la lumière) fournit la quantité de lumière reçue du milieu 10 par le spectateur 12. De manière avantageuse, la lumière reçue de la source lumineuse
11 puis réfléchie par un point de la surface d'un objet 101 , 102, 103 n'est pas prise en compte dans l'estimation de la quantité de lumière diffusée par le milieu 10. Une telle mise en œuvre offre l'avantage de réduire les besoins en puissance et/ou temps de calcul nécessaires pour l'estimation de la quantité de lumière diffusée par le milieu 10. Dans un contexte de post-production par exemple, cette intensité lumineuse peut ne pas être prise en compte pour estimer seulement les informations représentatives des ombrages volumétriques par exemple, l'information relative à la quantité de lumière réfléchie par les objets étant déterminée par la suite selon les besoins de la post-production dans le traitement des images.
Selon une variante, la quantité de lumière réfléchie par les points des surfaces des objets recevant de la lumière issue de la source de lumière (information déduite de la carte d'ombre) est prise en compte dans l'estimation de la quantité de lumière diffusée par le milieu 10. La lumière réfléchie vers le spectateur 12 est estimée en utilisant les propriétés de réflexion de la lumière du matériau utilisé pour composer la surface de l'objet au point P. Cette variante présente l'avantage d'améliorer la qualité de l'estimation de la quantité de lumière diffusée par la prise en compte de phénomènes plus réalistes, c'est-à-dire la réflexion de la lumière par les zones de surface des objets éclairés par la source de lumière 1 1. Pour prendre en compte l'intensité lumineuse réfléchie, l'équation 5 est modifiée comme suit :
UP, ω0Ut) ≈ ∑px LP {P, ωoutP +
Figure imgf000011_0001
ωout) Equation 9
Où e("σtl|PιΛ"^ Lr(Pmax> ω out) représente la quantité de lumière réfléchie par le point de l'objet place sur la direction ωout et atténuée le long de la distance ||PmaχPin||-
La figure 3 illustre schématiquement un exemple de réalisation matérielle d'un dispositif 3 adapté à l'estimation de la quantité de lumière diffusée par un milieu participant homogène 10. Le dispositif 3 correspond par exemple à un ordinateur personnel PC, à un ordinateur portable (de l'anglais « laptop ») ou à une console de jeux.
Le dispositif 3 comprend les éléments suivants, reliés entre eux par un bus 35 d'adresses et de données qui transporte également un signal d'horloge : - un microprocesseur 31 (ou CPU) ;
- une carte graphique 32 comprenant : • plusieurs processeurs de traitement graphique 320 (ou GPUs) ;
• une mémoire vive de type GRAM (de l'anglais « Graphical Random Access Memory ») 321 ; - une mémoire non volatile de type ROM (de l'anglais « Read
OnIy Memory ») 36 ;
- une mémoire vive ou RAM (de l'anglais « Random Access Memory ») 37 ;
- un ou plusieurs dispositifs I/O (de l'anglais « Input/Output » ou en français « Entrée/Sortie ») 34, tels que par exemple un clavier, une souris, une webcam ; et
- une alimentation 38.
Le dispositif 3 comprend également un dispositif d'affichage 33 de type écran d'affichage relié directement à la carte graphique 32 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 33 à la carte graphique 32 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 3. Le dispositif 3, par exemple la carte graphique, comprend un connecteur adapté à transmettre un signal d'affichage à un moyen d'affichage externe tel que par exemple un écran LCD ou plasma, un vidéoprojecteur. On observe que le mot « registre » utilisé dans la description des mémoires 32, 36 et 37 désigne dans chacune des mémoires mentionnées, aussi bien une zone de mémoire de faible capacité (quelques données binaires) qu'une zone mémoire de grande capacité (permettant de stocker un programme entier ou tout ou partie des données représentatives de données calculées ou à afficher).
A la mise sous tension, le microprocesseur 31 charge et exécute les instructions du programme contenu dans la RAM 37. La mémoire vive 37 comprend notamment :
- dans un registre 330, le programme de fonctionnement du microprocesseur 31 chargé à la mise sous tension du dispositif
3 ; - des paramètres 371 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) ; - des données 372 représentatives de l'environnement virtuel 10 et des objets 101 , 102 et 103 qui le composent (par exemple données relatives à la modélisation de ces objets, données représentatives de la texture des objets).
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 GRAM 37 de la carte graphique 32 associée au dispositif 3 mettant en œuvre ces étapes. A la mise sous tension et une fois les paramètres 370 représentatifs du milieu chargés en RAM 37, les processeurs graphiques 320 de la carte graphique
32 charge ces paramètres en GRAM 321 et exécute les instructions de ces algorithmes sous la forme de microprogrammes du type « shader » utilisant le langage HLSL (de l'anglais « High Level Shader Language » ou en français « Langage de programmation « shader » de haut niveau »), le langage GLSL (de l'anglais « OpenGL Shading language » ou en français
« Langage de shaders OpenGL ») par exemple. La mémoire vive GRAM 321 comprend notamment :
- dans un registre 3210, les paramètres représentatifs du milieu 10 ;
- dans un registre 321 1 , les données représentatives de l'environnement virtuel 10 et des objets 101 , 102, 103 qui le composent ;
- des premières valeurs 3212 représentative de distances séparant la ou les sources lumineuses 1 1 de points des objets 101 , 102, 103 selon des directions d'incidence ωin ;
- des valeurs de réduction d'intensité lumineuse 3212 pour des points du milieu 10 ;
- des valeurs 3214 représentatives de la quantité de lumière diffusée par le milieu 10 selon une ou plusieurs directions d'observation ;
- des valeurs 3215 représentatives de la quantité de lumière réfléchie par des points de surface des objets 101 , 102, 103 composant l'environnement virtuel 10 ; - des deuxièmes valeurs 3216 représentatives de distances séparant un observateur 12 de points du milieu 10 selon des directions de diffusion ωout-
Selon une variante, une partie de la RAM 37 est allouée par le CPU 31 pour stocker les valeurs 3212 à 3216 si l'espace mémoire disponible en GRAM 321 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 37 en passant par le bus 35 dont les capacités de transmission sont généralement inférieures à celles disponibles dans la carte graphique pour faire passer les données des GPUs à la GRAM et vice-versa.
Selon une autre variante, l'alimentation 38 est externe au dispositif 3.
La figure 4 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 3, selon un premier exemple de mise en œuvre non limitatif particulièrement avantageux de l'invention.
Au cours d'une étape d'initialisation 40, les différents paramètres du dispositif 3 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 41 , une carte d'ombre associée à l'environnement virtuel 10 est générée, la carte d'ombre comprenant un ensemble de premières valeurs représentatives de distances séparant la ou les sources lumineuses 1 1 d'un ensemble de points appartenant à le ou les objets appartenant à l'environnement virtuel 10. Pour ce faire, la distance séparant la source lumineuse 1 1 du point de surface du premier objet modélisé de l'environnement virtuel 10 positionné entre la source lumineuse et le sol 103 selon une direction d'incidence ωin est déterminé. La même opération est réitérée pour un ensemble de directions d'incidence ωin dont le nombre est représentatif de la totalité des directions d'incidences. Ces première svaleurs représentatives des distances séparant la source lumineuse des points de surface des objets modélisés sont stockées dans un registre pour former la carte d'ombre de l'environnement virtuel 10. Selon une variante, les premières valeurs représentatives de distance sont estimées pour l'ensemble des points appartenant aux surfaces des objets modélisés de l'environnement virtuel éclairés par la source lumineuse 1 1. 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 paramètres de diffusion du milieu participant homogène 10 et en utilisant les premières valeurs représentatives de distance. Pour ce faire, le segment de droite correspondant à l'intersection de la direction d'émission 120 avec le milieu 10 et le premier objet rencontré sur la direction de diffusion ωout (ou avec la sortie du milieu 10 si aucun objet ne se trouve sur la direction de diffusion ωout dans la zone correspondant au milieu 10), c'est-à-dire le segment [PinPmax] est discrétisé spatialement en une multitude de points ou de morceaux élémentaires représentatifs de ce segment. 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 »). Le point Pmax correspondant au point d'intersection entre ωout et le premier objet de l'environnement 10 situé sur la direction ωout dans le sens d'observation du spectateur 12 est déterminé par exemple à partir des coordonnées des points formant les objets modélisés et des coordonnées des points formant la direction ωout traversant le milieu 10. Dans le cas où aucun objet ne se trouve sur le chemin parcouru par la direction ωout dans le milieu 10, Pmax correspond au point d'intersection entre ωout et la fin du milieu 10. Si un objet modélisé se trouve en limite du milieu 10 la plus proche du spectateur 12, on obtient Pin = Pmaχ- et pour chaque point de ce segment (respectivement chaque morceau élémentaire), on applique l'équation 7 en utilisant la valeur d'atténuation de l'intensité lumineuse estimée pour les points dont la distance à la source lumineuse 1 1 selon la direction d'incidence ωin est inférieure à la première valeur de distance stockée dans la carte d'ombre pour cette même direction d'incidence, c'est-à-dire pour les points directement éclairés par la source lumineuse et ne se trouvant pas dans les zones d'ombre résultant de l'occultation de la lumière par les objets modélisés. L'utilisation des premières valeurs représentatives de distance comprises dans la carte d'ombre associée à la discrétisation du segment [PinPmax] permet de simplifier les calculs à mettre en œuvre tout en fournissant une estimation réaliste de la quantité de lumière diffusée par un milieu participant homogène. Aucun pré-calcul n'est alors nécessaire pour effectuer le rendu de la diffusion de la lumière dans un milieu participant homogè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 dont l'atmosphère est composée d'un tel milieu participant homogène.
De manière avantageuse, la quantité de lumière diffusée par le milieu 10 est estimée pour plusieurs directions de diffusion ωout 120, 121. En faisant la somme de ces quantités de lumières estimées pour une pluralité de direction d'émission, on obtient la quantité de lumière totale diffusée par le milieu 10 et perçue par un spectateur observant le milieu 10.
Les étapes 51 et 52 sont avantageusement réitérées au fur et à mesure qu'un spectateur 12 se déplace autour du milieu 10, l'image formant le rendu du milieu 10 étant recomposée pour chaque déplacement élémentaire du spectateur 12 autour du milieu 10.
La figure 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 3, selon un deuxième exemple de mise en œuvre non limitatif particulièrement avantageux de l'invention.
Au cours d'une étape d'initialisation 50, les différents paramètres du dispositif 3 sont mis à jour. En particulier, les paramètres représentatifs du milieu participant homogène 10 sont initialisés d'une manière quelconque.
Ensuite, au cours d'une étape 51 , la carte d'ombre associée à l'environnement virtuel 10 est générée de la même manière que celle décrite en regard de l'étape 41 de la figure 4. L'étape 51 n'est donc pas détaillée à nouveau ici. Puis au cours d'une étape 52, la quantité de lumière réfléchie par un point de surface d'un objet éclairé par la source lumineuse 1 1 se trouvant sur la direction de diffusion ωout dans le milieu 10, ce point de surface correspondant au point Pmax, est estimée en se basant sur la première valeur de distance de la carte d'ombre pour déterminer si le point considéré est éclairé ou non par la source lumineuse 1 1. Une deuxième valeur représentative de la distance séparant le point d'origine de la direction de diffusion ωout, c'est-à-dire le point correspondant à la position du spectateur 12 observant le milieu 10 et recevant la quantité de lumière diffusée par le milieu 10, est également déterminée et enregistrée dans le canal Alpha d'un tampon RGBA (de l'anglais « Red, Green, Blue, Alpha buffer » ou en français « tampon Rouge, Vert, Bleu, Alpha »). La prise en compte de la quantité de lumière réfléchie permet d'augmenter la qualité de l'estimation de la quantité de lumière diffusée pour la rendre plus réaliste.
Enfin, au cours d'une étape 53, 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 42 de la figure 4 en prenant en compte la quantité de lumière réfléchie déterminée à l'étape 52.
Bien entendu, l'invention ne se limite pas aux modes de réalisation décrits précédemment.
En particulier, l'invention n'est pas limitée à un procédé d'estimation de la quantité de lumière diffusée par un milieu participant hétérogène mais s'étend également à tout dispositif mettant en œ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 et 2 pour l'estimation 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. De manière avantageuse, un paramètre constant représentatif d'un éclairage ambiant constant et défini par un utilisateur est ajouté à la luminance réfléchie par tout point du milieu 10 pour compenser la non prise en compte des inter-reflections entre les différents points formant le milieu participant 10. La prise en compte d'un tel paramètre permet d'améliorer le réalisme du rendu en ajoutant une qualité d'ombrage (de l'anglais « shading ») cohérente et uniforme dans tout l'environnement virtuel sans augmenter de manière trop importante les besoins en puissance et/ou temps de calcul. Pour un point P hors du faisceau lumineux issu de la source de lumière L 1 1 mais visible dans l'environnement virtuel 10, la quantité de lumière diffusée associée à l'éclairage ambiant constant et reçue par le spectateur C 12 sur la distance entre C et P est calculée par l'équation suivante :
Ldif_ambiant = ^s^amb ^~^ + Ottlp Equation 1 0
OÙ att = exp(-σt| | CP | UiLambiant représente la quantité de lumière ambiante reçue au point C, σs est le coefficient de diffusion du milieu (constant car le milieu est homogène),
Lamb représente la quantité de lumière diffusée par l'éclairage ambiant et est une constante, par exemple définie par un utilisateur,
Lp représente la quantité de lumière réfléchie au point P et att représente l'atténuation de la lumière réfléchie sur le trajet [CP].
L'utilisation de l'invention n'est 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.
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 homogè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. 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 3 décrit en regard de la figure 3 est avantageusement doté de moyens d'interactions tels que clavier et/ou manette de jeux, d'autres modes d'introduction de commandes telle que par exemple la reconnaissance vocale étant également possibles.

Claims

REVENDICATIONS
1. Procédé d'estimation de la quantité de lumière diffusée par un milieu participant (10) homogène dans un environnement virtuel comprenant au moins un objet modélisé (101 , 102, 103), la lumière étant émise par au moins une source lumineuse (1 1 ), ledit procédé comprenant une étape de génération (41 , 51 ) d'une carte d'ombre (13) comprenant un ensemble de premières valeurs représentatives de distances séparant ladite au moins une source lumineuse (1 1 ) d'un ensemble de points dudit au moins un objet modélisé (101 , 102, 103), caractérisé en ce que le procédé comprend en outre une étape d'estimation (42, 53) de la quantité de lumière diffusée par ledit milieu (10), selon au moins une direction de diffusion de la lumière (120, 121 ), à partir desdites premières valeurs représentatives de distance et de paramètres de diffusion dudit milieu participant (10).
2. Procédé selon la revendication 1 , caractérisé en ce qu'il comprend une étape d'estimation (52) de la quantité de lumière réfléchie par un point (14) situé sur ladite au moins une direction de diffusion (120, 121 ) et d'une deuxième valeur représentative de la distance séparant ledit point d'une origine (12) de ladite au moins une direction de diffusion (120, 121 ), ledit point correspondant à l'intersection de ladite au moins une direction de diffusion avec l'objet modélisé le plus proche (102) de ladite origine de la au moins une direction de diffusion (120).
3. Procédé selon l'une des revendications 1 à 2, caractérisé en ce que ladite estimation de la quantité de lumière diffusée par ledit milieu (10) est réalisée par discrétisation dudit milieu (10) le long de la au moins une direction de diffusion.
4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que ladite estimation de la quantité de lumière diffusée par ledit milieu (10) est réalisée en utilisant la méthode d'échantillonnage de rayon.
PCT/EP2010/051744 2009-02-17 2010-02-11 Procede d'estimation de diffusion de la lumiere WO2010094619A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP09305152 2009-02-17
EP09305152.2 2009-02-17

Publications (1)

Publication Number Publication Date
WO2010094619A1 true WO2010094619A1 (fr) 2010-08-26

Family

ID=41786273

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2010/051744 WO2010094619A1 (fr) 2009-02-17 2010-02-11 Procede d'estimation de diffusion de la lumiere

Country Status (1)

Country Link
WO (1) WO2010094619A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120256939A1 (en) * 2011-02-17 2012-10-11 Sony Corporation System and method for importance sampling of area lights in participating media

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009003143A2 (fr) 2007-06-26 2008-12-31 Microsoft Corporation Rendu en temps reel de milieu de diffusion de lumiere

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009003143A2 (fr) 2007-06-26 2008-12-31 Microsoft Corporation Rendu en temps reel de milieu de diffusion de lumiere

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
WILLIAMS, L.: "Casting curved shadows on curved surfaces", PROCEEDING OF SIGGRAPH, 1978, pages 270 - 274
WYMAN C ET AL: "Interactive volumetric shadows in participating media with single-scattering", INTERACTIVE RAY TRACING, 2008. RT 2008. IEEE SYMPOSIUM ON, IEEE, PISCATAWAY, NJ, USA, 9 August 2008 (2008-08-09), pages 87 - 92, XP031395964, ISBN: 978-1-4244-2741-3 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120256939A1 (en) * 2011-02-17 2012-10-11 Sony Corporation System and method for importance sampling of area lights in participating media
US9262860B2 (en) * 2011-02-17 2016-02-16 Sony Corporation System and method for importance sampling of area lights in participating media

Similar Documents

Publication Publication Date Title
EP1982310B1 (fr) Procede de synthese d'une image virtuelle par lancer de faisceaux
Georgiev et al. Arnold: A brute-force production path tracer
US20170323471A1 (en) 3D rendering method and 3D graphics processing device
Happa et al. Illuminating the past: state of the art
US20100060640A1 (en) Interactive atmosphere - active environmental rendering
FR2965652A1 (fr) Procede d’estimation de la quantite de lumiere recue en un point d’un environnement virtuel
Peddie Ray tracing: a tool for all
FR2966623A1 (fr) Procede d’estimation de l’occultation dans un environnement virtuel
McGuire et al. Colored stochastic shadow maps
Delalandre et al. Transmittance function mapping
EP2504816B1 (fr) Procede d'estimation de diffusion de la lumiere
McGuire et al. Phenomenological transparency
US8248405B1 (en) Image compositing with ray tracing
FR2964775A1 (fr) Procede d'estimation de l'occultation dans un environnement virtuel
Eisemann et al. Efficient real-time shadows
EP2502206A2 (fr) Procede d'estimation de diffusion de la lumiere
FR2974217A1 (fr) Procede d’estimation d’une information representative d’une hauteur
Sabbadin et al. High Dynamic Range Point Clouds for Real‐Time Relighting
McGuire et al. Introduction to real-time ray tracing
WO2011058007A2 (fr) Procede d'estimation de diffusion de la lumiere
WO2012000847A2 (fr) Procede d'estimation de diffusion de la lumiere
FR2988502A1 (fr) Procede pour representer un milieu participant dans une scene et dispositif correspondant
WO2010094619A1 (fr) Procede d'estimation de diffusion de la lumiere
FR2964776A1 (fr) Procede d’estimation de diffusion de la lumiere dans un milieu homogene
Elek et al. Real-time screen-space scattering in homogeneous environments

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10703290

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10703290

Country of ref document: EP

Kind code of ref document: A1