FR2988502A1 - Procede pour representer un milieu participant dans une scene et dispositif correspondant - Google Patents

Procede pour representer un milieu participant dans une scene et dispositif correspondant Download PDF

Info

Publication number
FR2988502A1
FR2988502A1 FR1252675A FR1252675A FR2988502A1 FR 2988502 A1 FR2988502 A1 FR 2988502A1 FR 1252675 A FR1252675 A FR 1252675A FR 1252675 A FR1252675 A FR 1252675A FR 2988502 A1 FR2988502 A1 FR 2988502A1
Authority
FR
France
Prior art keywords
point
intersection
bounding box
medium
participating medium
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
FR1252675A
Other languages
English (en)
Inventor
Pascal Gautron
Jean-Eudes Marvie
Cyril Delalandre
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
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Priority to FR1252675A priority Critical patent/FR2988502A1/fr
Priority to EP13713818.6A priority patent/EP2831846B1/fr
Priority to JP2015502248A priority patent/JP2015515058A/ja
Priority to CN201380023004.5A priority patent/CN104272351A/zh
Priority to PCT/EP2013/056130 priority patent/WO2013144029A1/fr
Priority to KR1020147029720A priority patent/KR20140144714A/ko
Priority to US14/386,375 priority patent/US9626791B2/en
Priority to CA2866589A priority patent/CA2866589C/fr
Publication of FR2988502A1 publication Critical patent/FR2988502A1/fr
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/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/55Radiosity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

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

Abstract

L'invention concerne un procédé de rendu d'un milieu participant (10) délimité par une boîte englobante (30) et rendu depuis un point de vue (14), le milieu (10) étant situé à une distance déterminée du point de vue selon une direction de visualisation. Afin de représenter les limites du milieu participant, le procédé comprend les étapes de : - pour au moins un point (300) du volume formé par la boîte englobante (30), estimation d'un ensemble de directions (31 à 3i) ayant pour origine ledit au moins un point (300) ; - pour chaque direction (31 à 3i), estimation d'un premier point d'intersection (31m), correspondant à l'intersection entre ladite direction et ledit milieu participant (10), pour lequel la valeur de densité associée est supérieure à une première valeur seuil ; et - estimation de troisièmes points d'intersection, correspondant aux intersections entre ladite direction de visualisation (120) et ledit milieu participant (10), à partir d'une information représentative de distances séparant le premier point d'intersection (31m) d'un deuxième point d'intersection (310), correspondant à l'intersection entre la direction et la boîte englobante (30) pour chaque direction d'au moins une partie de l'ensemble de directions estimées (31 à 3i). L'invention concerne également un dispositif correspondant.

Description

PROCEDE POUR REPRESENTER UN MILIEU PARTICIPANT DANS UNE SCENE ET DISPOSITIF CORRESPONDANT 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 représentation d'un milieu participant, qu'il soit homogène ou hétérogène, dans une image de synthèse. L'invention s'inscrit également dans le contexte des effets spéciaux pour une composition en temps réel (de l'anglais « live »). 2. Etat de l'art. Selon l'état de la technique, différentes méthodes existent pour simuler la diffusion de la lumière dans des milieux participants tels que par exemple le brouillard, la fumée, la poussière ou les nuages. Les milieux participants correspondent à des milieux composés de particules en suspension qui interagissent avec la lumière pour en modifier le trajet et l'intensité notamment. Les milieux participants peuvent être décomposés en deux parties, à savoir les milieux homogènes tels que l'eau et les milieux hétérogènes, tels que la fumée ou les nuages. Dans le cas des milieux participants homogènes, il est possible de calculer de manière analytique l'atténuation de la lumière émise par une source de lumière. En effet, de part leur nature homogène, ces milieux présentent des paramètres tels que le coefficient d'absorption de la lumière ou le coefficient de diffusion de la lumière de valeur constante en tout point du milieu. A contrario, les propriétés d'absorption et de diffusion de la lumière varient d'un point à un autre dans un milieu participant hétérogène. Les calculs nécessaires pour simuler la diffusion de la lumière dans un tel milieu hétérogène sont alors très coûteux et il n'est ainsi pas possible de calculer de manière analytique et en temps réel la quantité de lumière diffusée par un milieu participant hétérogène. De plus, le milieu n'étant pas diffus (c'est-à-dire, la diffusion du milieu étant anisotrope), la quantité de lumière diffusée par le milieu varie également en fonction de la direction de diffusion de la lumière, c'est-à-dire de la direction dans laquelle une personne regarde ce milieu. Les calculs estimant la quantité de lumière diffusée doivent alors être réitérés pour chaque direction d'observation du milieu par une personne pour obtenir un rendu réaliste du milieu.
Si l'on considère une scène virtuelle 1 telle qu'illustrée en figure 2, la scène 1 comprenant un milieu participant 10, par exemple un nuage, il est connu d'échantillonner un rayon 13 ayant pour origine un pixel P 100 d'un plan d'image 14, l'image 14 correspondant à une vue de la scène depuis un point de vue donné. L'échantillonnage du rayon 13 a pour objectif de pouvoir calculer de manière analytique la quantité de lumière reçue de la source de lumière 11 par chacun des échantillons 220, 221 et 222 du rayon 13. Pour calculer la quantité de lumière reçue au niveau du pixel P 100, on calcule la somme des quantités de lumières émises par chacun des échantillons du rayon 13. Comme seules les particules du milieu participant ont la propriété de diffuser la lumière reçue de la source de lumière, seule la partie du rayon traversant le milieu participant 10 a besoin d'être échantillonnée. Comme les limites du milieu participant ne sont pas clairement défini, il est connu de générer une boîte englobante 12 (de l'anglais « bounding box ») entourant le volume formé par le milieu participant 10, seule la partie du rayon comprise à l'intérieur de cette boîte englobante 12 étant échantillonnée. Pour diminuer les calculs nécessaires à la quantité de lumière reçue au niveau du pixel P par le milieu participant 10, il est connu de limiter le nombre d'échantillons du rayon 13 compris dans la boîte englobante, notamment lorsque le milieu participant est à une distance éloignée du pixel P, la contribution de milieu participant dans l'éclairage du pixel P 100 étant d'autant moins importante que le milieu participant 10 est éloigné du pixel P 100. Un des problèmes posés par un tel sous-échantillonnage du rayon 13 traversant la boîte englobante est que le nombre d'échantillons appartenant réellement au milieu participant peut être faible au regard du nombre d'échantillons total, ce qui entraîne des défauts ou erreurs importantes dans l'estimation de la quantité de lumière diffusée par le milieu participant 10. Un tel problème est illustré par la figure 2 pour laquelle sur trois échantillons 220, 221 et 222 du rayon 13 sur le segment compris dans la boîte englobante, seul l'échantillon 221 appartient réellement au milieu participant 10, les deux autres échantillons 220 et 222 appartenant à la boîte englobante mais pas au milieu participant 10. Comme seuls les échantillons appartenant au milieu participant 10 sont capables de diffuser la lumière reçue de la source de lumière 11, l'estimation de la quantité de lumière diffusée par le milieu participant 10 sera très approximative. Dans l'exemple de la figure 2, seul un échantillon sur trois représente réellement le milieu participant 10 et contribue dans le calcul de diffusion de la lumière. 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 la représentation d'un milieu participant pour composer un rendu réaliste en temps réel d'une scène virtuelle. L'invention concerne un procédé de rendu d'un milieu participant compris dans une scène, le milieu étant délimité par une boîte englobante, le milieu étant rendu depuis un point de vue situé à une distance déterminée du point de vue selon une direction de visualisation. Afin de représenter le milieu participant, et notamment ses limites dans la scène, le procédé comprend les étapes de : - pour au moins un point du volume formé par ladite boîte englobante, estimation d'un ensemble de directions ayant pour origine le au moins un point et distribuées selon au moins une demi-sphère dont la base est centrée sur le au moins un point ; - pour chaque direction d'au moins une partie de l'ensemble de directions estimées, estimation d'un premier point d'intersection, correspondant à l'intersection entre la direction et le milieu participant, pour lequel la valeur de densité associée est supérieure à une première valeur seuil, le premier point d'intersection étant estimé en partant d'un deuxième point d'intersection correspondant à l'intersection entre la direction et la boîte englobante ; et - estimation de troisièmes points d'intersection, correspondant aux intersections entre la direction de visualisation et le milieu participant, à partir d'une information représentative de distances séparant le premier point d'intersection du deuxième point d'intersection pour chaque direction de la au moins une partie de l'ensemble de directions estimées. Selon une caractéristique particulière, le procédé comprend une étape d'estimation de coefficients de projection dans une base de fonctions à partir de valeurs représentatives d'une distance séparant le premier point d'intersection du deuxième point d'intersection, l'information représentative de distances correspondant aux coefficients de projection estimés. Selon une caractéristique spécifique, la distance séparant le milieu participant du point de vue selon la direction de visualisation est supérieure à une deuxième valeur seuil, le au moins un point du volume formé par la boîte englobante correspond au centre de la boîte englobante, l'ensemble de directions estimées est distribuée selon une sphère centrée sur le centre de la boîte englobante.
Avantageusement, la base de fonctions est une base de fonctions sphérique. Selon une caractéristique particulière, la distance séparant le milieu participant du point de vue selon la direction de visualisation est inférieure à une deuxième valeur seuil et supérieure à une troisième valeur seuil, le procédé comprend une étape d'échantillonnage de la surface de la boite englobante en une pluralité d'échantillons, un ensemble de directions sont estimées pour une pluralité de points correspondant à au moins une partie de la pluralité d'échantillons, chaque ensemble de directions étant estimé selon une demi-sphère centré sur l'échantillon considéré de la pluralité d'échantillon, la base de la demi-sphère appartenant à la surface de la boîte englobante, la demi-sphère étant orientée vers l'intérieur de ladite boîte englobante, les troisièmes points d'intersection étant en outre estimés à partir d'un quatrième point d'intersection correspondant à l'intersection entre la direction de visualisation et la boîte englobante.
De manière avantageuse, lorsque le quatrième point d'intersection ne correspond pas à un des échantillons de la surface de la boîte englobante, le procédé comprend une étape de détermination d'un échantillon de la surface de la boîte englobante correspondant à la quatrième intersection par interpolation des échantillons entourant le quatrième point d'intersection. Selon une caractéristique particulière, le procédé comprend une étape d'échantillonnage de la direction de visualisation entre les troisièmes points d'intersection estimés. Selon une autre caractéristique, le milieu participant est un milieu participant hétérogène. L'invention concerne également un dispositif configuré pour le rendu d'un milieu participant compris dans une scène, le milieu étant délimité par une boîte englobante, le milieu étant rendu depuis un point de vue situé à une distance déterminée du point de vue selon une direction de visualisation, le dispositif comprenant : - des moyens pour estimer, pour au moins un point du volume formé par ladite boîte englobante, un ensemble de directions ayant pour origine le au moins un point et distribuées selon au moins une demi-sphère dont la base est centrée sur le au moins un point ; - des moyens pour estimer, pour au moins une partie de l'ensemble de directions estimées, un premier point d'intersection, correspondant à l'intersection entre la direction et le milieu participant, pour lequel la valeur de densité associée est supérieure à une deuxième valeur seuil, le premier point d'intersection étant estimé en partant d'un deuxième point d'intersection correspondant à l'intersection entre la direction et la boîte englobante ; - des moyens pour estimer des troisièmes points d'intersection, correspondant aux intersections entre la direction de visualisation et le milieu participant, à partir d'une information représentative de distances séparant le premier point d'intersection du deuxième point d'intersection pour chaque direction de la au moins une partie de l'ensemble de directions estimées. De manière avantageuse, le dispositif comprend des moyens pour estimer des coefficients de projection dans une base de fonctions à partir de valeurs représentatives d'une distance séparant le premier point d'intersection du deuxième point d'intersection.
Selon une caractéristique particulière, le dispositif comprend des moyens pour échantillonner la surface de la boite englobante en une pluralité d'échantillons. Selon une autre caractéristique, le dispositif comprend des moyens pour échantillonner la direction de visualisation entre les troisièmes points d'intersection estimés. L'invention concerne également un produit programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé de rendu d'un milieu participant lorsque le programme est exécuté sur un ordinateur.
L'invention concerne en outre un moyen de stockage lisible par un ordinateur, stockant le jeu d'instructions exécutables par l'ordinateur pour mettre en oeuvre le procédé de rendu d'un milieu participant. 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 une méthode d'échantillonnage d'un milieu participant selon l'art antérieur ; - la figure 3 illustre une étape de représentation d'un milieu participant de la figure 1, selon un premier mode de réalisation particulier de l'invention ; - les figures 4 et 5 illustrent deux étapes de représentation d'un milieu participant de la figure 1, selon un deuxième mode de réalisation particulier de l'invention ; - la figure 6 illustre l'échantillonnage d'un milieu participant des figures 3, 4 et 5, selon un mode de réalisation particulier de l'invention ; - la figure 7 illustre un dispositif mettant en oeuvre une méthode de rendu d'un milieu participant de la figure 1, selon un exemple de mise en oeuvre particulier de l'invention ; - la figure 8 illustre une méthode de rendu d'un milieu participant de la figure 1, selon un exemple de mise en oeuvre particulier de l'invention. 5. Description détaillée de modes de réalisation de l'invention.
La figure 1 illustre un milieu participant hétérogène 10 (de l'anglais « heterogeneous participating media »), par exemple un nuage. Un milieu participant est un milieu, composé d'une multitude de particules en suspension, qui absorbe, émet et/ou diffuse de la lumière. Dans sa forme la plus simple, un milieu participant absorbe seulement de la lumière, par exemple de la lumière reçue d'une source de lumière 11 telle que le soleil par exemple. Cela signifie que de la lumière passant au travers du milieu 10 est atténuée, l'atténuation dépendant de la densité du milieu. Le milieu participant 10 est par exemple hétérogène, c'est-à-dire que les caractéristiques physiques du milieu, telle que la densité des particules le composant par exemple, varient d'un point à un autre dans le milieu. Comme le milieu participant est composée de petites particules qui interagissent avec la lumière, la lumière incidente, c'est-à-dire reçue de la source de lumière 11 selon une direction coin 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 coin 110 et la direction de diffusion wout 120 de la lumière. La quantité de lumière diffusée en un point M 13 du milieu 10 dans la direction de diffusion wout 120 est calculée par l'équation suivante : Q(m,wout) = D (M). us. p(m, wout, w in). Lri(M, w in) Equation 1 La quantité de lumière diffusée par un point M 13 du milieu atteignant l'oeil d'un spectateur 12 situé en un point C de l'espace dans la direction wout 120, c'est-à-dire la quantité de lumière diffusée par le point M et atténuée par le milieu 10 sur le trajet M-P, le point P étant situé à l'intersection du milieu 10 et de la direction wout dans la direction du spectateur 12, est alors : L (11/1 fout) = (2(m,wout).expiPm (s).at.ds - a est le coefficient de diffusion du milieu, - Ga est le coefficient d'absorption du milieu, - at=as+Ga est le coefficient d'extinction du milieu, - D(M) est la densité du milieu en un point donné, la densité variant 20 d'un point à un autre puisque le milieu 10 est hétérogène, - n(NA bi ) est la fonction de phase décrivant comment la lumière provenant de la direction d'incidence Loin est diffusée dans la direction de diffusion wout au point M, - Lri(M,win) est l'intensité lumineuse réduite au point M provenant de 25 la direction d'incidence Loin 110 et représente la quantité de lumière incidente arrivant au point M après atténuation due au trajet de la lumière dans le milieu 10 sur le segment K-M, K étant le point d'intersection entre le milieu 10 et le rayon d'incidence Loin 110, et vaut : 30 eXpfMK -D (s)o-tds Equation 3 - exp.bm -D(s)citcls représente l'atténuation de luminance diffusée due à l'absorption et à la diffusion le long du chemin allant de P 15 à M 13. 35 L'équation 2 permet de calculer la quantité de lumière diffusée par un point M et atteignant l'oeil d'un spectateur 12 situé sur la direction wout. Pour calculer la quantité de lumière reçue par un spectateur regardant dans Equation 2 laquelle : pour la direction wout, il faut alors effectuer la somme de toutes les contributions de l'ensemble des points du milieu situés sur l'axe wout, c'est-à-dire les points situés sur le segment P-Mmax, P et Mmax étant les deux points d'intersection entre le milieu 10 et la direction wout 120. Cette luminance diffusée totale arrivant en P 15 depuis la direction wout 120 due à la diffusion simple est alors : L(P,wout) = fpmm" Lp(m,wout)cim Equation 4 Dans ce cas de figure, on suppose que la lumière parcourant le trajet C-P n'est pas atténuée. Cette luminance diffusée totale est obtenue par intégration des contributions de tous les points situés entre P et Mmax sur un rayon ayant wout comme direction. Une telle équation intégrale ne peut pas être résolue de manière analytique dans le cas général et encore moins pour une estimation en temps réel de la quantité de lumière diffusée. L'intégrale est évaluée numériquement en utilisant la méthode dite d'échantillonnage de rayon ou de suivi de rayon (de l'anglais « ray-marching »). Dans cette méthode, le domaine d'intégration est discrétisé en une multitude d'intervalles de taille ÔM et on obtient l'équation suivante : L(P, wout) ''k'' Mmax LP 011, Wout)8M Equation 5 De manière avantageuse, le milieu participant hétérogène 10 est un élément à trois dimensions, représenté en deux dimensions sur la figure 1 pour des raisons de clarté. Selon une variante, le milieu 10 est éclairé par une pluralité de sources lumineuses, par exemple 1000, 10000, 100000 ou 1000000 sources lumineuses, les sources lumineuses formant un environnement lumineux.
L'estimation de la lumière provenant de plusieurs sources lumineuses distantes est réalisée en utilisant la méthode de carte d'environnement (de l'anglais « environment mapping ») bien connue de l'homme du métier. Selon la méthode dite de carte d'environnement, on considère que toutes les sources lumineuses de l'environnement lumineux sont situées à l'infini optique par rapport aux points du milieu 10. Il est ainsi possible de considérer que les directions prises par la lumière émise par différentes sources lumineuses sont identiques quels que soient les points considérés du milieu. 2 9 88502 9 L'effet de parallaxe dû à la distance séparant différents points du milieu 10 est ainsi négligé. Selon cette variante, pour estimer l'atténuation de la lumière incidente en un point M, il est nécessaire de calculer l'atténuation de la lumière via l'équation 7 pour un ensemble de directions d'incidence 5 représentatif de l'environnement lumineux, ce qui augmente significativement les calculs. Selon une autre variante, les caractéristiques physiques du milieu 10, telles que le coefficient de diffusion a du milieu et/ou le coefficient d'absorption aa du milieu, varient également d'un point à un autre dans le 10 milieu 10, tout comme la densité. Selon une variante supplémentaire, seul l'un des deux ou les deux coefficients a et aa varient dans le milieu, la densité étant homogène dans le milieu. La figure 3 illustre une étape du rendu d'un milieu participant 10, 15 selon un mode de réalisation particulier et non limitatif de l'invention. Une boîte englobante (de l'anglais « bounding box ») 30 est avantageusement définie autour du milieu participant 10, c'est-à-dire que le volume formé par le milieu participant 10 est entouré d'un volume formé par une boîte de forme avantageusement parallélépipédique rectangle ou carrée ou de toute autre 20 forme. La boîte englobante permet de fournir une estimation rapide du volume occupé par le milieu participant 10 dans la scène virtuelle 1. L'utilisation d'une boîte englobante, dite aussi volume englobant, permet de simplifier et d'accélérer tous les calculs géométriques impliquant le milieu participant 10, la géométrie de la boîte englobante étant plus simple que 25 celle du milieu participant, dont la forme peut être complexe. La boîte englobante est générée de manière à inclure toute la géométrie du milieu participant, un espace existant entre la surface intérieure de la boîte englobante et la surface extérieure du milieu participant, au moins par endroit. 30 Selon le mode de réalisation de la figure 3, le milieu participant est situé à une distance importante du point de vue selon lequel ce milieu participant 10 est observé, c'est-à-dire à une distance supérieure à une deuxième valeur seuil. On considère avantageusement qu'un milieu participant est à une distance supérieure à la deuxième valeur seuil si la 35 surface projetée de la boîte englobante qui l'entoure sur le plan image est inférieure à par exemple 5%, 10%, 15% de la surface totale du plan image. On peut ainsi considérer que, quelle que soit la direction selon laquelle on regarde le milieu participant, la direction d'observation passe par le centre P 300 de la boîte englobante entourant le milieu participant 10. Une sphère de centre P est alors avantageusement échantillonnée en i directions 31, 32, 33, 34, 35, 36, 37 et 3i, i étant un entier naturel supérieur ou égal à 2, par exemple égal à 10, 100, 1000 ou 10000. Pour chacune de ces directions 31 à 3i, le point d'intersection avec la surface de la boîte englobante est calculée par toute méthode géométrique connue de l'homme du métier. En prenant la direction 31 pour exemple, le point d'intersection entre la direction 31 et la surface de la boîte englobante 30 correspond au point Po 310. En partant de ce point d'intersection Po, le segment de droite [P0P] est parcouru le long de la direction 31 en allant vers P 300 jusqu'à rencontrer un point Pm 31m pour lequel la valeur de densité qui lui est associée est supérieure à une première valeur seuil. Cette première valeur seuil correspond avantageusement à une valeur de densité représentative de la densité minimale d'une particule d'un milieu participant. Le point Pm correspond avantageusement à la première intersection entre la direction 31 et le milieu participant 10 en partant de la surface de la boîte englobante. Le point Pm 31m est recherché par exemple en utilisant une méthode de lancer de rayon (de l'anglais « ray tracing » ou « ray marching »). Selon une variante, le point Pm 310 est recherché en utilisant une méthode de recherche dichotomique selon laquelle le segment [P0P] est coupée en 2 de manière itérative jusqu'à trouver le point Pm 31m ayant une valeur de densité associée supérieure à la première valeur seuil. La première valeur seuil est avantageusement un paramètre système prédéterminé. Selon une variante, la première valeur seuil est un paramètre entré par un utilisateur du système effectuant le rendu du milieu participant. Une fois le point d'intersection Pm 31m déterminé, la distance séparant ce premier point d'intersection Pm 31m (correspondant à l'intersection entre la direction 31 et l'enveloppe (ou autrement dit la surface) externe du milieu participant 10) du deuxième point d'intersection Po 310 (correspondant à l'intersection entre la direction 31 et la surface de la boîte englobante) est déterminée, cette distance correspondant à la norme Il PoPm II, cette distance étant déterminée à partir des coordonnées associées à ces points Po et Pm de la scène virtuelle 1.
Ce processus est avantageusement réitéré pour chacune des directions restantes 32 à 3i pour estimer la distance séparant un premier point d'intersection, correspondant à l'intersection entre la direction concernée et l'enveloppe externe du milieu, et un deuxième point d'intersection, correspondant à l'intersection entre la direction concernée et la surface de la boîte englobante 30. Ces distances séparant le premier point d'intersection du deuxième point d'intersection pour chaque direction sont par exemple stockées dans une mémoire pour être réutilisées dans les calculs réalisées pour échantillonner le milieu participant. Selon une variante avantageuse, ces distances séparant le premier point d'intersection du deuxième point d'intersection le long de chaque direction 31 à 3i sont projetées sur un ensemble de fonctions de base, telles que des harmoniques sphériques par exemple. Chaque fonction de l'espace fonctionnel peut ê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. En utilisant une base orthonormée de fonctions sphériques, il est possible de représenter la fonction représentative des distances entre les premiers points et les deuxièmes points au point P par : D(P) ji.%1 Cr (P)Bi (P) Equation 6 où D(P) est la fonction limite représentative des distances entre les premiers points d'intersection et les deuxièmes points d'intersection, Cri(P) est le jième coefficient de projection (sur un total de Nc coefficients) de la fonction de base Bi(P) et où Cri(P) est défini par l'intégrale sur la sphère CI de centre P, c'est à dire : Cr (P) = R(P , co)13i (w)cho Equation 7 L'ensemble Nc (par exemple 16 ou 32 coefficients) de coefficients de projection de fonction de base ainsi calculés est stocké dans une table d'une mémoire du GPU. Ces coefficients sont représentatifs des distances séparant les premiers points d'intersection des deuxièmes points d'intersection le long des i directions formant la sphère Q. L'utilisation de coefficients de projection représentatif de la fonction limite permet de limiter l'espace mémoire nécessaire au stockage de l'information de distance entre les premiers points d'intersection et les deuxièmes points d'intersection.
Selon une variante, les distances sont projetées sur des fonctions de base de type ondelettes (de l'anglais « wavelets »), les harmoniques sphériques étant cependant particulièrement adaptées pour représenter des valeurs de distances variant doucement, ce qui est généralement le cas avec les limites de milieux translucides tels que les nuages. Selon une autre variante, les distance séparant le centre P 300 de la boîte englobante des premiers points d'intersection (correspondant à l'intersection entre chaque direction 31 à 3i et le milieu participant 10) sont estimées à la place des distances séparant les premiers points d'intersection des deuxièmes points d'intersection. La fonction limite représentative de ces distances est alors déterminées comme décrit ci-dessus.
Les figures 4 et 5 illustrent un deuxième exemple de mise en oeuvre pour l'estimation de distances entre la surface de la boîte englobante 30 et l'enveloppe externe du milieu participant 10. Ce deuxième exemple est plus adapté pour la représentation de milieux participants situés à une distance moyennement distante du point de vue, c'est-à-dire à une distance inférieure à la deuxième valeur seuil définie dans le premier exemple de mise en oeuvre décrit en regard de la figure, mais supérieure à une troisième valeur seuil représentative d'une distance. Un milieu participant est considéré comme étant à une distance supérieure à la troisième valeur seuil si la surface projetée de la boîte englobante entourant le milieu sur le plan image est inférieure à 25% ou 30% de la surface totale du plan image. Cet exemple de mise en oeuvre convient plus particulièrement à la représentation de milieux participants situés à une distance du point de vue telle qu'on ne peut pas considérer que toutes les directions de visualisation passent en un même point du milieu participant 10.
Le figure 4 illustre une première étape du deuxième exemple de mise en oeuvre. Au cours de cette étape, la surface de la boîte englobante 30 englobant le milieu participant 10 est échantillonnée en j échantillons 401, 402, ..., 4120, 40j, j étant un entier naturel supérieur ou égal à 2. Le nombre j d'échantillons est choisi de manière à représenter la surface de la boîte englobante avec une certaine précision, le degré de précision étant choisi en fonction du nombre de calculs que peut supporter la carte graphique sur laquelle est mise en oeuvre l'invention, notamment lorsque des contraintes de temps réel existent pour le rendu de la scène virtuelle comprenant le milieu participant 10.
La figure 5 illustre une deuxième étape du deuxième exemple de réalisation, en prenant un des échantillons 401 parmi la pluralité d'échantillons 401 à 40j comme exemple. Un demi-sphère est définie avec pour centre l'échantillon 401 (qui peut être assimilé à un point Po), pour base une partie de la surface de la boîte englobante et dirigée principalement vers l'intérieur de la boîte englobante, c'est-à-dire orientée vers le milieu participant. Cette demi-sphère est échantillonnée en une pluralité de k directions 51, 52, 53, 54, 55, 5k, k étant un entier naturel supérieur ou égal à 2. Pour chacune de ces directions 51 à 5k, le point d'intersection avec la surface de la boîte englobante, dit deuxième point d'intersection, n'est pas calculé comme pour le premier exemple de mise en oeuvre car il est connu et correspond au point Po représentatif de l'échantillon considéré 401. En prenant la direction 52 pour exemple et en partant de Po 401, la direction 52 est parcourue en s'éloignant de Po 401 jusqu'à rencontrer, après avoir parcouru les points 521, 522 et 523, un point Pm 52m pour lequel la valeur de densité qui lui est associée est supérieure à une première valeur seuil. Cette première valeur seuil correspond avantageusement à une valeur de densité représentative de la densité représentative minimale d'une particule d'un milieu participant. Le point Pm 52m correspond avantageusement à la première intersection entre la direction 52 et le milieu participant 10 en partant de la surface de la boîte englobante. De la même façon que l'exemple décrit en regard de la figure 3, Le point Pm 52m est recherché par exemple en utilisant une méthode de lancer de rayon ou en utilisant une méthode de recherche dichotomique. Une fois le point d'intersection Pm 52m (dit premier point d'intersection) déterminé, la distance séparant ce premier point d'intersection Pm 52m du deuxième point d'intersection Po 401 est déterminée, cette distance correspondant à la norme 11PoPm11, cette distance étant déterminée à partir des coordonnées associées à ces points Po et Pm de la scène virtuelle 1. Ce processus est avantageusement réitéré pour chacune des directions restantes 52 à 5k pour estimer la distance séparant un premier point d'intersection, correspondant à l'intersection entre la direction concernée et l'enveloppe externe du milieu, et un deuxième point d'intersection, correspondant à l'intersection entre la direction concernée et la surface de la boîte englobante 30, c'est-à-dire au centre de la demi-sphère correspondant à l'échantillon considéré de la surface de la boîte englobante. Ces distances séparant le premier point d'intersection du deuxième point d'intersection pour chaque direction sont par exemple stockées dans une mémoire pour être réutilisées dans les calculs réalisées pour échantillonner le milieu participant. Selon une variante avantageuse, ces distances séparant le premier point d'intersection du deuxième point d'intersection le long de chaque direction 35 à 5i sont projetées sur un ensemble de fonctions de base, telles que des harmoniques hémisphériques par exemple, selon le même principe que pour les harmoniques sphériques décrites en regard de l'exemple de mise en oeuvre illustré par la figure 3. Un ensemble Nc (par exemple 16 ou 32 coefficients) de coefficients de projection de fonction de base ainsi est ainsi calculé puis stocké dans une table d'une mémoire du GPU. Ces coefficients sont représentatifs des distances séparant les premiers points d'intersection des deuxièmes points d'intersection le long des k directions formant la demi-sphère. Puis, de manière avantageuse, le même processus est réitéré pour tout ou partie des échantillons 401 à 40j représentatifs de la surface de la boîte englobante 30. Ainsi, une information de distance représentative des distances séparant l'échantillon considéré des différents points d'intersections entre les k directions ayant pour origine l'échantillon considéré et l'enveloppe du milieu participant 10 est déterminée pour chaque échantillon 401 à 40j. Ainsi, une information représentative de distance (c'est-à-dire une pluralité de valeurs de distance ou une pluralité de coefficients de projections représentatifs des valeurs de distance) est associée à chaque échantillon considéré de la surface de la boîte englobante 30 (et stockée dans une table d'une mémoire de GPU).
La figure 6 illustre l'échantillonnage d'une direction de visualisation traversant le milieu participant, selon un mode de réalisation particulier et non limitatif de l'invention. Pour une direction de visualisation 120 donnée correspondant à la direction selon laquelle un spectateur observe la scène virtuelle 1, à chaque direction étant associée un pixel du plan image 14 qui représente l'image selon le point de vue du spectateur, les deux points d'intersections, dits troisièmes points d'intersection, 61 et 62 entre la direction de visualisation 120 d'une part et le milieu participant 10 d'autre part sont déterminés en utilisant l'information de distance stockée en mémoire. L'information de distance représentant les distances entre la surface de la boîte englobante 30 et l'enveloppe externe du milieu participant 10 définit avantageusement la forme générale du milieu participant 10, ce qui permet de retrouver rapidement et avec précision les intersections réelles entre la direction de visualisation 120 et le milieu participant 10. Dans le cas où le milieu participant 10 est situé à une distance moyennement éloignée du point de vue, c'est-à-dire à une distance supérieure à la troisième valeur seuil définie précédemment et inférieure à la première valeur seuil définie précédemment, les points d'intersection, dits quatrièmes points d'intersection, 1201 et 1202 entre la direction de visualisation et le volume englobant sont déterminés avant de déterminer les troisièmes points d'intersection. Déterminer les quatrièmes points d'intersection 1201, 1202 de manière préalable permet de savoir quelle information de distance utiliser pour estimer les troisièmes points d'intersection 61, 62. En effet, comme cela a été décrit en regard des figures 4 et 5, une information de distance est associée à chaque échantillon 401 à 40j de la surface de la boîte englobante 30. Pour savoir quelle information de distance utiliser, il est par conséquent nécessaire de savoir à quels échantillons de la surface de la boîte englobante il faut se référer. Lorsque par exemple un quatrième point d'intersection 1201 déterminé ne correspond pas à un des points d'échantillons 401 à 40j, une information de distance associée à ce quatrième point d'intersection est calculée par interpolation des informations de distance associées aux points d'échantillons entourant ce quatrième point d'intersection pour lesquels on dispose d'informations de distances associées. Une fois les troisièmes points d'intersection 61, 62 (entre la direction de visualisation 120 et le milieu participant 10) déterminés, le segment de droite correspondant au segment commun à la direction de visualisation 120 et au milieu participant 10, c'est-à-dire au segment de droite compris entre les deux troisièmes points d'intersection 61, 62, est échantillonné en une pluralité d'échantillons 60, le nombre d'échantillons étant choisi pour avoir un bon compromis entre une représentation fidèle du segment de droite et les coûts en calcul qui en découleront lors du rendu du milieu participant, plus le nombre d'échantillons étant important, plus les calculs nécessaires au rendu du milieu participant étant coûteux. Le même processus d'échantillonnage est avantageusement réitéré pour plusieurs directions de visualisation afin d'obtenir une représentation complète du milieu participant, et partant de là un rendu complet (depuis le point de vue considéré) du milieu participant. Il est ainsi par exemple possible d'estimer la quantité de lumière diffusée par le milieu participant 10 en direction du point de vue en utilisant les équations décrites en regard de la figure 1. Selon une variante, le processus d'échantillonnage est réitéré pour plusieurs points de vue, par exemple dans le cas où la scène virtuelle 1 comprenant le milieu participant 10 est une scène de jeu vidéo dans laquelle se déplace l'avatar d'un joueur, les points de vue de la scène variant au fur et à mesure du déplacement de l'avatar dans la scène. La figure 7 illustre schématiquement un exemple de réalisation matérielle d'un dispositif 7 adapté au rendu d'un milieu participant 10 et à la création de signaux d'affichage d'une ou plusieurs images. Le dispositif 7 correspondant par exemple à un ordinateur personnel PC, à un ordinateur portable (de l'anglais « laptop ») ou à une console de jeux. Le dispositif 7 comprend les éléments suivants, reliés entre eux par un bus 75 d'adresses et de données qui transporte également un signal d'horloge : - un microprocesseur 71 (ou CPU) ; - une carte graphique 72 comprenant : - plusieurs processeurs de traitement graphique 720 (ou GPUs) ; - une mémoire vive de type GRAM (de l'anglais « Graphical Random Access Memory ») 721 ; - une mémoire non volatile de type ROM (de l'anglais « Read Only Memory ») 76 ; - une mémoire vive ou RAM (de l'anglais « Random Access Memory ») 77 ; - un ou plusieurs dispositifs I/O (de l'anglais « Input/Output » ou en français « Entrée/Sortie ») 74, tels que par exemple un clavier, une souris, une webcam ; et - une alimentation 78. Le dispositif 7 comprend également un dispositif d'affichage 73 de type écran d'affichage relié directement à la carte graphique 72 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 73 à la carte graphique 72 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, un appareil pour afficher est externe au dispositif 7 et est relié au dispositif 7 par un câble transmettant les signaux d'affichage. Le dispositif 7, par exemple la carte graphique 72, comprend un moyen de transmission ou connecteur (non représenté sur la figure 7) 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 72, 76 et 77 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 71 charge et exécute les instructions du programme contenu dans la RAM 77.
La mémoire vive 77 comprend notamment : - dans un registre 770, le programme de fonctionnement du microprocesseur 71 chargé à la mise sous tension du dispositif 7, - des paramètres 771 représentatifs du milieu participant 10 (par exemple paramètres de densité, de coefficients d'absorption de la lumière, de coefficients de diffusion de la lumière). Les algorithmes mettant en oeuvre les étapes du procédé propres à l'invention et décrits ci-après sont stockés dans la mémoire GRAM 77 de la carte graphique 72 associée au dispositif 7 mettant en oeuvre ces étapes. A la mise sous tension et une fois les paramètres 770 représentatifs du milieu chargés en RAM 77, les processeurs graphiques 720 de la carte graphique 72 charge ces paramètres en GRAM 721 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 721 comprend notamment : - dans un registre 7210, les paramètres représentatifs du milieu 10 , - les paramètres 7211 représentatifs de la boîte englobante (par exemple les coordonnées d'un point associé à un des angles avec des valeurs représentatives de la largeur, la hauteur et la profondeur de la boîte) ; - des paramètres 7212 représentatifs des premiers, deuxième, troisième et/ou quatrièmes points d'intersection (par exemple les coordonnées des points d'intersection) ; - des valeurs 7213 représentatives de distances entre la surface de la boîte englobante 30 et l'enveloppe externe du milieu 10 ; - des coefficients de projections 7214 représentatifs des valeurs de distances entre la surface de la boîte englobante 30 et l'enveloppe externe du milieu 10 ; et - des valeurs 7215 représentatives de la quantité de lumière diffusée par le milieu 10 selon une ou plusieurs directions d'observation. Selon une variante, une partie de la RAM 77 est allouée par le CPU 71 pour stocker les paramètres 7211, 7212 et les valeurs 7213, 7214 et 7215 si l'espace mémoire disponible en GRAM 721 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 77 en passant par le bus 75 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 G PUs à la GRAM et vice-versa. Selon une autre variante, l'alimentation 78 et/ou l'affichage 73 sont externes au dispositif 7. La figure 8 illustre un procédé de rendu d'un milieu participant 10 mis en oeuvre dans un dispositif 7, selon un premier exemple de mise en oeuvre non limitatif particulièrement avantageux de l'invention.
Au cours d'une étape d'initialisation 80, les différents paramètres du dispositif 7 sont mis à jour. En particulier, les paramètres représentatifs du milieu participant 10 sont initialisés d'une manière quelconque. Ensuite, au cours d'une étape 81, au moins une demi-sphère centré sur un point du volume formé par une boîte englobante entourant le milieu participant 10 est définie par une pluralité de directions ayant pour origine le point du volume. Selon un premier mode de réalisation, le point du volume formé la boîte englobante correspond au centre de la boîte englobante, notamment lorsque le milieu participant est très éloigné d'un point de vue, c'est-à-dire à une distance supérieure à une deuxième valeur seuil depuis lequel le milieu participant est rendu. Selon ce mode de réalisation, deux demi-sphères formant une sphère sont définies par la pluralité de directions. Selon un deuxième mode de réalisation, plusieurs demi-sphères centrées sur des points de la surface de la boîte englobante sont définies par une pluralité de direction ayant chacune pour origine un des points de la surface de la boîte englobante. Ce deuxième mode de réalisation est avantageux lorsque le milieu participant est situé à une distance moyenne du point de vue, c'est-à-dire à une distance inférieure à la deuxième valeur seuil définie dans le premier mode de réalisation mais supérieure à une troisième valeur seuil. Puis, au cours d'une étape 82, un premier point d'intersection est estimé pour une ou plusieurs des directions formant la ou les demi-sphères définies lors de l'étape précédente. Le nombre de directions est choisi en fonction des capacités de calcul du dispositif sur lequel est mis en oeuvre le procédé et/ou en fonction de la qualité de la représentation ou du rendu du milieu participant souhaitée, plus le nombre de directions étant importants, plus les calculs étant coûteux et la qualité élevée. Le point d'intersection estimé correspond, pour une direction donnée d'une demi-sphère, à l'intersection entre la direction considérée et le milieu participant lorsque la direction considérée est parcourue de puis un deuxième point d'intersection correspondant à l'intersection entre la direction considérée et la surface de la boîte englobante. Dans le cas du deuxième mode de réalisation, ce deuxième point d'intersection correspond au centre de la demi-sphère comprenant la direction considérée. Le premier point d'intersection est avantageusement estimé en parcourant la direction considérée en partant du deuxième point d'intersection et correspond au premier point de cette direction remplissant un critère relatif à l'information de densité qui lui est associée, c'est-à-dire au premier point pour lequel la valeur de densité qui lui est associée est supérieure à une première valeur seuil de densité. Une fois le premier point d'intersection déterminé, la distance séparant le premier point d'intersection est déterminée avant d'être stockée en mémoire. La détermination d'une pluralité de distances entre premier et deuxièmes points d'intersection pour une pluralité de direction permet de définir la forme extérieure du milieu participant en prenant comme référence la surface de la boîte englobante. Cela revient en d'autres termes de définir une fonction limite représentative de la forme ou de l'enveloppe du milieu participant 10. Selon une variante, afin d'économiser les ressources en mémoire, cette fonction limite est représentée dans l'espace d'une base de fonctions par un ensemble de coefficients de projections. Le stockage des coefficients de projection prend moins d'espace mémoire que le stockage des valeurs de distances séparant les premier et deuxième points d'intersection, tout en permettant de retrouver cette information de distance. Enfin, au cours d'une étape 83, deux troisièmes points d'intersection sont estimés à partir de l'information représentative des distances séparant les premier et deuxième points d'intersection, c'est-à-dire à partir des valeurs de distances elles-mêmes ou à partir des coefficients de projection représentatifs de ces valeurs de distances. Les deux troisièmes points d'intersection correspondent aux intersections entre d'une part une direction de visualisation selon laquelle le milieu est observé depuis un point de vue donné et d'autre part l'enveloppe externe du milieu participant définie par les informations de distances estimées précédemment. Selon une variante, le procédé comprend également une étape d'échantillonnage du segment de droite compris entre les deux troisièmes points d'intersection, c'est-à-dire le segment de droite correspondant à l'intersection formée par la direction de visualisation et le volume formé par le milieu participant 10. L'échantillonnage du milieu participant selon la direction de visualisation permet avantageusement de calculer la quantité de lumière diffusée par le milieu participant le long de la direction d'observation afin de rendre le milieu participant sur un pixel d'un plan image correspondant à la direction d'observation. Les étapes de détermination des troisièmes points d'intersection et d'échantillonnage du milieu participant sont avantageusement réitérées pour une pluralité de directions d'observation afin de rendre une image complète du milieu participant 10.
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é de rendu d'un milieu participant mais s'étend également à un procédé de modélisation ou de représentation d'un milieu participant, que ce milieu participant soit homogène ou hétérogène. L'invention s'étend également à tout dispositif mettant en oeuvre ce procédé et notamment tous les dispositifs comprenant au moins un GPU, aux produits programmes d'ordinateurs comprenant les instructions de code de programme pour l'exécution des étapes de la méthode de rendu ou de modélisation ainsi qu'à tout moyen de stockage (par exemple de type RAM ou GRAM, mémoire flash, CD, DVD) sur lequel sont stockées les instructions exécutable pour la 5 mise en oeuvre de la méthode de rendu ou de modélisation. La mise en oeuvre des étapes décrites en regards des figures 1 à 6 n'est pas non plus limitée à une mise en oeuvre dans des microprogrammes de type shader mais s'étend également à une mise en oeuvre dans tout type de programme, par exemple des programmes exécutables par un microprocesseur de type 10 CPU. De manière avantageuse, les fonctions de base utilisées pour l'estimation des coefficients de projections sont des fonctions de type harmoniques sphériques ou hémisphériques ou de type ondelettes sphériques ou hémisphériques.
15 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 oeuvre de l'invention en postproduction offre l'avantage de fournir un excellent rendu visuel en termes 20 de réalisme notamment tout en diminuant les temps de calcul nécessaires. L'invention concerne également un procédé de composition d'une image vidéo, en deux dimensions ou en trois dimensions, pour lequel la quantité de lumière diffusée par un milieu participant hétérogène est calculée et l'information représentative de la luminance qui en découle est utilisée 25 pour l'affichage des pixels de l'image, chaque pixel correspondant à une direction d'observation selon une direction d'observation wout. La valeur de luminance calculée pour affichage par chacun des pixels de l'image est recalculée pour s'adapter aux différents points de vue du spectateur. La présente invention peut être utilisée dans des applications de 30 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 7 décrit en regard de la figure 7 est avantageusement doté de moyens d'interactions tels que clavier et/ou manette de jeux, d'autres modes 35 d'introduction de commandes telle que par exemple la reconnaissance vocale étant également possibles.

Claims (14)

  1. REVENDICATIONS1. Procédé de rendu d'un milieu participant (10) compris dans une scène (1), le milieu étant délimité par une boîte englobante (30), ledit milieu participant (10) étant rendu depuis un point de vue (14) situé à une distance déterminée du point de vue selon une direction de visualisation (120), caractérisé en ce que le procédé comprend les étapes de : - pour au moins un point (300 ; 401) du volume formé par ladite boîte englobante, estimation (81) d'un ensemble de directions (31 à 3i ; 51 à 5k) ayant pour origine ledit au moins un point (300 ; 401) et distribuées selon au moins une demi-sphère dont la base est centrée sur ledit au moins un point (300 ; 401) ; - pour chaque direction d'au moins une partie de l'ensemble de directions estimées (31 à 3i ; 51 à 5k), estimation (82) d'un premier point d'intersection (31m ;52m), correspondant à l'intersection entre ladite direction et ledit milieu participant (10), pour lequel la valeur de densité associée est supérieure à une première valeur seuil, ledit premier point d'intersection (31m ;52m) étant estimé en partant d'un deuxième point d'intersection (310 ; 401) correspondant à l'intersection entre ladite direction et ladite boîte englobante (30) ; et - estimation (83) de troisièmes points d'intersection (61, 62), correspondant aux intersections entre ladite direction de visualisation (120) et ledit milieu participant (10), à partir d'une information représentative de distances séparant le premier point d'intersection (31m ; 52m) du deuxième point d'intersection (310 ;401) pour chaque direction de la au moins une partie de l'ensemble de directions estimées (31 à 3i ; 51 à 5k).
  2. 2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend une étape d'estimation de coefficients de projection dans une base de fonctions à partir de valeurs représentatives d'une distance séparant le premier point d'intersection (31m ; 52m) du deuxième point d'intersection (310 ;401), ladite information représentative de distances correspondant aux coefficients de projection estimés.
  3. 3. Procédé selon l'une des revendications 1 à 2, caractérisé en ce que, la distance séparant ledit milieu participant (10) dudit point de vue (14) selon la direction de visualisation (120) étant supérieure à une deuxième valeur seuil, ledit au moins un point (300) du volume formé par ladite boîte englobante (30) correspond au centre de la boîte englobante (30), l'ensemble de directions estimées (31 à 3i) étant distribuée selon une sphère centrée sur le centre (300) de la boîte englobante.
  4. 4. Procédé selon l'une des revendications 2 à 3, caractérisé en ce que ladite base de fonctions est une base de fonctions sphérique.
  5. 5. Procédé selon l'une des revendications 1 à 2, caractérisée en ce que, la distance séparant ledit milieu participant (10) dudit point de vue (14) selon la direction de visualisation (120) étant inférieure à une deuxième valeur seuil et supérieure à une troisième valeur seuil, le procédé comprend une étape d'échantillonnage de la surface de ladite boite englobante en une pluralité d'échantillons (401 à 40j), un ensemble de directions (51 à 5k) étant estimées pour une pluralité de points (401) correspondant à au moins une partie de la pluralité d'échantillons (401 à 40j), chaque ensemble de directions étant estimé selon une demi-sphère centrée sur l'échantillon considéré (401) de la pluralité d'échantillons, la base de la demi-sphère appartenant à la surface de la boîte englobante, la demi-sphère étant orientée vers l'intérieur de ladite boîte englobante, les troisièmes points d'intersection (61, 62) étant en outre estimés à partir d'un quatrième point d'intersection (131) correspondant à l'intersection entre la direction de visualisation (120) et la boîte englobante (30).
  6. 6. Procédé selon la revendication 5, caractérisé en ce que lorsque le quatrième point d'intersection (131) ne correspond pas à un des échantillons (401 à 40j) de la surface de la boîte englobante (30), le procédé comprend une étape de détermination d'un échantillon de la surface de la boîte englobante correspondant à la quatrième intersection (131) par interpolation des échantillons entourant ledit quatrième point d'intersection (131).35
  7. 7. Procédé selon l'une des revendications 1 à 6, caractérisé en ce qu'il comprend une étape d'échantillonnage de ladite direction de visualisation (120) entre les troisièmes points d'intersection estimés (61, 62).
  8. 8. Procédé selon l'une des revendications 1 à 7, caractérisé en ce que ledit milieu participant (10) est un milieu participant hétérogène.
  9. 9. Dispositif (7) configuré pour le rendu d'un milieu participant (10) compris dans une scène (1), le milieu participant (10) étant délimité par une boîte englobante (30), ledit milieu participant (10) étant rendu depuis un point de vue (14) situé à une distance déterminée du point de vue (14) selon une direction de visualisation (120), caractérisé en ce que le dispositif comprend : - des moyens (720, 721) pour estimer, pour au moins un point (300 ; 401) du volume formé par ladite boîte englobante, un ensemble de directions (31 à 3i ; 51 à 5k) ayant pour origine ledit au moins un point (300 ; 401) et distribuées selon au moins une demi-sphère dont la base est centrée sur ledit au moins un point (300 ; 401) ; - des moyens (720, 721) pour estimer, pour chaque direction d'au moins une partie de l'ensemble de directions estimées (31 à 3i ; 51 à 5k), un premier point d'intersection (31m ;52m), correspondant à l'intersection entre ladite direction et ledit milieu participant (10), pour lequel la valeur de densité associée est supérieure à une première valeur seuil, ledit premier point d'intersection (31 m ;52m) étant estimé en partant d'un deuxième point d'intersection (310 ; 401) correspondant à l'intersection entre ladite direction et ladite boîte englobante (30) ; - des moyens (720, 721) pour estimer des troisièmes points d'intersection (61, 62), correspondant aux intersections entre ladite direction de visualisation (120) et ledit milieu participant (10), à partir d'une information représentative de distances séparant le premier point d'intersection (31m ; 52m) du deuxième point d'intersection (310 ;401) pour chaque direction de la au moins une partie de l'ensemble de directions estimées (31 à 3i ; 51 à 5k).
  10. 10. Dispositif selon la revendication 9, caractérisé en ce qu'il comprend des moyens (720) pour estimer des coefficients de projection dans une base de fonctions à partir de valeurs représentatives d'une distance séparant lepremier point d'intersection (31m ;52m) du deuxième point d'intersection(310 ;401).
  11. 11. Dispositif selon l'une des revendications 9 à 10, caractérisé en ce qu'il comprend des moyens pour échantillonner la surface de ladite boite englobante en une pluralité d'échantillons (401 à 40j).
  12. 12. Dispositif selon l'une des revendications 9 à 11, caractérisé en ce qu'il comprend des moyens pour échantillonner ladite direction de visualisation (120) entre les troisièmes points d'intersection estimés (61, 62).
  13. 13. Produit programme d'ordinateur caractérisé en ce qu'il comprend des instructions de code de programme pour l'exécution des étapes du procédé selon l'une quelconque des revendications 1 à 8, lorsque ledit programme est exécuté sur un ordinateur.
  14. 14. Moyen de stockage lisible par un ordinateur, stockant le jeu d'instructions exécutables par ledit ordinateur pour mettre en oeuvre le procédé selon l'une quelconque des revendications 1 à 8.20
FR1252675A 2012-03-26 2012-03-26 Procede pour representer un milieu participant dans une scene et dispositif correspondant Withdrawn FR2988502A1 (fr)

Priority Applications (8)

Application Number Priority Date Filing Date Title
FR1252675A FR2988502A1 (fr) 2012-03-26 2012-03-26 Procede pour representer un milieu participant dans une scene et dispositif correspondant
EP13713818.6A EP2831846B1 (fr) 2012-03-26 2013-03-22 Procédé de représentation d'un milieu participant dans une scène, et dispositif correspondant
JP2015502248A JP2015515058A (ja) 2012-03-26 2013-03-22 シーン内の関与媒質を表現する方法および対応する装置
CN201380023004.5A CN104272351A (zh) 2012-03-26 2013-03-22 用于表示场景中的参与介质的方法以及对应的设备
PCT/EP2013/056130 WO2013144029A1 (fr) 2012-03-26 2013-03-22 Procédé de représentation d'un élément multimédia participant dans une scène et dispositif correspondant
KR1020147029720A KR20140144714A (ko) 2012-03-26 2013-03-22 장면 내의 참여 매체를 표현하는 방법 및 대응 장치
US14/386,375 US9626791B2 (en) 2012-03-26 2013-03-22 Method for representing a participating media in a scene and corresponding device
CA2866589A CA2866589C (fr) 2012-03-26 2013-03-22 Procede de representation d'un element multimedia participant dans une scene et dispositif correspondant

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1252675A FR2988502A1 (fr) 2012-03-26 2012-03-26 Procede pour representer un milieu participant dans une scene et dispositif correspondant

Publications (1)

Publication Number Publication Date
FR2988502A1 true FR2988502A1 (fr) 2013-09-27

Family

ID=48045470

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1252675A Withdrawn FR2988502A1 (fr) 2012-03-26 2012-03-26 Procede pour representer un milieu participant dans une scene et dispositif correspondant

Country Status (8)

Country Link
US (1) US9626791B2 (fr)
EP (1) EP2831846B1 (fr)
JP (1) JP2015515058A (fr)
KR (1) KR20140144714A (fr)
CN (1) CN104272351A (fr)
CA (1) CA2866589C (fr)
FR (1) FR2988502A1 (fr)
WO (1) WO2013144029A1 (fr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130100135A1 (en) * 2010-07-01 2013-04-25 Thomson Licensing Method of estimating diffusion of light
CN107807963B (zh) * 2017-10-11 2021-04-06 贵州电网有限责任公司 一种基于分治策略的输电网线路汇集区快速搜索的方法
EP3595319A1 (fr) * 2018-07-12 2020-01-15 InterDigital VC Holdings, Inc. Procédés et appareil de transport vidéo volumétrique

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090284524A1 (en) * 2008-05-14 2009-11-19 Robert Allen Shearer Optimized Graphical Calculation Performance by Removing Divide Requirements
FR2964776A1 (fr) * 2010-09-14 2012-03-16 Thomson Licensing Procede d’estimation de diffusion de la lumiere dans un milieu homogene

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6583787B1 (en) * 2000-02-28 2003-06-24 Mitsubishi Electric Research Laboratories, Inc. Rendering pipeline for surface elements
US7928993B2 (en) * 2006-07-28 2011-04-19 Intel Corporation Real-time multi-resolution 3D collision detection using cube-maps
US8009168B2 (en) * 2007-06-26 2011-08-30 Microsoft Corporation Real-time rendering of light-scattering media
US7940269B2 (en) * 2007-06-29 2011-05-10 Microsoft Corporation Real-time rendering of light-scattering media
US7940268B2 (en) * 2007-06-29 2011-05-10 Microsoft Corporation Real-time rendering of light-scattering media
US20100085360A1 (en) * 2008-10-04 2010-04-08 Microsoft Corporation Rendering in scattering media
CN101894390B (zh) 2010-06-29 2012-07-04 浙江大学 一种非常数折射率介质中的光线跟踪方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090284524A1 (en) * 2008-05-14 2009-11-19 Robert Allen Shearer Optimized Graphical Calculation Performance by Removing Divide Requirements
FR2964776A1 (fr) * 2010-09-14 2012-03-16 Thomson Licensing Procede d’estimation de diffusion de la lumiere dans un milieu homogene

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
EVA CEREZO ET AL: "A survey on participating media rendering techniques", THE VISUAL COMPUTER ; INTERNATIONAL JOURNAL OF COMPUTER GRAPHICS, SPRINGER, BERLIN, DE, vol. 21, no. 5, 1 June 2005 (2005-06-01), pages 303 - 328, XP019339111, ISSN: 1432-8726, DOI: 10.1007/S00371-005-0287-1 *

Also Published As

Publication number Publication date
CN104272351A (zh) 2015-01-07
US20150042642A1 (en) 2015-02-12
WO2013144029A1 (fr) 2013-10-03
EP2831846A1 (fr) 2015-02-04
US9626791B2 (en) 2017-04-18
JP2015515058A (ja) 2015-05-21
EP2831846B1 (fr) 2016-12-21
CA2866589C (fr) 2020-04-07
KR20140144714A (ko) 2014-12-19
CA2866589A1 (fr) 2013-10-03

Similar Documents

Publication Publication Date Title
EP1982310B1 (fr) Procede de synthese d'une image virtuelle par lancer de faisceaux
Bruneton et al. Real‐time realistic ocean lighting using seamless transitions from geometry to BRDF
FR2988891A1 (fr) Procede d'estimation de niveau d'opacite dans une scene et dispositif correspondant
FR2965652A1 (fr) Procede d’estimation de la quantite de lumiere recue en un point d’un environnement virtuel
FR2966623A1 (fr) Procede d’estimation de l’occultation dans un environnement virtuel
Delalandre et al. Transmittance function mapping
US20210082173A1 (en) Methods and Systems for Volumetric Reconstruction Based on a Confidence Field
FR2964775A1 (fr) Procede d'estimation de l'occultation dans un environnement virtuel
EP2504816B1 (fr) Procede d'estimation de diffusion de la lumiere
KR20140000170A (ko) 관여 매질에 의해 수광된 광의 양을 추정하기 위한 방법 및 대응하는 장치
FR2988502A1 (fr) Procede pour representer un milieu participant dans une scene et dispositif correspondant
EP2502206A2 (fr) Procede d'estimation de diffusion de la lumiere
WO2011058007A2 (fr) Procede d'estimation de diffusion de la lumiere
Sabbadin et al. High Dynamic Range Point Clouds for Real‐Time Relighting
Elek et al. Spectral ray differentials
WO2012000847A2 (fr) Procede d'estimation de diffusion de la lumiere
McGuire et al. Introduction to real-time ray tracing
FR2974217A1 (fr) Procede d’estimation d’une information representative d’une hauteur
FR2964776A1 (fr) Procede d’estimation de diffusion de la lumiere dans un milieu homogene
WO2010094619A1 (fr) Procede d'estimation de diffusion de la lumiere
FR2948799A1 (fr) Procede d'estimation de diffusion de la lumiere
EP3526697A1 (fr) Procédé de modélisation d'au moins une source de lumière
US20240176931A1 (en) Apparatus and method for real-time volumetric rendering of dynamic particles
FR2960677A1 (fr) Procede d’estimation de la quantite de lumiere recue en un point d’un environnement virtuel
WO2020001905A1 (fr) Procédé de génération d'un hologramme numérique, dispositif, système de restitution holographique et programme d'ordinateur associés

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20131129