FR2834096A1 - Systeme et procede pour la configuration de pipelines graphiques dans un systeme d'affichage graphique d'ordinateur - Google Patents
Systeme et procede pour la configuration de pipelines graphiques dans un systeme d'affichage graphique d'ordinateur Download PDFInfo
- Publication number
- FR2834096A1 FR2834096A1 FR0216289A FR0216289A FR2834096A1 FR 2834096 A1 FR2834096 A1 FR 2834096A1 FR 0216289 A FR0216289 A FR 0216289A FR 0216289 A FR0216289 A FR 0216289A FR 2834096 A1 FR2834096 A1 FR 2834096A1
- Authority
- FR
- France
- Prior art keywords
- pipeline
- parameter
- rectangles
- rectangle
- pipelines
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- 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/52—Parallel processing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
Système et procédé pour la configuration d'une pluralité de pipelines graphiques dans un système d'affichage graphique par ordinateur (100). Le procédé comprend l'affichage d'une interface graphique d'utilisateur pour permettre à un utilisateur de spécifier de façon graphique au moins un paramètre pour une pluralité de rectangles de pipeline du système d'affichage graphique par ordinateur (100), chaque rectangle de la pluralité de rectangles de pipeline étant associé à au moins un pipeline de la pluralité de pipelines graphiques, la réception d'au moins le paramètre, et la mise à jour d'un compositeur (126) du système d'affichage graphique par ordinateur (100) en temps réel sur la base au moins en partie au moins du paramètre.
Description
même en cas de concurrence d'actions utilisateurs.
La présente invention concerne, de façon globale, le domaine des systèmes d'affichage graphique d'ordinateur et plus particulièrement, un système et un procédé pour la configuration de pipelines graphiques dans un système d'affichage graphique par ordinateur. Les systèmes d'affichage graphique par ordinateur sont utilisés, de façon usuelle, pour l'affichage de représentations graphiques d' objets en deux dimensions et/ou en trois dimensions sur un dispositif d'affichage en
deux dimensions, comme un tube à rayons cathodiques.
Dans des systèmes d'affichage graphique par ordinateur existants, une application graphique stockée sur un système à base de processeur comme un ordinateur déLinit un objet devant être rendu par le système d'affichage graphique par ordinateur. De façon à traduire à l'écran l'objet, l'application transmet des données graphiques définissant l'objet à un pipeline graphique qui peut être mis en oeuvre à l 'aide d'un matériel, d'un logiciel ou d'une combinaison des deux. Le pipeline graphique par l'intermédiaire de techniques bien connues traite les données graphiques reques à partir de l' application et stocke les donnéss graphiques dans une mémoire tampon de trame. La mémoire tampon de trame stocke les donnces graphiques pour définir l' image devant être affichée par un dispositif d'affichage. La mémoire tampon de trame est utilisée pour stocker un ensemble de données pour chaque pixcl affiché par le dispositif d'affichage. Chaque ensemble de données comprend la valeur de couleur du pixel correspondant ainsi qu'une queleonque information additionnel le requi se pour colorer ou nuance r, de façon adaptée, le pixel identifié, comme des valeurs de transparence et de profondeur. Chaque ensemble de donnces est lié aux valeurs de coordonnées identifiant une position de pixel sur le dispositif d'affichage. La mémoire tampon de trame transmet les données graphiques stockées dedans au dispositif d'affichage par l'intermédiaire d'un processus de balayage de telle façon que chaque ligne de pixels déLinissant l' image affichée par le dispositif d'affichage soit mise à jour de façon consécutive. De nombreux dispositifs d'affichage peuvent être utilisés pour afficher une seule grande image parmi lesquels chaque dispositif d'affichage affiche une partie de la grande image. Selon un tel mode de mise en oeuvre, les multiples dispositifs d'affichage sont traités comme un seul dispositifs d'affichage ou écran logique et différentes parties de l' image peuvent être traduites à l'écran par les différents dispositifs d'affichage. Chacun des multiples dispositifs d'affichage peut être associé à différents systèmes informatiques et les multiples systèmes informatiques peuvent être interconnectés par l'intermédiaire d'un réscau informatique comme un Réseau Local (LAN). Un système X Window est un standard pour la mise en oeuvre d' interfaces d'utilisateur à base de fenêtres dans un environnement de réceau informatique et on peut désirer utiliser le Protocole X pour le rendu des
données graphiques dans un système de réseau informatique.
Une description plus détaillée du système X Window et du
Protocole X le définissant peut être trouvé dans le doeument "X Protocol Reference Manual Volume Zero" (O'
Riley & Associés, 1990) par Adrian Nye.
Bien qu'il soit possible de traduire à l'écran et d'afficher des données en deux dimensions et en trois dimensions dans des systèmes d'affichage graphique par ordinateur usuels, il existe des limitations restreignant les performances et la qualité d' image présentées par de tels systèmes. Des images de haute qualité, en particulier des images en trois dimensions, sont définies de façon usuelle par une grande quantité de données graphiques et la vitesse à laquelle des pipelines graphiques usuels peuvent traiter les données graphiques déLinissant un objet est limitée. Le dépôt de brevet référence ci-dessus, intitulé "System and Method for Efficiently Rendering Graphical Data", décrit un système d'affichage graphique par s ordinateur et un procédé pour utiliser, de façon efficace, une pluralité de pipelines graphiques afin de traduire à l'écran des donnces graphiques pour un dispositif d'affichage. Cependant, un utilisateur de systèmes existant d'affichage graphique d'ordinateur n'a pas accès à la commande de la gestion et de l'utilisation des pipelines
graphiques utilisés dans le système.
Selon mode de mise en oeuvre de la présente invention, un procédé pour la configuration d'une pluralité de pipelines graphiques dans un système d'affichage graphique par ordinateur est décrit. Le procédé comprend l'affichage d'une interface graphique d'utilisateur pour permettre à un utilisateur de spécifier, de façon graphique, au moins un paramètre pour une pluralité de rectangles de pipeline du système d'affichage graphique par ordinateur, chaque rectangle de la pluralité de rectangles de pipeline étant associé a au moins un pipeline de la pluralité de pipelines graphiques, la réception d' au moins le paramètre, et la mise à j our d'un compositeur du système d'affichage graphique par ordinateur en temps réel sur la
base au moins en partie d'au moins le paramètre.
Selon un autre mode de mise en oeuvre de la présente invention, un système pour la configuration d'une pluralité de pipelines graphiques dans un système d'affichage graphique par ordinateur est décrit. Le système comprend une interface graphique d'utilisateur. L' interface graphique d'utilisateur comprend une pluralité d'icones d'échantillon de fluctuation, chacune de la pluralité d'icones d'échantillon de fluctuation correspondant au nombre de valeurs de fluctuation dans une pluralité de valeurs de fluctuation utilisées pour une pluralité de rectangles de pipeline du système d'affichage graphique par ordinateur. L' interface graphique d'utilisateur comprend, de même, une pluralité d'icones d'orientation, chacune de la pluralité d'icones d'orientation correspondant à une orientation différente de la pluralité de rectangles de pipeline sur la base au moins en partie du nombre de pipelines graphiques dans ledit système d'affichage
graphique par ordinateur.
Selon encore un autre mode de mise en oeuvre de la présente invention, un procédé pour la configuration d'une pluralité de pipelines graphiques dans un système d'affichage graphique par ordinateur est décrit. Le procédé comprend l'affichage d'une interface graphique d'utilisateur pour permettre à un utilisateur de spécifier, de façon graphique, au moins un paramètre pour une pluralité de rectangles de pipeline du système d'affichage graphique par ordinateur, chaque rectangle de la pluralité de rectangles de pipeline étant associé à au moins un pipeline de la pluralité de pipelines graphiques; la réception d'au moins le paramètre; la génération de valeurs de coordonnée pour chaque rectangle de la pluralité de rectangles de pipeline sur la base au moins en partie d'au moins le paramètre et au moins en partie d'une taille d'écran d'un dispositif d'affichage du système d'affichage graphique par ordinateur; et la mise à j our d'un compositeur du système d'affichage graphique par ordinateur en temps réel sur la base au moins en partie des valeurs
générées de cocrdonnée.
Pour une compréhension plus complète de la présente invention, de ses buts et avantages, on fait référence, à
présent, à la description suivante prise en conjonction
avec les dessins annexés sur lesquels: la Figure 1 est un synoptique d'un mode de mise en oeuvre, à titre d'exemple, d'un système d'affichage graph ique pa r ordinateu r auquel les en seignement s de présente invention peuvent être appliqués i la Figure 2 est un synoptique d'une vue plus détaillée d'un client illustré sur la Figure 1; s la Figure 3 est un synoptique d'une vue plus détaillée d'un pipeline maître illustré sur la Figure 1; la Figure 4 est un synoptique d'une vue plus détaillée d'un pipeline esclave illustré sur la Figure 1 i les Figures 5A et 5B sont des affichages partiels d' écran, à titre d' exemples, d'un mode de mise en oeuvre préféré d'un outil de logiciel graphique selon les enseignements de la présente invention; la Figure 6 est un affichage d'écran, à titre d'exemple, d'un système d'affichage graphique par ordinateur selon les enseignements de la présente invention i la Figure 7 est un organigramme d'un procédé pour la configuration de pipelines dans un système d'affichage graphique par ordinateur selon un mode de mise en oeuvre de la présente invention i la Figure 8 est un affichage d'écran, à titre d'exemple, de l'outil de logiciel graphique de mode de mise en oeuvre préféré pour l'établissement de paramètres de fluctuation i la Figure 9 est un organigramme d'un procédé pour la programmation de rectangles de pipeline dans un compositeur du système d'affichage graphique par ordinateur selon un mode de mise en oeuvre de la présente invention i et la Figure 10 est un schéma d'un dispositif de validation d'affichage pour afficher les rectangles de pipeline sur un dispositif d'affichage du système d'affichage graphique par ordinateur selon un mode de mise
en oeuvre de la présente invention.
Le mode de mise en oeuvre préféré de la présente s invention et ses avantages seront mieux compris en référence aux Figures 1 à 10 des dessins, des références numériques similaires étant utilisces pour des parties
similaires et correspondantes des divers dessins.
De façon globale, la présente invention concerne un outil de logiciel graphique permettant à un utilisateur de définir, de façon graphique, différents paramètres comme des valeurs d' orientation, de répartition, de fluctuation et/ou similaires, pour un ou plusieurs pipelines dans un système d'affichage graphique à plusieurs pipelines de ls façon à obtenir en temps réel un rendu désiré de donnces d' image graphique sur un dispositif d'affichage du système
d'affichage graphique.
La Figure 1 est un synaptique d'un mode de mise en oeuvre, à titre d'exemple, d'un système d'affichage graphique 100 auquel les enseignements de la présente invention peuvent être appliqués. Le système 100 comprend un poste client 102 couplé à un pipeline maître 104 qui est lui-même couplé à un des pipelines esclaves 106 à 112, de
préférence par l'intermédiaire d'un Réseau Local (LAN) 114.
2s Les termes "pipelines" et "pipelines graphiques" sont
utilisés, de façon interchangeable, dans notre cas.
Cependant, d'autres types de circuit d'interconnexion ou de réseaux informatiques peuvent être utilisés sans sortir du cadre de la présente invention. Le système 100 comprend, de même et de préférence, une ou plusieurs mémoires tampons de trame 116 à 124 couplées entre un pipeline respectif parmi les pipelines 104 à 112 et un compositeur 126. De préférence, le pipeline maître 104 est couplé, de même, au compositeur 126. Le compositeur 126 est couplé à un dispositif d'affichage 128. Les pipelines 104 à 112, les mémoires tampons de trame 116 à 124 et le compositeur 126 sont référencés, de façon globale, dans notre cas, comme une unité d'accélération graphique 130. On devra remarquer s que le mode de mise en oeuvre illustré sur la Figure 1 présente quatre pipelines esclaves 106 à 112 à des fins d' illustration seulement. Un nombre queleonque de pipelines esclaves 106 à 112 peuvent être utilisés sans sortir du
cadre de la présente invention.
Le poste client 102 comprend une application graphique 132 et peut être mis en oeuvre à l'aide d'un matériel, d'un logiciel ou d'une combinaison des deux. Les pipelines 104 à 112 peuvent être mis en oeuvre à l'aide
d'un matériel, d'un logiciel ou d'une combinaison des deux.
Selon le mode de mise en oeuvre préféré, le poste client 102 et chacun des pipelines 104 à 112 sont respectivement mis en oeuvre par l'intermédiaire de systèmes informatiques. De tels systèmes informatiques peuvent être des systèmes d'ordinateur autonomes, par exemple des systèmes dtordinateur référencés, de façon usuelle, comme des "stations de travail informatiques". Cependant, l' invention n'y est pas limitée et d'autres types de systèmes informatiques, connus de nos j ours ou développés ultérieurement, peuvent être utilisés. Ainsi, par exemple, le système 100 illustré sur la Figure 1 peut être mis en oeuvre par l'intermédiaire de six stations de travail informatiques (c 'est-à-dire une station de travail informatique pour le poste client 102 et une station de
travail informatique pour chacun des pipelines 104 à 112).
Cependant, il est possible de mettre en oeuvre le poste client 102 et les pipelines 104 à 112 à l'aide d'autres configurations. Comme exemple, le poste client 102 et le pipeline maître 104 peuvent être mis en oeuvre par l'intermédiaire d'une seule station de travail 3s informatique. Une quelconque station de travail informatique utilisce pour mettre en oeuvre le poste client 102 et/ou les pipelines 104 à 112 peut être utilisée pour effectuer une autre fonction désirée lorsque la station de travail n'est pas utilisée pour traduire à l'écran des données graphiques. En fonctionnement, le pipeline maître lO] reçoit des données graphiques à partir de l 'application 132. Le pipeline maître 104 traduit à l'écran, de préférence, des données graphiques à deux dimensions (2D) dans la mémoire tampon de trame 116 et achemine des données graphiques en trois dimensions (3D) vers les pipelines esclaves 106 à 112 qui traduisent à l'écran les données graphiques 3D dans les mémoires tampons de trame 118 à 124 respectives. Le poste client 102 et les pipelines 104 à 112 sont décrits, de
façon plus détaillée, ci-après.
Chacune des mémoires tampons de trame 116 à 124 génère en sortie une suite de donnces graphiques vers le compositeur 126. Le compositeur 126 est configuré pour combiner ou composer chacune des suites de données à partir des mémoires tampons de trame 116 à 124 en un seul train de donnces qui est fourni au dispositif d'affichage 128 qui peut être un Tube à Rayons Cathodique (CRT), un Affichage à Cristaux Liquides (LCD), un Transistor à Film Mince (TFT), une Diode Électroluminescente (LED), des polymères organiques et/ou similaires connus de nos j ours ou développés ultérieurement. Bien que sur la Figure 1, le dispositif d'affichage 128 soit illustré sous la forme d'un dispositif d'affichage unique, l' invention n'y est pas limitée et selon des modes de mise en oeuvre en option, le dispositif d'affichage 128 peut comprendre plus d'un dispositif d'affichage fonctionnant comme un seul dispositif d'affichage logique. Selon un tel mode de mise en oeuvre, chaque dispositif d'affichage peut être couplé à une unité séparée d'accélération graphique, chaque unité
d'accélération graphique étant couplée au même client.
En référence à la Figure 1, les donnces graphiques fournies au dispositif d'affichage 128 par le compositeur 126 définissent l' image devant être affichée par le dispositif d'affichage 128 et sont basées sur les données graphiques reques à partir des mémoires tampons de trame 116 à 124. Le compositeur 126 est décrit, de façon plus
détaillée, ci-après.
La Figure 2 est un synoptique d'une vue plus détaillée du poste client 102. Le poste client 102 stocke, de préférence, une application graphique 132 en mémoire 134. La mémoire 134 peut stocker, de même, un système d' exploitation 136 assurant une fonctionnalité similaire aux systèmes d' exploitation usuelle. Le système d' exploitation 136 commande les ressources du poste client 102 par l'intermédiaire de techniques usuelles et assure l' interface des instructions de l' application 132 avec un élément de traitement 138 comme requis pour faire correctement tourner l'application 132. L'élément de traitement 138 communique et pilote, de préférence, d'autres éléments dans le poste client 102 par l'intermédiaire d'une interface locale 140 pouvant comprendre un ou plusieurs bus. Le poste client 102 peut comprendre, de même, au moins un dispositif d'entrée 142, par exemple un clavier, une souris et/ou similaires, connu de nos jours ou développé ultérieurement, couplé à l' interface locale 140 pour entrer des données à partir d'un utilisateur du poste client 102. Le client 102 peut comprendre, de même, au moins un dispositif de sortie 144, par exemple un dispositif d'affichage, une imprimante et/ou similaires, connu de nos jours ou développé ultérieurement, couplé à l' interface locale 140 pour fournir en sortie des données. Le client 102 peut comprendre, de même, un support de stockage 146 pour stocker des données. Le support de stockage 146 peut être un queleonque support de stockage connu de nos jours ou développé ultérieurement. Le support de stockage 146 peut être couplé à l' interface locale 140 pour transférer des données vers et à partir du support de stockage 146. Une interface de LAN 148, couplée à l' interface locale 140, peut être prévue pour permettre au s 102 d'échanger des données avec le LAN 119 (voir la Figure 1) Selon le mode de mise en oeuvre préféré, le Protocole X est utilisé, en général, pour traduire à l'écran des données graphiques 2D et le Protocole OpenGL (OGL) est utilisé, en général, pour traduire à l'écran des données graphiques 3D bien que d'autres types de protocole puissent être utilisés dans d'autres modes de mise en oeuvre. Selon l'arrière-plan, le Protocole OpenGL est une interface standard de programmeur d' application (API) pour le matériel accélérant des opérations graphiques 3D. Bien que le Protocole OpenGL soit conçu pour être indépendant du système de fenêtres, il est souvent utilisé avec des systèmes de fenêtres comme, par exemple, le système X Window. De façon à ce que le Protocole OpenGL puisse être utilisé dans un environnement de système X Window, une extension du système X Window a été développée, appelée GLX. Pour une information plus complète sur l' extension GLX du système X Window et sur la façon dont le Protocole OpenGL peut être intégré au système X Window, on fera référence, par exemple, à Mark J. Kilgard: "OpenGL Programming for the X Window System" (Addison-Wesley Developers Press, 1996). La mémoire 134 comprend une couche GLX côté client 131. Lorsque l' application 132 délivre une commande graphique, la couche GLX côté client 131 du client 102 transmet la commande sur le LAN 114 au pipeline maitre 104. La Figure 3 est un synaptique d'une vue plus détaillée du pipeline maitre 104. Le pipeline maitre 104 comprend un ou plusieurs éléments de traitement 150 couplés à une interface locale 152 pouvant comprendre un ou plusieurs bus. L'élément de traitement 150 communique, de prétérence, avec et pilote d'autres éléments dans le pipeline maître 104 par l'intermédiaire d'une interface locale 152 pouvant comprendre un ou plusieurs bus. Le pipeline maître 104 peut comprendre, de même, au moins un dispositif d'entrce 154, par exemple un clavier, une souris et/ou similaires connu de nos j ours ou développé ultérieurement, couplé à l' interface locale 152 pour entrer des données. Le pipeline maître 104 peut comprendre, de même, au moins un dispositif de sortie 156, par exemple un dispositif d'affichage, une imprimante et/ou similaires, connu de nos jours ou développé ultérieurement, couplé à
l' interface locale 152 pour fournir en sortie des données.
Le pipeline maître 104 peut comprendre, de même, un support de stockage 158 pour stocker des données. Le support de stockage 158 peut être un queleonque support de stockage connu de nos j ours ou développé ultérieurement. Le support de stockage 158 peut être couplé à l' interface locale 152 pour transférer des données vers et à partir du support de stockage. L' interface de LAN 160, couplée à l' interface locale 152, peut être prévue pour permettre au pipeline
maître 104 d'échanger des données avec le LAN 114.
Le pipeline maître 104 comprend, de même et de prétérence, une mémoire 164. La mémoire 164 comprend un serveur X 162 et un contrôleur esclave 166. Le serveur X 162 peut être mis en oeuvre sous une forme logicielle, matérielle ou une combinaison des deux. Dans le mode de mise en oeuvre illustré sur la Figure 3, le serveur X 162
est mis en oeuvre sous la forme logicielle.
Le serveur X 162 comprend une couche de répartition de serveur X 168, une couche indépendante de dispositif (DIX) 170, une couche GLX 172 et une couche dépendante de dispositif (DDX) 174. Dans le mode de mise en oeuvre préféré, le serveur X 162 traduit à l'écran des commandes X Window 2D, comme des commandes pour créer ou déplacer une X Wjndow. La couche de rpartition de serveur X 168 est conque pour acheminer des commande [egues vec la couche DIX 170 ou la couche GLX 172. Une commande X Window ne compenant pa de donnes 3D est inteface avec DTX tandis qu'une commande X indow comprenant des donnes 3D (par exemple, une commande X incorpoant un Protocole OpenG comme une commande de cration ou de modification de 1'4tat d'une image 1D 1' int4ieu d'une X indow) et achemine vers la couche CLX 172. Une commande intertace avec la couche DIX 170 et excute pa la couche DIX 170 et probablement, paL la couche DDX 174 qui pilote des donnes graphiques associes la commande excute pa l'intermdiaie d'un matriel de pipeline 176 vers la mmoire tampon de trame 116. Une commande interface avec la couche GLX 172 est transmise la couche CLX 172 sur le LAN 114 vers les pipelines esclaves 106 112. Un ou plusieurs des pipelines esclaves 106 112 exAcutent la commande et pilotnt des donnes graphiques associes la commande vers une ou plusieurs mmoires tampons de trame
118 124.
Selon le mode de mise en oeuvre prAlr@, chacun des pipelines esclave 106 112 est configur selon la Figure 4. Chacun des pipelines esclaves 106 112 comprend un ou plusieucs Alments de traitement 178 coupls une interface locale 180 pouvant comprendre un ou plusieurs bus. L'lment de traitement 178 communique, de prfrence, et pilote d'autres lAments dans le pipelines esclaves 106 112 par l'intermAdiaire de l' interface locale 180 pouvant comprendre un ou plusieurs bus. Chaque pipelines esclaves ]0 106 112 peut comprendre, de mme, au moins un dispositif d'entre 182, par exemple un clavier, une souris et/ou similaires, connu de nos j ours ou dAveloppA ultrieurement,
coupl l' interface locale 180 pour entrer des donnes.
Chaque pipelines esclave 106 112 peut comprendre, de mme, au motns un dispositif de sortie 184, pa exemple un dispositif d'affichage, une imprimante et/ou similaires, connu de nos jours ou développé ultérieurement, couplé à
l' interface locale 180 pour fournir en sortie des donnces.
Chaque pipelines esclaves 106 à 112 peut comprendre, de même, un support de stockage 186 pour stocker des données. Le support de stockage 186 peut être un quelconque support
de stockage connu de nos jours ou développé ultérieurement.
Le support de stockage 186 peut être couplé à l' interface locale 180 pour transférer des données vers et à partir du support de stockage 186. Une interface de LAN 188, couplée à l' interface locale 180, peut être prévue pour permettre aux pipelines esclaves 106 à 112 d'échanger des données
avec le LAN 114.
Chaque pipelines esclaves 106 à 112 comprend, de même et de préférence, une mémoire 206. La mémoire 206 comprend un serveur X 202 et un Daemon OGL 209. Le serveur X 202 et le Daemon OGL 204 peuvent être mis en oeuvre sous forme logicielle, matérielle ou une combinaison des deux. Selon le mode de mise en oeuvre illustré sur la Figure 4, le serveur X 202 et le Daemon OGL 204 sont mis en oeuvre sous
forme logicielle.
Le serveur X 202 comprend une couche de distribution de serveur X 208, une couche indépendante de dispositif (DIX) 210, une couche GLX 212 et une couche dépendante de dispositif (DDX) 214. Le Daemon OGL 204 comprend, de prétérence, une couche de distribution OGL 216, une couche Indépendante de Dispositif (DI) 218 et une couche
Dépendante de Dispositif (DD) 220.
Selon le mode de mise en oeuvre préféré, chaque commande reque par les pipelines esclaves 106 à 112 comprend des données graphiques 3D car le serveur X 162 du pipeline maitre 104 exécute chaque commande X Window ne comprenant pas de donnces graphiques 3D. La couche de distribution de serveur X 208 assure l' interface des donnéss 2D d'une quelconque commande reque avec la couche DIX 210 et l' interface des donnces 3D d'une quelconque commande reque avec la couche GLX 212. Les couches DIX et DDX 210 et 214 sont configurées pour traiter ou accélérer les données 2D et pour piloter les donnces 2D par l'intermédiaire du matériel de pipeline 176 vers une des
mémoires tampons de trame 118 à 124 (voir la Figure 1).
La couche GLX 212 assure l' interface des donnces 3D
avec la couche de distribution OGL 216 du Daemon OGL 204.
l0 La couche de distribution OGL 216 assure l' interface de ces donnces avec la couche DI 218. La couche DI 218 et la couche DD 220 sont configurées pour traiter les donnces 3D et pour accélérer ou piloter les données 3D par l'intermédiaire du matériel de pipeline 222 vers une des
mémoires tampons de trame 118 à 124 (voir la Figure 1).
Ainsi, les données graphiques 2D d'une commande reque sont traitées ou accélérces par le serveur X 202 et les donnces graphiques 3D de la commande reque sont traitées ou
accélérées par le Daemon OGL 204. Pour une description plus
détaillée du processus précédent d'accélération des donnces 2D par l'intermédiaire d'un serveur X 202 et d'accélération des données 3D par l'intermédiaire d'un Daemon OGL 204, on fera rétérence au Brevet U.S. commun N 6 249 294 intitulé "3D Graphics in a Single Logical Screen Display using
Multiple Computer Systems".
En référence de nouveau à la Figure 1, les pipelines esclaves 106 à 112 sur la base d'entrées du pipeline maître 104 sont configurés pour traduire à l'écran des images en 3D sur la base des données graphiques à partir du pipeline maître 104 selon un parmi trois modes de fonctionnement:
un mode accéléré, un mode de fluctuation et un mode mixte.
Chaque pipelines esclaves 106 à 112 est responsable du rendu d'une partie spécifique de l' image devant être affichée sur le dispositif d'affichage 128. Ainsi, l'écran associé au dispositif d'affichage 128 est divisé en l5 différentes parties de pipeline, l' image pour chaque partie de pipeline étant rendue par au moins un des pipelines esclaves 106 à 112. Les parties de pipeline sont, de préférence, de forme rectangulaire et en tant que tel. le terme "rectangles de pipeline" sera utilisé, dans notre cas, comme référence à des parties de pipeline. Cependant, l' invention n'y est pas limitée et les parties de pipeline
peuvent être d'une forme quelconque.
Dans le mode accéléré, chaque pipelines esclaves 106 à 112 traduit à l'écran une partie différente d'une image 3D de telle façon que tout le processus de rendu de l' image 3D soit plus rapide. Dans le mode de fluctuation, chaque pipelines esclaves 106 à 112 traduit à l'écran la même image 3D mais décale légèrement chaque image 3D rendue d'une valeur différente de décalage. Le compositeur 126 pondère les donnces de pixel de chaque pixel pour les images 3D rendues par les pipelines 106 à 112 de façon à
produire une seule image 3D d'une qualité d' image accrue.
Dans le mode mixte, un ou plusieurs des pipelines esclave traduisent à l'écran la(les) même(s) partie(s) de l' image 3D mais décalent logèrement la(les) partie(s) commune(s) d'une valeur différente de décalage. Dans lemode mixte, tout le processus de rendu de l' image 3D est plus rapide que dans le mode de fluctuation car le travail de rendu est divisé sur plusieurs pipelines. La qualité d' image d'au moins une partie de l' image 3D rendue est meilleure que
celle dans le mode accéléré car on utilise un crénelage.
Dans des systèmes existants d'affichage graphique, un utilisateur du système d'affichage graphique possède une action limitée sur les paramètres d' orientation, de répartition et de crénelage des différents pipelines utilisés. De plus, les systèmes existants d'affichage graphique ne permettent pas à un utilisateur de commuter facilement entre différentes configurations comme des modes de fonctionnement, une répartition des rectangles de pipeline, des valeurs de crénelage et/ou similaires. De façon à modifier une configuration particulière en une configuration différente, l'utilisateur doit arrêter le fonctionnement dans la configuration existante, couper le système puis fonctionner dans la nouvelle configuration. Ainsi par exemple, si l'utilisateur désire commuter d'un mode accéléré dans un mode mixte au milieu d'une présentation, l'utilisateur doit arrêter sa présentation dans le mode accéléré, couper le système, réinitialiser le système pour fonctionner dans le mode mixte puis poursuivre
la présentation dans le mode mixte.
Les Figures 5A et 5B sont des affichages partiels d' écran, à titre d' exemples, d'un mode de mise en oeuvre préféré d'un outil de logiciel graphique 230 selon les enseignements de la présente invention fournissant à l'utilisateur une plus grande commande sur les différents pipelines. L'outil de logiciel graphique 230 possède, de
préférence, une interface graphique d'utilisateur 232.
L' interface graphique d'utilisateur 232 comprend une pluralité d'icônes d'échantillons de fluctuation 236a à 236n correspondant à une pluralité d'échantillons de crénelage, de préférence en commençant par 1. Le nombre d'échantillons de crénelage détermine le nombre de pipelines esclave agissant sur la même partie de l' image 3D. L'utilisateur peut sélectionner une icône à partir des icônes d'échantillons de fluctuation 236a à 236n selon le nombre d'échantillons de crénelage désirés. Si l'utilisateur ne désire pas de crénelage, l'utilisateur peut sélectionner une icône d'échantillon correspondant à un échantillon de crénelage de 1. La sélection d'une icone d'échantillon correspondant à un échantillon de crénelage de 1 ordonne à tous les pipelines esclaves 106 à 112 de fonctionner dans le mode accéléré. Si l'utilisateur désire avoir la meilleure qualité d' image possible, l'utilisateur 3s peut sélectionner une icone d'échantillon correspondant au nombre maximal d'échantillons de crénelage. La sélection d' une icone d' échantillon correspondant au nombre maximal d'échantillon de crénelage ordonne à tous les pipelines esclaves 106 à 112 de fonctionner dans le mode de crénelage et chaque pipeline esclave traduit à lécran toute l' image 3D. De préférence, le nombre maximal d'échantillon de crénelage est égal au nombre de pipelines esclave et le nombre des échantillons de crénelage permis est compris entre 1 et le nombre de pipelines esclave. Ainsi par exemple, si le nombre de pipelines esclave est de 4, dans le mode de mise en oeuvre illustré, les icônes d'échantillons 236d et 236n correspondant aux échantillon de crénelage 8 et 16 sont respectivement invalidées ou omises car un système d'affichage graphique avec quatre IS pipelines esclave peut ne pas avoir plus de quatre
échantillon de crénelage.
Le nombre de rectangles de pipeline par lequel un écran peut étre divisé est donné par la formule suivante: nombre de rectangles de pipeline = nombre de pipelines esclave/nombre d'échantillons de crénelage Le Tableau 1 illustre les valeurs du nombre d'échantillons de crénelage et le nombre de rectangles de pipeline dans un système avec 16 pipelines esclave:
Tableau 1
Nombre d'Échantillons de
1 2 4 8 16
Fluctuation Nombre de Rectangles de 16 8 4 2 1 Pipeline L' interface graphique d'utilisateur 232 comprend, de méme, et de préférence une pluralité d'icones d'orientation 238a à 238n. Les icones d' orientation 238a à 238n permettent à l'utilisateur de sélectionner l' orientation des différents rectangles de pipeline. Les icones d' orientation 238a à 238n affichées peuvent étre mises à jour en tant rcel par l'outil de logiciel graphique 230 sur la base au moins en partie du nombre d'échantillons de crénelage sélectionnés par l'utilisateur et du nombre de pipelines esclaves 106 à 112. Par exemple, s'il y a quatre pipelines esclave et le nombre d'échantillons de crénelage sélectionnés par l'utilisateur est de 2, l' interface graphique d'utilisateur 232 peut afficher un ensemble réduit d' orientations disponibles de pipelines, comme illustré sur la Figure 5B. L'utilisateur peut sélectionner une orientation désirée de pipeline, par exemple en cliquant sur une des icones d' orientation 238a à 238n Lorsque l'utilisateur sélectionne une orientation de pipeline, l'outil de logiciel graphique 230 le notifie au pipeline maitre 104 de telle façon que le pipeline maître 104 puisse mettre à j our l' orientation de pipeline dans le système d'affichage graphique 100. Ainsi, l'utilisateur peut mettre à j our l' orientation de pipeline en tant rcel et peut déterminer quelle orientation de pipeline est la
mieux adaptée aux donnces graphiques en cours d'affichage.
Par conséquent, en utilisant l' interface graphique d'utilisateur 232, l'utilisateur peut définir différents paramètres en pointant et en cliquant simplement sur différentes représentations graphiques, comme des icônes, des boutons et/ou similaires, associées à l' interface graphique d'utilisateur 232 et en entrant une quantité minimale d' information. L'outil de logiciel graphique 230 effectue, de façon automatique, diverses tâches requises pour faciliter le rendu des données graphiques sur le dispositif d'affichage 128 sur la base au moins en partie de l'entrée fournie par l'utilisateur. De préférence, l' interface graphique d'utilisateur 232 permet, de même, à l'utilisateur de régler la taille et la position des 3s rectangles de pipeline pour les différents pipelines 106 à ]9 112 en cliquant simplement et en tirant des indicateurs de limite de rectangle de pipeline des rectangles de pipeline eux-mêmes. Le outil de logiciel graphique 230 permet à l'utilisateur de passer facilement d'une configuration à
s une autre.
En fonctionnement, le outil de logiciel graphique 230 interroge le pipeline maître 104 pour déterminer le nombre de pipelines esclave dans le système 100 et affiche le nombre déterminé de pipeline sur l' interface graphique d'utilisateur 232. L' interface graphique d'utilisateur 232 comprend, de préférence, une invite de ligne de commande 234 pour l'entrée d'une commande par l'utilisateur. Si désiré, en utilisant une invite de ligne de commande 234, l'utilisateur peut entrer, de façon manuelle, une
orientation ou une répartition pour les pipelines.
Comme illustré sur les Figures 5A et 5B, l' interface graphique d'utilisateur 232 comprend, de même, de prétérence une option de pipelines 240. L'utilisateur peut sélectionner l' option de pipelines 240 pour activer des indicateurs de limite de rectangle de pipeline 243 à 246 pour un rectangle de pipeline 242, comme illustré sur la Figure 6. En sélectionnant un ou plusieurs des indicateurs de limite de rectangle de pipeline 243 à 246 et en tirant le(les) indicateur(s) sélectionné(s) de limite de rectangle de pipeline, l'utilisateur peut redimensionner un rectangle de pipeline, ci désiré. L'utilisateur peut spécifier une répartition de pipeline en entrant une commande dans l' invite de ligne de commande 234. Par exemple, l'utilisateur peut spécifier une répartition X de 30% et 70% et une répartition Y de 20% et 80% en entrant la commande suivante dans l' invite de ligne de commande 234: setpipes - x_dist 30 70 et -y_dist 20 80 Si désiré, la répartition de pipeline peut être spécifiée dans un fichier de commande et lue à partir du fichier de commande. La répartition de pipeline détermine les dimensions de chaque rectangle de pipeline et est s spécifice, de préférence, en termes de pourcentage du dispositif d'affichage 128 selon l'axe x et en termes de
pourcentage du dispositif d'affichage 128 selon l'axe y.
La Figure 7 est un organigramme 250 d'un procédé de configuration des pipelines d'un système d'affichage graphique d'ordinateur comme un système 100 (voir la Figure 1) selon un mode de mise en oeuvre de la présente invention. A l'Étape 252, le nombre de pipelines est déterminé. De préférence, l'outil de logiciel graphique 230 interroge la couche GLX 172 pour déterminer le nombre de pipelines esclave. Une fois que le nombre de pipelines disponibles est déterminé, l'outil de logiciel graphique 230 peut afficher le nombre de pipelines disponibles sur l' interface graphique d'utilisateur 232. De préférence, le nombre de pipelines disponibles est égal au nombre total de pipelines esclaves 106 à 112. Cependant, dans certains cas, un ou plusieurs des pipelines esclave peuvent être disponibles, par exemple à cause de défauts dans les pipelines indisponibles. Si désiré, l'outil de logiciel graphique 230 peut modifier, de même, l' interface graphique 2s d'utilisateur 232 sur la base au moins en partie du nombre de pipelines disponibles. Par exemple, si le nombre de pipelines disponibles est de quatre, l'outil de logiciel graphique 230 peut invalider les icônes d'échantillons 236d et 236n correspondant à des valeurs d'échantillonnage
supérieures à quatre.
A l'Étape 254, une entrce est reque, de préférence de l'utilisateur et de préférence, à l'aide de l'outil de logiciel graphique 230. Une telle entrée d'utilisateur peut comprendre, par exemple, le nombre d'échantillons de 3s fluctuation, l' orientation de rectangle de pipeline, la répartition des rectangles de pipeline et/ou similaires. A l'Étape 256, des valeurs pour des rectangles de pipeline sont générés, de préférence à l' aide de l'outil de logiciel graphique 230. De préférence, l'outil de logiciel graphique 230 caleule des valeurs de cocrdonnées correspondant au dispositif d'affichage 128 pour chaque rectangle de pipeline sur la base d'un ou plusieurs des critères suivants: la taille de l'écran, les conditions limites des rectangles de pipeline, les limitations matérielles et/ou similaires. Par exemple, pour un système d'affichage graphique avec quatre pipelines esclave, si l'entrce d'utilisateur spécifie une répartition X de 30% et de 70% et une répartition Y de 20% et de 80%, les valeurs de coordonnces pour les rectangles de pipeline seraient alors
lS différentes selon la taille du dispositif d'affichage 128.
Ainsi, pour un affichage de 1600 par 1200 pixels, les valeurs de cocrdonnces x seraient de 0,480 (30% de 1600) et 1600-et les valeurs de cocrdonnées y seraient de 0,320 (20%
de 1200) et 1200.
Les conditions limite de rectangle de pipeline spécifient de prétérence les conditions devant être spécifices sur la limite de deux ou plusieurs rectangles de pipeline. Par exemple, les conditions limite peuvent spécifier que la répartition X doit se trouver sur des limites de coordonnées divisibles par quatre. Pour un affichage de 1500 pixcls selon l'axe X, une répartition X de 31% et 69% entraînerait une valeur de limite de 465 (31% de 1500). Dans un tel cas, l'outil de logiciel graphique 230 arrondira la valeur limite inacceptable à la plus proche valeur limite acceptable. A l'Étape 256, l'outil de logiciel graphique 230 peut effectuer, de même, des contrôles d'intégrité de donnces. Par exemple, l'outil de logiciel graphique 230 peut vérifier que l'utilisateur a
alloué 100% de l'écran ou non.
A l'Étape 258, l'état des pipelines est mis à jour pour correspondre aux valeurs générces de rectangle de pipeline. Les pipelines peuvent fonctionner déjà avec des valeurs prédéterminées par défaut, par exemple, une S orientation verticale avec une répartition réqulière. A l'Étape 258, l'outil de logiciel graphique 230 convertit les valeurs générces de rectangle de pipeline en un format adapté à la couche GLX 172 et transmet les valeurs générces de rectangle de pipeline à la couche GLX 172. La couche GLX lO 172 met à jour l'état de chacun des pipelines avec les valeurs générces de rectangle de pipeline indiquant l' orientation et la répartition pour les pipelines respectifs. A l'Étape 260, les rectangle de pipeline sont programmés dans un compositeur 126, de préférence à la volée. La couche GLX 172 convertit les données de rectangle de pipeline en un format adapté au serveur X 162. La couche GLX 172 transmet alors les donnces de rectangle de pipeline au serveur X 162. Le serveur X 162 programme, de préférence, le compositeur 126 de telle façon que le compositeur 126 connaisse les rectangle de pipeline associés aux différents pipelines. Un système et un procédé de programmation des rectangle de pipeline dans le compositeur 126 sont décrits, de façon plus détaillée, dans
notre cas, en particulier en référence à la Figure 9.
A l'Étape 262, les rectangle de pipeline avec les indicateurs de limite respectifs de rectangle de pipeline peuvent être affichés sur le dispositif d'affichage 128. De préférence, les indicateurs de limite de rectangle de pipeline sont affichés sur le dispositif d'affichage 128 lorsque l'option de pipelines 240 est sélectionnée. Les rectangle de pipeline sont affichés sur le dispositif
d'affichage 128, de préférence, à l'aide du serveur X 162.
Un dispositif de validation d'affichage pour l'affichage des rectangle de pipeline sur le dispositif d'affichage 128 est décrit, de facon plus détaillée, dans notre cas, en particulier en référence à la Figure 10. Comme illustré sur la Figure 6, chaque rectangle de pipeline 242 comprend quatre indicateurs de limite de rectangle de pipeline, à savoir un indicateurs gauche X de rectangle de pipeline 243, un indicateurs droit X de rectangle de pipeline 249, un indicateurs supérieur Y de rectangle de pipeline 245 et un indicateurs inférieur Y de rectangle de pipeline 246. A l'Étape 264, une détermination est effectuée pour savoir si l'utilisateur a sélectionné et déplacé un ou plusieurs indicateurs de limite de rectangle de pipeline 243 à 246 pour modifier la répartition de rectangle de pipeline afin de redimensionner le rectangle de pipeline 242. Si l'utilisateur a modifié la répartition de rectangle de pipeline, le processus commençant à l'Étape 256 est alors répété. Si l'utilisateur ne modifie pas la répartition de rectangle de pipeline, une entrée concernant des paramètres de fluctuation pour un ou plusieurs pipelines est alors reque à l'Étape 266, de préférence de l'utilisateur et de
préférence selon l'outil de logiciel graphique 230.
L'utilisateur peut sélectionner des paramètres de floctuation, par exemple en les entrant manuellement dans l' invite de ligne de commande 234 (voir les Figures 5A et 5B). Cependant, selon un mode de mise en oeuvre préféré, l'utilisateur sélectionne des paramètres de fluctuation à l'aide de l' interface graphique d'utilisateur 232, comme décrit, de façon plus détaillée, dans notre cas en référence à la Figure 8. Rien que dans le mode de mise en oeuvre décrit, les paramètres de fluctuation et les paramètres d' orientation de pipeline et de répartition de pipeline soient requs lors de différentes étapes, l' invention n'y est pas limitée et si désiré, les paramètres de fluctuation, les paramètres d' orientation de pipeline et les paramètres de répartition de pipeline
peuvent étre requs lors de la méme étape.
A l'Étape 268, l'état des pipelines est mis à jour pour correspondre aux paramètres de floctuation. Les pipelines peuvent déjà fonctionner avec des valeurs prédéterminées par défaut. A l'Étape 268, l'outil de logiciel graphique 230 convertit les paramètres de floctuation en un format adapté à la couche GLX 172 et
transmet ces paramètres de fluctuation à la couche GLX 172.
IO La couche GLX 172 met à j our l'état de chacun des pipelines
à l' aide des paramètres de fluctuation.
La Figure 8 est un affichage d'écran à titre d'exemple de l'outil de logiciel graphique 230 pour le réglage des paramètres de fluctuation. L' interface graphique d'utilisateur 232 permet une manipulation et une sélection graphiques des paramètres de fluctuation pour un
fonctionnement en mode mixte ou en mode de fluctuation.
Divers paramètres de fluctuation peuvent étre établis ou modifiés, comme des valeurs de fluctuation, une échelle de fluctuation et/ou similaires. La valeur de fluctuation comprend une paire de décalages de pixel secondaire d'axe x et d'axe y qu'un pipeline utilisera pour légèrement modifier le pixel de destination lors d'un rendu en 3D. Le nombre de valeurs de fluctuation défini est égal de préférence au nombre d'échantillons de fluctuation, comme sélectionné à l' aide des icônes d'échantillons de floctuation 236a à 236n de la Figure 5A. Une échelle de fluctuation désigne le coefficient de proportionnalité
devant être appliqué à toutes les valeurs de fluctuation.
L' interface graphique d'utilisateur 232, comme illustré sur la Figure 8, comprend, de plus, une fenêtre de valeur de fluctuation 270, une pluralité de boutons de point de fluctuation 272 et une échelle 279. La fenêtre de valeur de fluctuation 270 comprend, de préférence, une grille 276. La grille 276 comprend, de préférence, un axe X 273 et un axe Y 275, les deux axes se croisant à l'origine de la grille 276, origine se trouvant sensiblement au
centre de la fenêtre de valeur de fluctuation 270.
s Chaque bouton de point de fluctuation 272 correspond à une valeur de fluctuation. Le nombre de boutons de point de fluctuation 272 est égal, de préférence, au nombre d'échantillons de fluctuation sélectionnés par l'utilisateur à l' aide des icônes d'échantillons de fluctuation 236a à 236n sur la Figure 5A. Un utilisateur peut définir une valeur de fluctuation en sélectionnant un boutons de point de fluctuation 272 correspondant puis en sélectionnant un point dans la fenêtre de valeur de fluctuation 270. Si une valeur de fluctuation est déjà associée à un point, l'utilisateur peut définir une valeur de fluctuation différente pour le point en cliquant sur une
nouvelle zone de la fenêtre de valeur de fluctuation 270.
La nouvelle position est alors associse au boutons de point de fluctuation 272 sélectionné. Une fois que l'utilisateur a détini les valeurs de fluctuation, l'utilisateur peut mettre à l'échelle les valeurs de fluctuation pour les rapprocher ou les écarter, par exemple en utilisant
l'échelle 274. Si désiré, d'autres techniques d'anti-
crénelage peuvent être combinées aux échantillons de 2s fluctuation et le résultat illustré dans la fenêtre de
valeur de fluctuation 270.
Un bouton d'Application 278 peut être sélectionné pour transmettre les paramètres de fluctuation sur le pipeline maître 104 afin de mettre à jour le dispositif d'affichage 128 en temps récl. L'utilisateur peut modifier et mettre à jour les paramètres de fluctuation jusqu'à ce que l' image affichée sur le dispositif d'affichage 128 atteigne une qualité désirce. Un bouton de Sauvegarde 280 peut être sélectionné pour stocker les paramètres de 3s fluctuation définis dans un fichier. Les paramètres de fluctuation peuvent être lus à partir du fichier sauvegardé
à un instant ultérieur si désiré.
Le compositeur 126 comprend, de préférence, une carte contrôleur (non illustrée) couplée à une pluralité de s cartes d'entrce (non illustrées) par l'intermédiaire d'un bus de communication (non illustré). La Figure 9 est un organigramme 260 d'un procédé de programmation des rectangle de pipeline 242 dans le compositeur 126 selon un mode de mise en oeuvre de la présente invention. A l'Étape 284, un compteur i est initialisé de préférence à -1. A l'Étape 286, on détermine si un quelconque pipelines esclaves 106 à 112 supplémentaire doit être programmé. Si aucun pipeline esclave supplémentaire doit être programmé, le processus commençant à l'Étape 262 sur la Figure 7 est alors exécuté. Dans les autres cas, à l'Étape 288, le compteur est incrémenté. A l'Étape 290, les données de rectangle de pipeline pour le rectangle de pipeline i sont mises en paquets, de préférence en insérant les donnces dans une structure prédéterminée de données. A l'Étape 292, les données en paquets sont transmises au pipeline esclave correspondant au rectangle de pipeline i. A l'Étape 294, la carte contrôleur adresse une carte d'entrée correspondant au pipeline esclave. A l'Étape 296, la carte contrôleur délivre le paquet à l' aide du bus de communication à la 2s carte d'entrce correspondante. A l'Étape 298, l' information de rectangle de pipeline est stockée dans la carte d'entrce correspondante. Le processus commencant à l'Étape 286 peut alors être répété. La correspondance entre un rectangle de pipeline et un pipeline esclave est reprogrammable. Par exemple, le numéro 1 de rectangle de pipeline peut être programmé initialement pour correspondre au 106. Cependant, si le 106 devient indisponible, alors le numéro 1 de rectangle de pipeline peut être reprogrammé, de préférence "O la volée" pour correspondre à un pipeline esclave
différent, par exemple le pipeline esclave 108.
La Figure 10 est un schéma d'un dispositif de validation d'affichage 300 pour afficher des rectangle de pipeline 242 sur le dispositif d'affichage 128 selon un mode de mise en oeuvre de la présente invention. Le dispositif de validation d'affichage 300 fait partie, de
préférence, du compositeur 126 (voir la Figure 1).
Cependant, l' invention n'y est pas limitée et le dispositif de validation d'affichage 300 peut être séparé du compositeur 126. Le dispositif de validation d'affichage lO 300 comprend une pluralité, de préférence quatre (un pour chaque indicateur de limite de rectangle de pipeline d'un
rectangle de pipeline) comparateurs 302, 304, 306 et 308.
Le compositeur 126 du système d'affichage graphique 100 traduit à l'écran constamment l' image sur le dispositif d'affichage 128. Le compositeur 126 conserve une trace des valeurs de coordonnées pour le pixel en cours de rendu. La valeur de cocrdonnce x pour le pixel en cours est stockée dans un compteur de position x 310 et la valeur de coordonnée y pour le pixel en cours est stockée dans un compteur de position y 312. La valeur de coordonnée x pour l'indicateurs de limite de rectangle de pipeline 243 des rectangle de pipeline est stockée dans une mémoire tampon X de Gauche de Rectangle de Pipeline 314, la valeur de coordonné x pour l'indicateur de droite 244 des rectangle 2s de pipeline est stockée dans une mémoire tampon X de Droite de Rectangle de Pipeline 316, la valeur de cocrdonné y pour l'indicateur de sommet 245 des rectangle de pipeline est stockée dans une mémoire tampon Y de Sommet de Rectangle de Pipeline 318 et la valeur de coordonnée y pour l'indicateur de bas 246 des rectangle de pipeline est stockée dans une
mémoire tampon Y de Bas de Rectangle de Pipeline 320.
Des sorties du compteur de position x 310 et de la mémoire tampon X de Gauche de Rectangle de Pipeline 314 se connectent à une entrée d'un comparateur 302; des sorties 3s du compteur de position x 310 et de la mémoire tampon X de Droite de Rectangle de Pipeline 316 se connectent à une entrce d'un comparateur 304; des sorties du compteur de position y 312 et de la mémoire tampon Y de Sommet de Rectangle de Pipeline 318 se connectent à une entrce d'un comparateur 306 et des sorties du compteur de position y 312 et de la mémoire tampon Y de Bas de Rectangle de Pipeline 320 se connoctent à une entrce d'un comparateur 308. Le dispositif de validation d'affichage 300 comprend,
de même, une porte logique OU 322 et un multiplexeur 324.
La sortie des comparateurs 302, 304, 306 et 308 se connecte aux entrées de la porte logique OU 322. La sortie de la porte logique OU 322 se connocte à une entrée de commande du multiplexcur 324. Le multiplexeur 324 est. de préférence, un multiplexcur 2 à 1. De prétérence, une première entrée de données, par exemple une entrce 0, du multiplexcur 324 reçoit des donnces de pixel pour le pixel en cours de rendu et une seconde entrce de donnces, par exemple une entrée 1, du multiplexcur 324 reçoit des données de pixel pour un indicateur de limite de rectangle de pipeline. Ainsi, lorsque la sortie de la porte logique OU 322 est nulle, les données de pixel de sortie pour le pixel en cours sont alors égales au données du pixel d'entrée pour le pixel en cours et lorsque la sortie de la porte logique OU 322 vaut 1, les données de pixel de sortie pour le pixcl en cours sont alors égales aux données de
pixel d'indicateur de limite de rectangle de pipeline.
La sortie d' au moins un des comparateurs 302, 304, 306 et 308 et par là, de la porte logique OU 322, est égale à 1 lorsquau moins une des conditions suivantes est vraie : 1) la valeur de cocrdonnée x du pixel en cours correspond à la valeur de coordonnée x pour l'indicateur de gauche d'un quelconque des rectangles de pipeline; 2) la valeur de coordonnée x du pixel en cours correspond à la valeur de coordonnée x pour l'indicateur de droite d'un quelconque des rectangles de pipeline; 3) la valeur de cocrdonnce y du pixel en cours correspond à la valeur de cocrdonnée y pour l'indicateur du haut d'un quelcouque des rectangles de pipeline; ou 4) la valeur de cocrdonnce y du pixel en cours correspond à la valeur de cocrdonnée y de l'indicateur du bas d'un quelconque des rectangles de pipeline. Dans un tel cas, la valeur de données de pixcl de sortie est égale à la valeur de donnces de pixel d'indicateur de limite de rectangle de pipeline. Si aucune des conditions ci-dessus n'est vraie, la valeur de donnces de pixel de sortie est alors égale à la valeur de données de pixcl d'entrce. Ainsi, lorsque le pixel en cours de rendu se trouve sur la limite d'un rectangle de pipeline, les données de pixel d'indicateur de limite de rectangle de
pipeline sont affichées.
Un avantage du présent mode de mise en oeuvre de la présente invention est qu'il permet un équilibre des charges de configuration par l'utilisateur des donnces graphiques entre plusieurs pipelines en temps réel. Ainsi, l'utilisateur peut modifier l' orientation, la répartition et la fluctuation associées aux différents pipelines en temps réel selon l' image affichée sur le dispositif d'affichage. L'utilisateur ne doit pas recommencer depuis le début lorsqu'il désire modifier la configuration des différents pipelines. De plus, le mode de mise en oeuvre de la présente invention affiche, de même, de façon interactive les rectangles de pipeline associés aux différents pipelines esclave sur le dispositif d'affichage, permettant ainsi à l'utilisateur de visualiser, de façon
interactive, la configuration des différents pipelines.
Bien que le mode de mise en oeuvre de la présente invention ait été décrit ci-dessus en référence à un seul dispositif d'affichage, l' invention n'y est pas limitée et si désiré, les enseignements de la présente invention peuvent être utilisés en référence à plusieurs dispositifs d'affichage. Dans un tel mode de mise en oeuvre, les divers dispositifs d'affichage peuvent afficher différentes images non liées les unes aux autres ou les divers dispositifs d'affichage peuvent agir comme en dispositif d'affichage
s logique affichant différentes parties de la même image.
Claims (14)
1. Procédé pour la configuration d'une pluralité de pipelines graphiques dans un système d'affichage graphique par ordinateur (100), caractérisé en s ce qu'il comprend: - l'affichage d'une interface graphique d'utilisateur (232) pour permettre à un utilisateur de spécifier, de façon graphique, au moins un paramètre pour une pluralité de rectangles de pipeline (242) dudit système d'affichage graphique par ordinateur (100) , chaque rectangle de ladite pluralité de rectangles de pipeline (242) étant associé a au moins un pipeline de ladite pluralité de pipelines graphiques; la réception (254, 266) d'au moins ledit ]5 paramètre; et - la mise à jour (260) d'un compositeur (126) dudit système d'affichage graphique par ordinateur (100) en temps rcel sur la base au moins en partie d'au moins ledit paramètre.
2. Procédé selon la revendication 1, caractérisé en ce que ledit au moins un paramètre est sélectionné dans le groupe comprenant un paramètre
d' orientation et un paramètre de répartition.
3. Procédé selon la revendication 1 ou 2, 2s caractérisé en ce que ladite étape d'affichage comprend l'affichage de ladite interface graphique d'utilisateur (232) pour permettre audit utilisateur de sélectionner de facon graphique un certain nombre de valeurs de fluctuation utilisées pour ladite pluralité de rectangles de pipeline
(242).
4. Procédé selon la revendication 1 ou 2, caractérisé en ce que ladite étape d'affichage comprend l'affichage de ladite interface graphique d'utilisateur (232) pour permettre audit utilisateur de sélectionner, de S façon graphique, un paramètre d' orientation pour ladite
pluralité de rectangles de pipeline (242).
5. Procédé selon la revendication 1 ou 2, caractérisé en ce que ladite étape d'affichage comprend l'affichage de ladite interface graphique d'utilisateur (232) pour permettre audit utilisateur de sélectionner, de façon graphique, un paramètre de répartition pour ladite
pluralité de rectangles de pipeline (242).
6. Système pour la configuration d'une pluralité de pipelines graphiques dans un système d'affichage graphique par ordinateur (100), caractérisé en ce que ledit système comprend: - une interface graphique d'utilisateur (232), comprenant: - une pluralité d'icones déchantillon de floctuation (236a à 236n), chacune de ladite pluralité d'icones d'échantillon de fluctuation (236a à 236n) correspondant au nombre de valeurs de fluctuation dans une pluralité de valeurs de fluctuation utilisées pour une pluralité de rectangles de pipeline (242) dudit système 2s d'affichage graphique par ordinateur (100); et - une pluralité d'icones d'orientation (238a à 238n), chacune de ladite pluralité d'icones d' orientation (238a à 238n) correspondant à une orientation différente de ladite pluralité de rectangles de pipeline (242) sur la base au moins en partie du nombre de pipelines graphiques dans ledit système d'affichage graphique par ordinateur
(100).
7. Système selon la revendication 6, caractérisé en ce qu'il comprend, de plus: - une seconde interface graphique d'utilisateur, comprenant: s - une pluralité de boutons de point de fluctuation (272), chaque bouton de point de fluctuation de ladite pluralité de boutons de point de fluctuation (272) correspondant à une valeur de fluctuation de ladite pluralité de valeurs de fluctuation i et - une fenêtre de valeur de fluctuation (270) prévue pour permettre audit utilisateur de définir ladite
pluralité de valeurs de fluctuation.
8. Système selon la revendication 6 ou 7, caractérisé en ce qu'il comprend, de plus, un dispositif de validation d'affichage (300) pour afficher une pluralité d'indicateurs de limite de rectangle de pipeline (243 à 246) associés à ladite pluralité de rectangles de pipeline (242) sur un dispositif d'affichage (128) dudit système
d'affichage graphique par ordinateur (100).
9. Système selon la revendication 6 ou 7, caractérisé en ce qu'il comprend, de plus, un comparateur (302, 304) prévu pour recevoir une entrée d'un compteur de position x (310) et une mémoire tampon de rectangle de pipeline (314, 316), ledit compteur de position x (310) 2s étant prévu pour stocker une valeur de coordonnée x pour un pixel en cours de rendu et ladite mémoire tampon de rectangle de pipeline (314, 316) étant prévue pour stocker une valeur de cocrdonnée x pour ladite pluralité de
rectangles de pipeline (242).
10. Système selon la revendication 9, caractérisé en ce qu'il comprend, de plus, un multiplexeur (324) prévu pour recevoir une entrée de commande à partir dudit comparateur (302, 304), ledit multiplexeur (324) étant prévu, de plus, pour recevoir comme entrce une donnée de pixel d'indicateur de rectangle de pipeline et une donnce de pixel d'entrce pour ledit pixel en cours de s rendu, ledit multiplexeur (324) fournissant en sortie lesdites données de pixel d'indicateur de rectangle de pipeline en réponse à ladite entrée de commande égale à 1 et fournissant en sortie lesdites données de pixel d'entrée
en réponse à ladite entrée de commande égale à 0.
11. Système selon la revendication 6 ou 7, caractérisé en ce qu'il comprend, de plus, un comparateur (306, 308) prévu pour recevoir une entrce d'un compteur de position y (312) et une mémoire tampon de rectangle de pipeline (318, 320), ledit compteur de position y (312) étant prévu pour stocker une valeur de cocrdonnée y pour un pixel en cours de rendu et ladite mémoire tampon de rectangle de pipeline (318, 320) étant prévue pour stocker une valeur de coordonnée y pour ladite pluralité de
rectangles de pipeline (242).
12. Système selon la revendication 11, caractérisé en ce quil comprend, de plus, un multiplexeur (329) prévu pour recevoir une entrée de commande dudit comparateur (306, 308), ledit multiplexeur (324) étant prévu de plus pour recevoir comme entrée une donnée de pixel d'indicateur de rectangle de pipeline et une donnée de pixcl d'entrce pour ledit pixel en cours de rendu, ledit multiplexeur (324) fournissant en sortie lesdites données de pixcl d'indicateur de rectangle de pipeline en réponse à ladite entrée de commande égale à 1 et fournissant en sortie lesUites données de pixel d'entrce en réponse à
ladite entrée de commande égale à 0.
13. Procédé pour la configuration d'une pluralité de pipelines graphiques dans un système d'affichage graphique par ordinateur (100), caractérisé en ce qu'il comprend: - l'affichage d'une interface graphique d'utilisateur (232) pour permettre à un utilisateur de spécifier de façon graphique au moins un paramètre pour une pluralité de rectangles de pipeline (242) dudit système d'affichage graphique par ordinateur (100), chaque rectangle de ladite pluralité de rectangles de pipeline (242) étant associé a au moins un pipeline de ladite pluralité de pipelines graphiques la réception (254, 266) au moins dudit paramètre i - la génération (256) de valeurs de coordonnce pour chaque rectangle de ladite pluralité de rectangles de pipeline (242) sur la base au moins en partie dudit au moins un paramètre et au moins en partie d'une taille d'écran d'un dispositif d'affichage (128) dudit système d'affichage graphique par ordinateur (100) i et - la mise à j our (260) d'un compositeur (126) dudit système d'affichage graphique par ordinateur (100) en temps rcel sur la base au moins en partie desdites valeurs
générées de coordonnée.
14. Procédé selon la revendication 13, comprenant, de plus, la mise à j our (258) d'un état de ladite pluralité de pipelines graphiques sur la base au
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/028,868 US6920618B2 (en) | 2001-12-21 | 2001-12-21 | System and method for configuring graphics pipelines in a computer graphical display system |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2834096A1 true FR2834096A1 (fr) | 2003-06-27 |
Family
ID=21845958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0216289A Withdrawn FR2834096A1 (fr) | 2001-12-21 | 2002-12-20 | Systeme et procede pour la configuration de pipelines graphiques dans un systeme d'affichage graphique d'ordinateur |
Country Status (2)
Country | Link |
---|---|
US (2) | US6920618B2 (fr) |
FR (1) | FR2834096A1 (fr) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080211816A1 (en) * | 2003-07-15 | 2008-09-04 | Alienware Labs. Corp. | Multiple parallel processor computer graphics system |
US7119808B2 (en) * | 2003-07-15 | 2006-10-10 | Alienware Labs Corp. | Multiple parallel processor computer graphics system |
US7359931B2 (en) * | 2003-08-15 | 2008-04-15 | Saudi Arabian Oil Company | System to facilitate pipeline management, software, and related methods |
US7782325B2 (en) * | 2003-10-22 | 2010-08-24 | Alienware Labs Corporation | Motherboard for supporting multiple graphics cards |
US8212838B2 (en) * | 2005-05-27 | 2012-07-03 | Ati Technologies, Inc. | Antialiasing system and method |
US7649537B2 (en) * | 2005-05-27 | 2010-01-19 | Ati Technologies, Inc. | Dynamic load balancing in multiple video processing unit (VPU) systems |
US7773096B2 (en) * | 2005-12-12 | 2010-08-10 | Microsoft Corporation | Alternative graphics pipe |
US8914267B2 (en) * | 2007-07-18 | 2014-12-16 | Chevron U.S.A. Inc. | Systems and methods for diagnosing production problems in oil field operations |
JP5121405B2 (ja) * | 2007-11-13 | 2013-01-16 | 株式会社小松製作所 | 建設機械のエンジン制御装置 |
CN105139789B (zh) * | 2009-05-18 | 2018-07-03 | Lg电子株式会社 | 3d影像再现装置及方法 |
US9097528B2 (en) * | 2010-03-05 | 2015-08-04 | Vmware, Inc. | Managing a datacenter using mobile devices |
US9183222B2 (en) * | 2014-01-28 | 2015-11-10 | Gas Technology Institute | Mapping and asset lifecycle tracking system |
US11334824B2 (en) * | 2017-02-03 | 2022-05-17 | The Curators Of The University Of Missouri | Physical resource optimization system and associated method of use |
CN116912382B (zh) * | 2023-09-14 | 2023-12-29 | 成都帆点创想科技有限公司 | 一种渲染方法、装置及电子设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0693737A2 (fr) * | 1994-07-21 | 1996-01-24 | International Business Machines Corporation | Méthode et appareil de gestion de la charge de travail d'un multi-processeur graphique |
US6157393A (en) * | 1998-07-17 | 2000-12-05 | Intergraph Corporation | Apparatus and method of directing graphical data to a display device |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6020894A (en) * | 1990-08-16 | 2000-02-01 | Canon Kabushiki Kaisha | Full-color desktop publishing system |
KR100219621B1 (ko) * | 1996-12-31 | 1999-09-01 | 윤종용 | 다기능 수행시 온 스크린 디스플레이(osd) 화면 떨림 보상장치 |
US6249294B1 (en) * | 1998-07-20 | 2001-06-19 | Hewlett-Packard Company | 3D graphics in a single logical sreen display using multiple computer systems |
US6331852B1 (en) * | 1999-01-08 | 2001-12-18 | Ati International Srl | Method and apparatus for providing a three dimensional object on live video |
US6329996B1 (en) * | 1999-01-08 | 2001-12-11 | Silicon Graphics, Inc. | Method and apparatus for synchronizing graphics pipelines |
JP3169933B2 (ja) * | 1999-03-16 | 2001-05-28 | 四国日本電気ソフトウェア株式会社 | 並列描画装置 |
US6717599B1 (en) * | 2000-06-29 | 2004-04-06 | Microsoft Corporation | Method, system, and computer program product for implementing derivative operators with graphics hardware |
US6933943B2 (en) * | 2002-02-27 | 2005-08-23 | Hewlett-Packard Development Company, L.P. | Distributed resource architecture and system |
US20030210271A1 (en) * | 2002-05-13 | 2003-11-13 | King William Davis | Power based level-of- detail management system for a portable computer graphics display |
US7168049B2 (en) * | 2002-06-18 | 2007-01-23 | Silicon Graphics, Inc. | System and method for allocating computing resources |
US20040169671A1 (en) * | 2003-03-01 | 2004-09-02 | Aronson David Floyd | Effects framework pipeline integration with programmable shader |
US7015920B2 (en) * | 2003-04-30 | 2006-03-21 | International Business Machines Corporation | Method and system for providing useable images on a high resolution display when a 2D graphics window is utilized with a 3D graphics window |
-
2001
- 2001-12-21 US US10/028,868 patent/US6920618B2/en not_active Expired - Lifetime
-
2002
- 2002-12-20 FR FR0216289A patent/FR2834096A1/fr not_active Withdrawn
-
2005
- 2005-05-02 US US11/120,245 patent/US7383514B2/en not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0693737A2 (fr) * | 1994-07-21 | 1996-01-24 | International Business Machines Corporation | Méthode et appareil de gestion de la charge de travail d'un multi-processeur graphique |
US6157393A (en) * | 1998-07-17 | 2000-12-05 | Intergraph Corporation | Apparatus and method of directing graphical data to a display device |
Non-Patent Citations (1)
Title |
---|
DI GESU V ET AL: "The iconic interface for the PIctorial C language", VISUAL LANGUAGES, 1992. PROCEEDINGS., 1992 IEEE WORKSHOP ON SEATTLE, WA, USA 15-18 SEPT. 1992, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US LNKD- DOI:10.1109/WVL.1992.275775, 15 September 1992 (1992-09-15), pages 119 - 124, XP010094588, ISBN: 978-0-8186-3090-3 * |
Also Published As
Publication number | Publication date |
---|---|
US7383514B2 (en) | 2008-06-03 |
US20030117441A1 (en) | 2003-06-26 |
US20050193352A1 (en) | 2005-09-01 |
US6920618B2 (en) | 2005-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2834097A1 (fr) | Systeme et procede pour configurer automatiquement des pipelines graphiques par suivi d'une region d'interet dans un systeme d'affichage infographique | |
US10699491B2 (en) | Virtually representing spaces and objects while maintaining physical properties | |
FR2834096A1 (fr) | Systeme et procede pour la configuration de pipelines graphiques dans un systeme d'affichage graphique d'ordinateur | |
JP6947352B2 (ja) | グラフィックス処理システム、グラフィックスプロセッサ及び該システム又はプロセッサを動作させる方法 | |
US8042094B2 (en) | Architecture for rendering graphics on output devices | |
US8441490B1 (en) | System and method for managing graphics applications | |
US8723887B2 (en) | Methods and systems for per pixel alpha-blending of a parent window and a portion of a background image | |
US20160102983A1 (en) | Map presentation for multi-floor buildings | |
US9122444B2 (en) | Network accessible projectors that display multiple client screens at once | |
US20160364832A1 (en) | Image stream pipeline controller for deploying image primitives to a computation fabric | |
US7817166B2 (en) | Stereo windowing system with translucent window support | |
US7140024B2 (en) | System and method for managing graphics applications | |
US20200388060A1 (en) | Using machine learning and image recognition for automatic relocation of camera display area and sizing of camera image | |
EP2143006A1 (fr) | Thémage local d'applications distantes | |
CN108292438A (zh) | 使用可变计算复杂度的图像的光场渲染 | |
FR2830645A1 (fr) | Environnements medicaux de telecollaboration independants des plateformes | |
CN106155768A (zh) | 分屏运行应用的方法及装置 | |
US11037520B2 (en) | Screen capture prevention | |
US20100199201A1 (en) | System and method for displaying a display panel | |
FR2819599A1 (fr) | Procede et systeme pour coordonner des vues d'ecran dans un environnement informatique collaboratif | |
US8576238B1 (en) | High speed display of high resolution image | |
CN114356184B (zh) | 人工智能推演系统的展示方法、装置、系统及存储介质 | |
US9891438B2 (en) | System and method for processing a video signal with reduced latency | |
Cecolin | Compositing concepts for the presentation of graphical application windows on embedded systems | |
Ericsson | 3DIS4U: Design and implementation of a distributed visualization system with a stereoscopic display |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20090831 |