Brevet FR3161052A1 — publié le 20251010

Un aspect de l’invention concerne un procédé (200) de gestion de contenus à afficher dans un environnement 3D, l’environnement 3D comprenant des emplacements configurés pour afficher les contenus, le procédé comprenant : Mise en commun (220) des contenus obtenus dans un conteneur de contenus, Pour au moins un calcul de rendu de l’environnement 3D : Détermination (230), selon une règle prédéfinie, d’un ensemble d’emplacements, parmi les emplacements configurés, nécessitant d’afficher un contenu parmi les contenus mis en commun, pour au moins un emplacement de l’ensemble d’emplacements déterminé : Choix (240) du contenu à afficher parmi les contenus mis en commun, et Affichage (250) du contenu choisi, l’affichage du contenu comprenant la génération d’une texture à partir d’un rendu du contenu choisi. Figure à publier avec l’abrégé : Figure 2 Procédé de gestion de contenus à afficher dans un environnement 3D DOMAINE TECHNIQUE DE L’INVENTION Le domaine technique de l’invention est celui de la gestion de contenus dans des applications utilisant des moteurs de rendus 3D, pour trois dimensions, comme les jeux vidéo, les mondes virtuels, la réalité virtuelle, la réalité augmentée... La présente invention concerne un procédé de gestion de contenus à afficher dans un environnement 3D. ARRIERE-PLAN TECHNOLOGIQUE DE L’INVENTION Dans le domaine de la technique, des moteurs de rendus 3D tels que Unity, Unreal et d’autres, sont couramment utilisés pour générer et afficher une représentation virtuelle et en temps réel d’un environnement 3D. L’environnement 3D est composé d’objets 3D. D’un point de vue macroscopique, pour un utilisateur final, ces objets 3D sont des bâtiments, des véhicules, des planètes, des objets du quotidien… Du point de vue du moteur de rendu, il s’agit d’une liste de formes géométriques ayant des coordonnées dans l’espace, des propriétés de surface ou des règles de mouvement dans le temps. D’un point de vue technique, un moteur de rendu a pour objet de dessiner en temps réel, sur un plan de rendu appelé « viewport », une pluralité d’objets compris dans l’environnement 3D. Ces objets sont définis dans le repère de l’environnement 3D, autrement appelé l’espace de coordonnées (x,y,z), de l’environnement 3D. Ainsi, le moteur de rendu calcule de manière itérative des rendus qui sont ensuite affichés à l’écran. Pour cela, en référence à la FIG. 1 , un objet 100 est projeté sur un viewport 110 depuis le point de vue d’une caméra 120, elle aussi définie dans le repère de l’environnement 3D. La caméra 120 a donc une position dans le repère de l’environnement 3D ainsi qu’une direction. La direction de la caméra est perpendiculaire au plan de rendu de l’environnement 3D, c’est-à-dire au viewport 110. Un moteur de rendu utilise plusieurs techniques afin de projeter et dessiner correctement la scène sur le plan de rendu. Ces techniques sont combinées au sein d’un « render pipeline » aussi appelé pipeline graphique. Lors de la conception de l’environnement 3D, le procédé de texturation 3D est mis en œuvre afin de rendre l’environnement 3D plus réaliste. La texturation 3D consiste à ajouter des textures à un objet 3D ou au terrain de l’environnement 3D. Elle comprend notamment la création de textures ainsi que l’application de ces textures à des objets 3D ou au terrain. Ainsi, de manière traditionnelle, chaque face de l’environnement 3D possède une texture qui est déterminée lors de la conception de l’environnement 3D. Le chargement, c’est-à-dire le chargement en mémoire, de l’environnement 3D, comprend donc aussi le chargement des textures associées aux objets 3D ou au terrain de l’environnement 3D. Le chargement de l’environnement 3D et des textures a lieu en général au début d’une session d’utilisation. Il est possible de noter que les textures peuvent être dynamiques, c’est-à-dire que le contenu de la texture change au cours du temps. Ces textures dynamiques sont le résultat d’un processus de rendu interne au moteur 3D tel qu’un nuanceur, couramment appelé « shader » en anglais, ou d’un processus externe qui peut être coûteux en ressources, d’un contenu lui-même dynamique tel qu’une vue web ou encore un flux vidéo. De manière récente, un environnement 3D peut aussi comprendre des emplacements destinés à permettre l’affichage de contenus qui ne sont pas déterminés au moment de la conception de l’environnement 3D. Par exemple, ces contenus peuvent être personnalisés en fonction de préférences utilisateurs ou de la date d’utilisation de l’environnement 3D ou encore de l’emplacement réel de l’utilisateur. Ces contenus peuvent être des images mais aussi des flux vidéo ou encore du contenu web. Un contenu web peut se définir, d’une manière générale, comme étant le contenu, i.e. toutes les ressources multimédias accessibles, d’un site internet. Ces contenus peuvent être informationnels, éducatifs ou encore publicitaires. Ces contenus peuvent être chargés lors du début d’une session d’utilisation, c’est-à-dire en même temps que le chargement de l’environnement 3D. Toutefois, rien n’assure que tous ces contenus seront visibles au moins une fois durant la session de l’utilisateur dans l’environnement 3D. Ainsi, il est coûteux en ressources mémoire, mais aussi potentiellement en termes de bande passante consommée, de charger des centaines de contenus en même temps que le chargement de l’environnement 3D alors que ces contenus ne sont pas forcément vus durant la session d’utilisation. Une première solution est donc de charger ces contenus à la demande durant la session d’utilisation. Ainsi, après le chargement initial de l'environnement 3D, les contenus sont chargés de manière dynamique, c’est-à-dire de manière asynchrone. Cela signifie que ces contenus ne sont pas chargés simultanément avec l'environnement 3D. En effet, ces contenus peuvent être chargés progressivement, selon une règle prédéfinie, au fur et à mesure que l'utilisateur interagit avec l'environnement 3D. Par exemple, le chargement, mais aussi le déchargement, des contenus peut être effectué en fonction de la position de la caméra dans l’environnement 3D. Dans cet exemple, les contenus associés aux emplacements les plus proches de la caméra sont chargés. Ainsi, un procédé classique peut comprendre quatre étapes. La première étape comprend une désignation d’un contenu à un emplacement. La deuxième étape comprend la détermination des emplacements les plus proches de la caméra. La troisième étape comprend l’obtention et le chargement des contenus associés aux emplacements déterminés lors de la deuxième étape. La quatrième étape comprend la génération d’une texture à partir du contenu obtenu. Cette génération dépend du contenu à afficher. Par exemple, lorsque le contenu à afficher est une image alors l’image est convertie en une texture statique. Lorsque le contenu à afficher est un flux vidéo ou un contenu web, une texture dynamique est générée. Cette texture dynamique est mise à jour, à partir du contenu, durant certains calculs de rendu de l’environnement 3D. Par exemple, lorsque le contenu est un flux vidéo, la texture est mise à jour avec la prochaine image du flux vidéo à afficher en respectant la fréquence d’affichage du moteur 3D. La première étape peut être effectuée lors du lancement de la session utilisateur alors que les autres étapes peuvent être effectuées pour certains ou l’ensemble des calculs du rendu de l’environnement 3D. De plus, lorsque la caméra est déplacée, certains contenus peuvent être déchargés et de nouveaux contenus sont chargés. Cette approche permet donc une utilisation plus efficace des ressources mémoire mais présente tout de même des inconvénients. En effet, les déplacements de la caméra, en général liés à la volonté de l’utilisateur d’explorer l’environnement 3D, sont imprévisibles. Ainsi, cette approche multiplie potentiellement le nombre de chargements et de déchargements des contenus. De plus, certains contenus peuvent avoir été chargés puis déchargés sans jamais n’avoir été vus par l’utilisateur ou au moins visibles depuis la caméra. Il existe donc un besoin de fournir un procédé permettant de gérer des contenus dans un environnement 3D qui résolve, au moins partiellement, les problèmes des procédés de l’art antérieur. L’invention offre une solution, au moins partielle, aux problèmes évoqués précédemment en permettant une gestion dynamique de contenus à afficher dans des emplacements d’un environnement 3D. Le procédé selon l’invention utilise notamment une mise en commun des contenus chargés dynamiquement afin ensuite de déterminer, parmi les contenus mis en commun, le contenu devant être affiché dans l’un des emplacements configurés pour afficher les contenus. Ainsi, la gestion du chargement et déchargement des contenus et la gestion des emplacements sont totalement indépendantes dans le procédé selon l’invention. Un premier aspect de l’invention concerne un procédé, mis en œuvre par ordinateur, de gestion de contenus à afficher dans un environnement 3D, l’environnement 3D comprenant des emplacements configurés pour afficher les contenus à afficher, le procédé comprenant : Obtention de l’environnement 3D et des contenus à afficher, Mise en commun des contenus obtenus dans un conteneur de contenus, Pour au moins un calcul de rendu de l’environnement 3D : Détermination, selon une règle prédéfinie, d’un ensemble d’emplacements, parmi les emplacements configurés, nécessitant d’afficher un contenu parmi les contenus mis en commun, Pour au moins un emplacement de l’ensemble d’emplacements déterminé : Choix du contenu à afficher parmi les contenus mis en commun, et Affichage du contenu choisi, l’affichage du contenu comprenant la génération d’une texture à partir d’un rendu du contenu choisi. Grâce à l’invention, il est possible de gérer indépendamment l’obtention des contenus à afficher et l’affichage de ces contenus dans des emplacements de l’environnement 3D. Cette indépendance permet donc une optimisation à la fois des chargements et déchargements des contenus mais aussi du choix des contenus à afficher. Cette indépendance permet aussi de limiter le risque que des emplacements de l’environnement 3D ne puissent afficher un contenu en cas de problème d’obtention dudit contenu. Par exemple, si un contenu ne peut être téléchargé en raison de problèmes lié au réseau ou à l’accès mémoire, le procédé permettra quand même d’afficher des contenus dans tous les emplacements déterminés en utilisant les contenus mis en commun dans le conteneur de contenus. De plus, le choix de l’affichage des contenus tient notamment compte d’au moins une règle prédéfinie. La règle prédéfinie peut par exemple être basée sur un score de visibilité du contenu. Le score de visibilité correspond à un degré de visibilité dont le contenu a déjà bénéficié précédemment. Dans cet exemple, il est possible de mieux gérer la visibilité des contenus malgré l’incertitude liée aux déplacements de l’utilisateur dans l’environnement 3D. Ainsi, le procédé permet la réduction du nombre de chargements et de déchargements de contenus liés aux déplacements de la caméra dans l’environnement. Outre les caractéristiques qui viennent d’être évoquées dans le paragraphe précédent, le procédé selon un aspect de l’invention peut présenter une ou plusieurs caractéristiques complémentaires parmi les suivantes, considérées individuellement ou selon toutes les combinaisons techniquement possibles : le choix est effectué en tenant compte d’au moins une contrainte basée sur un score de visibilité de chacun des contenus mis en commun, le score de visibilité correspondant à un degré de visibilité dont le contenu a déjà bénéficié depuis un début d’une session d’utilisation, le procédé comprend en outre, pour au moins un calcul de rendu de l’environnement 3D, des étapes de : Remplacement d’un contenu mis en commun dans le conteneur de contenus par un nouveau contenu obtenu ultérieurement à l’étape d’obtention de l’environnement 3D et des contenus à afficher, et Affichage du nouveau contenu obtenu dans au moins un emplacement parmi l’ensemble d’emplacements déterminé. le procédé comprend en outre, pour chaque emplacement déterminé : Lorsque l’emplacement déterminé n’obtient pas de contenu à afficher durant l’étape de choix : Lorsque le score de visibilité du contenu affiché lors du rendu précédent est inférieur à un score de visibilité minimal prédéterminé, maintien de l’affichage du contenu affiché lors du rendu précédent, ou Lorsque le score de visibilité du contenu affiché lors du rendu précédent est égal ou supérieur à un score de visibilité minimal prédéterminé, affichage d’un contenu de remplacement, le contenu de remplacement étant un contenu mis en commun différent du contenu affiché lors du rendu précédent, lorsque le score de visibilité du contenu affiché lors du rendu précédent est supérieur à un score de visibilité minimal prédéterminé, l’affichage du contenu de remplacement est précédé par une étape de détermination du contenu de remplacement en priorisant : Un contenu affiché lors du rendu précédent dans au moins un emplacement déterminé, le contenu affiché ayant en outre un score de visibilité inférieur à un score de visibilité minimal prédéterminé, puis Un contenu mis en commun ayant été ajouté dans le conteneur de contenus en dernier, et Un contenu affiché lors du rendu précédent dans au moins un emplacement déterminé et affiché sur un plus petit nombre d’emplacements déterminés, le choix du contenu à afficher est effectué de manière commune pour au moins deux emplacements déterminés, les contenus à afficher sont des contenus web ou des flux vidéo, et l’affichage du contenu choisi comprend la mise à jour du contenu à afficher avant la génération d’une texture à partir du rendu du contenu choisi, Le choix est effectué en tenant compte d’au moins une contrainte de correspondance entre un format de la texture générée et un format de l’emplacement déterminé, Le conteneur de contenus possède un nombre maximal de contenus, prédéterminé pour chaque format de texture générée à partir du contenu, pouvant être contenus dans le conteneur, et Lorsque le nombre maximal de contenus, pour au moins un premier format de texture généré, pouvant être contenus dans le conteneur est inférieur au nombre d’emplacements déterminés ayant le premier format, le choix du contenu à afficher tient en outre compte d’une contrainte de répartition équitable de l’affichage des contenus dont la texture générée a le premier format dans l’ensemble des emplacements déterminés ayant le premier format. Un second aspect de l’invention concerne un produit programme d'ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent celui-ci à mettre en œuvre le procédé selon l’invention. Un troisième aspect de l’invention concerne un support d'enregistrement lisible par ordinateur comprenant des instructions qui, lorsqu'elles sont exécutées par un ordinateur, conduisent celui-ci à mettre en œuvre le procédé selon l’invention. Un quatrième aspect de l’invention concerne un système configuré pour exécuter le procédé selon l’invention. L’invention et ses différentes applications seront mieux comprises à la lecture de la description qui suit et à l’examen des figures qui l’accompagnent. BREVE DESCRIPTION DES FIGURES Les figures sont présentées à titre indicatif et nullement limitatif de l’invention. La FIG. 1 montre une illustration simplifiée d’un exemple de fonctionnement d’un moteur de rendu graphique. La FIG. 2 est un schéma synoptique illustrant les étapes d'un exemple du procédé selon l'invention. Les figures 3, 4 et 5 sont des exemples d’environnement 3D comprenant des contenus affichés dans des emplacements dédiés. DESCRIPTION DETAILLEE Sauf précision contraire, un même élément apparaissant sur des figures différentes présente une référence unique. La FIG. 2 est un schéma synoptique illustrant les étapes d'un exemple du procédé 200 selon l'invention. Les étapes obligatoires de l'exemple du procédé 200 sont indiquées par un rectangle en traits pleins et les étapes facultatives sont indiquées par un rectangle en traits pointillés. Le procédé 200 selon l’invention est mis en œuvre par ordinateur. Par « mis en œuvre par ordinateur », il est entendu que toutes les étapes, ou pratiquement toutes les étapes du procédé 200, sont exécutées par au moins un ordinateur ou processeur ou tout autre système similaire, tel qu’un téléphone intelligent, « smartphone » en anglais, ou une tablette tactile ou une console de jeu ou un masque de réalité virtuelle ou réalité augmentée. Ainsi, des étapes sont réalisées par l’ordinateur, éventuellement de manière entièrement automatique, ou semi-automatique. Dans des exemples, le déclenchement d'au moins certaines des étapes de ces méthodes peut être effectué par interaction utilisateur-ordinateur, autrement appelée dans la présente demande interaction utilisateur. Le niveau d'interaction utilisateur requis peut dépendre du niveau d'automatisme prévu et mis en balance avec la nécessité de mettre en œuvre les souhaits de l'utilisateur. Dans des exemples, ce niveau peut être défini par l'utilisateur et/ou prédéfini. L’interaction utilisateur peut être effectuée à l’aide d’une souris ou de tout autre dispositif tel qu’une manette de jeu vidéo. Lorsque l’ordinateur comprend un écran tactile ou une caméra, l’interaction utilisateur peut être effectuée avec toute partie du corps de l’utilisateur telle que la main ou un ou plusieurs doigts de l’utilisateur. Un exemple typique d’implémentation par ordinateur du procédé 200 consiste à exécuter le procédé 200 avec un système adapté à cet effet. Le système peut comprendre un processeur couplé à une mémoire et une interface utilisateur graphique (GUI), la mémoire ayant enregistré dessus un programme informatique comprenant des instructions pour mettre en œuvre le procédé. La mémoire peut également stocker une base de données. La mémoire est tout matériel adapté pour un tel stockage, comprenant éventuellement plusieurs parties physiques distinctes. De manière alternative, l’implémentation par ordinateur du procédé 200 consiste à exécuter au moins certaines étapes du procédé 200 sur un serveur situé à distance, le serveur exécutant au moins une partie du procédé en réponse à une requête envoyée par un système client, par exemple l’ordinateur ou le téléphone portable intelligent. La requête peut par exemple être transmise via une application de type web, en réponse à une interaction utilisateur, et lorsque le serveur a terminé l’exécution des calculs et la préparation du rendu, le serveur peut transmettre les résultats au système client qui peut ensuite les afficher. La transmission d’informations entre le serveur et le système client peut être effectuée à l’aide d’un réseau mobile sans fil, par exemple de 3ème ou 4ème génération. Le procédé 200 permet la gestion d’un contenu dans un environnement 3D. Le terme « gestion » dans la présente demande peut comprendre l’obtention, le stockage du contenu ainsi que son affichage dans l’environnement 3D. Le contenu peut par exemple être informationnel, éducatif ou publicitaire et être sous la forme d’une image, d’un contenu web ou encore d’un flux vidéo. L’invention est indépendante de la nature du contenu affiché. Une première étape 210 du procédé 200 comprend l’obtention de l’environnement 3D. Le terme « obtention » peut signifier dans la présente demande « recevoir », « accéder en mémoire » ou « générer ». Par exemple, l’environnement 3D peut être stocké en mémoire de l’ordinateur et l’obtention consiste à accéder à la mémoire de stockage de l’environnement 3D ou à accéder à la mémoire de stockage d’au moins une partie de l’environnement 3D en fonction de la position de la caméra dans l’environnement 3D. Dans un autre exemple, l’environnement 3D peut être stocké sur un serveur à distance et l’ordinateur peut recevoir cet environnement 3D, ou au moins une partie de l’environnement 3D en fonction de la position de la caméra dans l’environnement 3D. L’environnement 3D comprend des objets 3D et un terrain. Chaque objet 3D et le terrain sont localisés dans le repère de l’environnement 3D. De plus, les objets 3D et le terrain peuvent être texturés, c’est-à-dire qu’ils peuvent comprendre une texture appliquée à leur surface. Une texture est une image ou une série d'images qui est appliquée à la surface d'un objet 3D ou d’un terrain pour lui donner des détails visuels et des caractéristiques graphiques telles que des caractéristiques réalistes. L’environnement 3D comprend aussi des emplacements configurés pour afficher les contenus gérés par le procédé 200. Dit autrement, l’environnement 3D comprend des emplacements identifiés et localisés dans lequel les contenus du procédé 200 peuvent être affichés. Par exemple, ces emplacements sont configurés pour afficher des contenus qui ne sont pas déterminés au moment de la conception de l’environnement 3D. Il est possible de noter que les emplacements ne possèdent pas un contenu spécifique à afficher au moment de la conception de l’environnement 3D. En effet, les contenus à afficher dans ces emplacements peuvent être déterminés au moment du lancement de la session d’utilisation ou à tout moment durant la session d’utilisation de l’environnement 3D. La première étape 210 du procédé 200 comprend aussi l’obtention des contenus à afficher. Comme pour l’environnement 3D, le terme « obtention » peut signifier dans la présente demande « recevoir », « accéder en mémoire » ou « générer ». L’obtention peut varier en fonction de la nature du contenu à obtenir. Par exemple, lorsqu’un contenu à afficher est un contenu web. Le contenu web peut être reçu par l’ordinateur mettant en œuvre le procédé après avoir effectué une requête http, pour « Hypertext Transfer Protocol » en anglais, à un serveur http, qui, en réponse, envoie le contenu web à l’ordinateur. De manière alternative, plusieurs requêtes, par exemple de type html, pour « HyperText Markup Language » en anglais, et/ou de type css, pour « Cascading Style Sheets » en anglais, et/ou de type javascript et de type images peuvent être effectuées afin d’obtenir l’ensemble du contenu web. Dans un autre exemple, compatible avec les exemples précédents, il est possible que l’obtention du contenu soit partielle à l’étape 210. Dit autrement, seulement une partie du contenu à afficher est obtenue à l’étape 210. L’obtention partielle du contenu à l’étape 210 est particulièrement adaptée pour les contenus web et les flux vidéo. En effet, ces contenus peuvent être de taille conséquente, par exemple de plusieurs mégaoctets voire plusieurs dizaines de mégaoctets. De plus, concernant les contenus web, le contenu à afficher peut aussi dépendre d’interactions utilisateurs. Dans un exemple, lorsque le contenu à afficher est un flux vidéo, seule une partie du flux vidéo à afficher peut être obtenu à l’étape 210. Ainsi, pour une vidéo de 15 secondes, les 5 premières secondes de la vidéo peuvent être obtenues à l’étape 210. Ensuite, durant des itérations ultérieures du calcul de rendu de l’environnement 3D, le reste de la vidéo peut être obtenu. Une deuxième étape 220 du procédé 200 comprend la mise en commun des contenus, obtenus à l’étape 210, dans un conteneur de contenus. Ce conteneur est une structure, par exemple une structure de type « liste » ou « pile » ou « file » « vecteur » ou « sac », dans laquelle les contenus sont stockés. Ce conteneur peut être considéré, d’un point de vue fonctionnel, comme un réservoir de contenus à afficher. La détermination des contenus à obtenir pour être mis en commun peut dépendre d’un grand nombre de paramètres. Par exemple, la détermination des contenus à obtenir pour être mis en commun peut varier en fonction des caractéristiques de l’utilisateur telles que son âge, son adresse postale, son genre, etc… La détermination des contenus à obtenir pour être mis en commun peut aussi varier en fonction des caractéristiques de l’application telles que la nature de l’application : jeu vidéo, jeu sérieux ou « serious game » en anglais, réalité virtuelle, réalité augmentée, etc… Le choix des contenus à afficher, à l’étape 240, est effectué parmi ces contenus mis en commun. De plus, les critères de choix des contenus sont indépendants des critères utilisés pour déterminer les contenus à obtenir pour être mis en commun. La taille du conteneur peut être variable ou prédéterminée. La taille du conteneur peut varier en fonction des ressources disponibles l’ordinateur. Elle peut être déterminée pour une session d’utilisation au début de la session. La taille du conteneur peut aussi évoluer durant la session d’utilisation. Lorsque la taille du conteneur est prédéterminée, un nombre maximal de contenus peut y être stocké. Ce nombre maximal peut donc aussi être prédéterminé. Dans un exemple, compatible avec les exemples précédents, un nombre maximal de contenus pouvant être contenus dans le conteneur est prédéterminé en fonction du format de la texture générée à partir du contenu. Ainsi, le type de format d’un contenu dépend du format de la texture générée à partir du contenu. Dans un exemple, le conteneur peut avoir un nombre maximal de contenus mis en commun de 10 contenus. De plus, une proportion prédéterminée du nombre de contenus par format peut être fournie, par exemple 70% pour un contenu d’un format de type 1 et 30% pour un contenu de format de type 2. Dans ce cas, le nombre maximal de contenus de format de type 1 dans le conteneur sera de 7 et le nombre maximal de contenus de format de type 2 dans le conteneur sera de 3. Il est possible de noter que la proportion du nombre de contenus par format peut aussi évoluer durant la session d’utilisation, par exemple en fonction du format des différents emplacements déterminés à l’étape 230. Les étapes 230 à 270 sont effectuées pour au moins un calcul de rendu de l’environnement 3D. Comme expliqué précédemment, le moteur de rendu calcule de manière itérative des rendus qui sont ensuite affichés à l’écran. Ainsi, ces étapes 230 à 270 sont effectuées pour au moins certaines itérations de calculs de rendus. Par exemple, pour chaque itération de calcul du rendu, au moins certaines de ces étapes peuvent être effectuées. Dans un deuxième exemple, compatible avec l’exemple précédent, au moins certaines de ces étapes sont effectuées à intervalle de temps régulier, par exemple pour un intervalle de temps égal à un nombre prédéterminé d’itérations. Dans un troisième exemple, compatible avec les deux exemples précédents, au moins certaines de ces étapes sont effectuées suite à un événement. Par exemple, la détermination 230 de l’ensemble d’emplacements peut être effectuée pour tous les calculs de rendus ou à intervalles réguliers, par exemple tous les 2, 5 ou 10 calculs de rendus ou encore lorsqu’un déplacement, supérieur à une distance prédéterminée, de la caméra est détecté. Une troisième étape 230 du procédé 200 comprend la détermination d’un ensemble d’emplacements, parmi les emplacements configurés pour afficher les contenus, nécessitant d’afficher un contenu parmi les contenus mis en commun. La détermination de l’ensemble d’emplacements est effectuée selon une règle prédéfinie. Par exemple, la règle prédéfinie peut tenir compte de la distance entre la caméra et chaque emplacement de l’environnement 3D. Par exemple, si la distance entre la caméra et un emplacement de l’environnement 3D est inférieure à une distance prédéterminée, alors l’emplacement est ajouté à l’ensemble d’emplacements nécessitant d’afficher un contenu. Dans cet exemple, la nécessité d’afficher un contenu peut donc être définie par le fait que la distance entre l’emplacement et la caméra est inférieure à une distance prédéterminée. Un autre exemple de règle prédéfinie peut tenir compte de la visibilité de chaque emplacement depuis la caméra ou depuis une zone autour de la caméra. Afin de déterminer cette visibilité, il est possible d’utiliser des techniques de lancers de rayon, « raycasting » en anglais. Dans cet exemple, la nécessité d’afficher un contenu peut donc être définie par le fait que l’emplacement est visible depuis le point de vue de la caméra ou est susceptible d’être visible depuis le point de vue de la caméra si la caméra est déplacée d’une distance inférieure à une distance prédéterminée. Ainsi, les termes « emplacements nécessitant un contenu à afficher » peuvent ici correspondre aux emplacements visibles depuis le point de vue de la caméra et/ou susceptibles d’être visibles depuis le point de vue de la caméra dans un futur proche, par exemple si le point de vue de la caméra est déplacé d’une distance supérieure à une distance prédéterminée. Les étapes 240 et 250 sont effectuées pour au moins un emplacement de l’ensemble d’emplacements déterminé. Par exemple, ces étapes peuvent être effectuées pour tous les emplacements de l’ensemble d’emplacements déterminé. Dans un autre exemple, ces étapes peuvent ne pas être effectuées pour certains emplacements, par exemple pour les emplacements affichant déjà un contenu parmi les contenus mis en commun. Par exemple, lorsqu’un affichage d’un contenu dans un emplacement déterminé débute, il est possible d’indiquer que cet affichage a une durée minimum à respecter, ainsi durant cette durée minimum, les étapes 240 et 250 ne seront pas effectuées pour cet emplacement déterminé. La FIG. 3 illustre un environnement 3D 300 comprenant un terrain 350 et des objets 3D 320. Les objets 3D comprennent des emplacements 310 configurés pour afficher des textures 340. Ces textures sont stockées dans le conteneur 330.De plus, le conteneur ne comprend que les textures issues du rendu des contenus compris dans le conteneur 330.Il est possible de noter que le terrain 350 peut aussi comprendre des emplacements 310 configurés pour afficher des textures 340. Une quatrième étape 240 du procédé 200 comprend le choix du contenu à afficher parmi les contenus mis en commun à l’étape 220. Ce choix peut être effectué en fonction d’un grand nombre de critères. Dans un exemple, compatible avec les exemples précédents, le choix 240 du contenu à afficher peut être effectué de manière commune pour au moins deux emplacements déterminés. Dit autrement cette étape de choix 240 est mutualisée pour deux ou plus emplacements déterminés. La FIG. 4 illustre un exemple d’environnement 3D 300 dans lequel l’étape de choix 240 est mutualisée pour deux ou plus emplacements 310 déterminés. Ainsi, les emplacements 310 de type 1, i.e. sur lesquels le nombre « 1 » est noté sur la FIG. 4 , affichent la même texture 340 de type 1, i.e. sur laquelle le nombre « 1 » est noté. De même, les autres emplacements 310 de type 2, 3 ou 4 affichent respectivement la même texture 340 de type 2, 3 ou 4. Cet exemple permet notamment de respecter des règles prédéterminées de répartition de l’affichage des contenus dans l’environnement 3D. Il est possible de noter que le type d’une texture dépend du type du contenu à partir duquel la texture a été généré. Par exemple, une texture de type 1 est une texture issue d’un rendu de contenu type 1. Ces règles peuvent viser à assurer une cohérence ou un caractère réaliste de l’environnement 3D. Dans la FIG. 4 , les emplacements 310 de même type peuvent par exemple avoir l’obligation d’afficher un contenu identique. Dans un exemple, compatible avec les exemples précédents, le choix du contenu à afficher est effectué en tenant compte d’au moins une contrainte basée sur un score de visibilité de chacun des contenus mis en commun. Le score de visibilité correspond à un degré de visibilité dont le contenu a déjà bénéficié depuis le début d’une session d’utilisation ou pour une durée prédéterminée, inférieure ou supérieure à la durée de la session d’utilisation en cours. Un exemple de calcul de score de visibilité compatible avec l’invention est fourni dans la demande de brevet français FR3112638A1. Par exemple, le choix du contenu à afficher peut viser à satisfaire une contrainte que chaque contenu mis en commun obtienne un score de visibilité supérieur à un premier score de visibilité prédéterminé. Dans un autre exemple, le choix du contenu à afficher peut viser à satisfaire que la moyenne pondérée des scores de visibilité des contenus mis en commun soit supérieure à un second score de visibilité prédéterminé. De plus, cette pondération peut être effectuée en fonction d’un score d’importance attribué à chaque contenu mis en commun. Dans un exemple, compatible avec les exemples précédents, le choix 240 du contenu à afficher peut être effectué en tenant compte d’au moins une contrainte basée sur le format du contenu à afficher, ou plus précisément de la texture générée à partir du contenu à afficher, et le format de l’emplacement déterminé. Dit autrement, afin de pouvoir être affiché dans un emplacement déterminé, une contrainte à respecter peut être que le format de la texture générée à partir du contenu à afficher soit compatible avec le format de l’emplacement déterminé. La compatibilité entre les deux formats peut être évaluée plus ou moins strictement. Par exemple, deux formats compatibles peuvent être des formats identiques. Dans un deuxième exemple, deux formats compatibles peuvent être deux formats de même forme, par exemple carrée, rectangulaire, ou encore ronde. Dans un troisième exemple, deux formats compatibles peuvent être deux formats de même forme et ayant un même ratio entre les différents différentes dimensions de la forme. Par exemple, deux formats compatibles peuvent être deux formats ayant une forme rectangulaire avec un ratio entre la longueur et la largeur identique. La FIG. 5 illustre un exemple d’environnement 3D 300 dans lequel l’étape de choix 240 tient compte d’au moins une contrainte basée sur le format du contenu à afficher. Ainsi, les emplacements 310 de format de type 1, i.e. sur lesquels le nombre « 1 » est noté sur la FIG. 5 , affichent la texture 340 de format de type 1, i.e. sur laquelle le nombre « 1 » est noté. De même, les autres emplacements 310 de format de type 2, 3, 4 ou 5 affichent respectivement la texture 340 de format de type 2, 3 ou 4. Dans un exemple, compatible avec l’exemple précédent, le nombre maximal de contenus pouvant être contenus dans le conteneur peut être prédéterminé pour au moins un format de texture généré. Dans cet exemple, lorsque ce nombre maximal prédéterminé pour un premier format de texture généré est inférieur au nombre d’emplacements déterminés ayant le premier format, alors le choix 240 du contenu à afficher peut tenir compte d’une contrainte de répartition équitable de l’affichage des contenus, dont la texture générée a le premier format, dans l’ensemble des emplacements déterminés ayant le premier format. Par exemple, la répartition équitable peut viser à afficher autant de fois à un instant donné les différentes textures générées ayant le premier format. Une cinquième étape 250 du procédé 200 comprend l’affichage du contenu choisi. L’affichage du contenu choisi comprend la génération d’une texture à partir d’un rendu du contenu choisi. Ensuite, la texture générée est affichée dans l’emplacement déterminé en étant prise en charge dans le pipeline graphique. La génération d’une texture à partir d’un rendu du contenu choisi peut varier, notamment en fonction de la nature du contenu choisi. Différentes méthodes connues disponibles dans l’art antérieur sont compatibles avec le procédé 200. Par exemple, lorsque le contenu est un contenu web, il est possible d’utiliser un composant logiciel de type vue web, « webview » en anglais. Dans un exemple, l’affichage du contenu peut être effectué itérativement pour les emplacements déterminés. L’ordre d’itération peut par exemple être effectué en fonction de la distance entre la caméra de l’environnement 3D et chaque emplacement déterminé. Ainsi, les emplacements les plus proches de la caméra seront traités en premier. Dans un exemple, compatible avec les exemples précédents, la texture peut être mise à jour durant l’étape 250 l’affichage du contenu choisi. Lorsque le contenu est un flux vidéo, la mise à jour peut être effectuée avec la ou les prochaines images du flux vidéo à afficher en respectant la fréquence d’affichage du moteur 3D. Une sixième étape 260 optionnelle du procédé 200 comprend le remplacement d’un contenu mis en commun dans le conteneur de contenus par un nouveau contenu obtenu ultérieurement. Le remplacement comprend la suppression du contenu mis en commun à l’étape 220 puis l’ajout d’un nouveau contenu dans le conteneur de contenus. Ce nouveau contenu a été obtenu ultérieurement à l’étape 210. Par exemple, l’obtention du nouveau contenu à afficher est effectuée, durant l’étape 260, pendant ou après la suppression du contenu mis en commun. De manière alternative, l’étape 260 optionnelle du procédé 200 peut comprendre : un ajout d’un nouveau contenu obtenu ultérieurement à l’étape d’obtention 210, ou une suppression d’un contenu mis en commun mis en commun à l’étape 220. Une septième étape 270 optionnelle du procédé 200 comprend l’affichage du nouveau contenu obtenu dans au moins un emplacement parmi l’ensemble d’emplacements déterminé. Dans un exemple, compatible avec les exemples précédents, des étapes 280, 290 et 295 optionnelles sont mises en œuvre lorsqu’un emplacement déterminé n’obtient pas de contenu à afficher durant l’étape 240 de choix. Une huitième étape 280 optionnelle du procédé 200 comprend, lorsque le score de visibilité du contenu affiché lors du rendu précédent est inférieur à un score de visibilité minimal prédéterminé, le maintien de l’affichage du contenu affiché lors du rendu précédent. Dit autrement, si lors de l’étape 240 du choix, aucun contenu mis en commun différent du contenu affiché lors du rendu précédent n’est choisi pour l’emplacement déterminé et que le score de visibilité du contenu affiché lors du rendu précédent est inférieur à un score de visibilité minimal prédéterminé, alors le contenu affiché lors du rendu précédent est aussi affiché pour le prochain rendu. Les étapes 290 et 295 sont mises en œuvre lorsque le score de visibilité du contenu affiché lors du rendu précédent est égal ou supérieur à un score de visibilité minimal prédéterminé. Une neuvième étape 290 optionnelle du procédé 200 comprend la détermination d’un contenu de remplacement à afficher. Le contenu de remplacement est un contenu mis en commun différent du contenu affiché lors du rendu précédent. Cette détermination du contenu de remplacement peut être en effectuée en respectant un ordre de priorité. Ainsi, lorsque la priorité d’ordre 1 ne peut être respectée, la priorité d’ordre 2 est envisagée et lorsque la priorité d’ordre 2 ne peut être respectée, la priorité d’ordre 3 est envisagée et respectée lorsque cela est possible. En priorité d’ordre 1, le contenu de remplacement peut être un contenu affiché lors du rendu précédent dans au moins un emplacement déterminé, le contenu affiché ayant en outre un score de visibilité inférieur à un score de visibilité minimal prédéterminé. En priorité d’ordre 2, le contenu de remplacement peut être un contenu mis en commun ayant été ajouté dans le conteneur de contenus en dernier. Par exemple, le contenu mis en dernier est un contenu ajouté à l’étape 260. En priorité d’ordre 3, le contenu de remplacement peut être un contenu affiché lors du rendu précédent dans au moins un emplacement déterminé et affiché sur le plus petit nombre d’emplacements déterminés. Une dixième étape 295 optionnelle du procédé 200 comprend l’affichage du contenu de remplacement. Cette étape 295 peut être effectuée de manière similaire à l’étape 250. Procédé (200), mis en œuvre par ordinateur, de gestion de contenus à afficher dans un environnement 3D, l’environnement 3D comprenant des emplacements configurés pour afficher les contenus à afficher, le procédé comprenant : Obtention (210) de l’environnement 3D et des contenus à afficher, Mise en commun (220) des contenus obtenus dans un conteneur de contenus, Pour au moins un calcul de rendu de l’environnement 3D : Détermination (230), selon une règle prédéfinie, d’un ensemble d’emplacements, parmi les emplacements configurés, nécessitant d’afficher un contenu parmi les contenus mis en commun, Pour au moins un emplacement de l’ensemble d’emplacements déterminé : Choix (240) du contenu à afficher parmi les contenus mis en commun, et Affichage (250) du contenu choisi, l’affichage du contenu comprenant la génération d’une texture à partir d’un rendu du contenu choisi. Procédé (200) selon la revendication 1 dans lequel le choix (240) est effectué en tenant compte d’au moins une contrainte basée sur un score de visibilité de chacun des contenus mis en commun, le score de visibilité correspondant à un degré de visibilité dont le contenu a déjà bénéficié depuis un début d’une session d’utilisation. Procédé (200) selon l’une quelconque des revendications précédentes comprenant en outre, pour au moins un calcul de rendu de l’environnement 3D, des étapes de : Remplacement (260) d’un contenu mis en commun dans le conteneur de contenus par un nouveau contenu obtenu ultérieurement à l’étape d’obtention (210) de l’environnement 3D et des contenus à afficher, et Affichage (270) du nouveau contenu obtenu dans au moins un emplacement parmi l’ensemble d’emplacements déterminé. Procédé (200) selon l’une quelconque des revendications 2 à 3 comprenant en outre, pour chaque emplacement déterminé : Lorsque l’emplacement déterminé n’obtient pas de contenu à afficher durant l’étape (240) de choix : Lorsque le score de visibilité du contenu affiché lors du rendu précédent est inférieur à un score de visibilité minimal prédéterminé, maintien (280) de l’affichage du contenu affiché lors du rendu précédent, ou Lorsque le score de visibilité du contenu affiché lors du rendu précédent est égal ou supérieur à un score de visibilité minimal prédéterminé, affichage (295) d’un contenu de remplacement, le contenu de remplacement étant un contenu mis en commun différent du contenu affiché lors du rendu précédent. Procédé (200) selon la revendication précédente dans lequel, lorsque le score de visibilité du contenu affiché lors du rendu précédent est supérieur à un score de visibilité minimal prédéterminé, l’affichage du contenu de remplacement (295) est précédé par une étape de détermination (290) du contenu de remplacement en priorisant : Un contenu affiché lors du rendu précédent dans au moins un emplacement déterminé, le contenu affiché ayant en outre un score de visibilité inférieur à un score de visibilité minimal prédéterminé, puis Un contenu mis en commun ayant été ajouté dans le conteneur de contenus en dernier, et Un contenu affiché lors du rendu précédent dans au moins un emplacement déterminé et affiché sur un plus petit nombre d’emplacements déterminés. Procédé (200) selon l’une quelconque des revendications précédentes dans lequel le choix (240) du contenu à afficher est effectué de manière commune pour au moins deux emplacements déterminés. Procédé (200) selon l’une quelconque des revendications précédentes dans lequel : Les contenus à afficher sont des contenus web ou des flux vidéo, et L’affichage (250) du contenu choisi comprend la mise à jour du contenu à afficher avant la génération d’une texture à partir du rendu du contenu choisi. Procédé (200) selon l’une quelconque des revendications précédentes dans lequel : Le choix (240) est effectué en tenant compte d’au moins une contrainte de correspondance entre un format de la texture générée et un format de l’emplacement déterminé, Le conteneur de contenus possède un nombre maximal de contenus, prédéterminé pour chaque format de texture générée à partir du contenu, pouvant être contenus dans le conteneur, et Lorsque le nombre maximal de contenus, pour au moins un premier format de texture généré, pouvant être contenus dans le conteneur est inférieur au nombre d’emplacements déterminés ayant le premier format, le choix (240) du contenu à afficher tient en outre compte d’une contrainte de répartition équitable de l’affichage des contenus dont la texture générée a le premier format dans l’ensemble des emplacements déterminés ayant le premier format. Produit programme d'ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent celui-ci à mettre en œuvre le procédé selon l’une quelconque des revendications 1 à 7. Support d'enregistrement lisible par ordinateur comprenant des instructions qui, lorsqu'elles sont exécutées par un ordinateur, conduisent celui-ci à mettre en œuvre le procédé selon l’une quelconque des revendications 1 à 7. Système configuré pour exécuter le procédé selon l’une quelconque des revendications 1 à 7.