FR2864318A1 - Dispositif d'organisation des donnees dans la memoire de trame d'un processeur graphique - Google Patents
Dispositif d'organisation des donnees dans la memoire de trame d'un processeur graphique Download PDFInfo
- Publication number
- FR2864318A1 FR2864318A1 FR0315203A FR0315203A FR2864318A1 FR 2864318 A1 FR2864318 A1 FR 2864318A1 FR 0315203 A FR0315203 A FR 0315203A FR 0315203 A FR0315203 A FR 0315203A FR 2864318 A1 FR2864318 A1 FR 2864318A1
- Authority
- FR
- France
- Prior art keywords
- color
- depth
- transparency
- present
- frame buffer
- 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
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/001—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background
- G09G3/003—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background to produce spatial visual effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/393—Arrangements for updating the contents of the bit-mapped memory
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
L'invention concerne un dispositif permettant d'améliorer la qualité d'un système d'affichage en utilisant un certain nombre de processeurs graphiques et en distribuant les objets à dessiner sur les processeurs. Ce dispositif est caractérisé par l'utilisation du tampon de trame habituel pour conserver les informations de transparence et de profondeur, un dispositif pour transférer ces informations dans le tampon en modifiant le dispositif habituel de calcul d'éclairement, en conservant la précision de ces informations et en préservant l'ordre du dessin des objets transparents.
Description
286431 8
DOMAINE TECHNIQUE DE L'INVENTION La présente invention concerne de façon générale le domaine des systèmes d'affichage graphique par ordinateur ou par tout autre dispositif de calcul par circuit électronique numérique et plus particulièrement un système et un procédé pour améliorer la qualité de l'affichage dans un système d'affichage graphique.
CONTEXTE DE L'INVENTION Les systèmes d'affichage graphique par ordinateur sont couramment utilisés pour afficher des représentations graphiques de données tridimensionnelles ou bidimensionnelles sur des dispositifs d'affichages bidimensionnels comme des écrans à tubes cathodiques ou à cristaux liquides.
Dans ces systèmes d'affichages, une application mémorisée dans un ou plusieurs ordinateurs constitués de mémoires et de processeurs, gère une base de données constituée d'objets tridimensionnels. Ces objets sont des représentations d'objets réels dont l'ensemble constitue la scène à afficher. Ces objets contiennent toutes les informations nécessaires à fin de pouvoir être affichées dans le système et ainsi constituer une imitation réaliste de la vue qu'aurait un observateur avec ses yeux si il était plongé dans une scène contenant les objets décrits dans la base de données.
Les données associées à ces objets dans la base sont relatives à la position de l'objet, sa forme, sa couleur ou toute autre information ayant un impact sur la façon dont celui-ci peut s'afficher.
A fin d'afficher la scène sur le système d'affichage, l'application lit le contenu de cette base de donnée et en communique le contenu à un composant spécialisé contenu dans l'ordinateur appelé processeur graphique. Le processeur graphique effectue tous les calculs nécessaires à fin de produire un ensemble de données numériques appelé 286431 8 tampon de trame. Les données contenues dans ce tampon de trame représentent l'intensité lumineuse et la couleur de chaque position du dispositif d'affichage. Ces données sont ensuite envoyées au dispositif d'affichage par une connexion utilisant un signal vidéo sur un support physique. Un dispositif d'affichage est constitué d'une grille bidimensionnelle contenant un ensemble de positions dont la couleur et l'intensité lumineuse peut être différente à fin de constituer l'image.
A fin de pouvoir déterminer, pour chaque objet et pour chaque position du dispositif d'affichage, quel est l'objet qui est effectivement visible, les processeurs graphiques utilisent une mémoire appelée tampon de profondeur dans laquelle est conservée une représentation de la distance à l'observateur du dernier objet à avoir été dessiné à cette position. Ce tampon est utilisé par le processeur graphique pour effectuer son dessin avec l'algorithme classique du tampon de profondeur. De même, le processeur graphique utilise un tampon de transparence qui permet de connaître la transparence du dernier objet à avoir été dessiné à chaque position du dispositif d'affichage. Ce tampon permet de tenir compte des objets transparents lors de l'application de l'algorithme du tampon de profondeur.
Bien qu'il soit possible d'utiliser les systèmes d'affichage graphiques par ordinateur pour afficher des représentations graphiques de données tridimensionnelles, le réalisme des images affichés par ces systèmes sont limités par leur performance. Ces limites sont de différents types.
La première limite connue est celle du nombre d'objets qui peuvent être calculés par le processeur graphique pendant une durée donnée. Pour pouvoir être utilisé de façon efficace un système d'affichage graphique doit produire une nouvelle image en moins de 15ms. Dans cette durée, un processeur graphique ne peut traiter qu'un nombre limité d'objets d'une base de donnée de scène, ce qui limite le réalisme de l'image affichée par le système.
La seconde limite est la complexité des algorithmes qui peuvent être utilisés par le processeur graphique pour calculer la représentation bidimensionnel des objets qui lui sont envoyés. Ces algorithmes tentent d'imiter de façon approximative les phénomènes physiques qui se produisent quand des objets dans l'espace sont soumis à des sources de lumière. Plus on veut des algorithmes réalistes, plus ils prennent du temps de calcul sur un processeur graphique pour chaque objet.
Les solutions généralement retenues pour contourner les limites des systèmes d'affichage graphiques par ordinateur utilisent un plus grand nombre de processeurs graphiques que de dispositifs d'affichage. Ainsi, en distribuant de façon adéquate les tâches de calcul de la représentation bidimensionnelle des objets sur un plus grand nombre de processeurs graphiques, on peut calculer plus de position, plus d'objets ou passer plus de temps de calcul pour chaque objet.
Ces processeurs graphiques sont généralement organisés en un réseau informatique local de serveurs graphiques possédant chacun un ou plusieurs processeurs graphiques. Le réseau local connecte également les serveurs graphiques avec la ou les machines clientes dont les processeurs font fonctionner l'application graphique qui parcourt la base de donnée d'objet qui doivent être affichés.
Les processeurs graphiques sont également reliés aux différents dispositifs d'affichage par un réseau image qui permet de faire transiter les différentes parties d'images produites par les différents processeurs graphiques aux dispositifs d'affichage auxquels ils sont associés. Ce réseau permet de combiner les différentes images produites par les serveurs graphiques qui travaillent chacun sur une partie du calcul.
286431 8 Il existe deux façons de répartir les calculs d'un système d'affichage graphique par ordinateur sur plusieurs serveurs graphiques pour accélérer la vitesse de rendu. On peut soit découper la zone d'affichage bidimensionnelle en différentes sous-zones exclusives dont chaque serveur graphique a la responsabilité. On peut répartir les différents objets sur des serveurs différents, pouvant chacun dessiner sur toute la zone d'affichage.
Le problème classique de l'efficacité des systèmes utilisant plusieurs processeurs pour calculer des sous-parties d'une même tâche est que le temps de calcul de l'ensemble est généralement supérieur au temps de calcul par un seul processeur divisé par le nombre de processeurs. Il est actuellement connu que le découpage par répartition d'objets présente une meilleure efficacité que le découpage par répartition d'image. En particulier, lorsque le nombre de processeur graphique commence à être important (plus de dix), le découpage image fait que beaucoup d'objets se trouvent à cheval sur plusieurs zones affectées à des processeurs différents et doivent ainsi être traités plusieurs fois.
Certain dispositifs de réseau image on l'inconvénient de posséder leur propre tampon de trame et nécessitent ainsi que ce tampon de trame soit totalement rempli par les parties d'images calculées par les différents processeurs graphiques avant de pouvoir communiquer le contenu de ces tampons de trames aux dispositifs d'affichage. Ces dispositifs ajoutent ainsi le temps de remplissage des tampons de trame qui est généralement de l'ordre de 15ms au temps entre le moment où les applications commencent à dessiner la scène et le moment où les dispositifs d'affichage peuvent afficher la scène. Cette durée supplémentaire nuit à la facilité d'utilisation du système d'affichage graphique par ordinateur. D'autres dispositifs de réseau image traitent les signaux au fur et à mesure 286431 8 reçoivent et les communiquent aux dispositifs sans délai perceptible par l'utilisateur du de dispositifs de réseau image traitant au fur et à mesure est facile à réaliser dans on a une répartition par zone d'image. En revanche, pour pouvoir effectuer une répartition par objets, il est nécessaire pour le réseau image de connaître les informations de profondeur et de transparence pour chaque position du dispositif d'affichage. Or, les dispositifs d'affichages actuels n'ont pas besoin de ces informations et donc les signaux utilisés actuellement pour communiquer entre les cartes graphiques et les dispositifs d'affichages ne comportent jamais cette information.
Les réseaux images qui actuellement traitent les dispositifs faisant une distribution du travail par répartition des objets utilisent toujours une mémoire de trame interne qui contient à la fois les informations de luminosités, de transparence et de profondeur. Pour faire passer les informations de transparence et de profondeur de la mémoire du processeur graphique au réseau image, les processeurs graphiques procèdent en plusieurs étapes: 1)Envoi des informations du tampon de trame au réseau image (luminosité et couleur).
2)Recopie des informations de transparence du tampon de transparence dans le tampon de trame.
3)Recopie des informations de profondeurs du tampon de profondeur dans le tampon de trame.
4)Envoi des informations du tampon de trame au réseau 30 image (transparence et profondeur).
5)Traitement de ces informations par le réseau image.
L'ensemble de ces opérations prennent beaucoup de temps (de l'ordre de 30ms) et diminuent ainsi beaucoup la qualité d'un tel dispositif.
Enfin, un autre problème bien connu des dispositifs qu'ils les d'affichage système.
La réalisation les signaux le cas où - 6- d'affichages utilisant un certain nombre de processeurs pour répartir les objets à dessiner est celui de la gestion de la transparence. En effet, l'algorithme du dessin par tampon de profondeur en tenant compte de la transparence nécessite que les objets transparents soient dessinés après tous les objets opaques de la scène et qu'eux même soient triés par rapport à la position de l'observateur. Si ce n'est pas le cas, l'affichage est incorrect.
Claims (1)
- 286431 8 La figure 7 présente un dispositif de répartition des tâches de calcul pour un système possédant plusieurs processeurs graphiques hybride entre une répartition par zone d'images et une répartition d'objets. Il est connu que la répartition par distribution d'objets présente une meilleure performance que la répartition par distribution d'images. Cependant, la répartition par distribution d'objets présente le problème de ne pas pouvoir toujours garantir le respect de l'ordre de dessin des objets transparents de la scène.Pour résoudre ce problème selon le mode de réalisation de la figure 7, l'algorithme de découpage des zones à assigner aux processeurs graphiques détermine non pas des zones dans l'écran mais des zones dans l'espace. Ces zones ont leurs plans délimitant parallèles aux axes d'un repère dont l'origine est positionnée à la position de l'observateur, et l'axe Z fuit de l'observateur, orthogonalement à l'écran, convention utilisée habituellement dans les dispositifs de synthèse d'image par ordinateur. L'algorithme fonctionne en ayant la connaissance de l'ensemble des objets qui doivent être dessinés, ainsi que leur position. Il détermine ensuite des tranches (29) parallèles au plan (X,Y) contenant la bonne quantité d'objets à dessiner de façon à ce que la charge soit bien répartie. Le problème que cet algorithme résout survient lorsqu'il s'aperçoit qu'un objet transparent (32), pourrait se trouver à cheval entre deux zones. Pour éviter cela, la tranche en question est découpée en deux zones selon l'axe des X ou des Y (30,31), et la tranche est prolongée dans l'axe des Z de façon à avoir la bonne quantité d'objets.La figure 7 présente un exemple de découpage pour répartir la charge sur trois processeurs graphiques, avec une certaine répartition et avec une certaine configuration d'objets à dessiner à des fins explicative. La présente - 13- invention peut être réalisée pour répartir la charge sur un nombre quelconque de processeurs graphiques, peut gérer n'importe quelle répartition et n'importe quelle configuration d'objet.La présente invention peut donner lieu à un grand nombre d'applications industrielles comme la visualisation d'images de synthèses produites en temps réel pour lesquelles les performances d'un seul processeur graphique sont insuffisantes.286431 8REVENDICATIONS1) Dispositif d'organisation des données dans la mémoire de trame d'un processeur graphique (2) dans un système avec un nombre multiple de processeurs graphiques caractérisé par le fait qu'il peut utiliser des cases prévues pour mémoriser la luminosité et la couleur (3) pour mémoriser la transparence et la profondeur (4) du dernier objet dessiné.2) Dispositif selon la revendication 1, caractérisé par le remplacement du dispositif habituel d'éclairement par un dispositif (5) pouvant mettre alternativement la luminosité et la couleur (8) ou la profondeur et la transparence (9) dans le tampon de trame selon une fonction de sélection (7).3) Dispositif selon la revendication 2 caractérisé par l'utilisation d'une texture répétée (11) pour effectuer cette sélection (7).4) Dispositif selon la revendication 2 caractérisé par l'utilisation d'une fonction périodique de l'abscisse X (14) pour effectuer cette sélection (7).5) Dispositif selon la revendication 1 caractérisé par une répartition de l'information de profondeur sur les composantes primaires utilisées dans le tampon de profondeur avec une perte minimale de précision.6) Dispositif selon la revendication 1 caractérisé par une répartition de charge (29,30,31) répartissant à la fois des objets et des zones d'affichages sur les processeurs graphiques afin de garantir l'ordre de dessin des objets transparent.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0315203A FR2864318B1 (fr) | 2003-12-23 | 2003-12-23 | Dispositif d'organisation des donnees dans la memoire de trame d'un processeur graphique |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0315203A FR2864318B1 (fr) | 2003-12-23 | 2003-12-23 | Dispositif d'organisation des donnees dans la memoire de trame d'un processeur graphique |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2864318A1 true FR2864318A1 (fr) | 2005-06-24 |
FR2864318B1 FR2864318B1 (fr) | 2007-03-16 |
Family
ID=34630476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0315203A Expired - Lifetime FR2864318B1 (fr) | 2003-12-23 | 2003-12-23 | Dispositif d'organisation des donnees dans la memoire de trame d'un processeur graphique |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2864318B1 (fr) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6275241B1 (en) * | 1997-09-11 | 2001-08-14 | Nec Corporation | High speed image drawing apparatus for displaying three dimensional images |
US20020080141A1 (en) * | 2000-07-24 | 2002-06-27 | Masatoshi Imai | Image processing system, device, method, and computer program |
FR2840705A1 (fr) * | 2002-06-06 | 2003-12-12 | Artabel | Procede et dispositif d'equilibrage de charge au sein d'un ensemble (cluster) d'ordinateurs utilises en parallele pour des applications graphiques |
-
2003
- 2003-12-23 FR FR0315203A patent/FR2864318B1/fr not_active Expired - Lifetime
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6275241B1 (en) * | 1997-09-11 | 2001-08-14 | Nec Corporation | High speed image drawing apparatus for displaying three dimensional images |
US20020080141A1 (en) * | 2000-07-24 | 2002-06-27 | Masatoshi Imai | Image processing system, device, method, and computer program |
FR2840705A1 (fr) * | 2002-06-06 | 2003-12-12 | Artabel | Procede et dispositif d'equilibrage de charge au sein d'un ensemble (cluster) d'ordinateurs utilises en parallele pour des applications graphiques |
Non-Patent Citations (1)
Title |
---|
DEERING M F ET AL: "FBRAM: A NEW FORM OF MEMORY OPTIMIZED FOR 3D GRAPHICS", COMPUTER GRAPHICS PROCEEDINGS. ANNUAL CONFERENCE SERIES. SIGGRAPH, XX, XX, vol. 1, no. 1, 1994, pages 167 - 174, XP000952361 * |
Also Published As
Publication number | Publication date |
---|---|
FR2864318B1 (fr) | 2007-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tarini et al. | Ambient occlusion and edge cueing for enhancing real time molecular visualization | |
EP1982310B1 (fr) | Procede de synthese d'une image virtuelle par lancer de faisceaux | |
GB2559042B (en) | Allocation of tiles to processing engines in a graphics processing system | |
FR2714505A1 (fr) | Dispositif et procédé pour générer une image destinée à un traitement graphique d'ordinateur tridimensionnel. | |
EP0667595B1 (fr) | Procédé de génération d'images texturées et d'effets spéciaux en vidéo | |
FR2690770A1 (fr) | Système et procédé de visualisation pour jeux vidéo. | |
FR2599873A1 (fr) | Systeme d'affichage video | |
FR2595486A1 (fr) | Processeur geometrique pour un systeme d'infographie | |
FR2583541A1 (fr) | Tampon z a haute vitesse munie d'une memoire dynamique a acces aleatoire | |
JPH0896161A (ja) | 陰影描画方法及び3次元グラフィック・コンピュータ・システム | |
CA2734332A1 (fr) | Procede et systeme pour restituer ou eclairer de facon interactive une scene tridimensionnelle complexe | |
FR2771201A1 (fr) | Mappage de texture anisotrope utilisant l'analyse de silhouette ou d'empreinte dans un systeme informatique de generation d'images | |
US10089796B1 (en) | High quality layered depth image texture rasterization | |
US9734551B1 (en) | Providing depth-of-field renderings | |
US8533615B1 (en) | Systems and methods for order-independent rendering of graphical objects using operating system resources | |
FR2964236A1 (fr) | Dispositif et procede de generation d'images multifenetres a priorite variable | |
US7388589B2 (en) | System for and method of performing an opacity calculation in a 3D graphics system | |
FR2964775A1 (fr) | Procede d'estimation de l'occultation dans un environnement virtuel | |
FR2594980A1 (fr) | Processeur de visualisation pour un systeme de visualisation graphique | |
FR2749421A1 (fr) | Dispositif de transfert client-serveur de donnees graphiques a niveaux multiples | |
EP0108674A1 (fr) | Terminal graphique à mémoire de points muni d'un système d'écriture en mémoire d'image de signaux de texture d'image | |
Kroes et al. | Smooth probabilistic ambient occlusion for volume rendering | |
FR2864318A1 (fr) | Dispositif d'organisation des donnees dans la memoire de trame d'un processeur graphique | |
US11908079B2 (en) | Variable rate tessellation | |
KR20190122246A (ko) | 영상처리방법과 장치, 기억매체 및 전자기기 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TP | Transmission of property | ||
PLFP | Fee payment |
Year of fee payment: 13 |
|
PLFP | Fee payment |
Year of fee payment: 14 |
|
PLFP | Fee payment |
Year of fee payment: 15 |
|
PLFP | Fee payment |
Year of fee payment: 17 |
|
PLFP | Fee payment |
Year of fee payment: 18 |
|
PLFP | Fee payment |
Year of fee payment: 19 |
|
PLFP | Fee payment |
Year of fee payment: 20 |