FR2968813A1 - METHOD FOR RENDERING IMAGES FROM A VIRTUAL THREE-DIMENSIONAL SCENE - Google Patents
METHOD FOR RENDERING IMAGES FROM A VIRTUAL THREE-DIMENSIONAL SCENE Download PDFInfo
- Publication number
- FR2968813A1 FR2968813A1 FR1060367A FR1060367A FR2968813A1 FR 2968813 A1 FR2968813 A1 FR 2968813A1 FR 1060367 A FR1060367 A FR 1060367A FR 1060367 A FR1060367 A FR 1060367A FR 2968813 A1 FR2968813 A1 FR 2968813A1
- Authority
- FR
- France
- Prior art keywords
- rendering
- resolution
- image
- contour
- areas
- 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.)
- Granted
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 83
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000001514 detection method Methods 0.000 claims abstract description 11
- 238000004590 computer program Methods 0.000 claims description 3
- 238000006073 displacement reaction Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/36—Level of detail
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Abstract
La présente invention concerne un procédé de rendu d'images à partir d'une scène virtuelle en trois dimensions, dans lequel le rendu d'une image finale (If) à une première résolution (R1) comprend les étapes consistant à : - procéder à une première étape de rendu (E1) à une seconde résolution (R2) inférieure à la première résolution (R1) afin d'obtenir au moins une image intermédiaire (11, I2'); - opérer un redimensionnement (E2, E10) de l'image intermédiaire (11, 12') obtenu à la seconde résolution (R2) de façon à obtenir une image (12, If) à la première résolution (R1) - effectuer une détection des contours (E3, E7) de l'image façon à déterminer dans ladite image des zones de contour (ZC) et des zones sans contours (ZSC); - opérer une seconde étape de rendu (E4a, E4b, E6) correspondant à un suréchantillonnage local par rapport à la première étape de rendu (E1 dans les zones de contour (ZC); et - remplacer (E5, E8) les pixels (P) dans les zones de contour (ZC) par les pixels dont la valeur est déduite de la seconde étape de rendu (E4a, E4b, E6).The present invention relates to a method for rendering images from a three-dimensional virtual scene, wherein the rendering of a final image (If) to a first resolution (R1) comprises the steps of: a first rendering step (E1) at a second resolution (R2) smaller than the first resolution (R1) to obtain at least one intermediate image (11, 12 '); - performing a resizing (E2, E10) of the intermediate image (11, 12 ') obtained at the second resolution (R2) so as to obtain an image (12, If) at the first resolution (R1) - to carry out a detection contours (E3, E7) of the image so as to determine in said image contour areas (ZC) and areas without contours (ZSC); performing a second rendering step (E4a, E4b, E6) corresponding to a local oversampling with respect to the first rendering step (E1 in the contour zones (ZC); and replacing (E5, E8) the pixels (P ) in the contour areas (ZC) by the pixels whose value is deduced from the second rendering step (E4a, E4b, E6).
Description
La présente invention a pour objet un procédé et un système de rendu d'une scène en trois dimensions en temps réel. Un procédé de rendu en trois dimensions en temps réel consiste à générer une image d'une scène, comprenant éventuellement des éléments animés, dans l'instant précédant son affichage sur un support, par exemple un écran. Un rendu en trois dimensions ou 3D en temps réel est différent d'un rendu en trois dimension dit « précalculé » dans la mesure ou le rendu de la scène est immédiat et que l'utilisateur a la possibilité de manipuler et d'interagir directement avec la scène, par exemple pour manipuler et changer les couleurs d'un objet, se déplacer au sein d'un univers virtuel, configurer les accessoires d'une automobile, simuler des cas d'urgence. Le rendu 3D des images s'effectue directement sur un périphérique d'affichage dans le cas d'un rendu temps-réel, contrairement à un rendu 3D précalculé dans lequel le résultat du rendu est une image ou une vidéo non modifiable. Pour que le temps de calcul d'un procédé de rendu 3D temps-réel soit imperceptible pour un utilisateur, il doit être inférieur à la persistance rétinienne. La vitesse de rendu des images étant mesurée en image par seconde (fps) ou Hertz (Hz), il apparaît que l'impression pour l'utilisateur d'un mode interactif existe à partir d'une vitesse de rendu de l'ordre de 6 fps, et qu'un procédé de rendu peut être considéré comme temps-réel à partir de 15 fps. Au delà de 72 fps, l'utilisateur ne peut plus remarquer de différence si la vitesse de rendu est encore augmentée. The present invention relates to a method and a system for rendering a scene in three dimensions in real time. A real-time three-dimensional rendering method consists in generating an image of a scene, possibly comprising animated elements, in the instant preceding its display on a medium, for example a screen. Real-time rendering in three dimensions or 3D is different from a so-called "pre-calculated" three-dimensional rendering in that the rendering of the scene is immediate and the user has the ability to directly manipulate and interact with the scene, for example to manipulate and change the colors of an object, to move within a virtual universe, to configure the accessories of an automobile, to simulate emergency cases. The 3D rendering of the images is done directly on a display device in the case of a real-time rendering, unlike a pre-calculated 3D rendering in which the result of the rendering is a non-modifiable image or video. For the calculation time of a real-time 3D rendering method to be imperceptible to a user, it must be less than the retinal persistence. Since the rendering speed of the images is measured in frames per second (fps) or Hertz (Hz), it appears that the printing for the user of an interactive mode exists from a rendering speed of the order of 6 fps, and a rendering process can be considered real-time from 15 fps. Beyond 72 fps, the user can not notice any difference if the rendering speed is further increased.
Pour obtenir une telle vitesse de rendu, des moyens d'accélération du calcul graphique matériels dédiés à cette fonction sont couramment utilisés, connus sous le nom d'unité de traitement graphique ou GPU (Graphic Processing Unit). Ainsi, le procédé de rendu mis en oeuvre par un moteur de rendu 3D utilise des algorithmes optimisés, mais également de nombreux prétraitements sur les scènes 3D opérées par le GPU. L'utilisation de tels procédés de rendu en 3D temps réel utilisant une accélération matérielle est très largement freinée par l'hétérogénéité des parcs de machines disponibles ce qui complexifie le déploiement des applications utilisant de tels procédés. To obtain such a rendering speed, hardware graphic calculation acceleration means dedicated to this function are commonly used, known as graphic processing unit (GPU). Thus, the rendering method implemented by a 3D rendering engine uses optimized algorithms, but also many preprocessing on the 3D scenes operated by the GPU. The use of such real-time 3D rendering methods using hardware acceleration is very much hampered by the heterogeneity of the available machine parks which complicates the deployment of applications using such methods.
Ainsi, plusieurs versions d'une même application doivent être développées et paramétrées pour s'adapter aux différentes configurations matérielles existantes. Les modèles 3D exploités par ces applications sont mêmes fréquemment spécifiques de la configuration matérielle de la machine cible. En outre, ces applications nécessitent une configuration matérielle minimale empêchant leur utilisation sur des terminaux ou ordinateurs personnel de faibles capacités tels que des « netbooks », portables bureautiques, tablette PC. Il est donc souhaitable de développer des procédés de rendu les plus performants possible permettant de ne pas utiliser les moyens d'accélération matériels, ou permettant d'utiliser ces moyens de façon optionnelle. Parmi les procédés de rendu 3D en temps-réel, Il est connu, par exemple du document WO2009063319A2, d'utiliser un procédé dit de lancer de rayon, consistant à calculer pour un point donné de l'image la couleur attribuée en calculant les intersections entre un rayon passant par le point de l'image et les objets de la scène. Un avantage du procédé de lancer de rayon est de permettre une parallélisation aisée. En effet, le calcul des intersections d'un rayon n'influe pas sur celui d'un rayon voisin. Il est donc facile de tirer parti des processeurs multicores modernes et des instructions de type SIMD. Thus, several versions of the same application must be developed and configured to adapt to different hardware configurations. The 3D models used by these applications are even frequently specific to the hardware configuration of the target machine. In addition, these applications require a minimum hardware configuration preventing their use on terminals or personal computers of low capacity such as "netbooks", office laptops, tablet PCs. It is therefore desirable to develop the most efficient rendering methods possible to not use the hardware acceleration means, or to use these means optionally. Among the real-time 3D rendering methods, it is known, for example from WO2009063319A2, to use a so-called radius casting method, consisting in calculating for a given point of the image the color attributed by calculating the intersections. between a ray passing through the point of the image and the objects of the scene. An advantage of the ray tracing method is to allow easy parallelization. Indeed, the calculation of the intersections of a ray does not affect that of a neighboring radius. It is therefore easy to take advantage of modern multi-core processors and SIMD-like instructions.
Toutefois, les performances des moteurs de lancer de rayon sont fortement dépendantes de la résolution de rendu qui détermine le nombre de rayons, leurs performances étant ainsi médiocres dans le cas de rendu à haute définition. La présente invention a pour objet de résoudre tout ou partie des 25 inconvénients mentionnés ci-dessus. A cet effet, la présente invention concerne un procédé de rendu d'images à partir d'une scène virtuelle en trois dimensions, dans lequel le rendu d'une image finale à une première résolution comprend les étapes consistant à : 30 - procéder à une première étape de rendu à une seconde résolution inférieure à la première résolution afin d'obtenir au moins une image intermédiaire; - opérer un redimensionnement de l'image intermédiaire obtenue à la seconde résolution de façon à obtenir une image à la première résolution - effectuer une détection des contours de l'image façon à déterminer dans ladite image des zones de contour et des zones sans contours; - opérer une seconde étape de rendu correspondant à un 5 suréchantillonnage local par rapport à la première étape de rendu (E1) dans les zones de contour; et - remplacer les pixels dans les zones de contour par les pixels dont la valeur est déduite de la seconde étape de rendu. Le fait de réaliser un rendu à plus faible résolution permet de 10 réaliser des gains de performances importants. L'utilisateur ne perçoit pas de différence notable de qualité induite par le changement de résolution car tous les contours de l'image sont nets. En effet, l'oeil humain est surtout sensible aux contours des objets sur une image. Le crénelage des contours, dus à une pixellisation de ceux-ci donne une sensation de mauvaise qualité d'image. Le 15 fait de réaliser un rendu à plus faible résolution puis un redimensionnement de l'image pourrait accentuer cette sensation. Grâce à la réalisation d'une seconde étape de rendu limitée aux zones de contour et d'une étape de remplacement des pixels correspondant aux dites zones de contour, seules les zones sans contours correspondant à des aplats de couleur sont dégradées, 20 ce qui est quasiment imperceptible pour l'oeil humain. Selon une première possibilité, le redimensionnement de l'image obtenu à la seconde résolution est réalisé avant l'étape de détection de contours, la seconde étape de rendu et l'étape de remplacement des pixels des zones de contour. 25 Dans ce cas, la détection de contour et le remplacement des pixels des zones de contour est réalisé dans une image intermédiaire obtenue à la première résolution. Selon une seconde possibilité, le redimensionnement de l'image obtenue à la seconde résolution est réalisé après l'étape de détection de 30 contours, la seconde étape de rendu et l'étape de remplacement des pixels des zones de contour. Dans ce cas, la détection de contour et le remplacement des pixels des zones de contour est réalisé dans une image intermédiaire obtenue à la seconde résolution. 35 Selon un aspect de l'invention, les étapes de rendu utilisent une technique de lancer de rayon. However, ray tracing engine performance is highly dependent on the rendering resolution that determines the number of rays, so their performance is poor in the case of high-definition rendering. The object of the present invention is to solve all or some of the disadvantages mentioned above. For this purpose, the present invention relates to a method for rendering images from a three-dimensional virtual scene, wherein rendering a final image at a first resolution comprises the steps of: first rendering step at a second resolution less than the first resolution to obtain at least one intermediate image; - resizing the intermediate image obtained at the second resolution so as to obtain an image at the first resolution - performing a detection of the contours of the image so as to determine in said image contour areas and areas without contours; performing a second rendering step corresponding to a local oversampling with respect to the first rendering step (E1) in the contour areas; and replacing the pixels in the contour zones with the pixels whose value is deduced from the second rendering step. Achieving a lower resolution rendering makes it possible to achieve significant performance gains. The user does not perceive a significant difference in quality induced by the change of resolution because all the outlines of the image are net. Indeed, the human eye is especially sensitive to the contours of objects on an image. The aliasing of the contours, due to a pixelation of these gives a feeling of poor image quality. Making a lower resolution rendering then resizing the image could accentuate that feeling. By performing a second rendering step limited to the contour areas and a step of replacing the pixels corresponding to said contour areas, only the areas without outlines corresponding to solid areas of color are degraded, 20 which is almost imperceptible to the human eye. According to a first possibility, the resizing of the image obtained at the second resolution is carried out before the contour detection step, the second rendering step and the step of replacing the pixels of the contour zones. In this case, contour detection and pixel replacement of the contour areas is performed in an intermediate image obtained at the first resolution. According to a second possibility, the resizing of the image obtained at the second resolution is performed after the contour detection step, the second rendering step and the step of replacing the pixels of the contour zones. In this case, the contour detection and the pixel replacement of the contour areas is performed in an intermediate image obtained at the second resolution. According to one aspect of the invention, the rendering steps use a ray tracing technique.
Selon une première possibilité, la seconde étape de rendu est effectuée en procédant à un lancer de rayon pour chaque pixel appartenant à une zone de contour d'une image intermédiaire à la première résolution. Selon une deuxième possibilité, dans lequel la seconde étape de rendu est effectuée en procédant pour chaque pixel appartenant à une zone de contour à une pluralité de lancers de rayon correspondant à différents points dans le voisinage du pixel, ledit pixel étant calculé en fonction des valeurs obtenues pour la pluralité de lancers de rayons. Selon deux variantes de mises en oeuvre, la seconde étape de 10 rendu est effectuée sur la base d'une image intermédiaire à la première résolution ou à la seconde résolution. Selon un aspect de l'invention, les étapes décrites selon les revendications précédentes sont appliquées : - en utilisant une première valeur de la seconde résolution lors du 15 déplacement du point de vue de l'utilisateur dans la scène 3D, et - en utilisant une seconde valeur de la seconde résolution supérieure à la première valeur lors de l'arrêt du déplacement du point de vue de l'utilisateur. Selon un aspect de l'invention, le procédé comprend une étape de 20 détection automatique de la configuration d'une machine destinée à exécuter le procédé de rendu, puis une étape de choix du mode de rendu afin de procéder à une baisse de la résolution de l'image lors des déplacements du point de vue de l'utilisateur dans la scène. L'invention concerne également un produit programme d'ordinateur 25 mettant en oeuvre les étapes du procédé décrit ci-dessus, ainsi qu'un système informatique comprenant un ou plusieurs ordinateurs ou terminaux en possession d'un utilisateur comprenant un ou plusieurs processeurs permettant l'exécution de ce programme. L'invention sera mieux comprise à l'aide de la description détaillée 30 qui est exposée ci-dessous en regard du dessin annexé dans lequel : La figure 1 est un organigramme d'un mode de mise en oeuvre d'un procédé selon l'invention ; La figure 2 illustre les traitements opérés sur les images selon une première et une seconde variante du procédé de figure 1 ; 35 La figure 3 détaille une étape de relancer de rayon dans le cadre du procédé de figure 1 selon une première variante ; La figure 4 détaille une étape de relancer de rayon dans le cadre du procédé de figure 1 selon une seconde variante. La figure 1 représente un mode de mise en oeuvre du procédé de rendu d'images selon l'invention à partir d'une scène virtuelle en trois 5 dimensions utilisant une technique de lancer de rayon. Il apparaît que dans ce mode de mise en oeuvre, trois variantes peuvent être utilisées comme nous le détaillerons ci-dessous. Le but de ce procédé est de fournir le rendu d'une image finale If à une première résolution R1. 10 Dans un premier temps, une première étape E1 de rendu à une seconde résolution R2 inférieure à la première résolution R1 est réalisée, afin d'obtenir une première image intermédiaire 11. Ensuite, selon une première variante du procédé, une étape de redimensionnement E2 de l'image obtenue 11 à la seconde résolution R2 est 15 réalisée afin d'obtenir une seconde image intermédiaire 12 à la première résolution R1 correspondant à celle de l'image finale If. Etant donné que le rendu est calculé à une seconde résolution R2 plus faible que la résolution finale R1, et que ce rendu est redimensionné, un phénomène de crénelage important est présent au niveau des zones de 20 contour ZC de l'image intermédiaire 12, comme cela est représenté par des pointillés sur la figure 2. Une étape de détection de contour E3 est ensuite réalisée dans la seconde image intermédiaire 12 obtenue à la première résolution R1 dans l'image de façon à déterminer dans ladite image des zones de contour ZC et 25 des zones sans contours ZSC. L'algorithme de détection de contour peut être par exemple un algorithme connu sous le nom de Prewitt - Sobel. Une cartographie des contours de l'image, représenté en 13 sur la figure 2 est ainsi obtenue. Selon la première variante du procédé, une seconde étape de 30 rendu E4a est ensuite réalisée qui correspond à un suréchantillonnage local par rapport à la première étape de rendu E1. Ainsi, comme cela est représenté sur la figure 3, un lancer de rayon RR est effectué par pixel P correspondant à une zone de contour ZC de l'image finale à la première résolution R1. Ces dispositions permettent de 35 supprimer l'effet aggravant du crénelage de l'image obtenu du fait du redimensionnement de l'image. According to a first possibility, the second rendering step is performed by launching a ray for each pixel belonging to a contour zone of an intermediate image at the first resolution. According to a second possibility, in which the second rendering step is performed by proceeding for each pixel belonging to a contour zone to a plurality of ray shots corresponding to different points in the vicinity of the pixel, said pixel being calculated according to the values obtained for the plurality of ray shots. According to two variants of implementations, the second rendering step is performed on the basis of an intermediate image at the first resolution or the second resolution. According to one aspect of the invention, the steps described in the preceding claims are applied: - by using a first value of the second resolution when moving the user's point of view in the 3D scene, and - using a second value of the second resolution greater than the first value when stopping the displacement from the point of view of the user. According to one aspect of the invention, the method comprises a step of automatically detecting the configuration of a machine intended to execute the rendering method, then a step of choosing the rendering mode in order to proceed with a decrease in the resolution. of the image when moving from the point of view of the user in the scene. The invention also relates to a computer program product 25 implementing the steps of the method described above, as well as a computer system comprising one or more computers or terminals in the possession of a user comprising one or more processors allowing execution of this program. The invention will be better understood with the aid of the detailed description which is set forth below with reference to the accompanying drawings in which: FIG. 1 is a flowchart of an embodiment of a method according to invention; FIG. 2 illustrates the operations performed on the images according to a first and a second variant of the method of FIG. 1; Figure 3 details a step of reviving radius in the context of the method of Figure 1 according to a first variant; FIG. 4 details a step of restarting the radius as part of the method of FIG. 1 according to a second variant. FIG. 1 represents an embodiment of the image rendering method according to the invention from a three-dimensional virtual scene using a ray tracing technique. It appears that in this mode of implementation, three variants can be used as we will detail below. The purpose of this method is to provide the rendering of a final image If at a first resolution R1. In a first step, a first step E1 of rendering at a second resolution R2 smaller than the first resolution R1 is performed, in order to obtain a first intermediate image 11. Then, according to a first variant of the method, a resizing step E2 of the obtained image 11 at the second resolution R2 is performed in order to obtain a second intermediate image 12 at the first resolution R1 corresponding to that of the final image If. Since the rendering is computed at a second resolution R2 smaller than the final resolution R1, and this rendering is resized, a significant aliasing phenomenon is present at the contour areas ZC of the intermediate image 12, such as this is represented by dotted lines in FIG. 2. A contour detection step E3 is then performed in the second intermediate image 12 obtained at the first resolution R1 in the image so as to determine in said image contour zones ZC and 25 areas without contours ZSC. The contour detection algorithm may for example be an algorithm known as Prewitt - Sobel. A map of the contours of the image, represented at 13 in FIG. 2, is thus obtained. According to the first variant of the method, a second rendering step E4a is then performed which corresponds to a local oversampling with respect to the first rendering step E1. Thus, as shown in FIG. 3, a throw of radius RR is performed per pixel P corresponding to a contour zone ZC of the final image at the first resolution R1. These provisions make it possible to eliminate the aggravating effect of the aliasing of the image obtained because of the resizing of the image.
Une étape E5 de remplacement des pixels dans les zones de contour ZC de la seconde image intermédiaire 12 obtenue à une seconde résolution R2 par les pixels dont la valeur est déduite de la seconde étape de rendu E4a permet enfin d'obtenir une image finale corrigée If, comme cela est représenté sur la figure 2. Selon une seconde variante du procédé, l'ensemble des étapes correspondant à la première variante sont reprises, à l'exception de la seconde étape de rendu E4a. En effet, selon cette seconde variante, une seconde étape de rendu E4b est réalisée avec un suréchantillonage local dans les zones de contour. En particulier, un nombre N > 1 de rayons RR sont lancés pour chaque pixel P d'une zone de contourZC d'une image à la première résolution R1. La couleur attribuée à ce pixel est déterminée comme une moyenne des valeurs de couleur obtenue pour les rayons lancés RR. A step E5 of replacing the pixels in the contour areas ZC of the second intermediate image 12 obtained at a second resolution R2 by the pixels whose value is deduced from the second rendering step E4a finally makes it possible to obtain a corrected final image If as shown in FIG. 2. According to a second variant of the method, all the steps corresponding to the first variant are repeated, with the exception of the second rendering step E4a. Indeed, according to this second variant, a second rendering step E4b is performed with a local oversampling in the contour areas. In particular, an N> 1 number of RR rays are launched for each pixel P of a contour zoneZC of an image at the first resolution R1. The color assigned to this pixel is determined as an average of the color values obtained for the launched radii RR.
La figure 4 illustre un cas dans lequel quatre rayons sont relancés pour un pixel P. Selon une troisième variante du procédé, représentée sur la branche de gauche de l'organigramme de la figure 1, les étapes suivant l'obtention par la première étape de rendu E1 d'une première image intermédiaire 11 à la seconde résolution R2 sont différentes de celles des premières et seconde variantes. Ainsi, sur la base de la première image intermédiaire 11 obtenue à une seconde résolution R2, une étape de détection de contour E6 est réalisée de façon à déterminer dans ladite image des zones de contour ZC et des zones sans contours ZSC. Ensuite, une seconde étape de rendu E7 est réalisée avec un suréchantillonage local dans les zones de contour. En particulier, un nombre N > 1 de rayons RR sont lancés pour chaque pixel P d'une zone de contour ZC d'une image à la seconde résolution R2. La couleur attribuée à ce pixel est déterminée comme une moyenne des valeurs de couleur obtenue pour les rayons lancés RR. Le nombre N est par exemple égal à 4. Une étape E8 de remplacement des pixels dans les zones de contour ZC de la première image intermédiaire 11 obtenue à une seconde résolution R2 par les pixels dont la valeur est déduite de la seconde étape de rendu E4b permet enfin d'obtenir une seconde image intermédiaire 12'. FIG. 4 illustrates a case in which four rays are restarted for a pixel P. According to a third variant of the method, represented on the left branch of the flowchart of FIG. 1, the steps following the obtaining by the first step of FIG. rendering E1 of a first intermediate image 11 to the second resolution R2 are different from those of the first and second variants. Thus, on the basis of the first intermediate image 11 obtained at a second resolution R2, a contour detection step E6 is performed so as to determine in said image contour areas ZC and areas without contours ZSC. Then, a second rendering step E7 is performed with local oversampling in the contour areas. In particular, an N> 1 number of RR rays are launched for each pixel P of a contour zone ZC of an image at the second resolution R2. The color assigned to this pixel is determined as an average of the color values obtained for the launched radii RR. The number N is for example equal to 4. A step E8 of replacing the pixels in the contour zones ZC of the first intermediate image 11 obtained at a second resolution R2 by the pixels whose value is deduced from the second rendering step E4b finally makes it possible to obtain a second intermediate image 12 '.
Enfin, une étape de redimensionnement E9 de la seconde image intermédiaire 12 est réalisée afin d'obtenir l'image finale If à la première résolution R1. La qualité du rendu obtenue avec la seconde variante est supérieure à la qualité de rendu obtenue avec la première variante. La troisième variante fournit une qualité de rendu inférieure à la première variante. II est à noter que la seconde variante est la variante utilisant le plus de ressources, la première variante utilisant moins de ressources que la seconde variante, et la troisième variante utilisant moins de ressources que la première variante. II est possible de laisser le choix de l'utilisation de la première, seconde ou troisième variante à l'utilisateur, ou de rendre ce choix automatique en fonction des caractéristiques de la machine sur lequel est exécuté le logiciel ou programme d'ordinateur mettant en oeuvre les étapes du procédé. Finally, a resizing step E9 of the second intermediate image 12 is performed in order to obtain the final image If at the first resolution R1. The rendering quality obtained with the second variant is greater than the rendering quality obtained with the first variant. The third variant provides a rendering quality lower than the first variant. It should be noted that the second variant is the variant using the most resources, the first variant using fewer resources than the second variant, and the third variant using fewer resources than the first variant. It is possible to leave the choice of the use of the first, second or third variant to the user, or to make this automatic choice according to the characteristics of the machine on which the software or computer program implementing the steps of the process.
Par ailleurs, la seconde résolution R2, comme le nombre de rayon relancés lors de la seconde étape de rendu peuvent être réglés, de façon manuelle et/ou automatique, afin de s'adapter aux performances de la machine considérée. Selon un aspect de l'invention, deux valeurs distinctes de la seconde résolution R2 sont utilisées. Une première valeur R2a de la seconde résolution lors du déplacement du point de vue de l'utilisateur dans la scène 3D, et en utilisant une seconde valeur R2b de la seconde résolution R2 supérieure à la première valeur R2a lors de l'arrêt du déplacement du point de vue de l'utilisateur dans la scène 3D. Moreover, the second resolution R2, like the number of spokes restarted during the second rendering step can be adjusted, manually and / or automatically, in order to adapt to the performance of the machine in question. According to one aspect of the invention, two distinct values of the second resolution R2 are used. A first value R2a of the second resolution when moving the user's point of view in the 3D scene, and using a second value R2b of the second resolution R2 greater than the first value R2a when stopping the movement of the user's point of view in the 3D scene.
Par exemple, dans le cas d'une zone de rendu d'une résolution R1 de 19201200, il est possible d'utiliser : - une résolution R2a de rendu en déplacement de 400300, qui est ensuite redimensionnée en 19201200, et - une résolution R2b de rendu à l'arrêt de 800600, qui est ensuite 30 redimensionnée en 19201200. Ainsi, la qualité du rendu est adaptée en fonction de la machine cible, et une dégradation imperceptible de la qualité du rendu, correspondant à une réduction automatique de la taille d'affichage lors du déplacement est effectuée afin de proposer des performances satisfaisante sur des scènes 3D 35 complexes. Dès que l'utilisateur arrête de se déplacer, une image haute définition à la première résolution R1 est calculée et affichée. For example, in the case of a rendering area with a resolution R1 of 19201200, it is possible to use: a displacement rendering resolution R2a of 400300, which is then resized in 19201200, and a resolution R2b This renders the rendering quality adapted to the target machine, and an imperceptible degradation of the quality of the rendering, corresponding to an automatic reduction of the size. when traveling is performed to provide satisfactory performance on complex 3D scenes. As soon as the user stops moving, a high resolution image at the first resolution R1 is calculated and displayed.
Grâce aux dispositions selon l'invention, un pipeline de rendu adaptatif est mis en place selon les possibilités de calcul et de stockage des matériels utilisés pour la visualisation (station de travail, ordinateur portable, PDA, téléphone mobile, ...), permettant de visualiser en temps réel des scènes composées de quelques millions de polygones et fournissant une qualité d'image adaptée aux possibilités matérielles disponibles. Bien que l'invention ait été décrite en liaison avec des exemples particuliers de réalisation, il est bien évident qu'elle n'y est nullement limitée et qu'elle comprend tous les équivalents techniques des moyens décrits ainsi que leurs combinaisons si celles-ci entrent dans le cadre de l'invention. Thanks to the provisions of the invention, an adaptive rendering pipeline is set up according to the calculation and storage possibilities of the materials used for visualization (workstation, laptop, PDA, mobile phone, etc.), allowing to visualize in real time scenes composed of a few million polygons and providing an image quality adapted to the material possibilities available. Although the invention has been described in connection with particular embodiments, it is obvious that it is not limited thereto and that it comprises all the technical equivalents of the means described and their combinations if they are within the scope of the invention.
Claims (11)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1060367A FR2968813B1 (en) | 2010-12-10 | 2010-12-10 | METHOD FOR RENDERING IMAGES FROM A THREE-DIMENSIONAL VIRTUAL SCENE |
PCT/FR2011/052696 WO2012076778A1 (en) | 2010-12-10 | 2011-11-18 | Method for rendering images from a three-dimensional virtual scene |
DE112011104332T DE112011104332T5 (en) | 2010-12-10 | 2011-11-18 | Method for three-dimensional image reproduction of a virtual scene |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1060367A FR2968813B1 (en) | 2010-12-10 | 2010-12-10 | METHOD FOR RENDERING IMAGES FROM A THREE-DIMENSIONAL VIRTUAL SCENE |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2968813A1 true FR2968813A1 (en) | 2012-06-15 |
FR2968813B1 FR2968813B1 (en) | 2012-12-28 |
Family
ID=43734038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1060367A Expired - Fee Related FR2968813B1 (en) | 2010-12-10 | 2010-12-10 | METHOD FOR RENDERING IMAGES FROM A THREE-DIMENSIONAL VIRTUAL SCENE |
Country Status (3)
Country | Link |
---|---|
DE (1) | DE112011104332T5 (en) |
FR (1) | FR2968813B1 (en) |
WO (1) | WO2012076778A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113350790A (en) * | 2021-05-21 | 2021-09-07 | 广州三七极创网络科技有限公司 | Edge processing method, device, equipment and storage medium of virtual role |
CN113470153A (en) * | 2021-07-23 | 2021-10-01 | 腾讯科技(深圳)有限公司 | Rendering method and device of virtual scene and electronic equipment |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009063319A2 (en) | 2007-11-15 | 2009-05-22 | Mental Images Gmbh | Shallow bounding volume hierarchies for accelerated ray tracing |
-
2010
- 2010-12-10 FR FR1060367A patent/FR2968813B1/en not_active Expired - Fee Related
-
2011
- 2011-11-18 WO PCT/FR2011/052696 patent/WO2012076778A1/en active Application Filing
- 2011-11-18 DE DE112011104332T patent/DE112011104332T5/en not_active Withdrawn
Non-Patent Citations (6)
Title |
---|
CHRISTIAN N S ODOM ET AL: "Ray Traced Virtual Reality", 30 November 2009, ADVANCES IN VISUAL COMPUTING, SPRINGER BERLIN HEIDELBERG, BERLIN, HEIDELBERG, PAGE(S) 1031 - 1042, ISBN: 978-3-642-10330-8, XP019134448 * |
DON P. MITCHELL: "Generating Antialiased Images at Low Sampling densities", SIGGRAPH '87 CONF PROC; ANAHEIM, CA, USA; 27 JULY 1987 THROUGH 31 JULY 1987, vol. 21, no. 4, 27 July 1987 (1987-07-27) - 31 July 1987 (1987-07-31), ACM, 2 PENN PLAZA, SUITE 701 - NEW YORK USA, pages 65 - 72, XP040129015 * |
JANSEN F W ET AL: "Previewing techniques in raster graphics", COMPUTERS AND GRAPHICS, ELSEVIER, GB, vol. 8, no. 2, 1 January 1984 (1984-01-01), pages 149 - 161, XP026649378, ISSN: 0097-8493, [retrieved on 19840101], DOI: DOI:10.1016/0097-8493(84)90050-5 * |
LARRY BERGMAN, HENRY FUCHS, ERIC GRANT: "Image Rendering by Adaptive Refinement", SIGGRAPH '86 - CONF PROC; DALLAS, TX, USA, vol. 20, no. 4, 18 August 1986 (1986-08-18) - 22 August 1986 (1986-08-22), ACM, 2 PENN PLAZA, SUITE 701 - NEW YORK USA, pages 29 - 37, XP040076139 * |
REISMAN A ET AL: "Parallel progressive rendering of animation sequences at interactive rates on distributed-memory machines", PARALLEL RENDERING, 1997. PRS 97. PROCEEDINGS. IEEE SYMPOSIUM ON PHOENIX, AZ, USA 20-21 OCT. 1997, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 20 October 1997 (1997-10-20), pages 39 - 47, XP010251395, ISBN: 978-0-8186-8265-0, DOI: DOI:10.1109/PRS.1997.628294 * |
TAKAAKI AKIMOTO ET AL: "PIXEL-SELECTED RAY-TRACING", SYSTEMS & COMPUTERS IN JAPAN, WILEY, HOBOKEN, NJ, US, vol. 18, no. 11, 1 November 1987 (1987-11-01), pages 41 - 49, XP000006630, ISSN: 0882-1666 * |
Also Published As
Publication number | Publication date |
---|---|
WO2012076778A1 (en) | 2012-06-14 |
FR2968813B1 (en) | 2012-12-28 |
DE112011104332T5 (en) | 2013-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1292921B1 (en) | Refinement of a three-dimensional triangular mesh | |
US8325186B2 (en) | Method and apparatus for rendering shadows | |
EP1527599B1 (en) | Method and system enabling real time mixing of synthetic images and video images by a user | |
CA2810865C (en) | Streaming light propagation | |
RU2481640C1 (en) | Method and system of generation of animated art effects on static images | |
CA2810880C (en) | Integration cone tracing | |
FR2988891A1 (en) | METHOD FOR ESTIMATING OPACITY LEVEL IN A SCENE AND CORRESPONDING DEVICE | |
CN105631926A (en) | Image processing apparatus and method | |
FR2965652A1 (en) | METHOD FOR ESTIMATING LIGHT QUANTITY RECEIVED IN ONE POINT OF A VIRTUAL ENVIRONMENT | |
US11508113B2 (en) | Denoising techniques suitable for recurrent blurs | |
US20160042558A1 (en) | Method and apparatus for processing image | |
CN107392990A (en) | Render the global illumination of 3D scenes | |
US20180047204A1 (en) | Three-dimensional character rendering system using general purpose graphic processing unit, and processing method thereof | |
US20130063462A1 (en) | Tile-based image processing using mipmaps | |
FR2964775A1 (en) | METHOD FOR ESTIMATING OCCULTATION IN A VIRTUAL ENVIRONMENT | |
FR2968813A1 (en) | METHOD FOR RENDERING IMAGES FROM A VIRTUAL THREE-DIMENSIONAL SCENE | |
EP2297705B1 (en) | Method for the real-time composition of a video | |
EP2502206A2 (en) | Method for estimating light scattering | |
WO2016058288A1 (en) | Depth-of-field rendering method and apparatus | |
WO2011058007A2 (en) | Method for estimating light scattering | |
Bojrab et al. | Perceptual importance of lighting phenomena in rendering of animated water | |
FR2968812A1 (en) | Method for rendering images in real-time from virtual three-dimensional scene, involves building data structure by merging all static objects of scene before making combinations of three-dimensional geometric data by spatial proximity | |
FR2994500A1 (en) | METHOD OF OPTIMIZING THE EXECUTION OF A GRAPHIC PIPELINE | |
Macedo et al. | Euclidean distance transform soft shadow mapping | |
FR2964776A1 (en) | METHOD FOR ESTIMATING LIGHT DISTRIBUTION IN A HOMOGENEOUS ENVIRONMENT |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RM | Correction of a material error |
Effective date: 20130612 |
|
PLFP | Fee payment |
Year of fee payment: 6 |
|
PLFP | Fee payment |
Year of fee payment: 7 |
|
CA | Change of address |
Effective date: 20170912 |
|
PLFP | Fee payment |
Year of fee payment: 8 |
|
PLFP | Fee payment |
Year of fee payment: 9 |
|
PLFP | Fee payment |
Year of fee payment: 10 |
|
PLFP | Fee payment |
Year of fee payment: 11 |
|
TP | Transmission of property |
Owner name: AKKA INGENIERIE PRODUIT, FR Effective date: 20201228 |
|
PLFP | Fee payment |
Year of fee payment: 12 |
|
ST | Notification of lapse |
Effective date: 20230808 |