Brevet FR2771201A1 — publié le 19990521

MAPPAGE DE TEXTURE ANISOTROPE UTILISANT L'ANALYSE DE SILHOUETTE OU D'EMPREINTE DANS UN SYSTEME INFORMATIQUE DE GENERATION D'IMAGES La présente demande concerne un système informatique de génération d'images (CIG), également appelé accélérateur graphique, pour afficher des représentations en deux dimensions (2D) de scènes en trois dimensions (3D) et, plus particulièrement, des procédés et appareils originaux pour mapper des textures de façon anisotrope sur chaque pixel d'affichage par analyse de la silhouette de chaque pixel de l'espace d'affichage nécessaire à chacun d'une pluralité de polygones formant, de préférence en temps réel, chaque scène sur un affichage CIG, d'une manière efficace sur le plan du calcul. Contexte de l'invention Il est maintenant bien connu de prévoir un système informatique de génération d'images, et des processus associés, pour générer des scènes d'images en 3D sur un affichage en 2D; chaque scène peut contenir plusieurs milliers (typiquement, plus d'un million) d'éléments d'image individuels, appelés pixels, chaque pixel ayant des attributs visuels uniques à cette petite surface visible correspondante dans une représentation de l'espace d'image en 2D de l'espace d'objet en 3D alors observable par un observateur situé selon une certaine orientation par rapport aux objets. Les objets eux-mêmes sont visualisés depuis un point d'observation connu et peuvent ainsi être représentés par un ensemble de polygones de surface planaires, qui peuvent être textures, par projection dans l'espace de texture pour être convolutés avec les éléments de texture (texels) des motifs de texture sélectionnés, avant l'affichage. Les divers aspects d'un processus de polygone texturé CIG peuvent être obtenus en se référant aux textes disponibles et aux textes de brevet précédents, y compris le brevet américain 4 727 365 (Advanced Video Object Generator, émis le 28 février 1998) et le brevet américain 4 974 176 (Microtexture for Close-In Detail, émis le 27 novembre 1990). Il a été observé que la plupart des approches de mappage de texture utilisées en temps réel et avec des systèmes graphiques interactifs ne peuvent pas réaliser un mappage de texture de qualité pour des angles de visée plats des objets textures (par rapport au plan du polygone d'objet), c'est-à-dire o l'objet à texturer a un rapport de côtés élevé (c'est-à-dire avec un angle élevé d'incidence de visée, généralement supérieur à 45 , par rapport à la verticale du polygone). Un exemple de ceci est le problème d'une "Ligne blanche au milieu de la route"; dans le monde réel, la ligne blanche discontinue sur la route est une série de segments de ligne blanche, chacun d'une longueur d'environ 305 cm et d'une largeur de 12,7 cm, chaque segment de ligne blanche étant séparé par 305 cm de chaussée noire. L'affichage d'une représentation en 2D d'une ligne blanche sur la route réelle en 2D essayerait d'atteindre deux objectifs contradictoires: premièrement, empêcher la ligne blanche de disparaître quand un observateur regarde le long de la route; et deuxièmement, empêcher la ligne blanche affichée qui en résulte de scintiller - ici, le scintillement se manifeste par l'apparition et la disparition de différents ensembles (mettons, des sections de 1524 cm) de plusieurs segments de ligne blanche le long de la route. Un autre exemple connexe de ces problèmes est le changement des contours d'immeuble qui sont nets quand ils se trouvent en face de l'observateur et scintillent ou prennent une apparence floue quand ils sont visualisés avec un rapport de côtés élevé (angle plat pour l'observateur). La plupart de ces problèmes sont dus au phénomène suivant: on ne tient pas compte du fait que le pixel d'affichage (qui a normalement une silhouette rectangulaire, et souvent carrée, dans l'espace d'image) présente une empreinte allongée quand il est mappé sur l'espace de texture. Les mappages de texture sont souvent organisés en ensembles de Niveau de détail (LOD). Typiquement, chaque élément d'un niveau plus grossier de l'ensemble est une projection de texture qui est une réduction 2:1 de l'élément d'ensemble plus fin suivant supérieur; ainsi, une projection de texture de niveau D a 4 (ou 2x2) éléments de texture (texels) pour chaque texel dans la projection de texture pour le niveau plus grossier suivant D+1. Ainsi, si la projection du premier LOD (D=0) le plus fin présente un tableau de 512 texels sur 512, le LOD plus grossier suivant (D=1) est une projection de texture qui consiste en un tableau de 256 texels sur 256 (ou 256x256). Ce processus est effectué, pour cet exemple, jusqu'à ce que le LOD 9 produise une projection avec un seul texel lxl. Dans le mappage texture/ pixel habituel jusqu'à présent, le LOD réel de chaque pixel est calculé aussi bien pour la largeur que pour la longueur de ce pixel, tel qu'il est projeté dans l'espace de texture, et le plus grand des deux nombres de LOD réels est sélectionné comme le LOD réel de ce pixel. Ensuite, deux projections de texture avec des LOD, qui regroupent le LOD réel du pixel impliqué, sont sélectionnées et une interpolation entre deux projections de texture de LOD adjacentes est effectuée, utilisant l'une de 3 stratégies d'interpolation, pour calculer la valeur du pixel mappé. Voici les trois procédés d'interpolation: interpolation du voisin le plus proche, interpolation bi-linéaire ou interpolation tri-linéaire. Etant donné que l'on utilise la valeur la plus grande entre la largeur ou la longueur du pixel modifié, tel qu'il est projeté dans l'espace de texture, pour déterminer le LOD réel de l'espace de texture du pixel, la taille réelle du pixel projeté a obligatoirement la même taille d'espace de texture dans ses deux directions de longueur et de largeur. On dit que ces procédés de texture sont isotropes parce que les LOD du pixel mappé sont toujours les mêmes dans les deux directions dans l'espace de texture. Cependant, quand des pixels d'espace d'image normalement rectangulaires (de préférence carrés) sont projetés sur un polygone d'espace d'objet qui est incliné jusqu'à un certain degré par rapport à l'axe de visée (lui-même perpendiculaire au plan de l'espace d'image/d'affichage), chaque pixel projeté ou mnappé (avec une texture) est allongé en raison de l'angle de projection plat; si cet allongement (le rapport de la dimension projetée supérieure à la dimension projetée inférieure) se trouve au-delà d'une certaine limite sélectionnée (mettons, 3:1), les procédures isotropes bien connues, qui utilisent l'idée fictive que la longueur est égale à la largeur, ne sont pas adaptées. Il s'agit du cas anisotrope, o les dimensions de l'empreinte de pixel projetée, et donc les LOD associés, ne peuvent pas être les mêmes dans les deux directions sans provoquer des effets visuels indésirables. Il est très souhaitable de prévoir des procédés de texture anisotropes qui tiennent compte d'une forme allongée du pixel projeté dans l'espace de texture. Plusieurs de ces procédés (normalement pour des systèmes ne fonctionnant pas en temps réel) ont été mis en oeuvre par des approches qui tombent dans l'une de deux grandes catégories: 1) Des procédés pour convoluter la projection de l'espace de texture du pixel avec les valeurs de texture pour produire des résultats très justes mais demandant beaucoup de calculs; et 2) Des procédés utilisant la mémorisation de projections texturées pré-traitées et pré-filtrées qui demandent moins de calculs mais sont aussi moins souples et précises, et nécessitent plus de mémoire. En raison d'une demande accrue pour que de plus en plus de projections de textures différentes soient disponibles pour des systèmes interactifs et en temps réel, les approches demandant moins de mémoire sont plus souhaitables. Dans le passé, d'autres systèmes pour le rendu d'une texture anisotrope ont été suggérés (tels qu'une procédure, utilisée il y a presque dix ans par notre groupe de simulation prédécesseur, consistant à échantillonner la texture seulement suivant l'unique plus grande diagonale du pixel anisotrope); jusqu'à présent, il s'est avéré soit qu'ils fournissent une résolution insuffisante des problèmes de texturage anisotrope, soit qu'ils sont trop coûteux (en termes de matériel ou de temps de calcul nécessaire). Par conséquent, la fourniture de procédés originaux pour mapper une texture de façon anisotrope sur chaque pixel d'affichage nécessaire pour chacun d'une pluralité de polygones formant, de préférence en temps réel, chaque scène sur un affichage CIG d'une manière efficace sur le plan du calcul, est très souhaitable. Bref résumé de l'invention Conformément à la présente invention, un procédé pour mapper de façon anisotrope des informations de texture sur chaque pixel nécessaire à l'affichage de chacun de plusieurs polygones formant chaque scène sur un affichage CIG d'une manière efficace sur le plan du calcul, utilise l'empreinte de chaque pixel transformS, comme mappé sur le tableau de texture, pour déterminer une surface anisotrope d'espace de texture ayant à la fois une longueur liée et une largeur liée, dans laquelle des texels complets et des fractions de texels sont couverts par cette empreinte de pixel. Un ensemble d'équations de ligne non-normalisées caractérisant une empreinte particulière de pixel est utilisé pour déterminer si chaque texel à proximité de cette empreinte de pixel est soit inclus soit évité par (c'est-à-dire, se trouve à l'intérieur ou à l'extérieur de) cette empreinte de pixel projetée. En utilisant une surface isotrope en 2D, plutôt qu'une ligne en 1D (qui convient seulement pour des rapports de côtés très élevés (typiquement supérieurs à 70 )), ce procédé permet de compter les texels entiers ou les fractions de texel inclus, de façon à déterminer la couleur et/ou la transparence du pixel. Etant donné que toutes les valeurs sont déterminées de façon incrémentielle, mes procédés nécessitent au départ le calcul de peu de valeurs, suivie d'une procédure d'incrémentation simple pour compter quels texels sont inclus dans l'empreinte et lesquels ne le sont pas. Si les texels sont subdivisés en 2 ou plusieurs sous-texels, chaque sous-texel peut aussi être déterminé comme étant à l'intérieur ou à l'extérieur de l'empreinte de pixel, permettant un mappage de texture plus juste. Un pixel est mappé sur une projection de texture de résolution supérieure que celle indiquée par son LOD isotrope réel. Le pixel projeté recouvre un certain nombre de texels dans toutes les directions. Par conséquent, il est un objet de la présente invention de prévoir un procédé et appareil originaux pour le texturage anisotrope de pixels de l'espace d'image en utilisant une projection surfacique et une analyse de silhouette. Celui-ci ainsi que d'autres objets de la présente invention apparaîtront à ceux compétents dans l'art après prise en considération des dessins ci-joints et lecture de la description détaillée associée d'un mode de réalisation actuellement préféré. Brève description des dessins La figure la est une vue isométrique d'un observateur visualisant de façon tronconique un polygone texturé à travers le plan de l'écran d'affichage dans un espace d'image, et utile pour apprécier le contexte des procédés de la présente invention; la figure lb est une projection horizontale d'une partie de l'espace de texture sur lequel l'empreinte d'un pixel carré de l'espace d'affichage a été projetée; la figure 2 est un organigramme d'un mode de réalisation actuellement préféré des procédés de la présente invention; la figure 2a est une comparaison côte à côte de l'écran d'espace d'affichage et d'une silhouette de pixel sur celui- ci, et d'une partie du tableau d'espace de texture et de l'empreinte de pixel projetée sur celui-ci; la figure 2b est une vue de l'espace de texture, avec le pixel projeté et certains de ses dérivés spatiaux, et utile pour apprécier différents concepts nécessaires pour utiliser les procédés de la présente invention; la figure 2c est une autre vue de l'espace de texture avec le pixel projeté, et du cadre de contour ajouté par les procédés de la présente invention; la figure 2d est une vue d'une empreinte de pixel dans l'espace de texture, montrant les quatre lignes de contour à partir desquelles des équations de ligne non- normalisées sont générées pour être utilisées dans les procédés de la présente invention; la figure 2e est un ensemble de texels subdivisés, représentant l'utilisation de 4, 9 ou 16 sous-texels pour chaque texel à traiter, pour générer une meilleure résolution de texture; et la figure 3 est un schéma fonctionnel d'une mise en oeuvre matérielle possible du procédé préféré. Description détaillée d'un mode de réalisation actuellement préféré En se référant d'abord à la figure la, un observateur O se trouve à un point de visée 10, visualisant un plan d'affichage 11 qui est l'espace d'image, ou d'affichage, caractérisé par les axes I et J; ce plan se compose d'un tableau d'éléments d'image d'affichage, ou pixels, lla, dont un pixel de tableau général Pij est désigné par ses dimensions axiales I et J respectives. Une ligne de visée l0a passe par le centre llc de la silhouette de pixel lla et est projetée comme le centre 12c d'une empreinte 12a du pixel lla comme projeté sur un plan 12 dans l'espace de texture. Le plan 12 est en général un polygone de l'espace d'objet comme projeté dans l'espace de texture avec un tableau d'éléments de texture, ou texels, 12b, sur celui- ci; le plan du polygone texturé 12 présente les axes S et T, de sorte qu'un texel de tableau général Tt est désigné par ses dimensions axiales S et T. Il apparaît que la silhouette généralement rectangulaire, souvent carrée, du pixel lia, parce que le polygone sous-jacent 12 n'est généralement pas parallèle au plan d'écran 11, est projetée sur le plan 12 comme une empreinte quadrilatérale 12a du pixel Pst avec typiquement quatre côtés inégaux ainsi que des coins inégaux qui ne sont typiquement pas des angles droits. Le problème de texturage peut être compris en se référant à la figure lb, sur laquelle le plan des texels 12 est maintenant orthogonal par rapport à la ligne de visée du lecteur, de sorte que les texels 12b du tableau sont rectangulaires, et de préférence carrés, mais l'empreinte 12a projetée du pixel Pû a une forme quadrilatérale déformée. J'ai sélectionné le niveau de détail (LOD) de la texture de sorte que la taille de chaque texel est généralement inférieure à la taille du pixel projeté Pt; ainsi, le pixel 12a couvre partiellement au moins un texel Tt et peut couvrir complètement un ou plusieurs autres texels T'.t. Ici, les rangées de texels, dans la direction S, ont été nommées de a à h, tandis que les colonnes de texels, dans la direction T, ont été nommées de 1 à 8: l'empreinte 12a couvre complètement les texels 3c, 4c, 3d, 4d, 5d, 4e, e et 4f, mais seulement (éventuellement) des parties des texels 2b, 3b, 4b, 5b, 2c, 7c, 3e, 6e, 3f, 5f, 6f, 3g, 4g et 5g, chacun de ces texels peut avoir un ensemble unique d'attributs visuels, par exemple des valeurs de couleur/ transparence. Comme il sera reconnu par ceux compétents dans l'art, le problème consiste à tenir compte correctement des contributions de tous les texels, soit partiellement inclus, soit entièrement inclus dans la surface totale de l'empreinte particulière 12a du pixel Pt, de façon à déterminer la couleur correcte, la transparence et des attributs visibles similaires pour l'affichage du côté de l'espace d'affichage de ce pixel Pij. En se référant maintenant à la figure 2, dans un mode de réalisation actuellement préféré de mon procédé original, un générateur informatique d'images en 3D (CIG) peut avoir un processeur graphique (qui peut être un moteur dédié à logique câblée ou un ordinateur universel programmé par logiciel) qui effectue la procédure d'analyse de silhouette/d'empreinte du texturage isotrope montrée dans l'organigramme 20. Le processus commence à l'étape 21. L'étape 23 sélectionne le polygone suivant 12 à texturer; dans ce mode de réalisation, les pixels peuvent être regroupés pour chaque polygone particulier à rendre par le moteur graphique, bien que d'autres procédés d'opération sur pixel puissent tout aussi bien être utilisés. A l'étape 25, la procédure 20 sélectionne la paire de valeurs I et J du pixel suivant Pij qui doit être texture, dans le polygone N actuellement sélectionné. Cette sélection détermine efficacement à la fois les coordonnées de l'espace d'image (i,j) des coins du pixel Pij et les coordonnées angulaires (s,t) de ce pixel Pt tel qu'il est mappé sur l'espace de texture. En se référant aussi à la figure 2a, un pixel sélectionné quadrilatéral à quatre coins lla a des coins donnés Pl à p4, chacun avec ses coordonnées I,J associées, c'est-à-dire Pl se trouve en (il,jl), P2 se trouve en (i2,j2), p3 se trouve en (i3,j3), et p4 se trouve en (i4,j4). La silhouette lla du pixel d'affichage Pij est transformée en empreinte 12a du pixel Pat de l'espace de texel, et chacun des coins Pij de l'espace d'image est respectivement transformé en un coin associé Pst de l'espace de texture, c'est-à-dire Pl se trouve en (sl,tl), P2 se trouve en (s2,t2), p3 se trouve en (s3,t3), et p4 se trouve en (s4,t4). A l'étape 27, les gradients spatiaux pixel/ texel sont déterminés et l'empreinte de pixel est construite sur le tableau de texels à l'étape 29. Comme le montre la figure 2b, on trouve les gradients de mappage, de l'espace d'écran à l'espace de texture; les dérivés spatiaux partiels 6s/6i et ôt/bi sont trouvés par rapport au premier coin (sl,tl) et les dérivés spatiaux partiels ôs/bj et ôt/Èj sont ensuite trouvés par rapport au deuxième coin (s2,t2). Etant donné ces dérivés partiels, les coordonnées (i,j) de chaque pixel P ) dans l'espace de texture comme P(s,t), c'est-à-dire p(il,jl) -> p(sl,tl); p(i2,j2) -> p(s2,t2); p(i3,j3) -> p(s3,t3); et p(i4,j4) -> p(s4,t4). Si le premier coin (sl,tl) est trouvé par le processus assez long de transformation de projection, les trois autres coins peuvent être trouvés d'après la connaissance des longueurs latérales dans l'espace d'image et des gradients de mappage; pour la situation habituelle, o chaque pixel présente des longueurs latérales unitaires agissant comme les multiplicateurs des termes de gradient associés, ces autres emplacements de coins sont: (s2,t2) = (sl + ôs/ôi, tl + ôt/ôi), (s3,t3) = (s2 + Ès/ôj, t2 + ôt/ôj), et (s4,t4) = (sl + 6s/Èj, tl + ôt/6j), Toute l'empreinte projetée 12a du pixel de l'espace de texture peut être construite par l'interconnexion ordonnée de ces quatre coins. En se référant maintenant aussi à la figure 2c, on entre dans l'étape 31 pour calculer un cadre de contour BB 14 qui est un cadre rectangulaire touchant juste l'un des points angulaires p aux valeurs S supérieure et inférieure et aux valeurs T supérieure et inférieure de l'empreinte, et inclut ainsi l'empreinte de pixel 12a. Ensuite, à l'étape 33, la diagonale principale 14a du cadre de contour est calculée, entre la paire de coins diagonalement opposés du cadre 14 (ici, les coins p'1 et p'3) associée aux, et le plus proche des coins opposés les plus éloignés (ici, les coins pl et p3) qui sont plus éloignés que les coins opposeés p2 et p4) formant une diagonale principale 12d de l'empreinte originale 12a; il apparaît que la diagonale 14a est généralement en harmonie avec, mais non identique à la diagonale principale 12d de l'empreinte. Puisque le cadre de contour 14 est déterminé en trouvant les étendues maximale et minimale de l'empreinte dans chacune des directions S et T, le processus de l'étape 31 peut être spécifiquement: sux = max(sl, s2, s3, s4) et Smin = min(sl, s2, s3, s4) tandis que tux = max(tl, t2, t3, t4) et tin = min(tl, t2, t3, t4) o max ou min signifient respectivement la quantité supérieure ou inférieure des quantités à l'intérieur des parenthèses suivantes. Ici, il apparaît que Sma=S4 et sin=sl, tandis que tmx=t3 et tmn=tl. D'après ce qui précède, le processeur graphique peut ensuite calculer la plage R9=(sx-smin) ou (s4-sl) du cadre S et la plage Rt=(tmx- tmin) ou (t3-tl) du cadre T. La direction majeure du cadre de contour est déterminée, à l'étape 33, en comparant les valeurs maximales de l'étendue S et de l'étendue T; la plus grande de la plage R9 et de la plage Rt définit la direction majeure DM; ou bien, Dm = max(R,,Rt) et la direction, DM=R9 si Dm_=Rs (c'est-à-dire si Rs>Rt), ou DM=Rt si Dmax=Rt (c'est-à-dire si Rt>Rs). Ensuite, on entre dans l'étape 35 et le LOD correct "D" est déterminé. Pour simplifier les calculs, j'ai trouvé que l'empreinte quadrilatérale 12a peut être approchée par un parallélogramme de dimension correcte 12A avec un minimum d'erreur visible, si une pluralité de texels 12b couvrent chaque empreinte de pixel projetée 12a. Je veux donc que la surface du cadre de contour 14 de l'empreinte de pixel projetée couvre plusieurs texels dans au moins une direction du cadre (figure 2d); il est préférable de couvrir une pluralité dans les deux directions axiales, bien que des projections avec des rapports de côtés élevés puissent exclure cela et permettre une couverture de plusieurs texels seulement dans une direction axiale. Notons que mes procédés anisotropes surfaciques nécessitent au moins un texel, et de préférence un plus grand nombre de texels, même dans la direction "mineure", de façon à avoir vraiment une surface de couverture, plutôt que d'échantillonner la couverture seulement sur une ligne; si le travail de routine s'effectue sur des empreintes avec des rapports de côtés élevés, l'utilisation de la situation à sous-texels, évoquée ci- dessous, est normalement justifiée, puisque celle-ci permet l'utilisation d'une deuxième dimension avec une étendue mesurée comme une fraction de texel, et permet à un cadre 14 d'une dimension mineure petite au point de disparaître (inférieure à un sous- texel, comme on peut la trouver par un plan de polygone vu latéralement, à environ 90 ) de disparaître. Le nombre T, de texels 12b recouverts par le côté 14s de l'axe S du cadre est calculé et comparé au nombre calculé Ts de recouverts par le côté de l'axe T du cadre 14. On peut faire varier le nombre LOD D pour obtenir un nombre souhaité proche de Ts ou Tt; dès qu'une valeur correcte de D est trouvée, la grille de texture adéquate pour ce LOD est extraite de la mémoire pour être utilisée au cours des étapes restantes. Le placement de la grille de texture dépend de si le LOD de la grille est impair ou pair, ce qui est une mesure du nombre maximal de texels recouvrant le pixel, puisque le LOD de la résolution la plus fine est défini par l'examen du nombre TD des texels couverts dans une direction de la grille de texels, tant que la condition (TD/2D)Dx est satisfaite. Typiquement, j'essaie d'obtenir que 3-5 texels recouvrent le pixel suivant la plus longue de ses plages S et T. A l'étape 37 (en se référant encore une fois à la figure 2d), mes procédés déterminent si un texel 12b se trouve à l'intérieur de l'empreinte (et ses attributs de couleur et de transparence sont donc comptés dans le pixel 12a) ou se trouve à l'extérieur de l'empreinte (et n'est pas ajouté aux attributs incrémentiels du pixel), en utilisant un ensemble de quatre équations de ligne non- normalisées (UNLE) L1-L4 afin de créer un mappage grossier pour déterminer l'inclusion des texels. Chacune des lignes L1-L4 est représentée par sa propre UNLE, qui est utilisée pour déterminer l'inclusion ou l'exclusion de chaque texel, à l'intérieur du cadre 14, par rapport à l'empreinte 12a; je totalise les contributions des texels 12b aussi bien entiers (entièrement inclus) que partiels pour former les attributs de l'empreinte de pixel. L'utilisation d'une équation de ligne non normalisée pour déterminer l'emplacement d'un point quelconque, et ainsi pour savoir si un texel doit faire partie de l'empreinte de pixel, fonctionne en laissant les UNLE déterminer de quel côté de la ligne se trouve le point examiné (mettons, le centre 12b' de chaque texel; si un point de périmètre 12a' se déplace toujours autour de l'empreinte suivant une ligne latérale L dans une direction cohérente (mettons, dans le sens horaire), alors un point 12b' décalé de la ligne latérale L dans une direction connue (mettons, à droite de la ligne L) se trouve potentiellement à l'intérieur du pixel - le test du point 12b' par rapport à l'ensemble des quatre lignes latérales L1-L4 détermine l'inclusion ou l'exclusion. Donc, la première étape dans le processus UNLE consiste à générer les quatre équations de ligne non-normalisées; actuellement, je préfère une UNLE sous la forme L=LD+(LsxAs)+(LtxAt). Par exemple, la première UNLE, étant donné le points d'extrémité (sl,tl) et (s2,t2), a des coefficients de LD=(s2xtl)-(slxt2), Ls=(t2-tl), et Lt=(sl-s2). Chacune des quatre UNLE décrit ainsi un bord de l'empreinte de pixel 12a. Chaque texel 12b peut être testé pour déterminer s'il se trouve à l'intérieur ou à l'extérieur; ce test est facilité si l'empreinte d'un pixel dans l'espace texel est approchée par un parallélogramme 12A, o chacun des 4 côtés du parallélogramme est une ligne décrite par une UNLE; le parallélogramme le mieux ajusté 12A est normalement un parallélogramme dans un cadre de contour 14 avec une diagonale majeure 14a proche de la diagonale supérieure, entre les coins opposés les plus éloignés, de l'empreinte 12a. Ensuite, un point (mettons, un centre de texel particulier 12b') se trouve à l'intérieur du parallélogramme d'empreinte 12A si toutes les UNLE produisent une valeur positive pour ce point 12b'. Un mot d'indicateur sur quatre binaires est associé avec chaque point à tester; chaque binaire est positionné par les résultats du test dans l'UNLE ordonnée associée (par exemple, le mot contient les binaires WXYZ, o W est le signe du test de la première UNLE, ou L1, X est le signe du test de la deuxième UNLE, L2, pour ce même point, Y est le signe pour le test UNLE L3, et Z est le résultat du test de la quatrième UNLE pour la ligne L4). Si un test particulier des quatre tests UNLE est positif, l'un des 4 binaires associés avec le point est positionné sur 1, sinon un résultat négatif génère un binaire 0; ce processus est effectué pour chacune des 4 équations de ligne et les points avec une valeur de (1111 en binaire) ou (15 en décimal) sont considérés comme étant à l'intérieur de l'empreinte de pixel. Par exemple, un premier point central de texel 12b'-1 présente des résultats UNLE de (--++) ou en binaire 0011=3 en décimal et se trouve à l'extérieur de l'empreinte 12a, tandis qu'un autre point central 12b'-2 présente des UNLE de (++++) ou 1111 en binaire, et se trouve à l'intérieur de l'empreinte modifiée 12A. L'utilisation de quatre UNLE peut être simplifiée jusqu'à deux équations UNLE si l'empreinte de pixel 12a est obligée à devenir un parallélogramme 12A avec deux ensembles de côtés parallèles écartés avec deux ensembles d'équations de lignes parallèles avec les mêmes coefficients. Comme mentionné précédemment, L=LD+(LSxAs)+(LtxAt), o pour un premier point en (sa,ta) et un autre point en (sb,tb), As=sb- sa et At=tb-ta; pour (sl,tl) et (s2,t2) ceci devient L1=((s2xtl)-(slxt2)) + ((sl-s2)xAs) + ((t2-tl)xAt). Une ligne L3 parallèle à la ligne Li ci-dessus présente (sl+a,tl+b) et(s2+a,t2+b), o a et b sont des constantes de décalage. Ainsi, une ligne parallèle aurait un premier terme de L'O=(s2+a)x(tl+b)-(sl+a)x(t2+b); ce qui est égal à L'o=Lo-(Lsxa)-(Ltxb); ou L'o=Lo+k; o k=-(Lsxa)-(Ltxb). Cependant, L's=Ls et L't=Lt, de sorte que L'=L+A, o A est le décalage (a,b). A l'étape 39, sous une incrémentation uniforme de type matricielle aussi bien dans les directions "s" que "t", les texels 12b inclus dans l'empreinte 12A peuvent être trouvés en utilisant les UNLE pour déterminer le nombre de points centraux de texel 12b' inclus dans l'empreinte de pixel projetée. Si un mot binaire contenant uniquement des 1 (c'est-à-dire, 11112) est calculé pour un texel particulier, ce centre de texel est inclus et le texel en question contribue aux attributs de pixel, sinon le centre de texel se trouve à l'extérieur de l'empreinte et le texel ne contribue pas au comptage. Le processeur graphique du CIG peut travailler de gauche à droite, suivant chaque rangée de texels (c'est-à-dire, en changeant des valeurs s en passant par toute la rangée nécessaire) avant l'incrémentation du numéro de ligne (c'est-à-dire, changement de la valeur t), en calculant les nouveaux résultats basés sur les UNLE pour chacun des texels: commencer dans le coin supérieur gauche du cadre de contour 14 dans l'espace de texture, calculer l'équation complète pour chacune des 4 UNLE pour déterminer chaque emplacement de point central de texel par rapport à l'empreinte; la valeur du point central de texel suivant à droite est calculée en sauvegardant la valeur précédente pour chaque équation et en incrémentant les valeurs sauvegardées par leurs As associés; ce processus d'incrémentation continue sur toute la rangée; et le même sous-processus est effectué pour chaque rangée suivante, en incrémentant les quantités At associées, jusqu'à ce que tous les texels à l'intérieur du cadre de contour 14 aient été pris en compte. Les attributs graphiques (par exemple le nombre) de texels dont les points centraux 12b' sont inclus dans l'empreinte sont traités (par exemple additionnés) pour obtenir la valeur du pixel texture. L'étape 41 totalise les contributions de texels à centre inclus de tous les texels 12b qui atteignent un résultat de mot 1111 à partir des équations de ligne, c'est-à-dire, sont "activés", avec une contribution de couleur/intensité de 1, ou alors ce texel est "désactivé", avec une contribution de couleur/intensité de 0 (sans) pour le total du pixel. Il apparaît que les effets de texturage de tous les texels dont les centres se trouvent à l'intérieur de la surface totale de l'empreinte de projection de pixel, contribuent à la texturage du pixel, que le pixel projeté ait un rapport de côtés élevé (c'est-à-dire, un rapport o la dimension d'empreinte en largeur ou en longueur est nettement inférieure à l'autre dimension) ou un rapport de côtés bas (c'est-à-dire, substantiellement une largeur et longueur égales de l'empreinte 12a); ce processus fait la différence entre un polygone à un angle d'environ tan-1 (2T), o T est le nombre minimal de texels dans le LOD sélectionné pour l'axe maximal de l'empreinte (la dimension critique minimale dans la direction axiale mineure est la distance du bord au centre, ou environ la moitié de la dimension de texel, de sorte que par exemple, pour un LOD produisant environ 5 texels suivant l'axe majeur d'une empreinte particulière d'un pixel carré à l'origine, le rapport de côtés sera d'environ tan-1 (10) ou environ 84 ). L'étape 43 traite correctement le total de l'étape 41, comme par une méthodologie choisie de calcul de moyenne et similaire, pour définir les propriétés de texture du pixel. Cet ensemble de propriétés peut être modifié, à l'étape 45, en fonction de tout autre facteur présent, tel que différents effets d'éclairage de pixel et similaires. La valeur anisotrope du pixel texturé pour ce pixel est mémorisée dans le tampon de trame CIG ou une mémoire séparée, à l'étape 47. On entre dans l'étape 49, et une détermination est effectuée du nombre de pixels restant à texturer pour ce polygone N; s'il existe des pixels supplémentaires, la sortie 49a est effectuée et on revient à l'étape 25, après quoi le numéro de pixel Pij est incrémenté; s'il n'y a pas d'autres pixels pour le polygone en cours, la sortie 49b passe à l'étape 51. A l'étape 51, le même type de détermination est effectuée pour des polygones supplémentaires dans la scène en cours; s'il y a du travail de polygone supplémentaire à effectuer, la sortie 51a renvoie le processus à l'étape 23; sinon, la sortie 51b passe à l'étape 53 qui termine le processus de texture et transmet le processus à l'opération suivante. En se référant maintenant à la figure 2e, pour améliorer la qualité du processus de texturage, chaque texel 12b peut être subdivisé en une pluralité de sous-texels 16; de préférence, la division se fait dans un nombre égal s de subdivisions suivant chacune des directions S et T de chaque texel 12b, pour générer s2 sous-texels 16, o s=2, 3, 4,... dans le texel 12b actuellement pris en compte. Tout comme chaque texel 12b a son propre point central 12b', chaque sous-texel 16 a son propre point central 16', utilisé ici pour déterminer si ce sous-texel se trouve à l'intérieur ou à l'extérieur de l'empreinte 12a. Ainsi, je préfère subdiviser chaque texel en s2 sous-texels, o de préférence s=2, 3 ou 4; si s=2, le texel est divisé en 4 sous-texels 16a- 16d, tandis que si s=3, il existe 9 sous-texels 16a-16i, et si s=4, il existe 16 sous-texels 16a-16p. I1 convient de comprendre que s peut être tout nombre entier de subdivisions suivant chaque côté du texel, bien qu'un sous- tableau carré à l'intérieur de la plage de 2 se produire). Chaque texel est pondéré par le nombre de sous-texels qui sont activés, en réponse au même type de comparaison avec les signes des quatre UNLE. Il y a maintenant s2 comparaisons par pixel et s2 ensembles de mots de comparaison sur quatre binaires (WXYZ) à prendre en compte; si la comparaison pour l'un quelconque des sous- texels est différent de (1111), alors ce sous-texel n'est pas inclus dans l'empreinte de pixel 12a et n'est pas pris en compte. Seulement si le mot de comparaison de sous-texel est (1111), la valeur de sous-texel sera incluse et comptée dans le comptage du pixel. Ainsi, par exemple dans un texel subdivisé en 2x2, si 1 sous-texel est "activé" (c'est-à- dire, inclus et à compter), la valeur de texel est 1/4; si 2 sous- texels sont activés, la valeur de texel est 1/2; alors que si 3 sous- texels sont activés, la valeur de texel est 3/4; et quand tous les 4 sous-texels sont activés, la valeur est bien sûr la valeur d'un texel entier. Cette comparaison est effectuée dans une étape modifiée 39. Sur la base du nombre de sous-texels inclus dans l'empreinte, le texel reçoit une pondération qui contribue à la couleur de texture du pixel texture. Comme mentionné précédemment, le LOD est de préférence ajusté pour fournir un nombre prédéterminé de texels séquentiels suivant l'axe majeur de l'empreinte de pixel projetée 12a. Occasionnellement, la taille de la diagonale majeure 14a du cadre de contour diminue pour être inférieure à la longueur d'un texel, même dans le LOD le plus fin, et un verrouillage optionnel peut être appelé. Ce verrouillage maintient la forme de l'empreinte de pixel et son centre de gravité. L'empreinte de pixel est alors dimensionnée (c'est- à-dire, grossie) de sorte que l'empreinte 12a remplit ce cadre de contour verrouillé 14. Typiquement, ceci survient quand le point de visée 10 s'approche de très près du polygone de texture 12a et empêche la texture de devenir très crénelée. Ainsi, si l'étendue maximale du cadre de contour est inférieure à un côté de texel dans le LOD le plus fin, il faut grossir aussi bien l'empreinte que le cadre de contour jusqu'à ce que l'étendue maximale soit de la taille d'un texel, de façon à verrouiller l'empreinte de pixel dans une taille minimale d'un texel et lisser le texel dans les vues rapprochées. En se référant maintenant à la figure 3, alors que ce procédé peut être effectué sur un ordinateur universel programmé, qui agit comme le processeur graphique, un calculateur dédié 60 ou ASIC peut être prévu tout aussi bien pour effectuer le processus et les calculs. Le calcul des coefficients pour chaque UNLE à partir de 2 points nécessite l'utilisation de 2 multiplicateurs numériques et de 3 additionneurs numériques. La précision de l'arithmétique est fonction de la taille de grille; une arithmétique à base d'entiers peut être utilisée. L'emplacement de pixel Pij de l'espace d'écran est fourni au niveau des moyens d'entrée 60a, pour le transmettre aussi bien à une entrée 62a de moyens de mappage pixel/texture 62 qu'à une entrée 64a de moyens de calcul de gradient de pixel 64. Les moyens 62 ont un autre ensemble d'entrées 62b recevant de l'entrée 60b des données qui caractérisent la ligne de visée 10a (par exemple, des angles par rapport à une trame de l'espace d'observation) de sorte qu'un ensemble de sorties 62c peut fournir des données qui établissent le point Pst de l'empreinte de l'espace de texture. Les données à la sortie 62c sont couplées à un premier ensemble 66a d'entrées à des premiers moyens d'additionneur 66, qui ont un deuxième ensemble 66b de quatre entrées recevant les quatre gradients d'espace de texel à partir des sorties 64b des moyens 64; les moyens 64 peuvent aussi recevoir les données de l'entrée 60b à une entrée 64c, si nécessaire. Les quatre sorties 66c des moyens d'additionneur ont les coordonnées (s,t) des quatre points pl-p4 de l'empreinte de pixel, respectivement. A partir de ces points d'empreinte, disponibles aux entrées 68a, des moyens de sous-processeur d'étendue maximale 68 calcule S, du bus 73b, des données de contenu/d'attribut de texel/sous- texel. Après avoir déterminé le LOD correct, les informations de point angulaire du cadre de contour à la sortie 66c sont fournies à un ensemble d'additionneurs 74 et de multiplicateurs 76 configurés pour fournir des termes partiels des UNLE. Leurs sorties sont alimentées à d'autres moyens d'additionneur 78 pour calculer les quatre UNLE. Celles-ci sont fournies à un premier ensemble d'entrées 80a de moyens de comparaison 80 et sont comparées aux données de texel/sous-texel provenant de la sortie 73b des moyens de mémoire de texture 73, apparaissant au niveau d'un autre ensemble d'entrées de moyens de comparateur 80b; si le texel 12b a été subdivisé en Q sous-texels 16, chacun des Q différents sous-texels (ici, un tableau 2x2 de Q=4 sous- texels) est comparé aux UNLE par un moyen différent d'un ensemble de moyens de comparaison, ici un groupe de quatre moyens 80-1 à 80-4. Si le mot UNLE du sous-texel 16x, o x=a, b, c ou d, respectivement, est 15H, alors les données d'attribut de couleur pour ce sous-texel sont entrées dans les moyens d'accumulateur de sous-texel 82; quand la totalité des Q sous-texels a été prise en compte, la sortie des moyens d'accumulateur 82a présente des données pour ce seul texel qui est alors traité. Ces données sont transférées aux moyens d'accumulateur "totaliser tous les texels" 84 qui fournissent à la sortie 60b les données de contribution de tous les texels pour le pixel actuellement projeté. Les données de pixel à la sortie 60b peuvent subir un traitement supplémentaire ou entrer directement dans la mémoire dans un tampon de trame ou similaire, pour le balayage récurrent (ou autre) sur les moyens d'affichage CIG et la visualisation par l'observateur 10. Alors qu'un mode de réalisation actuellement préféré de mes procédés et appareils originaux pour le mappage de texture anisotrope par analyse de silhouette a été décrit en détail ici, de nombreuses variations et modifications ressortiront maintenant pour ceux compétents dans l'art. Il est mon invention d'être donc limité uniquement par la portée des revendications ci-jointes, et non pas par des détails ou modalités exposés à titre d'explication. REVENDICATIONS 1. Procédé de mappage anisotrope pour déterminer les attributs de texture de chacun de plusieurs pixels dans une scène à afficher par un générateur informatique d'images, incluant les étapes consistant à: (a) pour chaque pixel, projeter une silhouette d'espace d'affichage de ce pixel comme une empreinte sur au moins un polygone d'objet associé dans l'espace de texture; (b) ajuster un niveau de détail (LOD) des texels texturant ledit au moins un polygone, pour amener cette empreinte de pixel projetée à couvrir au moins un nombre prédéterminé de texels dans une direction sélectionnée de l'espace de texture; (c) déterminer le nombre accumulé de texels entiers et partiels couvrant la surface anisotrope totale de cette empreinte; (d) déterminer les attributs visuels pour ce pixel à partir de tous les texels accumulés à cet effet; et (e) mémoriser les informations d'attributs visuels déterminées pour ce pixel, pour faciliter l'affichage du pixel dans sa scène associée. 2. Procédé selon la revendication 1, dans lequel l'étape (a) inclut les sous-étapes consistant à: (al) construire l'empreinte de pixel comme un quadrilatère sur un tableau de texels couvrant ledit au moins un polygone; (a2) construire un cadre dans l'espace de texture bordant l'empreinte; et (a3) déterminer une direction majeure du cadre de contour. 3. Procédé selon la revendication 2, dans lequel la sous-étape (a3) inclut l'étape consistant à aligner la direction majeure du cadre sur la paire la plus éloignée des coins opposés de l'empreinte. 4. Procédé selon la revendication 3, dans lequel la sous-étape (a2) inclut l'étape consistant à approcher l'empreinte par un parallélogramme. 5. Procédé selon la revendication 4, dans lequel la diagonale de parallélogramme la plus proche de la diagonale d'empreinte la plus éloignée est sélectionnée comme la direction majeure du cadre. 6. Procédé selon la revendication 1, dans lequel l'étape (c) inclut les sous-étapes consistant à: (cl) construire un ensemble d'équations de ligne non-normalisées (UNLE) pour caractériser l'empreinte dans l'espace de texture; (c2) déterminer, par l'utilisation de l'ensemble des UNLE, la direction d'un centre de chaque texel à l'intérieur du cadre de contour; et (c3) inclure dans le total de l'empreinte seulement les texels ayant un centre avec une relation prédéterminée par rapport à toutes les UNLE de l'ensemble. 7. Procédé selon la revendication 6, dans lequel un ensemble de gradients pour la transformation en deux dimensions de l'espace d'image en espace de texture est utilisé pour la construction des UNLE. 8. Procédé selon la revendication 7, dans lequel l'étape (a) inclut les sous-étapes consistant à: (al) construire l'empreinte de pixel comme un quadrilatère sur un tableau de texels couvrant ledit au moins un polygone; (a2) construire un cadre dans l'espace de texture bordant l'empreinte; et (a3) déterminer une direction majeure du cadre de contour. 9. Procédé selon la revendication 8, dans lequel la sous-étape (a3) inclut l'étape consistant à aligner la direction majeure du cadre sur la paire la plus éloignée des coins opposés de l'empreinte. 10. Procédé selon la revendication 9, dans lequel la sous-étape (a2) inclut l'étape consistant à approcher l'empreinte par un parallélogramme. 11. Procédé selon la revendication 10, dans lequel la diagonale de parallélogramme la plus proche de la diagonale d'empreinte la plus éloignée est sélectionnée comme la direction majeure du cadre. 12. Procédé selon la revendication 6, incluant en outre les étapes consistant à: traverser les UNLE dans une direction présélectionnée autour du périmètre de l'empreinte; et inclure un texel dans la surface totale seulement si les résultats des UNLE pour ce texel correspondent tous à un même résultat sélectionné. 13. Procédé selon la revendication 1, dans lequel chaque texel est divisé en une pluralité de sous-texels, et toutes les étapes (b)-(d) sont effectuées pour chaque sous- texel. 14. Procédé selon la revendication 13, dans lequel l'étape (b) inclut en outre l'étape consistant à sélectionner le LOD pour amener au moins 5 texels à couvrir l'empreinte de pixel dans la direction sélectionnée. 15. Procédé informatique d'accélération graphique pour sélectionner des données de texel, organisées en plusieurs niveaux de détail (LOD), à utiliser pour l'affichage de pixels de l'espace d'image, comprenant les étapes consistant à: définir une scène par des objets visibles dans celle-ci pour un observateur, chaque objet étant défini par au moins un polygone apparaissant dans l'espace de texture et recouvert par un ensemble de texels; définir une empreinte d'une silhouette de pixel d'affichage projetée sur l'objet texturé; définir un cadre de contour pour couvrir la surface entière de l'empreinte de pixel projetée; sélectionner un LOD pour les texels, pour amener un nombre souhaité de texels à se trouver sur une diagonale principale du cadre de contour; et déterminer le total de tous les texels à l'intérieur du cadre de contour ayant un emplacement géométrique sélectionné qui se trouve à l'intérieur de l'empreinte et contribuant aux attributs affichables du pixel. 16. Procédé selon la revendication 15, dans lequel chaque texel est subdivisé en une pluralité de sous-texels, et incluant en outre l'étape consistant à déterminer des sous-pixels comme contribuant aux attributs visibles du pixel si l'emplacement géométrique sélectionné d'un sous- texel se trouve à l'intérieur de l'empreinte. 17. Procédé selon la revendication 16, dans lequel l'emplacement géométrique sélectionné est le centre du sous- texel testé pour l'inclusion dans l'ensemble de contribution. 18. Procédé selon la revendication 15, dans lequel l'emplacement géométrique sélectionné est le centre du texel testé pour l'inclusion dans l'ensemble de contribution. 19. Procédé selon la revendication 15, dans lequel plusieurs équations de ligne non-normalisées sont comparées à l'emplacement sélectionné pour déterminer l'inclusion du texel associé dans l'ensemble de contribution. 20. Appareil destiné au mappage anisotrope pour déterminer des attributs de texture de chacun de plusieurs pixels dans une scène à afficher par un générateur informatique d'images, comprenant: des moyens recevant une désignation dudit pixel d'espace d'image (Pij) alors en cours de traitement pour mapper une empreinte de pixel associée sur au moins un polygone d'objet associé dans l'espace de texture; des moyens pour ajuster un niveau de détail (LOD) des texels texturant ledit au moins un polygone à couvrir par au moins un nombre prédéterminé de texels dans une direction sélectionnée de l'espace de texture; des moyens pour déterminer le nombre accumulé de texels entiers et partiels couvrant la surface anisotrope totale de cette empreinte; des moyens pour déterminer les attributs visuels pour ledit pixel à partir de tous les texels accumulés à cet effet; et des moyens pour mémoriser les informations d'attributs visuels déterminées pour ce pixel, pour faciliter l'affichage du pixel dans sa scène associée.