FR2965652A1 - Procede d’estimation de la quantite de lumiere recue en un point d’un environnement virtuel - Google Patents

Procede d’estimation de la quantite de lumiere recue en un point d’un environnement virtuel Download PDF

Info

Publication number
FR2965652A1
FR2965652A1 FR1057903A FR1057903A FR2965652A1 FR 2965652 A1 FR2965652 A1 FR 2965652A1 FR 1057903 A FR1057903 A FR 1057903A FR 1057903 A FR1057903 A FR 1057903A FR 2965652 A1 FR2965652 A1 FR 2965652A1
Authority
FR
France
Prior art keywords
points
point
group
virtual environment
groups
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR1057903A
Other languages
English (en)
Inventor
Pascal Gautron
Jean-Eudes Marvie
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Priority to FR1057903A priority Critical patent/FR2965652A1/fr
Priority to EP11182544.4A priority patent/EP2437219B1/fr
Priority to US13/200,626 priority patent/US9082230B2/en
Priority to JP2011212801A priority patent/JP5873672B2/ja
Priority to CN201110293777.8A priority patent/CN102446365B/zh
Priority to KR1020110099026A priority patent/KR20120034024A/ko
Publication of FR2965652A1 publication Critical patent/FR2965652A1/fr
Pending 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/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

L'invention concerne un procédé d'estimation de la quantité de lumière reçue en un point P (43) d'un environnement virtuel (1) qui comprend plusieurs premiers points éclairés par une source lumineuse (10), lesdits premiers points formant une pluralité de groupes comprenant chacun au moins un premier point. Afin d'améliorer le rendu tout en minimisant les temps de calculs nécessaires, le procédé comprend les étapes de : - estimation, pour chaque groupe, de la quantité de lumière incidente reçue ; - estimation d'une surface comprenant le point P (43) regroupant au moins une partie des points de l'environnement virtuel visibles depuis un point de vue (40 ; - estimation d'au moins un premier groupe (321, 351) de ladite pluralité de groupes contribuant à l'éclairage dudit point P (43) par réflexion de la lumière incidente reçue de ladite source lumineuse (10) en fonction d'au moins une information d'occultation associée à ladite surface ; - estimation de la quantité de lumière reçue par ledit point P (43) à partir de la quantité de lumière incidente reçue par ledit au moins un premier groupe (321, 351) en fonction d'au moins une information de réflectance associée audit au moins un premier groupe.

Description

PROCEDE D'ESTIMATION DE LA QUANTITE DE LUMIERE RECUE EN UN POINT D'UN ENVIRONNEMENT VIRTUEL
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 l'estimation et de la simulation de l'illumination globale d'un environnement virtuel prenant en compte la réflexion de la lumière au sein de l'environnement virtuel.
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 l'illumination globale d'un environnement virtuel, ces méthodes pouvant être divisées en trois groupes principaux. Le premier groupe de méthodes est basé sur la décomposition de l'environnement virtuel (dit également scène) en très petits éléments et sur l'estimation du transfert d'énergie entre deux éléments de couples d'éléments. Connues sous le nom de méthode de radiosité (de l'anglais « radiosity methods »), ces méthodes requièrent généralement des besoins en mémoire importants et d'effectuer de nombreux tests de visibilité au travers des éléments, lesquels sont très coûteux en terme de puissance de calcul nécessaire. Le deuxième groupe de méthodes est basé sur le lancer de rayon (de l'anglais « ray tracing ») pour suivre le chemin courant suivi par les rayons lumineux, en utilisant les techniques de cartes de photon (de l'anglais « photon mapping techniques ») ou de lancer de rayon ou les deux. Le troisième groupe de méthodes est basé sur des approximations dans l'espace écran en considérant seulement les informations de distances des objets visibles de la scène selon le point de vue d'un spectateur regardant la scène. Ces dernières méthodes utilisent des techniques de filtrage pour approcher le transfert d'énergie entre des points visibles voisins. Ces dernières méthodes ont l'avantage d'être relativement rapides mais fournissent un résultat approximatif. 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 une estimation de l'illumination globale rapide, 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 et/ou la puissance de calcul nécessaire pour composer un rendu réaliste en temps réel de la diffusion de la lumière dans un environnement virtuel prenant en compte la réflexion de la lumière sur les objets composant l'environnement virtuel.
L'invention concerne un procédé d'estimation de la quantité de lumière reçue en un point P d'un environnement virtuel, l'environnement virtuel comprenant une pluralité de premiers points éclairés par une source lumineuse, les premiers points formant une pluralité de groupes comprenant chacun au moins un premier point, le procédé comprenant les étapes de : - estimation, pour chaque groupe, de la quantité de lumière incidente reçue ; - estimation d'une surface regroupant au moins une partie des points de l'environnement virtuel visibles depuis un point de vue, la surface comprenant le point P ; - estimation d'au moins un premier groupe de la pluralité de groupes contribuant à l'éclairage du point P par réflexion de la lumière incidente reçue de la source lumineuse en fonction d'au moins une information d'occultation associée à la surface ; et - estimation de la quantité de lumière reçue par le point P à partir de la quantité de lumière incidente reçue par le au moins un premier groupe en fonction d'au moins une information de réflectance associée à le au moins un premier groupe. Selon une caractéristique particulière, le procédé comprend en outre une étape d'estimation, pour chaque premier point, d'une valeur représentative de la moyenne des distances séparant chaque premier point d'une pluralité de premiers points de son voisinage, les premiers points étant regroupés dans lesdits groupes en fonction des valeurs estimées et d'informations représentatives de la localisation et de l'orientation des premiers points, à chaque groupe étant associées une information d'orientation représentative de l'orientation du groupe et une information de localisation représentative de la localisation du groupe.
Avantageusement, le procédé comprend en outre les étapes suivantes : - estimation, pour chaque premier point, d'une valeur représentative de la moyenne des distances séparant chaque premier point d'une pluralité de premiers points de son voisinage ; - regroupement des premiers points dans une pluralité de deuxièmes groupes en fonction des valeurs estimées et d'informations représentatives de la localisation et de l'orientation des premiers points, à chaque deuxième groupe étant associées une information d'orientation représentative de l'orientation du deuxième groupe et une information de localisation représentative de la localisation du deuxième groupe ; et - génération des groupes par regroupement des deuxièmes groupes en fonction desdites informations d'orientation et de localisation des deuxièmes groupes. Selon une caractéristique spécifique, l'information représentative de la localisation des premiers points est obtenue par estimation de premières distances séparant la source lumineuse des premiers points selon des directions d'incidence, les premières distances estimées étant stockées dans une carte d'ombre associée à l'environnement virtuel et à la source lumineuse. De manière avantageuse, le procédé comprend une étape d'estimation de deuxièmes distances séparant le point de vue des points de l'environnement visible depuis le point de vue, les deuxièmes distances estimées étant stockées dans une carte de profondeur associée à l'environnement virtuel et au point de vue, la au moins une information d'occultation étant obtenue à partir des deuxièmes distances estimées.
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 1A illustre schématiquement un environnement virtuel éclairé par une source de lumière, selon un mode de réalisation particulier de l'invention ; - la figure 1B illustre une carte d'ombre associée à l'environnement virtuel et à la source de lumière de la figure 1A, selon un mode de réalisation particulier de l'invention ; - les figures 2 et 3 illustrent schématiquement le regroupement de points émetteurs de lumière indirecte dans l'environnement virtuel de la figure 1, selon deux modes de réalisation particulier de l'invention ; - les figures 4A et 5 illustrent schématiquement une méthode d'estimation de la quantité de lumière reçue en un point de l'environnement virtuel de la figure 1, selon un mode de réalisation particulier de l'invention ; - la figure 4B illustre une carte de profondeur associée à l'environnement virtuel des figures 1 et 4A et à un point de vue de la figure 4A, selon un mode de réalisation particulier de l'invention ; - la figure 6 illustre un dispositif mettant en oeuvre une méthode d'estimation de la quantité de lumière reçue en un point de l'environnement virtuel de la figure 1, selon un exemple de mise en oeuvre particulier de l'invention ; - la figure 7 illustre un procédé d'estimation de la quantité de lumière reçue en un point de l'environnement virtuel 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 environnement virtuel ou une scène virtuelle 1 éclairée par une source de lumière 10. L'éclairage fourni par la source lumineuse 10 forme un cône de lumière 101. L'environnement virtuel 1 comprend un ou plusieurs objets virtuels 12, 13, 14 et 15, 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 ou fictif) 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, ...) ou imaginaire. Chaque objet 12, 13, 14 et 15 de l'environnement virtuel est caractérisé par une surface le recouvrant, la surface de chaque objet ayant des propriétés de réflectance (correspondant à la proportion de lumière incidente réfléchie par la surface dans une ou plusieurs directions) qui lui sont propres. Avantageusement, la réflectance de la surface d'un objet varie en fonction de la zone de l'objet réfléchissant la lumière (une zone de la surface comprenant un ou plusieurs points de la surface) c'est-à-dire que la réflectance de la surface d'un objet n'est pas constante. Selon une variante, la réflectance de la surface d'un objet est constante en tout point de la surface de l'objet. Ainsi, l'objet 12 reçoit une quantité de lumière incidente de la source lumineuse 10, cette lumière incidente étant réfléchie par les points 121 à 12i éclairés par la source lumineuse 10. Les points 121 à 12i correspondent à des points singuliers ou selon une variante à des éléments de surface, chaque élément de surface comprenant plusieurs points (par exemple 5, 10, 20 points). Dans la suite de la description de la figure 1, un point d'une surface désignera aussi bien un point unitaire qu'un élément de surface. De la même manière, l'objet 13 reçoit une quantité de lumière incidente de la source lumineuse 10, cette lumière incidente étant réfléchie par les points 131 à 13i éclairés par la source lumineuse 10, chaque point correspondant à un point unitaire ou à un élément de surface. L'objet 15 reçoit également une quantité de lumière incidente réfléchie par les points 151 à 15i qui correspondent chacun à un point unitaire ou à un élément de surface. La normale à l'élément de surface associé à chaque point 121 à 12i, 131 à 13i, 151 à 15i est représentée par une flèche noire. L'information relative à la normale de chaque élément de surface réfléchissant la lumière est utile pour estimer la quantité de lumière réfléchie selon une direction donnée.
Selon une variante, l'environnement virtuell est éclairé par une pluralité de sources lumineuses, par exemple 100, 1000, 100000 ou 1000000 sources lumineuses. Selon un premier mode de réalisation, la localisation des points éclairés par la source de lumière 10, dits premiers points, est faite dans l'espace de l'environnement virtuel, dit espace monde (de l'anglais « world space ») et est représentée par des coordonnées géométriques dans l'espace monde. Ces informations, en plus des informations de réflectance associées aux premiers points et des informations relatives à la normale des éléments de surface associés aux premiers points sont enregistrées dans une structure de données composée de tables enregistrées dans une mémoire associée aux GPUs. Ces enregistrements sont appelés respectivement enregistrements de réflectance, enregistrement de normale et enregistrement de localisation. Ces enregistrements permettent de référencer l'ensemble des premiers points de l'environnement virtuel 1, lesquels premiers points sont aptes à réfléchir la lumière issue de la source de lumière 10 vers d'autres points de l'environnement virtuel, ces autres points étant éclairés ou non par la source de lumière. Une surface S est définie en reliant l'ensemble des premiers points entre eux. Selon un deuxième mode de réalisation, l'environnement virtuel 1 est rendu tel que vu depuis la source de lumière 10. Les informations représentatives de l'environnement virtuel 1 tel qu'il est vu depuis la source lumineuse 10 sont stockées dans une carte d'ombre 11 (de l'anglais « shadow map »). La carte d'ombre comprend avantageusement pour chaque premier point de l'environnement virtuel 1 une information représentative de la distance séparant la source de lumière 10 du premier point considéré. La figure 1B illustre une telle carte d'ombre 11 selon un mode de réalisation particulier de l'invention. L'information représentative de la distance est représentée par un vecteur 1100 à 110i dont la norme est égale à la distance entre la source lumineuse et le point éclairé considéré. La carte d'ombre est ainsi composée d'une pluralité de points associés aux premiers points de l'environnement virtuel 1 projetés sur une surface formée par le cône de lumière 10 et perpendiculaire à la direction principale d'éclairage de la source lumineuse 10. Une information représentative de la distance source de lumière / premier point est associée à chaque point correspondant de la carte d'ombre. En reliant chaque point de la carte d'ombre formé par le vecteur représentatif de la distance, on obtient une surface S' représentative de l'ensemble des premiers points de l'environnement tels que vus depuis la source lumineuse 10. Cette surface S' est, de même que la surface S, représentative de l'ensemble des premiers points de l'environnement, c'est-à-dire des points de l'environnement virtuel éclairés par la source de lumière 10. Cette surface S', tout comme la surface S, est également représentative de l'ensemble des points de l'environnement virtuel aptes à réfléchir la lumière issue de la source de lumière 10 vers d'autres points de l'environnement virtuel, ces autres points étant éclairés ou non par la source de lumière. De manière avantageuse, en plus de l'information représentative de la distance, des informations représentatives respectivement de la réflectance de l'élément de surface associé à chaque premier point, de la localisation du premier point dans l'espace de la carte d'ombre, de la normale à l'élément de surface associé a chaque premier point sont stockées dans la carte d'ombre 11. La surface S' correspond ainsi à la représentation de la surface S dans l'espace de la carte d'ombre. L'utilisation d'une carte d'ombre présente l'avantage de diminuer les calculs nécessaires à l'estimation de la quantité de lumière reçue par l'environnement virtuel et donc de diminuer les calculs nécessaires pour estimer la quantité de lumière reçue par un point de l'environnement virtuel. Grâce à la carte d'ombre, pour savoir si un point de l'environnement virtuel est éclairé ou non par la source lumineuse 10, il suffit de connaître la distance séparant ce point de la source lumineuse et de la direction d'incidence à laquelle il appartient. Aucun calcul d'intersection entre la droite formée par le point et la source lumineuse d'une part et les objets de l'environnement virtuel d'autre part n'est ainsi nécessaire, ce qui diminue les calculs nécessaires.
La figure 2 illustre l'environnement virtuel 1 représenté en figure 1 pour lequel les premiers points sont regroupés en groupes de points comprenant ainsi plusieurs points éclairés par la source de lumière 10 et aptes à réfléchir la lumière incidente reçue. Un tel regroupement des premiers points présente l'avantage de réduire les calculs nécessaires pour l'estimation de l'illumination globale. En effet, pour l'estimation de l'illumination globale de l'environnement virtuel 1, chaque premier point de l'environnement virtuel est considéré comme étant une source de lumière indirecte apte à éclairer de manière indirecte un ou plusieurs autres points de l'environnement virtuel. Le calcul de telles réflexions est d'autant plus coûteux en terme de puissance et/ou de temps de calcul que le nombre de sources de lumière incidente est important. En considérant que l'éclairage indirect varie doucement sur une surface et que les changements d'éclairage sur une surface sont directement liés à la distance par rapport aux surfaces voisines, il est possible de diminuer le nombre de sources réfléchissant la lumière incidente en les regroupant de manière cohérente tout en préservant la qualité de l'éclairage de l'environnement virtuel 1. Pour chaque source de lumière indirecte, c'est-à-dire pour chaque source réfléchissant la lumière incidente reçue, c'est-à-dire pour chaque premier point de la surface S (ou de la surface S' si on se place dans l'espace de la carte d'ombre) la distance moyenne aux premiers points de la surface S (respectivement S') entourant la source de lumière considérée est évaluée. Pour ce faire et pour accélérer les calculs, les premiers points du voisinage de la source de lumière indirecte appartenant à la surface S (respectivement S') sont échantillonnés dans l'espace monde (respectivement dans l'espace de la carte d'ombre). Puis, sur la base de leurs localisations relatives, la distance moyenne entre la source de lumière indirecte considérée et les premiers points voisins est calculée. On entend par exemple par voisinage de la source de lumière indirecte l'ensemble des premiers points appartenant à la surface S (respectivement S') situés à une distance de la source de lumière indirecte inférieure à une valeur seuil, par exemple à une distance inférieure à 25 cm, 50 cm ou 1 m. Selon un autre exemple, le voisinage d'une source de lumière indirecte est défini par l'ensemble des directions ayant pour origine la source de lumière indirecte et formant une demi-sphère située au-dessus de la source de lumière indirecte, c'est-à-dire au-dessus de l'élément de surface associée à la source de lumière indirecte. Ainsi, quand un premier point de la surface S (respectivement S') est rencontré par une des directions formant la demi-sphère, la distance entre la source de lumière indirecte et ce premier point est calculée. De manière avantageuse, les distances ainsi calculées et supérieures à une valeur seuil (par exemple 25 cm, 50 cm ou 1 m) ne sont pas prises en compte pour l'estimation de la distance moyenne entre la source de lumière indirecte considérée et les premiers points voisins. Une fois la distance moyenne considérée, les premiers points entourant le point source de lumière indirecte appartenant à la surface S (ou S') sont regroupés, les premiers points regroupés avec le point source de lumière indirecte considéré étant ceux situés à une distance du point source de lumière indirecte inférieure à une valeur seuil donnée (par exemple inférieure à toute distance comprise entre 0 et 1 fois la distance moyenne, 0 étant exclus). Le groupe de points regroupant les premiers points de l'environnement virtuel 1 est avantageusement représenté par un disque 221 à 22i, 231 à 23i ou 251 à 253 ayant pour centre le point source de lumière indirecte et pour rayon un rayon de valeur proportionnelle à la distance moyenne des premiers points du voisinage de la source de lumière indirecte considérée. Ces opérations sont avantageusement réitérées pour chaque premier point, c'est-à-dire chaque point source de lumière indirecte de l'environnement virtuel 1 jusqu'à former un ensemble de groupes de points formant des disques sources de lumière indirecte, le nombre de disques étant alors égale au nombre de premiers points. Selon une variante, ces opérations sont réitérées pour une partie des premiers points, c'est-à-dire des points source de lumière indirecte de l'environnement virtuel. Selon cette variante, le nombre de disques est inférieur au nombre de premiers points. Selon cette variante, on prend par exemple un premier point sur 10, les premiers points sélectionnés pour cette variante étant par exemple uniformément répartis sur la surface S (ou S'). En projetant ces disques sources de lumière indirecte sur une surface formée par le cône de lumière 10 et perpendiculaire à la direction principale d'éclairage de la source lumineuse 10, on obtient une carte de disques émetteurs de lumière indirecte 21. Les propriétés de réflectance associées à chaque disque correspondent avantageusement à la moyenne des réflectances des premiers points appartenant au disque. Selon une variante, la forme des groupes de points est différente du disque et est par exemple une surface carrée, une surface rectangle, une surface ovale ou toute autre surface de forme géométrique quelconque.
La figure 3 illustre l'environnement virtuel 1 représenté sur la figure 2 pour lequel les groupes de points (ou disques) sont regroupés en deuxièmes groupes de points comprenant ainsi plusieurs groupes de premiers points. Un tel regroupement des groupes de points présente l'avantage de réduire encore plus les calculs nécessaires pour l'estimation de l'illumination globale. Selon un premier mode de réalisation, la formation des deuxièmes groupes de points se fait comme suit. Un premier disque de la carte de disques émetteurs est sélectionné. Les disques entourant le disque sélectionné sont testés un par un pour définir s'ils doivent être regroupés au premier disque. Un disque (ou groupe de points) est à ajouter au premier disque (ou groupe de point) s'il vérifie les conditions suivantes : - la localisation du disque à ajouter est à une distance du centre du premier disque inférieure à une valeur seuil, par exemple deux fois ou trois fois le rayon du premier) ; et - l'orientation du disque à ajouter n'est pas trop différente de l'orientation du premier disque.
Si le disque à ajouter ne vérifie pas ces conditions, alors le disque n'est pas ajouté au premier disque. Si le disque à ajouter vérifie ces conditions, alors il est ajouté au premier disque et les deux disques regroupés forment un deuxième groupe dont le centre correspond au barycentre des deux disques qui le composent. Puis un autre disque est testé pour savoir s'il doit être ajouté au deuxième groupe ainsi formé. Une fois tous les disques proches du premier disque et vérifiant les conditions énoncées ci-dessus ajoutés au deuxième groupe, un autre disque de la carte de disques émetteurs n'appartenant pas au deuxième groupe est sélectionné et les disques l'entourant sont testés à leur tout pour être ajoutés en vue de former un autre deuxième groupe. Ainsi, de proche en proche, tous les disques de la carte de disques émetteurs sont testés et regroupés dans un deuxième groupe. Un deuxième groupe nouvellement formé est alors défini par : - le centre et l'orientation d'un deuxième groupe correspondent à la moyenne des centre et orientation des groupes de points (ou disques) 231 à 235 formant le deuxième groupe de points 321 ; - le rayon du deuxième groupe de points est choisi de manière à englober tous les disques (ou groupes de points) ajoutés au deuxième groupe ; et - la réflectance du deuxième groupe de points correspond avantageusement à la moyenne pondérée des réflectances de chacun des disques (ou groupes de points) le composant, la pondération étant par exemple liée à la taille des groupes de points (par exemple fonction du rayon dans le cas où le groupe de points est un disque). Ainsi, le deuxième groupe de points D1 321 regroupe les disques 231 à 235, le barycentre de ce deuxième groupe de points 321 étant représenté par le point 32. Le deuxième groupe de points D2 331 regroupe les disques 236 à 23i, le barycentre de ce deuxième groupe de points 331 étant représenté par le point 33. Le deuxième groupe de points D3 341 regroupe les disques 251 à 253, le barycentre de ce deuxième groupe de points 341 étant représenté par le point 34. Le deuxième groupe de points D4 351 regroupe les disques 223 à 22i, le barycentre de ce deuxième groupe de points 351 étant représenté par le point 35. Le deuxième groupe de points D5 361 regroupe les disques 221 et 222, le barycentre de ce deuxième groupe de points 361 étant représenté par le point 36.
Selon un deuxième mode de réalisation, pour réaliser un tel regroupement, la carte de disques émetteurs de lumière indirecte est subdivisée en une pluralité de zones, chaque zones comprenant un plusieurs disques de premiers points. L'objectif est d'obtenir pour chaque zone un unique deuxième groupe de points 321, 331, 341, 351, 361 regroupant les un ou plusieurs disques de premiers points de la zone considérée. Dans chaque zone, un premier disque (par exemple le disque 231) de la carte de disques émetteurs appartenant à cette zone est sélectionné. Puis, pour déterminer si les disques (232 à 235) de la zone doivent être ajoutés ou non à ce premier disque (231), une règle de regroupement est définie, la règle énonçant qu'un groupe de premiers points (ou disque) peut être ajouté au premier disque pour former le deuxième groupe de points de la zone considérée si : - la localisation du groupe de points (ou disque) à ajouter est à une distance du centre du deuxième groupe inférieure à une valeur seuil, par exemple deux fois ou trois fois le rayon du premier disque) ; et - l'orientation du groupe de point à ajouter n'est pas trop différente de l'orientation du premier disque. Si le disque (ou groupe de premiers points) à ajouter ne satisfait pas cette règle, le groupe de premiers points est supprimé de la zone considérée. Si le groupe de points à ajouter (par exemple 232) satisfait cette règle, le deuxième groupe de points (par exemple 321) est modifié pour inclure la contribution du disque (ou groupe de points) à ajouter 232 en plus de celle du premier disque 231 de la zone. A l'issu du test de la règle énoncée ci- dessus pour l'ensemble des disques 231 à 235 de la zone considérée, on obtient pour le deuxième groupe de points ainsi formé : - le centre et l'orientation du deuxième groupe correspondent à la moyenne des centre et orientation des groupes de points 231 à 235 formant le deuxième groupe de points 321 ; - le rayon du deuxième groupe de points est étendu pour englober tous les groupes de points ajoutés au deuxième groupe de points ; et - la réflectance du groupe de points à ajouter 231 est prise en compte pour l'estimation de la réflectance du deuxième groupe. A l'issue du regroupement des groupes de premiers points pour former un deuxième groupe de points, la réflectance du deuxième groupe de points correspond avantageusement à la moyenne pondérée des réflectances de chacun des groupes de points le composant, la pondération étant par exemple liée à la taille des groupes de points (par exemple fonction du rayon dans le cas où le groupe de points est un disque).
La subdivision de la carte de disques émetteurs en plusieurs zones présentent l'avantage de définir dès le départ le nombre de deuxième groupes de points et de définir quels disques (ou groupes de points) sont susceptibles de former un deuxième groupe de point donné. Cela permet notamment de simplifier les calculs nécessaires au regroupement des disques en deuxièmes groupes de points en limitant les possibilités de regroupement. Le nombre de zones de subdivisions de la carte de disques émetteurs est un paramètre réglable et prédéterminé par un utilisateur par exemple. Ainsi, le deuxième groupe de points D1 321 regroupe les disques 231 à 235, le barycentre de ce deuxième groupe de points 321 étant représenté par le point 32. Le deuxième groupe de points D2 331 regroupe les disques 236 à 23i, le barycentre de ce deuxième groupe de points 331 étant représenté par le point 33. Le deuxième groupe de points D3 341 regroupe les disques 251 à 253, le barycentre de ce deuxième groupe de points 341 étant représenté par le point 34. Le deuxième groupe de points D4 351 regroupe les disques 223 à 22i, le barycentre de ce deuxième groupe de points 351 étant représenté par le point 35. Le deuxième groupe de points D5 361 regroupe les disques 221 et 222, le barycentre de ce deuxième groupe de points 361 étant représenté par le point 36.
Les figures 4A et 5 illustrent une méthode d'estimation de la quantité de lumière reçue par un point 43 de l'environnement virtuel 1 en prenant en compte la réflexion de la lumière incidente reçue par les objets 12, 13, 15 de l'environnement virtuel 1 éclairés par la source de lumière 10, selon un mode de réalisation particulier de l'invention. La figure 4A illustre l'environnement virtuel 1 de la figure 1 tel que vu depuis un point de vue 40, par exemple un spectateur de l'environnement virtuel 1. Selon l'exemple de la figure 4A, le spectateur 40 regarde le point P 43 de l'environnement virtuel 1 selon une direction d'observation 42, le point P 43 correspondant à l'intersection entre la direction d'observation 42 et le premier objet de l'environnement virtuel 1 rencontré par cette direction d'observation ayant pour origine le point de vue 40, à savoir l'objet 14. Afin de rendre l'environnement virtuel 1 depuis le point de vue 40, la quantité de lumière reçue par le point P 43, englobant la quantité de lumière reçue de la source de lumière 10 et la quantité de lumière réfléchie par les premiers points de l'environnement virtuel 1 participant à l'éclairage indirect du point P par réflexion de la lumière reçue de la source de lumière 10. Pour ce faire, une surface S1 regroupant tous les points de l'environnement virtuel 1 visible depuis le point de vue 40 est définie. Puis les premiers points de l'environnement virtuel 1 participant à l'éclairage indirect du point P 43 par réflexion de la lumière incidente reçue par ces premiers points sont définis à partir d'une information d'occultation associée à la surface S1. Pour ce faire, pour chaque premier point de l'environnement virtuel, il est estimé si la direction définie par la droite reliant le premier point considéré au point P 43 ayant pour origine le premier point considéré présente une intersection avec la surface S1. Si la direction précédemment définie présente une intersection avec la surface S1, alors il y a occultation et le premier point considéré ne fait pas partie des premiers points contribuant à l'éclairage indirect du point P 43. Dans le cas contraire, c'est-à-dire si la direction précédemment définie ne présente pas d'intersection avec la surface S1, alors il n'y a pas d'occultation et le premier point considéré fait partie des premiers points contribuant à l'éclairage indirect du point P 43. Ceci est illustré par la figure 5. La figure 5 illustre les directions entre d'une part des premiers points (c'est-à-dire des points aptes à réfléchir la lumière incidente reçue de la source de lumière 10 vers d'autres points de l'environnement virtuel) et le point P 43 d'autre part ayant pour origine les premiers points. Ainsi, la direction 51 représente la direction principale de réflexion du deuxième groupe de points D1 321 vers le point P 43. La direction 52 représente la direction principale de réflexion du deuxième groupe de points D4 351 vers le point P 43. La direction 53 représente la direction principale de réflexion du deuxième groupe de points D3 341 vers le point P 43. Comme cela apparaît clairement sur la figure 5, les directions 51 et 52 ne présentent pas d'intersection avec la surface S1 (définie par l'ensemble des points visibles depuis le point de vue 40) alors que la direction 53 présente une intersection avec S2. Cela signifie que les deuxièmes groupes de points D1 321 et D4 351 contribuent à l'éclairage indirect du point P 43 par réflexion de la lumière incidente reçue de la source de lumière 10 alors que le deuxième groupe de points D3 341 ne contribue pas à l'éclairage indirect du point P 43. La figure 5 illustre les premiers points de l'environnement virtuel 1 regroupés en groupes puis en deuxièmes groupes. La détermination des premiers points (tels qu'illustrés sur la figure 1) ou des groupes de points (tels qu'illustrés sur la figure 2) contribuant à l'éclairage indirect se feraient de manière identique.
Selon un premier mode de réalisation, la détermination des premiers points (ou groupes de points ou deuxièmes groupes de points) contribuant à l'éclairage indirect du point P 43 est réalisé dans l'espace monde, c'est-à-dire dans l'espace de l'environnement virtuel à partir des coordonnées géométriques des points (et/ou des points représentatifs des groupes de points, par exemple le barycentre ou le centre des groupes de point) considérés. Les flèches 44 représentent la réflexion de la lumière incidente reçue par les disques (ou groupes de point) 231 à 235 vers le point P 43. Selon un deuxième mode de réalisation, la détermination des premiers points (ou groupes de points ou deuxièmes groupes de points) contribuant à l'éclairage indirect du point P 43 est réalisé dans l'espace d'une carte de profondeur 41. Selon ce deuxième mode de réalisation, l'environnement virtuel 1 est rendu tel que vu depuis le point de vue 40. Les informations représentatives de l'environnement virtuel 1 tel qu'il est vu depuis le point de vue 40 sont stockées dans une carte de profondeur 41 (de l'anglais « depth map »). La carte de profondeur comprend avantageusement pour chaque point visible de l'environnement virtuel 1 depuis le point de vue une information représentative de la distance séparant le point de vue 40 du point visible considéré. La figure 4B illustre une telle carte de profondeur 41 selon un mode de réalisation particulier de l'invention. L'information représentative de la distance est représentée par un vecteur 410 à 41i dont la norme est égale à la distance entre le point de vue 40 et le point visible considéré. La carte de profondeur est ainsi composée d'une pluralité de points associés aux points visibles de l'environnement virtuel 1 projetés sur une surface formée par exemple par un cône représentatif du champ de vision du point de vue 40 et perpendiculaire à la direction d'observation du point de vue 40. Une information représentative de la profondeur, c'est à dire de la distance point de vue / point visible, est associée à chaque point correspondant de la carte de profondeur. En reliant chaque point de la carte de profondeur formé par l'extrémité des vecteurs représentatif de la profondeur, on obtient une surface S1' représentative de l'ensemble des points visibles de l'environnement tels que vus depuis le point de vue 40.
Cette surface S1' est, de même que la surface S1, représentative de l'ensemble des points visibles de l'environnement depuis le point de vue, comprenant le point P 43. Pour déterminer quels sont les premiers points qui contribuent à l'éclairage indirect du point P, la méthode est la même que celle décrite en regard du premier mode de réalisation de la figure 4A. Une information d'occultation est associée à la surface S1' et pour déterminer si un premier point contribue à l'éclairage indirect du point P 43, il suffit de déterminer si la direction correspondant à la droite ayant pour première extrémité le premier point (ou groupe de point ou deuxième groupe de points) et pour deuxième extrémité le point P 43 présente une intersection avec la surface S1'. En cas d'intersection, le premier point (ou groupe de point ou deuxième groupe de points) considéré ne contribue pas à l'éclairage indirect du point P et dans le cas contraire, il contribue à l'éclairage indirect du point P.
Pour obtenir la quantité de lumière reçue par le point P, il reste à additionner les quantités de lumière réfléchies par chacun des premiers points (ou groupe de point ou deuxième groupe de points) contribuant à l'éclairage indirect du point P, la quantité de lumière réfléchie par un premier point (ou groupe de point ou deuxième groupe de points) étant obtenue selon toute méthode connue de l'homme du métier à partir de la quantité de lumière incidente reçue par les premiers points et des information de réflectance associées aux premiers points considérés. Pour obtenir la quantité de lumière totale reçue par le point P, il faut aussi ajouter la quantité de lumière incidente reçue de la source lumineuse si le point P est aussi un premier point de l'environnement lumineux, c'est-à-dire un point éclairé directement par la source lumineuse. Pour obtenir la quantité de lumière reçue par un spectateur regardant l'environnement virtuel 1 selon la direction d'observation 42, il suffit de multiplier la fonction de réflectance associée au point P 43 par la quantité de lumière globale reçue par le point P. Enfin, pour déterminer la quantité de lumière totale reçue par le spectateur 40, il faut estimer la quantité de lumière reçue selon chacune des directions d'observation et les additionner.
La figure 6 illustre schématiquement un exemple de réalisation matérielle d'un dispositif 6 adapté à l'estimation de la quantité de lumière reçue en un point d'un environnement virtuel 1 et à la création de signaux d'affichage d'une ou plusieurs images. Le dispositif 6 correspondant par exemple à un ordinateur personnel PC, à un ordinateur portable (de l'anglais « laptop ») ou à une console de jeux. Le dispositif 6 comprend les éléments suivants, reliés entre eux par un bus 65 d'adresses et de données qui transporte également un signal d'horloge : - un microprocesseur 61 (ou CPU) ; - une carte graphique 62 comprenant : - plusieurs processeurs de traitement graphique 620 (ou GPUs) ; - une mémoire vive de type GRAM (de l'anglais « Graphical Random Access Memory ») 621 ; - une mémoire non volatile de type ROM (de l'anglais « Read Only Memory ») 66 ; - une mémoire vive ou RAM (de l'anglais « Random Access Memory ») 67 ; - un ou plusieurs dispositifs 1/0 (de l'anglais « Input/Output » ou en français « Entrée/Sortie ») 64, tels que par exemple un clavier, une souris, une webcam ; et - une alimentation 68. 20 Le dispositif 6 comprend également un dispositif d'affichage 63 de type écran d'affichage relié directement à la carte graphique 62 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 63 à la carte graphique 62 offre l'avantage 25 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 6 et est relié au dispositif 6 par un câble transmettant les signaux d'affichage. Le dispositif 6, par exemple la carte graphique 62, 30 comprend un moyen de transmission ou connecteur (non représenté sur la figure 4) 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 62, 66 et 67 désigne dans chacune des mémoires mentionnées, 35 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 15 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 61 charge et exécute les instructions du programme contenu dans la RAM 67.
La mémoire vive 67 comprend notamment : - dans un registre 630, le programme de fonctionnement du microprocesseur 61 chargé à la mise sous tension du dispositif 6, - des paramètres 671 représentatifs de l'environnement virtuel 1 (par exemple paramètres de modélisation des objets de l'environnement virtuel 1, paramètres d'éclairage de l'environnement virtuel 1). 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 67 de la carte graphique 62 associée au dispositif 6 mettant en oeuvre ces étapes. A la mise sous tension et une fois les paramètres 670 représentatifs du milieu chargés en RAM 67, les processeurs graphiques 620 de la carte graphique 62 charge ces paramètres en GRAM 621 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 621 comprend notamment : - dans un registre 6210, les paramètres représentatifs de l'environnement virtuel 1 ; - des valeurs 6211 représentatifs de premières distances entre la source de lumière et les points éclairés de l'environnement virtuel 1 ; - des valeurs 6212 représentatifs de deuxièmes distances entre un point de vue et les points de l'environnement virtuel 1 visibles depuis ce point de vue ; - des valeurs 6213 représentatives de la quantité de lumière incidente reçue par l'environnement virtuel 1 selon une ou plusieurs directions d'incidence ; et - des valeurs 6214 représentatives de la quantité de lumière reçue en un ou plusieurs points de l'environnement virtuel 1 ; - des paramètres 6215 représentatifs de groupes d'un ou plusieurs points de l'environnement virtuel 1 (par exemple le ou les premiers points ou groupes de points les constituants, la normale à la surface couverte par chacun des groupes de point(s), une information de réflectance associée à chacun des groupes de point(s), la localisation du centre ou barycentre de chacun des groupes de point(s)). Selon une variante, une partie de la RAM 67 est allouée par le CPU 61 pour stocker les valeurs 6211 à 6214 et les paramètres 6215 si l'espace mémoire disponible en GRAM 621 est insuffisant. Cette variante entraîne cependant des temps de latence plus important dans la composition d'une image comprenant une représentation de l'environnement 1 composé à partir des microprogrammes contenus dans les GPUs puisque les données doivent être transmises de la carte graphique à la mémoire vive 67 en passant par le bus 65 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 68 est externe au dispositif 4.
La figure 7 illustre un procédé d'estimation de la quantité de lumière reçue en un point P d'un environnement virtuel mis en oeuvre dans un dispositif 6, selon un exemple de mise en oeuvre non limitatif particulièrement avantageux de l'invention.
Au cours d'une étape d'initialisation 70, les différents paramètres du dispositif 6 sont mis à jour. En particulier, les paramètres représentatifs de l'environnement virtuel 1 sont initialisés d'une manière quelconque. Ensuite, au cours d'une étape 71, la quantité de lumière incidente reçue d'une source lumineuse est estimée pour chacun des groupes de point(s) d'un environnement virtuel éclairé par la source lumineuse. L'environnement virtuel comprend un ensemble de points éclairés par la source lumineuse, les points éclairés étant nommés premiers points. Dans un premier mode de réalisation, chaque groupe de point(s) comprend un unique premier point, l'estimation de la quantité de lumière incidente reçue étant réalisée pour chaque premier point. Selon une première variante, au moins une partie des groupes de point(s) comprend plusieurs premiers points. Les premiers points appartenant à un même groupe de points sont regroupés après estimation pour chaque premier point de l'environnement virtuel des distances séparant ce premier point des autres premiers points de son entourage. Une fois ces distances estimées, une valeur représentative de la moyenne des distances séparant un premier point considéré des autres premiers points de son voisinage est estimée, pour chaque premier point de l'environnement virtuel. Puis, à partir de la valeur représentative de la moyenne des distances estimée et à partir d'informations représentatives de la localisation des premiers points et de leur orientation (c'est-à-dire de la normale à l'élément de surface associé à chacun des premiers points), les premiers points sont regroupés en un ou plusieurs groupes de points. Une fois les premiers points regroupés en groupes de points, une information représentative de l'orientation du groupe de points (c'est-à-dire de la normale à la surface couverte par le groupe de points) est associée à chaque groupe de points de même qu'une information représentative de la localisation du groupe de points (correspondant par exemple à la localisation du centre du groupe de points si le groupe de points forme un disque ou à la localisation du barycentre du groupe de points si le groupe de points prend une forme différente de celle d'un disque). Selon une deuxième variante, au moins une partie des groupes de points comprenant plusieurs points sont regroupés pour former un ou plusieurs deuxièmes groupes de points englobant plusieurs groupes de points déterminés dans la première variante. Les groupes de points sélectionnés pour être regroupés pour former le ou les deuxièmes groupes de points sont sélectionnés en fonction des informations d'orientation et de localisation associées à chacun de ces groupes de points.
Une fois les deuxièmes groupes de points formés, l'estimation de la quantité de lumière reçue par les groupes de points correspond à une estimation de la quantité de lumière reçue par les deuxièmes groupes de points formés à partir du regroupement des groupes de points. Puis, au cours d'une étape 72, une surface regroupant l'ensemble des points de l'environnement virtuel 1 visibles depuis un point de vue donné est déterminée, le point P pour lequel est déterminé la quantité de lumière reçue appartenant à cette surface. Puis, au cours d'une étape 73, un ou plusieurs premiers groupes de points sont déterminés parmi la pluralité de groupes de point(s) (et/ou parmi la pluralité de deuxièmes groupes de points), les premiers groupes déterminés étant ceux qui contribuent à l'éclairage du point P par réflexion de la lumière incidente reçue. Cette détermination est effectuée en fonction d'une information d'occultation associée à la surface regroupant les points visibles de l'environnement virtuel définie à l'étape 72. Un groupe de points est considéré comme contribuant à l'éclairage du point P si la droite reliant le groupe de points au point P ne possède aucun point d'intersection avec la surface des points visibles. Dans le cas où cette droite possède un point d'intersection avec la surface des points visibles, alors le groupe de points est considéré comme ne contribuant pas à l'éclairage du point P. Pour déterminer s'il y a intersection entre la droite et la surface de points visibles, les calculs sont réalisés à partir des coordonnées des points considérés dans l'espace monde. Selon une variante et pour diminuer les calculs, les calculs nécessaires à la détermination de la présence d'une intersection sont réalisés dans l'espace d'une carte de profondeur associée à l'environnement virtuel 1 et au point de vue considéré. Enfin, au cours d'une étape 74, la quantité de lumière reçue par le point P est estimée à partir de la quantité de lumière incidente reçue par chacun des groupes de point(s) contribuant à l'éclairage du point P et à partir d'une information de réflectance associée à chacun des groupes de point(s) contribuant à l'éclairage du point P.
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 reçue en un point P de l'environnement virtuel mais s'étend également à tout dispositif mettant en oeuvre ce procédé et notamment tous les dispositifs comprenant au moins un GPU. La mise en oeuvre des calculs nécessaires à l'estimation de la quantité de lumière reçue par le point P 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 CPU. 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 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 reçue par tout point P visible depuis un point de vue selon une ou plusieurs directions d'observation 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. 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 4 décrit en regard de la figure 4 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 (5)

  1. REVENDICATIONS1. Procédé d'estimation de la quantité de lumière reçue en un point P (43) d'un environnement virtuel (1), ledit environnement virtuel (1) comprenant une pluralité de premiers points (121 à 12i, 131 à 13i, 151 à 153) éclairés par une source lumineuse (10), lesdits premiers points formant une pluralité de groupes comprenant chacun au moins un premier point, caractérisé en ce que ledit procédé comprend les étapes suivantes : - Estimation (71), pour chaque groupe, de la quantité de lumière incidente reçue ; - estimation (72) d'une surface (41) regroupant au moins une partie des points de l'environnement virtuel visibles depuis un point de vue (40), ladite surface comprenant ledit point P (43) ; - estimation d'au moins un premier groupe (321, 351) de ladite pluralité de groupes contribuant à l'éclairage dudit point P (43) par réflexion de la lumière incidente reçue de ladite source lumineuse en fonction d'au moins une information d'occultation associée à ladite surface (41) ; - estimation de la quantité de lumière reçue par ledit point P (43) à partir de la quantité de lumière incidente reçue par ledit au moins un premier groupe (321, 351) en fonction d'au moins une information de réflectance associée audit au moins un premier groupe.
  2. 2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend en outre une étape d'estimation, pour chaque premier point, d'une valeur représentative de la moyenne des distances séparant chaque premier point d'une pluralité de premiers points de son voisinage, lesdits premiers points étant regroupés dans lesdits groupes en fonction desdites valeurs estimées et d'informations représentatives de la localisation et de l'orientation des premiers points, à chaque groupe étant associées une information d'orientation représentative de l'orientation du groupe et une information de localisation représentative de la localisation du groupe.
  3. 3. Procédé selon la revendication 1, caractérisé en ce qu'il comprend en outre les étapes suivantes :- estimation, pour chaque premier point, d'une valeur représentative de la moyenne des distances séparant chaque premier point d'une pluralité de premiers points de son voisinage ; - regroupement desdits premiers points dans une pluralité de deuxièmes groupes en fonction desdites valeurs estimées et d'informations représentatives de la localisation et de l'orientation des premiers points, à chaque deuxième groupe étant associées une information d'orientation représentative de l'orientation du deuxième groupe et une information de localisation représentative de la localisation du deuxième groupe ; et - génération desdits groupes par regroupement desdits deuxièmes groupes en fonction desdites informations d'orientation et de localisation des deuxièmes groupes.
  4. 4. Procédé selon la revendication 2, caractérisé en ce que ladite information représentative de la localisation des premiers points est obtenue par estimation de premières distances séparant ladite source lumineuse desdits premiers points selon des directions d'incidence, lesdites premières distances estimées étant stockées dans une carte d'ombre (11) associée audit environnement virtuel (1) et à ladite source lumineuse (10).
  5. 5. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il comprend une étape d'estimation de deuxièmes distances séparant ledit point de vue desdits points de l'environnement visible depuis ledit point de vue, lesdites deuxièmes distances estimées étant stockées dans une carte de profondeur (41) associée audit environnement virtuel (1) et audit point de vue (40), ladite au moins une information d'occultation étant obtenue à partir desdites deuxièmes distances estimées.30
FR1057903A 2010-09-30 2010-09-30 Procede d’estimation de la quantite de lumiere recue en un point d’un environnement virtuel Pending FR2965652A1 (fr)

Priority Applications (6)

Application Number Priority Date Filing Date Title
FR1057903A FR2965652A1 (fr) 2010-09-30 2010-09-30 Procede d’estimation de la quantite de lumiere recue en un point d’un environnement virtuel
EP11182544.4A EP2437219B1 (fr) 2010-09-30 2011-09-23 Procédé pour l'estimation de la quantité de lumière reçue en un point d'un environnement virtuel
US13/200,626 US9082230B2 (en) 2010-09-30 2011-09-27 Method for estimation of the quantity of light received at a point of a virtual environment
JP2011212801A JP5873672B2 (ja) 2010-09-30 2011-09-28 仮想環境のポイントにおいて受光された光の量の推定方法
CN201110293777.8A CN102446365B (zh) 2010-09-30 2011-09-29 估计在虚拟环境的一点上接收的光量的方法
KR1020110099026A KR20120034024A (ko) 2010-09-30 2011-09-29 가상 환경의 한 지점에 수신된 광량의 평가 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1057903A FR2965652A1 (fr) 2010-09-30 2010-09-30 Procede d’estimation de la quantite de lumiere recue en un point d’un environnement virtuel

Publications (1)

Publication Number Publication Date
FR2965652A1 true FR2965652A1 (fr) 2012-04-06

Family

ID=44169007

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1057903A Pending FR2965652A1 (fr) 2010-09-30 2010-09-30 Procede d’estimation de la quantite de lumiere recue en un point d’un environnement virtuel

Country Status (6)

Country Link
US (1) US9082230B2 (fr)
EP (1) EP2437219B1 (fr)
JP (1) JP5873672B2 (fr)
KR (1) KR20120034024A (fr)
CN (1) CN102446365B (fr)
FR (1) FR2965652A1 (fr)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013106145A (ja) * 2011-11-11 2013-05-30 Fuji Xerox Co Ltd 読取装置
US10713838B2 (en) * 2013-05-03 2020-07-14 Nvidia Corporation Image illumination rendering system and method
EP3057067B1 (fr) * 2015-02-16 2017-08-23 Thomson Licensing Dispositif et procédé pour estimer une partie brillante de rayonnement
KR102399686B1 (ko) * 2015-07-28 2022-05-19 삼성전자주식회사 3d 렌더링 방법 및 장치
JP6202118B2 (ja) * 2016-03-09 2017-09-27 日本電気株式会社 描画装置、描画方法およびプログラム
CN108961372B (zh) * 2018-03-27 2022-10-14 北京大学 一种基于统计模型检验的渐进式光子映射方法
US11244493B2 (en) * 2018-07-26 2022-02-08 Nvidia Corporation Global illumination using shared lighting contributions for interactions in path tracing
US11790594B2 (en) * 2019-08-18 2023-10-17 Nvidia Corporation Ray-tracing with irradiance caches
KR20230092514A (ko) * 2021-12-17 2023-06-26 삼성전자주식회사 렌더링 방법 및 장치

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0778267A (ja) 1993-07-09 1995-03-20 Silicon Graphics Inc 陰影を表示する方法及びコンピュータ制御表示システム
JP3554616B2 (ja) * 1994-12-13 2004-08-18 富士通株式会社 ラジオシティ法を用いる描画方法および装置
DE19606357A1 (de) * 1996-02-12 1997-08-14 Gmd Gmbh Bildverarbeitungsverfahren zur Darstellung von spiegelnden Objekten und zugehörige Vorrichtung
US6476805B1 (en) * 1999-12-23 2002-11-05 Microsoft Corporation Techniques for spatial displacement estimation and multi-resolution operations on light fields
US7262770B2 (en) * 2002-03-21 2007-08-28 Microsoft Corporation Graphics image rendering with radiance self-transfer for low-frequency lighting environments
WO2006049870A1 (fr) 2004-10-27 2006-05-11 Pacific Data Images Llc Ombres volumetriques pour animatique
JP4974612B2 (ja) * 2006-05-18 2012-07-11 旭化成ホームズ株式会社 光環境解析用プログラム及び光環境解析装置
DE102006025096B4 (de) * 2006-05-23 2012-03-29 Seereal Technologies S.A. Verfahren und Einrichtung zum Rendern und Generieren computer-generierter Videohologramme
US7408550B2 (en) * 2006-07-24 2008-08-05 Bunnell Michael T System and methods for real-time rendering of deformable geometry with global illumination
US8436855B1 (en) * 2007-02-19 2013-05-07 Aechelon Technology, Inc. Efficient illumination of large three dimensional environments
US20090102843A1 (en) * 2007-10-17 2009-04-23 Microsoft Corporation Image-based proxy accumulation for realtime soft global illumination
CN100594519C (zh) * 2008-03-03 2010-03-17 北京航空航天大学 用球面全景摄像机实时生成增强现实环境光照模型的方法
CN101354784B (zh) * 2008-08-21 2010-10-13 上海交通大学 基于图像的真实光源获取及重光照的方法
US8432395B2 (en) * 2009-06-16 2013-04-30 Apple Inc. Method and apparatus for surface contour mapping
US8542231B2 (en) * 2009-06-29 2013-09-24 Crytek Gmbh Method, computer graphics image rendering system and computer-readable data storage medium for computing of indirect illumination in a computer graphics image of a scene

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
D. MENEVEAUX, K. BOUATOUCH, G. SUBRENAT, P. BLASI: "Efficient Clustering and Visibility Calculation for Global Illumination", February 2003 (2003-02-01), XP002646539, Retrieved from the Internet <URL:http://www.sic.sp2mi.univ-poitiers.fr/mr-archi/afrigraph03.html> [retrieved on 20110628] *
GARLAND M ET AL: "HIERARCHICAL FACE CLUSTERING ON POLYGONAL SURFACES", PROCEEDINGS OF THE 2001 SYMPOSIUM ON INTERACTIVE 3D GRAPHICS. RESEARCH TRIANGLE PARK, NC, MARCH 19 - 21, 2001; [PROCEEDINGS OF THE SYMPOSIUM ON INTERACTIVE 3D GRAPHICS], NEW YORK, NY : ACM, US, 19 March 2001 (2001-03-19), pages 49 - 58, XP001113624, ISBN: 978-1-58113-292-2, DOI: DOI:10.1145/364338.364345 *
MICHAEL BUNNELL: "Dynamic Ambient Occlusionand Indirect Lighting", 2005, XP002646538, Retrieved from the Internet <URL:http://www.irisa.fr/prive/kadi/DIIC/Ambient_Occlusion/papiers/dynamic_ambient_occlusion.pdf> [retrieved on 20110628] *
ZHAO DONG ET AL: "Interactive Global Illumination Using Implicit Visibility", COMPUTER GRAPHICS AND APPLICATIONS, 2007. PG '07. 15TH PACIFIC CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 29 October 2007 (2007-10-29), pages 77 - 86, XP031221748, ISBN: 978-0-7695-3009-3 *

Also Published As

Publication number Publication date
CN102446365A (zh) 2012-05-09
EP2437219A1 (fr) 2012-04-04
JP2012089121A (ja) 2012-05-10
KR20120034024A (ko) 2012-04-09
JP5873672B2 (ja) 2016-03-01
US20130176313A1 (en) 2013-07-11
EP2437219B1 (fr) 2015-08-12
CN102446365B (zh) 2016-01-13
US9082230B2 (en) 2015-07-14

Similar Documents

Publication Publication Date Title
FR2965652A1 (fr) Procede d’estimation de la quantite de lumiere recue en un point d’un environnement virtuel
EP1982310B1 (fr) Procede de synthese d&#39;une image virtuelle par lancer de faisceaux
FR2988891A1 (fr) Procede d&#39;estimation de niveau d&#39;opacite dans une scene et dispositif correspondant
CN107644453B (zh) 一种基于物理着色的渲染方法及***
FR2966623A1 (fr) Procede d’estimation de l’occultation dans un environnement virtuel
CN114549730A (zh) 多光源场景渲染的光源采样权重确定方法及相关设备
FR2964775A1 (fr) Procede d&#39;estimation de l&#39;occultation dans un environnement virtuel
Delalandre et al. Transmittance function mapping
US9235663B2 (en) Method for computing the quantity of light received by a participating media, and corresponding device
EP2504816B1 (fr) Procede d&#39;estimation de diffusion de la lumiere
US11574449B1 (en) Methods and systems for off-device image frame rendering in augmented reality applications
Eisemann et al. Efficient real-time shadows
FR2974217A1 (fr) Procede d’estimation d’une information representative d’une hauteur
WO2011057997A2 (fr) Procede d&#39;estimation de diffusion de la lumiere
WO2011058007A2 (fr) Procede d&#39;estimation de diffusion de la lumiere
FR2988502A1 (fr) Procede pour representer un milieu participant dans une scene et dispositif correspondant
Thompson et al. Real-time mixed reality rendering for underwater 360 videos
Habel et al. Physically based real-time translucency for leaves
WO2012000847A2 (fr) Procede d&#39;estimation de diffusion de la lumiere
FR2964776A1 (fr) Procede d’estimation de diffusion de la lumiere dans un milieu homogene
WO2010094619A1 (fr) Procede d&#39;estimation de diffusion de la lumiere
FR2960677A1 (fr) Procede d’estimation de la quantite de lumiere recue en un point d’un environnement virtuel
Boulanger et al. Rendering trees with indirect lighting in real time
FR2948799A1 (fr) Procede d&#39;estimation de diffusion de la lumiere
US20240176931A1 (en) Apparatus and method for real-time volumetric rendering of dynamic particles