FR 2778003 A1 19991029 FR 9805343 A 19980423 La présente invention concerne un dispositif informatique matériel et logiciel permettant d'utiliser en parallèle des cartes graphiques tridimensionnelles conventionnelles, périphériques informatiques dédiés à la synthèse, au traitement et à l'affichage d'images numériques tridimensionnelles, dans le but de permettre l'agrégation des performances nominales des ces cartes graphiques, en terme de nombre d'images calculées par seconde, de résolutions chromatique et spatiale des images calculées et de complexité de la scène géométrique tridimensionnelle définissant ces images, aux fins d'applications de synthèse, de traitement et de visualisation d'images numériques. La scène géométrique est un ensemble de polygones, généralement des triangles, dont chaque sommet est défini au sein d'un espace à trois dimensions à l'aide d'un triplet de coordonnées spatiales (x, y, z). Chaque polygone est de plus caractérisé par des paramètres définissant sa surface propre tels que la couleur, la texture ou la transparence. Les cartes graphiques ont principalement pour fonction de calculer l'image définie par la scène géométrique, à des fins d'affichage au travers de tout périphérique informatique de visualisation plane (écran, projecteur...). Le calcul de l'image destinée à être affichée est réalisé en plusieurs étapes successives: la carte graphique reçoit initialement les données relatives à l'ensemble des polygones constituant la scène géométrique, les paramètres définissant les conditions d'éclairage de la scène géométrique et la position de l'oeil de l'observateur par rapport à la scène géométrique; divers algorithmes procèdent alors à l'application aux polygones de leurs paramètres de surface; les polygones ainsi modifiés sont ensuite projetés sur le plan de visualisation, ce qui conduit à définir, pour chaque point de la surface de visualisation, un sextuplet (x, y, r, v, b, z), le couple (x, y) représentant les coordonnées spatiales du point projeté dans le plan de visualisation, le triplet (r, v, b) représentant les composantes chromatiques du point projeté selon les échelles chromatiques respectives rouge, verte et bleue, la composante de profondeur z représentant enfin la distance de l'oeil de l'observateur au polygone dont le point projeté est issu; dans le cas o cette projection conduit à définir un ensemble de n points projetés représentés par les sextuplets (x, y, ri, vi, bi, zi), i variant de 1 à n, n > 1, un algorithme d'élimination des faces cachées par comparaison des composantes de profondeur conduit à ne conserver aux coordonnées (x, y) du plan de visualisation que le point dont la composante de profondeur zk est le minimum des composantes de profondeur (zi), i variant de 1 à n; cette étape achevée, le quintuplet (x, y, r, v, b), ou le cas échéant (x, y, rk. vk, bk), est reporté dans la mémoire vidéo de la carte graphique pour chaque point de la surface de visualisation, alors que la composante de profondeur z, ou le cas échéant Zk, est reportée dans la mémoire locale de la carte graphique, également pour chaque point de la surface de visualisation; lorsque les quintuplets (x, y, r, v, b) relatifs à l'ensemble des points de la surface de visualisation ont été reportés en mémoire vidéo, cette mémoire est enfin lue par un contrôleur vidéo intégré à la carte graphique ou à une carte d'affichage annexe, pour permettre l'affichage de l'image au travers du périphérique de visualisation utilisé. Ce schéma général de fonctionnement est adopté par la plupart des cartes graphiques tridimensionnelles conventionnelles. -2 - L'utilisation parallèle d'un ensemble de plusieurs cartes graphiques dans le but de permettre l'agrégation de leurs performances nominales est généralement réalisée au travers de la sortie vidéo analogique dont ces cartes graphiques disposent, directement ou indirectement au travers d'une carte d'affichage annexe, à l'aide d'une technique de multiplexage analogique du signal vidéo. Ceci conduit à réduire le champ des accroissements de performance possibles et à limiter à quelques unités le nombre maximal de cartes graphiques susceptibles d'être utilisées en parallèle. Deux modes de multiplexage analogique du signal vidéo sont généralement utilisés: le multiplexage analogique temporel et le multiplexage analogique spatial. Le multiplexage analogique temporel repose sur l'utilisation alternative des cartes graphiques disponibles pour calculer les images successivement affichées. Selon ce mode, chaque image affichée est intégralement calculée par une seule et même carte graphique. Il présente donc l'inconvénient majeur de ne pas permettre d'accoître les résolutions chromatique et spatiale des images calculées au delà des résolutions chromatique et spatiale nominales offertes par une seule carte graphique. Le multiplexage analogique spatial conduit en revanche chaque carte graphique à calculer une fraction particulière de toute image affichée. Selon ce mode, chacune des images affichées est conjointement calculée par l'ensemble des cartes graphiques disponibles. Il présente pour sa part l'inconvénient d'une relative complexité de mise en oeuvre qui tend à réduire à quelques unités le nombre maximal de cartes graphiques susceptibles d'être utilisées en parallèle. Les deux précédents modes de multiplexage analogique n'offrent enfin aucune possibilité d'accroissement de la complexité de la scène géométrique définissant les images affichées, cette complexité étant définie en terme de nombre de polygones et de nombre de textures utilisées pour en définir la surface. Effectivement, selon l'un quelconque de ces deux modes de multiplexage analogique, chaque carte graphique utilisée doit pouvoir gérer seule l'intégralité de la scène géométrique, celle-ci étant répliquée à l'identique sur chacune des cartes graphiques utilisées. Un accroissement de la complexité de la scène géométrique définissant les images affichées peut cependant être offert grâce à un mode de multiplexage géométrique consistant à répartir les éléments de la scène géométrique entre toutes les cartes graphiques disponibles. Selon ce mode, chacune des cartes graphiques utilisées procède au calcul d'une image partielle portant sur des scènes géométriques partielles, sous-ensembles de la scène géométrique intégrale. L'image finale portant sur la scène géométrique intégrale est alors recomposée à partir des images partielles calculées, selon une méthode de recomposition basée sur l'algorithme d'élimination des faces cachées par comparaison des composantes de profondeur décrit précédemment. Selon cette méthode, et si n cartes graphiques Ci, i variant de 1 à n, sont conjointement utilisées, les composantes chromatiques (r, v, b) de tout point de coordonnées (x, y) de l'image finale sont définies comme étant égales à celles du point de composantes (x, Y, rk, vk, bk, Zk) de l'image partielle calculée par la carte graphique Ck pour lequel la composante de profondeur Zk est le minimum des composantes de profondeur (zi), i variant de 1 à n. -3- Il s'avère cependant que la mise en oeuvre de ce mode de multiplexage géométrique au travers d'une technique de multiplexage analogique n'est pas permise par les cartes graphiques conventionnelles, dans la mesure o le signal vidéo analogique qu'elles offrent en sortie, directement ou indirectement au travers d'une carte d'affichage annexe, ne prend en compte que les composantes spatiales (x, y) et temporelles (r, v, b) des points de l'image finale destinée à l'affichage, c'est à dire les données enregistrées dans la mémoire vidéo de la carte graphique, la composante de profondeur z, enregistrée dans la mémoire locale de la carte graphique, n'étant pas directement accessible par ce biais. Corrélativement, les composantes (x, y, r, v, b, z) des points de l'image finale destinée à l'affichage ne sont pas directement accessibles sous forme numérique à une unité de traitement numérique annexe telle que le micro-ordinateur hôte de la carte graphique, dans la mesure ou celle-ci est généralement conçue pour permettre des transferts de données rapides du micro-ordinateur hôte vers elle-même, mais pas pour permettre de tels transferts dans le sens inverse. Une telle fonctionnalité permettrait pourtant de faire effectuer par ledit micro-ordinateur hôte certains traitement spécifiques sur les images calculées, avant leur affichage, tels que l'application de filtres numériques par exemple. Des dispositifs permettant la réalisation d'un mode de multiplexage géométrique au travers d'une technique de multiplexage numérique ont été proposés, par exemple dans le cadre du brevet U.S patent number 5,546, 530. Cependant, ces dispositifs sont généralement basés sur l'utilisation en parallèle de cartes graphiques tridimensionnelles conventionnelles connectées entre elle au travers d'un dispositif d'interconnexion adoptant une topologie de pipeline ou d'anneau. Ces topologies induisent inévitablement deux inconvénients majeurs: d'une part le délai entre l'émission d'une requête de calcul d'une image et le calcul complet de cette image est directement proportionnel au nombre de cartes graphiques utilisées; d'autre part toute saturation locale du dispositif d'interconnexion utilisé est répercutée sur la globalité de ce dernier. Le premier de ces inconvénients se traduit par un manque de réactivité du dispositif, en particulier dans le cadre de l'utilisation d'un grand nombre de cartes graphiques, ce qui peut s'avérer rédhibitoire pour certaines applications. Le second de ces inconvénients est susceptible d'induire une latence supplémentaire entre l'émission d'une requête de calcul d'une image et le calcul complet de cette image, ce qui ne ferait qu'accroître le manque de réactivité du dispositif. Il s'avère enfin qu'aucun de ces dispositifs n'offre à une unité de traitement numérique annexe un accès direct sous forme numérique aux composantes (x, y, r, v, b, z) des points de l'image finale destinée à l'affichage. Enfin, quels que soient les dispositifs de multiplexage proposés pour permettre l'utilisation en parallèle de cartes graphiques tridimensionnelles conventionnelles, aucun ne permet d'accéder à l'intégralité des données reportées par les cartes graphiques dans leurs mémoires vidéos et dans leurs mémoires locales, telles que la composante de transparence a ou la composante de fenêtrage w. Ces données pourraient cependant être utilisées pour implémenter en parallèle certaines fonctionnalités complémentaires telles que la prise en compte de la transparence des polygones constituant la scène géométrique. -4- Le dispositif selon l'invention permet de remédier à l'ensemble de ces inconvénients. Il repose en effet sur l'utilisation de cartes graphiques tridimensionnelles conventionnelles offrant un accès numérique direct à leurs mémoires vidéos et à leurs mémoires locales et comporte un ensemble de cartes d'interface reconfigurables, dont chacune est directement reliée à la mémoire vidéo et à la mémoire locale d'une carte graphique, ces cartes d'interface étant elles-mêmes reliées entre elles selon un dispositif d'interconnexion dont la topologie en arbre permet de garantir un délai faible entre l'émission d'une requête de calcul d'une image et le calcul complet de cette image. Chaque carte graphique est directement reliée au travers de sa mémoire vidéo et de sa mémoire locale à une carte d'interface et une seule. Toute carte d'interface intègre la logique de contrôle lui permettant de lire et d'écrire au sein de la mémoire vidéo et de la mémoire locale de la carte graphique à laquelle elle est directement reliée, la logique de contrôle lui permettant d'échanger des commandes et des données avec les cartes d'interface auxquelles elle est directement reliée selon le dispositif d'interconnexion adopté et la logique de contrôle et de traitement nécessaire à la mise en oeuvre du mode de multiplexage géométrique décrit précédemment ainsi que de tout traitement numérique complémentaire appliqué aux données auxquelles elle peut accéder. Conjointement à ce mode de multiplexage géométrique, le dispositif selon l'invention permet de mettre en oeuvre des modes de multiplexage temporel et spatial, aux fins d'offrir la possibilité de bénéficier simultanément de tous les types d'accroissement de performance généralement offert par les dispositifs permettant l'utilisation parallèle de cartes graphiques, en terme de nombre d'images calculées par seconde, de résolutions chromatique et spatiale des images calculées et de complexité de la scène géométrique tridimensionnelle définissant ces images. Une fraction significative de la logique de contrôle et de traitement intégrée au sein des cartes d'interface est à cet effet offerte par des circuits électroniques dynamiquement reconfigurables de type FPGA (Field Programmable Gates Array), permettant d'implémenter au sein des cartes d'interface un mode de multiplexage composite résultant de l'entrelacement permanent de modes de multiplexage temporel, spatial et géométrique, de manière à permettre des accroissements de performance particulièrement adaptés aux différents besoins d'applications spécifiques. L'emploi de circuits électroniques dynamiquement reconfigurables au sein des cartes d'interface permet également de relier directement ces dernières à la mémoire vidéo et à la mémoire locale d'une vaste de gamme de cartes graphiques, indépendamment de certaines caractéristiques de celles-ci, telles que la résolution chromatique et spatiale des images calculées ou la résolution de la composante de profondeur z, éléments susceptibles de varier de manière notable d'une carte graphique à une autre, selon le choix des principaux composants électroniques de base à partir desquels leurs architectures ont été définies, ou selon les spécificités de leurs implémentations respectives d'un même ensemble de composants électroniques de base. Ceci confèere au dispositif selon l'invention une grande souplesse d'utilisation et permet de rendre certaines de ses caractéristiques indépendantes des évolutions techniques mineures des cartes graphiques susceptibles d'être utilisées. -5- La polyvalence potentielle des cartes d'interface induite par l'utilisation de tels circuits électroniques dynamiquement reconfigurables permet également de substituer à une ou plusieurs cartes graphiques une ou plusieurs cartes de connexion directe offrant une connexion directe entre le dispositif d'interconnexion des cartes d'interface adopté et les micro-ordinateurs antérieurement hôtes des cartes graphiques substituées. Ceci permet un transfert de données rapide de toute carte graphique vers tout micro-ordinateur hôte dont une carte graphique a été substituée par une carte de connexion directe, au travers du dispositif d'interconnexion des cartes d'interface adopté et de la carte de connexion directe hébergée par le micro-ordinateur hôte considéré. Le dispositif d'interconnexion des cartes d'interface est caractérisé par une topologie en arbre. Chaque carte d'interface dispose à cet effet d'au moins trois liaisons point à point permettant chacune de la relier à une autre carte d'interface. Si chacune des cartes d'interface dispose de I + 1 liaisons point à point, le dispositif d'interconnexion des cartes d'interface peut alors adopter une topologie classique d'arbre l-aire régulier. Les micro-ordinateurs hôtes sont directement reliés entre eux au travers d'un réseau informatique local classique auquel est relié un microordinateur de contrôle chargé d'exécuter l'application de l'utilisateur du dispositif selon l'invention. Ce micro-ordinateur de contrôle est également en charge du contrôle des micro-ordinateurs hôtes, au travers d'une architecture logicielle classique de type client/serveur. Certaines composantes logicielles de l'application de l'utilisateur du dispositif selon l'invention peuvent éventuellement être distribuées, selon les techniques classiques du calcul distribué, au travers de l'ensemble des micro-ordinateurs hôtes disponibles et du micro- ordinateur de contrôle, afin d'améliorer les performances de ladite application. Le dispositif selon l'invention offre la possibilité à un microordinateur hôte d'héberger une ou plusieurs cartes graphiques. Une carte graphique est directement reliée à son micro-ordinateur hôte respectif au travers du bus d'entrée/sortie de ce dernier. Le dispositif selon l'invention permet de répartir les éléments de la scène géométrique entre tous les micro-ordinateurs hôtes disponibles. La scène partielle traitée par l'un quelconque des micro-ordinateurs hôtes peut à son tour être répartie entre les cartes graphiques qu'il héberge, ou bien être dupliquée à l'identique sur ces cartes graphiques. Le dispositif selon l'invention permet de connecter un périphérique informatique de visualisation à l'une quelconque des cartes graphiques disponibles, généralement celle située à la racine de l'arbre formée par le dispositif d'interconnexion des cartes d'interface adopté. Cette carte graphique d'affichage peut éventuellement être dépourvue de capacités de calcul d'images et n'est alors pas prise en compte dans l'ensemble des cartes graphiques utilisées pour le calcul des images destinées à être affichées. Dans le cas o le dispositif d'interconnexion des cartes d'interface adopte une topologie d'arbre i-aire régulier, les cartes graphiques autres que celles situées au niveau de la racine et des feuilles de l'arbre peuvent être remplacées par des cartes de connexion directe, de manière à ne disposer de cartes graphiques qu'au niveau des feuilles de l'arbre. -6- Le dispositif selon l'invention est indépendant de l'interface de programmation logicielle au travers de laquelle les cartes graphiques peuvent être utilisées. Une interface de contrôle logicielle propre au dispositif selon l'invention est ainsi intercallée entre cette interface de programmation logicielle et le contrôleur logiciel des cartes graphiques fourni aux systèmes d'exploitation présents sur chacun des micro-ordinateurs hôtes. Le dispositif selon l'invention permet la recomposition de l'image finale destinée à être affichée à partir des images partielles calculées par les cartes graphiques, selon le mode de multiplexage composite choisi par l'utilisateur, en fonction des types d'accroissement de performance qu'il entend privilégier. Chacune des cartes graphiques disponibles procède initialement au calcul complet de l'image partielle correspondant à la scène partielle dont elle a la charge et l'enregistre intégralement dans sa mémoire vidéo et dans sa mémoire locale. Pour tout point de coordonnées (x, y) de la surface de visualisation, ceci conduit chaque carte graphique utilisée à enregistrer un triplet de composantes (r, v, b) correspondant dans sa mémoire vidéo et une composante de profondeur z correspondante dans sa mémoire locale. Pour tout point de coordonnées (x, y) de la surface de visualisation, si n cartes graphiques Ci, i variant de I à n, sont utilisées, les composantes chromatiques (ri, vi, bi) et la composante de profondeur zi, i variant de I à n, correspondantes sont lues dans le mémoire vidéo et dans la mémoire locale de chacune des cartes graphiques Ci, i variant de I à n, par la logique de contrôle de la carte d'interface Ii directement reliée à la carte graphique Ci considérée, de manière asynchrone entre tous les couples (Ci, Ii), i variant de 1 à n. Les logiques de contrôle et de traitement intégrées aux cartes d'interface disponibles procèdent alors de manière distribuée à la détermination du sextuplet (x, y, rk, vk, bk Zk) pour lequel la composante de profondeur zk est le minimum des composantes de profondeur (zi), i variant de 1 à n, au travers du dispositif d'interconnexion des cartes d'interface adopté, et selon les méthodes classiques de détermination du minimum d'un ensemble de valeurs en contexte distribué. Cette étape achevée, le sextuplet (x, y, rk vk, bk Zk) déterminé est ensuite enregistrée par la logique de contrôle de la carte d'interface directement reliée à la carte graphique d'affichage dans la mémoire vidéo et dans la mémoire locale de celle-ci. Ce processus complet est successivement réalisé pour chacun des points de coordonnées (x, y) de la surface de visualisation, ce qui conduit finalement à procéder à l'enregistrement dans la mémoire vidéo de la carte graphique d'affichage de l'ensemble de l'image finale, qui peut alors être affichée au travers du périphérique informatique de visualisation directement connecté à cette carte. Dans l'hypothèse o le mode de multiplexage composite choisi par l'utilisateur fait conjointement appel à un mode de multiplexage temporel, l'ensemble des cartes graphiques disponibles est simplement subdivisé en sous-ensembles de cartes graphiques, chacun de ces sous- ensembles mettant en oeuvre alternativement entre les sous-ensembles utilisés l' intégralité du processus décrit précédement, pour procéder au calcul d'une image complète et à sa recopie dans la mémoire vidéo de la carte graphique d'affichage. Il en va de même pour l'exploitation conjointe d'un mode de multiplexage spatial, chacun des sous-ensembles de cartes graphiques disponibles procédant alors au calcul d'une fraction de l'image finale. -7- Le dispositif selon l'invention permet de garantir un délai faible entre l'émission d'une requête de calcul d'une image et le calcul complet de cette image, quel que soit le nombre de cartes graphiques utilisées en parallèle. En effet, compte tenu de la topologie en arbre du dispositif d'interconnexion des cartes d'interface, et si toutes les cartes graphiques utilisées sont situées au niveau des feuilles de l'arbre, pour tout point de coordonnées (x, y) de la surface de visualisation, la comparaison des composantes de profondeur z des points correspondants au sein de chacune des images partielles calculées par les cartes graphiques utilisées peut être réalisée en seulement d étapes successives, d étant directement proportionnel au logarithme du nombre n de cartes graphiques utilisées. A titre d'exemple, si n = 2 d cartes graphiques et 2 (d + 1) 1 cartes d'interface sont utilisées, si le dispositif d'interconnexion des cartes d'interface adopte une simple topologie d'arbre binaire régulier, si toutes les cartes graphiques utilisées sont situées au niveau des feuilles de l'arbre et si la carte graphique d'affichage est située au niveau de la racine de l'arbre, pour tout point de coordonnées (x, y) de la surface de visualisation, la comparaison des composantes de profondeur z des points correspondants au sein de chacune des images partielles calculées par les cartes graphiques utilisées nécessite seulement d = (log n /log 2) étapes successives. Selon une méthode classique de détermination récursive du minimum d'un ensemble constitué de 2d valeurs en contexte distribué, chaque carte d'interface autre que celles situées au niveau des feuilles et de la racine de l'arbre procède en effet à la comparaison des composantes de profondeur z des deux points qui lui sont transmis par les deux cartes d'interface auxquelles elle est directement reliée en amont de l'arbre. Elle transmet ensuite à la carte d'interface qui lui est directement reliée en aval de 1' arbre les composantes du point pour lequel la composante de profondeur z est minimale. Ce processus est finalement reproduit à l'identique au travers des d niveaux de l'arbre, des feuilles jusqu'à la racine. Le dispositif selon l'invention permet enfin d'accéder à l'intégralité des données reportées par les cartes graphiques utilisées dans leurs mémoires vidéos et dans leurs mémoires locales. Cette possibilité autorise l'implémentation en parallèle de fonctionnalités proposées individuellement par les cartes graphiques autre que la simple élimination des faces cachées par comparaison des composantes de profondeurs. A titre d'exemple, l'utilisation de la composante de fenêtrage w, généralement reportée dans la mémoire locale de la carte graphique, permet de définir la fenêtre dans laquelle doit être affichée le point calculé, parmi les différentes fenêtres affichées, dans le cas o l'interface utilisateur employée offre la fonctionnalité de multi- fenêtrage. A cet effet, la logique de contrôle et de traitement intégrée dans les cartes d'interface du dispositif selon l'invention est capable de lire et d'écrire à tout endroit des mémoires vidéo et locale de chacune des cartes graphiques, et d'échanger tout type de commande et de donnée entre tout couple de cartes d'interface au travers du dispositif d'interconnexion des cartes d'interface adopté. Ces données peuvent alors faire l'objet d'un traitement spécifique au sein d'un micro- ordinateur hôte auquel serait directement relié une carte de connexion directe ou au sein d'une unité de traitement numérique annexe directement reliée à l'une des cartes d'interface utilisées. - 8- Selon des modes particuliers de réalisation Chacune des cartes graphiques tridimensionnelles conventionnelles peut offrir un accès numérique direct à sa mémoire vidéo et à sa mémoire locale, soit au travers de l'utilisation de mémoires à deux voies, soit grâce à l'intégration au sein de la carte graphique d'une logique d'arbritrage. Dans le second des deux cas, la logique de contrôle nécessaire au contrôle de cette logique d'arbitrage peut être implémentée au sein des circuits électroniques dynamiquement reconfigurables intégrés aux cartes d'interface. Plusieurs cartes graphiques différentes peuvent être utilisées conjointement, pourvu qu'elles respectent précisément les spécifications mécaniques, électriques et logiques permettant de les connecter directement à leurs micro-ordinateurs hôtes et à leurs cartes d'interface respectives, au travers de medias de connexion physique quelconques. Chacune des cartes d'interface peut être un périphérique informatique à part entière et être directement reliée au micro-ordinateur hôte hébergeant la carte graphique à laquelle elle est directement reliée, ou bien être une simple carte fille de cette dernière, sans disposer d'une liaison directe propre avec le micro-ordinateur hôte considéré. Dans le premier des deux cas, la logique de contrôle nécessaire au contrôle de la liaison établie entre la carte d'interface et le micro-ordinateur hôte peut être intégrée à ladite carte d'interface. Chacune des cartes d'interface peut intégrer, conjointement aux circuits électroniques dynamiquement reconfigurables dont elle est pourvue, des circuits électroniques spécialisés tels que des circuits de type ASIC (Application Specific Integrated Circuit) ou des circuits électroniques génériques tels que des comparateurs large bande par exemple. Le dispositif d'interconnexion des cartes d'interface peut être constitué d'un ensemble de liaisons point à point dont chacune d'elles relie deux cartes d'interface entre elles, ces liaisons étant asynchrones les unes par rapport aux autres. Chaque liaison point à point peut être constituée de logiques de contrôle intégrées à chacune des deux cartes d'interface dont elle assure la liaison commune et d'un medium de connexion physique qui peut être un ensemble de cables électriques, un jeu de pistes imprimées sur une carte de connexion annexe, une ou plusieurs fibres optiques accompagnées de leurélectronique de contrôle, ou tout autre medium de connexion adapté aux contraintes de performance de la liaison point à point, en terme de bande passante et de latence de transmission des données numériques dont elle doit assurer l'échange entre les deux cartes d'interface dont elle assure la liaison commune. La logique de contrôle intégrée à chaque carte d'interface et chargée de contrôler les liaisons point à point dont dispose la carte d'interface considérée peut disposer d'un jeu de mémoires tampons permettant d'améliorer les performances des liaisons point à point considérées et d'assurer leur fonctionnement correct selon un mode asynchrone. Chacune des cartes d'interface peut disposer de trois liaisons point à point de manière à pouvoir être directement reliée à trois autres cartes d'interface. Dans le cas o chacune des cartes d'interface dispose d'au moins trois liaisons point à point, l'ensemble des cartes d'interface peuvent être reliées entre elles selon une topologie d'arbre binaire régulier. -9- Le nombre de liaisons point à point dont dispose chacune des cartes d'interface peut varier selon les cartes d'interface de manière à répondre aux besoins spécifiques des cartes d'interface considérées. Ainsi, les cartes d'interface situées au niveau des feuilles de l'arbre peuvent ne disposer que d'une seule liaison point à point. Chacune des cartes d'interface peut intégrer une logique de contrôle permettant d'assurer la communication entre la carte d'interface considérée et le micro-ordinateur hôte directement reliée à la carte graphique à laquelle elle est elle-même directement reliée, au travers de la carte graphique considérée. Celle-ci intègre alors la logique de contrôle nécessaire à la mise en oeuvre d'un tel mécanisme de communication. L'une des cartes d'interface peut intégrer une logique de contrôle reliée à chacune des autres cartes d'interface au travers d'un bus de contrôle et permettant d'assurer le contrôle de l'ensemble des cartes d'interface au travers de la carte d'interface considérée. La carte de connexion directe est une carte électronique respectant les spécifications mécaniques, électriques et logiques des diverses cartes graphiques auxquelles elle est susceptible d'être substituée. Elle intègre en outre la logique de contrôle permettant au micro-ordinateur hôte auquel elle est directement reliée de communiquer avec la carte d'interface à laquelle elle est également directement reliée. Des cartes de traitement numérique annexes peuvent être directement substituées à toute carte graphique ou à toute carte de connexion directe, de manière à pouvoir effectuer des traitements numériques spécifiques sur les données circulant au travers du dispositif d'interconnexion des cartes d'interface adopté. Toute carte de traitement numérique annexe peut intégrer des circuits électroniques conventionnels dédiés au traitement du signal numérique de type DSP (Digital Signal Processor), des circuits électroniques spécialisés, des circuits électroniques dynamiquement reconfigurables ou tout assemblage de tels circuits électroniques, éventuellement contrôlé par un micro- processeur conventionnel dédié, également intégré à la carte de traitement numérique annexe considérée. Un ensemble constitué de plusieurs cartes graphiques, de leurs cartes d'interface respectives et des supports physiques des liaisons point à point qui relient entre elles ces cartes d'interface peut être remplacé par une seule et même carte électronique offrant les mêmes fonctionnalités et les mêmes performances que cet ensemble, de manière à réduire l'encombrement de l'ensemble et son coût de fabrication. Le réseau informatique local reliant entre eux les micro-ordinateurs hôtes utilisés et le micro-ordinateur de contrôle peut éventuellement être un réseau à très hautes performances de type réseau commuté, de manière à offrir une large bande-passante entre les différents micro-ordinateurs hôtes et le micro-ordinateur de contrôle. Le micro-ordinateur hôte peut répartir la scène géométrique entre l'ensemble des n cartes graphiques disponibles en attribuant à chacune de ces cartes graphiques un n-ième des polygones constituant la scène géométrique. Des mécanismes de répartition de charge plus avancés peuvent être implémentés, de manière à prendre en compte les complexités relatives des paramètres de surfaces des polygones. - 10- Le mode de multiplexage géométrique peut être implémenté au travers de liaisons point à point entre cartes d'interface selon une topologie d'interconnexion en arbre binaire. Chacune des cartes graphiques disponibles procède initialement au calcul complet de l'image partielle correspondant à la scène partielle dont elle a la charge et l'enregistre intégralement dans sa mémoire vidéo et dans sa mémoire locale. Pour tout point de coordonnées (x, y) de la surface de visualisation, ceci conduit chaque carte graphique utilisée à enregistrer un triplet de composantes (r, v, b) correspondant dans sa mémoire vidéo et une composante de profondeur z correspondante dans sa mémoire locale. Pour tout point de coordonnées (x, y) de la surface de visualisation, dans le cas particulier o n = 2 (d + 1) - 2 cartes graphiques Ci, i variant de 1 à n, sont connectées entre elles selon cette topologie d'interconnexion en arbre binaire au travers de leurs cartes d'interface respectives [i, i variant de 1 à n, o la carte d'interface Ii, i = 2 b -1 + k, b variant de 0 à d - 1, k variant de 0 à 2 b -, est directement reliée aux cartes d'interface Ii, et Ic, i'= 2 b + 1 1 + 2k, i"= 2 b + 1 + 2k, et o la carte graphique d'affichage CO directement reliée à la carte d'interface Io est située au niveau de la racine de l'arbre, les composantes chromatiques (ri, vi, bi) et la composante de profondeur zi, i variant de I à n, correspondantes sont lues dans la mémoire vidéo et dans la mémoire locale de chacune des cartes graphiques Ci, i variant de I à n, par la logique de contrôle de la carte d'interface Ii directement reliée à la carte graphique Ci considérée, de manière asynchrone entre tous les couples (Ci, Ii), i variant de I à n. Chacune des cartes d'interface Ii, i = 2 b 1 + k, b variant de 0 à d - 1, k variant de 0 à 2 b -1, attend alors de recevoir des cartes d'interface Ii et Ii,, i'= 2 b + -1j + 2k, i"= 2 b + 1 + 2k, auxquelles elle est directement reliée les quadruplets de composantes (ri,, vi,, bi,, zi') et (ri-, vi,, bi,, zi), ces quadruplets correspondant aux points de coordonnées (x, y) calculés respectivement par les cartes graphiques Ci et Ci.,. Dès lors que chacune des cartes d'interface Ii, i = 2 b -J + k, b variant de 1 à d - 1, k variant de 0 à 2 b -1, reçoit ces quadruplets, la logique de contrôle et de traitement intégrée à la carte d'interface Ii procède à la comparaison des composantes de profondeur zi, zi' et zi,, et transmet à la carte d'interface Ij, j = 2 b - I -j + E(k / 2), E(x) désignant la partie entière du nombre x, à laquelle elle est directement connectée les composantes du point pour lequel la composante de profondeur z est le minimum des composantes de profondeur zi, zi et zi,. Cette dernière étape est finalement réalisée une ultime fois au sein de la carte d'interface Io directement reliée à la carte graphique d'affichage Co, pour conduire à l'enregistrement, au sein de la mémoire vidéo et de la mémoire locale de cette dernière, des composantes finales du point destiné à être affiché aux coordonnées (x, y) de la surface de visualisation. Un processus similaire peut être implémenté dans le cas particulier o toutes les cartes graphiques utilisées sont situées au niveau des feuilles de l'arbre ou pour toute autre configuration. La comparaison des composantes de profondeur peut être réalisée au travers d'un circuit comparateur large bande éventuellement intégré à chacune des cartes d'interface, dans le but de pallier aux incertitudes de performance liées à l'utilisation de circuits électroniques dynamiquement reconfigurables. -11- Dans le cas particulier o la carte graphique d'affichage est située à la racine de l'arbre et o la carte d'interface directement reliée à celle-ci dispose de I liaisons point à point avec I autres cartes d'interface, chacun des ensembles de cartes graphiques connectées en amont de l'une des I cartes d'interface directement reliée à la carte d'interface directement reliée à la carte graphique d'affichage, au travers de leurs cartes d'interface propres, peut ne calculer qu'une seule image parmi I images destinées à être affichées. Ceci constitue l'une des implémentations possibles d'un mode de multiplexage temporel, selon une technique de multiplexage numérique, susceptible d'être utilisé conjointement au mode de multiplexage géométrique précédemment décrit et permettant d'accroître le nombre d'images calculées par seconde. Dans le cas particulier o la carte graphique d'affichage est située à la racine de l'arbre et o la carte d'interface directement reliée à celle-ci dispose de I liaisons point à point avec I autres cartes d'interface et d'une mémoire vidéo dont la taille est au moins égale à I fois la taille de la mémoire vidéo des autres cartes graphiques utilisées, chacun des I ensembles de cartes graphiques connectées en amont de l'une des I cartes d'interface directement reliée à la carte d'interface directement reliée à la carte graphique d'affichage, au travers de leurs cartes d'interface propres, peut ne calculer qu'une fraction de chaque image affichée, représentant un 1-ième de chaque image affichée. Ceci constitue l'une des implémentations possibles d'un mode de multiplexage spatial, selon une technique de multiplexage numérique, susceptible d'être utilisé conjointement au mode de multiplexage géométrique précédemment décrit et permettant d'accroître les résolutions chromatique et spatiale des images calculées au delà des résolutions chromatique et spatiale nominales offertes par une seule carte graphique. Dans le cas particulier o la carte graphique d'affichage est située à la racine de l'arbre et o la carte d'interface directement reliée à celle-ci dispose de I = t * s liaisons point à point avec l autres cartes d'interface et d'une mémoire vidéo dont la taille est au moins égale à s fois la taille de la mémoire vidéo des autres cartes graphiques utilisées, chacun des I ensembles de cartes graphiques connectées en amont de l'une des 1 cartes d'interface directement reliée à la carte d'interface directement reliée à la carte graphique d'affichage, au travers de leurs cartes d'interface propres, peut ne calculer qu'une fraction d'une seule image parmi t images destinées à être affichées, représentant un s-ième d'une seule image parmi t images destinées à être affichées. Ceci constitue l'une des implémentations possibles d'un mode de multiplexage composite temporel et spatial, selon une technique de multiplexage numérique, susceptible d'être utilisé conjointement au mode de multiplexage géométrique précédemment décrit et permettant des accroissements de performance particulièrement adaptés aux différents besoins d'applications spécifiques. La topologie en arbre du dispositif d'interconnexion des cartes d'interface adopté peut être adaptée de manière à permettre l'implémentation de modes de multiplexage composites particuliers, dans le but d'optimiser l'utilisation de ce dispositif d'interconnexion, en terme de bande passante et de latence de transmission des données numériques échangées. - 12 - Les dessins annexés illustrent l'invention: La figure 1 est un diagramme représentant l'architecture matérielle du dispositif de l' invention. La figure 2 est un diagramme représentant une carte graphique, la carte d'interface à laquelle elle est directement reliée et le micro- ordinateur hôte auquel elle est également directement reliée. La figure 3 est un diagramme représentant une carte graphique, une variante de la carte d'interface à laquelle elle est directement reliée et le micro-ordinateur hôte auquel elle est également directement reliée. La figure 4 est un diagramme représentant une carte de connexion directe, la carte d'interface à laquelle elle est directement reliée et le microordinateur hôte auquel elle est également directement reliée. La figure 5 est un diagramme représentant l'architecture logicielle du dispositif de l'invention. 1 5 En référence à la figure 1, le dispositif comporte plusieurs cartes graphiques tridimensionnelles conventionnelles 100A-100OF, chacune d'entre elles étant directement reliée à une carte d'interface 105A-105F et à un micro-ordinateur hôte 120A-120C. Chaque carte graphique 100A-100F est directement reliée à sa carte d'interface respective 105A-105F au travers d'un medium de connexion physique 10lA-101F et à son micro-ordinateur hôte respectif 120A-120C au travers d'un bus 121A-121C. La carte graphique d'affichage 100G est directement reliée à sa carte d'interface 105G au travers d'un médium de connexion physique 101G et à son micro-ordinateur hôte 120B au travers du bus 121B. Chaque carte d'interface 105A-105G est directement reliée à une ou plusieurs autres cartes d'interface 105A-105G au travers de liaisons point à point 106A106F. Au moins deux cartes d'interface 105E-105F sont directement reliées au travers de deux liaisons point à point 106E-106F à la carte d'interface 105G, laquelle est directement reliée à la carte graphique d'affichage IOOG à laquelle est connecté un périphérique informatique de visualisation plane 140. Les micro-ordinateurs hôtes 120A-120C sont reliés entre eux et à un micro-ordinateur de contrôle 130 au travers d'un réseau informatique local 131. En référence à la figure 2, la carte graphique 100A comporte un processeur graphique A directement relié à la mémoire vidéo 153A et à la mémoire locale 154A. Le processeur graphique 150A est directement relié au micro-ordinateur hôte 120A au travers du bus 121A, à la mémoire vidéo 153A au travers d'un bus 151A et à la mémoire locale 154A au travers d'un bus 152A. La mémoire vidéo 153A est directement reliée à la logique de contrôle et de traitement A de la carte d'interface 105A au travers d'un bus 155A. La mémoire locale 154A est directement reliée à la logique de contrôle et de traitement 160A de la carte d'interface 105A au travers d'un bus 156A. - 13- La carte d'interface 105A comporte une logique de contrôle et de traitement 160A, permettant le contrôle d'au moins trois liaisons point à point 106G-106I avec d'autres cartes d'interface 105A-105G. Dans la forme de réalisation selon la figure 3, la carte d'interface 105A comporte un circuit électronique dynamiquement reconfigurable 170A directement relié à un circuit électronique spécialisé 171A et à un comparateur large bande 172A. Ledit circuit électronique dynarmiquement reconfigurable 170A assure le contrôle des liaisons point à point 106G-106I. En référence à la figure 4, la carte de connexion directe 180A comporte une logique de contrôle et de traitement 181A. La logique de contrôle et de traitement 181A de la carte de connexion directe 180A est directement reliée au micro-ordinateur hôte 120A de ladite carte de connexion directe au travers du bus 121A et à la logique de contrôle et de traitement 160A de la carte d'interface A au travers d'un médium de connexion physique 182A. En référence à la figure 5, le programme utilisateur 200 exécuté sur le micro-ordinateur de contrôle 130 fait appel à une interface de programmation logicielle 201 standard au travers de laquelle un programme utilisateur accède généralement aux fonctionnalités offertes par une carte graphique conventionnelle. Ladite interface de programmation logicielle fait pour sa part appel à une interface de contrôle logicielle 202 chargée de distribuer les éléments de la scène géométrique entre les cartes graphiques 100A-100D. L'interface de contrôle logicielle 202 exécutée sur le micro-ordinateur de contrôl61e 130 communique avec les interfaces de contrôle 203A-203B exécutées sur les micro-ordinateurs hôtes 120A et 120C au travers du réseau informatique local 131. Les interfaces de contrôle 203A-203B font appel aux interfaces de programmation logicielles 204A-204B, qui font elles-mêmes appel aux contrôleurs logiciels 205A-205B pour l'accès aux fonctionnalités offertes par les cartes graphiques 100A-100D. - 14- REVENDICATIONS 1. Dispositif informatique matériel et logiciel caractérisé en ce qu'il permet d'utiliser en parallèle des cartes graphiques tridimensionnelles conventionnelles 100A-100G aux fins d'applications de synthèse, de traitement et de visualisation d'images numériques, comportant: un ensemble de cartes graphiques tridimensionnelles conventionnelles 100A-100G offrant chacune un accès numérique direct intégral à sa mémoire vidéo 153A-153G et à sa mémoire locale 154A-154G; un ensemble de cartes d'interface 105A-105G dont chacune est directement reliée à la mémoire vidéo 153A-153G et à la mémoire locale 154A-154G d'une carte graphique A-100G, chaque carte graphique 100A-100G étant directement reliée à une carte d'interface 105A-105G différente; un dispositif d'interconnexion adoptant une topologie en arbre et reliant entre elles les cartes d'interfaces 105A-105G au travers de liaisons point à point 106A-106F; un ensemble de micro-ordinateurs hôtes 120A-120C hébergeant les cartes graphiques A-100G; un micro-ordinateur de contrôle 130 assurant le contrôle des microordinateurs hôtes 120A-120C au travers d'un réseau informatique local 131. 2. Dispositif selon la revendication I caractérisé en ce que chacune des cartes d'interface 105A-105G intégre une logique de contrôle et de traitement 160A-160G, principalement offerte par un ou plusieurs circuits électroniques dynamiquement reconfigurables 170A-170G. 3. Dispositif selon la revendication 2 caractérisé en ce que chacune des cartes d'interface 105A-105G intègre au moins trois liaisons point à point 106A-106F permettant de la relier directement à trois autres cartes d'interface 105A-105G. 4. Dispositif selon la revendication 2 caractérisé en ce que chacune des cartes d'interface 105A-105G peut n'utiliser que le nombre minimum de liaisons point à point 106A-106F nécessaires à l'établissement d'une topologie d'interconnexion en arbre particulière des cartes d'interface 105A-105G requise par les besoins spécifiques de toute application du dispositif selon l'invention. 5. Dispositif selon la revendication 2 caractérisé en ce que la logique de contrôle et de traitement 160A-160G permet à chacune des cartes d'interface 105A-105G de lire et d'écrire au sein de l'intégralité de la mémoire vidéo 153A-153G et de la mémoire locale 154A-154G de la carte graphique 100A-100G à laquelle elle est directement reliée. 6. Dispositif selon la revendication 2 caractérisé en ce que la logique de contrôle et de traitement 160A-160G permet à tout couple de cartes d'interface 105A-105G directement reliées entre elles au travers d'une liaison point à point 106A-106F d'échanger des commandes et des données numériques. - 15 - 7. Dispositif selon l'une quelconque des revendications précédentes caractérisé en ce que au moins deux cartes d'interface 105E-105F sont directement reliées au travers de deux liaisons point à point 106E-106F à la carte d'interface 105G, elle-même directement reliée à une carte graphique d'affichage 100G à laquelle est directement connecté un périphérique informatique de visualisation plane 140. 8. Dispositif selon l'une quelconque des revendications précédentes caractérisé en ce qu'il permet de substituer à toute carte graphique 100A-100F une carte de connexion directe A-180F pourvue d'une logique de contrôle et de traitement permettant d'échanger des commandes et des données entre la carte d'interface 105A-105F et le micro-ordinateur hôte A-120F auxquels est directement reliée ladite carte graphique. 9. Dispositif selon l'une quelconque des revendications précédentes caractérisé en ce qu'il permet de substituer à toute carte graphique 100A-100F une carte de traitement numérique annexe intégrant des circuits électroniques conventionnels dédiés au traitement du signal numérique, des circuits électroniques spécialisés, des circuits électroniques dynamiquement reconfigurables ou tout assemblage de tels circuits électroniques, éventuellement contrôlé par un micro-processeur conventionnel dédié, également intégré à ladite carte de traitement numérique annexe. 10. Dispositif selon l'une quelconque des revendications précédentes caractérisé en ce qu'il permet au micro-ordinateur de contrôle 130 de distribuer la scène géométrique définissant les images detinées à l'affichage entre les cartes graphiques 100A-100F. ! 1. Dispositif selon l'une quelconque des revendications précédentes caractérisé en ce qu'il permet aux cartes d'interface 105A-105G de mettre en oeuvre tout mode de multiplexage composite temporel, spatial et géométrique. 12. Dispositif selon l'une quelconque des revendications précédentes caractérisé en ce qu'il permet l'affichage des images calculées au travers du périphérique informatique de visualisation plane 140. Le dispositif selon l'invention est particulièrement destiné aux applications informatiques de synthèse, de traitement et de visualisation d'images numériques.