FR2771201A1 - Mappage de texture anisotrope utilisant l'analyse de silhouette ou d'empreinte dans un systeme informatique de generation d'images - Google Patents

Mappage de texture anisotrope utilisant l'analyse de silhouette ou d'empreinte dans un systeme informatique de generation d'images Download PDF

Info

Publication number
FR2771201A1
FR2771201A1 FR9814646A FR9814646A FR2771201A1 FR 2771201 A1 FR2771201 A1 FR 2771201A1 FR 9814646 A FR9814646 A FR 9814646A FR 9814646 A FR9814646 A FR 9814646A FR 2771201 A1 FR2771201 A1 FR 2771201A1
Authority
FR
France
Prior art keywords
pixel
texels
texel
footprint
texture
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9814646A
Other languages
English (en)
Other versions
FR2771201B1 (fr
Inventor
Harry Charles Lee
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Real 3D Inc
Original Assignee
Real 3D Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Real 3D Inc filed Critical Real 3D Inc
Publication of FR2771201A1 publication Critical patent/FR2771201A1/fr
Application granted granted Critical
Publication of FR2771201B1 publication Critical patent/FR2771201B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

En vue de 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, on utilise l'empreinte de chaque silhouette de pixel transformé, comme mappée de l'espace d'image sur le tableau de texture, pour déterminer une surface anisotrope de l'espace de texture ayant à la fois une longueur liée et une largeur liée, dans laquelle des texels complets et des fractions de texel sont couverts par cette empreinte de pixel. Un ensemble d'équations de ligne non-normalisées caractérisant une empreinte de pixel particulière est utilise pour déterminer si chaque texel ou sous-texel à proximité de cette empreinte de pixel est soit inclus soit évité par (c'est-à-dire, se trouve à l'intérieur ou à 1'extérieur de) cette empreinte de pixel projetée.

Description

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<i,j) peuvent être mappées (ce mappage étant indiqué par le symbole ->) 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<s<4 optimise généralement le détail sans minimiser indûment la vitesse de traitement (dû à une durée de traitement excessivement longue pour de très grands nombres de sous-texels). Il apparaît également que l'angle de côtés maximal du polygone sous-jacent peut être de presque 89 pour un tableau de 4x4 sous-texels, utilisant un LOD qui génère 5 texels dans la direction majeure de plan de texture; un rapport de côtés légèrement supérieur, comme fourni en visualisant le polygone 12 substantiellement dans son plan (pour un angle substantiellement égal à 90 par rapport à la verticale sur le plan du polygone, fait que le polygone génère une contribution de substantiellement zéro pour l'image scénique affichée, ce qui est souhaité, puisque le rapport de côtés de 90 fait que le polygone est vu "latéralement" et disparait essentiellement - aucune contribution ne devrait
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,< et Tax, et similaires, pour déterminer le cadre de contour 14 et sa dimension de direction majeure 14a, ces données étant transmises à travers la sortie 68b à une première entrée 70a de moyens de diviseurs 70. Les informations de taille de la grille de LOD fournies à l'entrée 70b sont utilisées comme le diviseur des valeurs de dimension majeure à l'entrée 70a, de sorte que le nombre de texels couverts suivant la direction majeure de l'empreinte de pixel projetée est fourni à la sortie 70c. Ce nombre est utilisé comme l'adresse, à l'entrée 72a, des moyens de table de consultation log2 72, qui sélectionnent le LOD à utiliser, à la sortie 72b, pour une entrée d'adresse 73a des moyens de mémoire de texture de l'accélérateur graphique. Les moyens 73 sortent, au niveau
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.

Claims (20)

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.
FR9814646A 1997-11-20 1998-11-20 Mappage de texture anisotrope utilisant l'analyse de silhouette ou d'empreinte dans un systeme informatique de generation d'images Expired - Fee Related FR2771201B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/975,133 US6097397A (en) 1997-11-20 1997-11-20 Anisotropic texture mapping using silhouette/footprint analysis in a computer image generation system

Publications (2)

Publication Number Publication Date
FR2771201A1 true FR2771201A1 (fr) 1999-05-21
FR2771201B1 FR2771201B1 (fr) 2002-10-25

Family

ID=25522728

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9814646A Expired - Fee Related FR2771201B1 (fr) 1997-11-20 1998-11-20 Mappage de texture anisotrope utilisant l'analyse de silhouette ou d'empreinte dans un systeme informatique de generation d'images

Country Status (6)

Country Link
US (1) US6097397A (fr)
JP (1) JP4077568B2 (fr)
CA (1) CA2254666C (fr)
FR (1) FR2771201B1 (fr)
GB (1) GB2331905B (fr)
TW (1) TW411431B (fr)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292193B1 (en) * 1998-07-30 2001-09-18 Compaq Computer Corporation Techniques for anisotropic texture mapping using multiple space-invariant filtering operations per pixel
US6184894B1 (en) * 1999-01-29 2001-02-06 Neomagic Corp. Adaptive tri-linear interpolation for use when switching to a new level-of-detail map
JP3367509B2 (ja) * 1999-12-16 2003-01-14 株式会社セガ 画像生成方法及びこれを用いた画像生成装置
US6724395B1 (en) * 2000-03-24 2004-04-20 Nvidia Corporation System, method and article of manufacture for anisotropic texture sampling
US6975319B1 (en) * 2000-03-24 2005-12-13 Nvidia Corporation System, method and article of manufacture for calculating a level of detail (LOD) during computer graphics processing
KR100393086B1 (ko) * 2001-05-15 2003-07-31 한국과학기술원 서브 텍셀 수준의 면적 점유비를 이용한 이방성 텍스춰필터링 방법 및 장치
US7324116B2 (en) 2002-06-20 2008-01-29 Microsoft Corporation Systems and methods for providing controllable texture sampling
DE10242639A1 (de) * 2002-09-13 2004-03-25 Sp3D Chip Design Gmbh Verfahren zur Analyse und Modifikation eines Footprints
DE10242640A1 (de) * 2002-09-13 2004-03-25 Sp3D Chip Design Gmbh Verfahren zur Festlegung von Gewichtungsfaktoren für die Farbberechnung eines Farbwerts von Texeln für einen Footprint
EP1437898A1 (fr) * 2002-12-30 2004-07-14 Koninklijke Philips Electronics N.V. Filtrage vidéo pour des images steréo
JP3853329B2 (ja) * 2004-03-31 2006-12-06 株式会社コナミデジタルエンタテインメント ゲームプログラム及びゲーム装置
US7280897B2 (en) 2004-05-28 2007-10-09 Lockheed Martin Corporation Intervisibility determination
US7492965B2 (en) * 2004-05-28 2009-02-17 Lockheed Martin Corporation Multiple map image projecting and fusing
US7486840B2 (en) * 2004-05-28 2009-02-03 Lockheed Martin Corporation Map image object connectivity
US7242407B2 (en) * 2004-05-28 2007-07-10 Lockheed Martin Corporation Reprojecting map images using graphical techniques
US7525543B2 (en) * 2004-08-09 2009-04-28 Siemens Medical Solutions Usa, Inc. High performance shading of large volumetric data using screen-space partial derivatives
US7158143B2 (en) * 2004-12-03 2007-01-02 Via Technologies, Inc. Fast algorithm for anisotropic texture sampling
JP4660254B2 (ja) * 2005-04-08 2011-03-30 株式会社東芝 描画方法及び描画装置
US7737988B1 (en) * 2005-11-14 2010-06-15 Nvidia Corporation Using font filtering engines for texture blitting
DE602007004693D1 (de) 2006-08-03 2010-03-25 Yokohama Rubber Co Ltd Luftreifen
US7982741B2 (en) 2006-11-29 2011-07-19 Microsoft Corporation Shared graphics infrastructure
US8064726B1 (en) * 2007-03-08 2011-11-22 Nvidia Corporation Apparatus and method for approximating a convolution function utilizing a sum of gaussian functions
US8538183B1 (en) 2007-03-08 2013-09-17 Nvidia Corporation System and method for approximating a diffusion profile utilizing gathered lighting information associated with an occluded portion of an object
US10417813B2 (en) * 2016-12-05 2019-09-17 Nvidia Corporation System and method for generating temporally stable hashed values

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0447227A2 (fr) * 1990-03-16 1991-09-18 Hewlett-Packard Company Méthode et appareil pour générer des primitives graphiques texturées dans des systèmes graphiques à calculateur avec tampon de trame

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL72685A (en) * 1983-08-30 1988-08-31 Gen Electric Advanced video object generator
US4974176A (en) * 1987-12-18 1990-11-27 General Electric Company Microtexture for close-in detail
DE69032932T2 (de) * 1989-11-17 1999-09-16 Digital Equipment Corp System und Verfahren zum unverfälschten Polygonenzeichnen
GB2270243B (en) * 1992-08-26 1996-02-28 Namco Ltd Image synthesizing system
SE502111C2 (sv) * 1993-10-22 1995-08-21 Ericsson Telefon Ab L M Förfarande för inhämtning av anropande och anropad abonnents lägesangivelser för debiteringsändamål, i ett telesystem där den anropade abonnenten begärt samtalsförflyttning
CA2144914A1 (fr) * 1994-04-01 1995-10-02 Raymond L. Fitzgerald Systeme de pagination a selection fragmentaire pour l'infographie
US5651104A (en) * 1995-04-25 1997-07-22 Evans & Sutherland Computer Corporation Computer graphics system and process for adaptive supersampling
US5831624A (en) * 1996-04-30 1998-11-03 3Dfx Interactive Inc Level of detail texture filtering with dithering and mipmaps

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0447227A2 (fr) * 1990-03-16 1991-09-18 Hewlett-Packard Company Méthode et appareil pour générer des primitives graphiques texturées dans des systèmes graphiques à calculateur avec tampon de trame

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DUDGEON AND SRINIVASAN: "ALGORITHMS FOR GRAPHICS TEXTURE MAPPING", PROCEEDINGS OF THE TWENTY-THIRD SOUTHEASTERN SYMPOSIUM ON SYSTEM THEORY, 10 March 1991 (1991-03-10) - 12 March 1991 (1991-03-12), LOS ALAMITOS CA USA, pages 613 - 617, XP000862981 *

Also Published As

Publication number Publication date
CA2254666A1 (fr) 1999-05-20
GB2331905A8 (en) 2002-11-13
JPH11250279A (ja) 1999-09-17
GB2331905A9 (en)
GB9825571D0 (en) 1999-01-13
GB2331905A (en) 1999-06-02
TW411431B (en) 2000-11-11
CA2254666C (fr) 2010-12-14
FR2771201B1 (fr) 2002-10-25
US6097397A (en) 2000-08-01
GB2331905B (en) 2002-05-15
JP4077568B2 (ja) 2008-04-16

Similar Documents

Publication Publication Date Title
FR2771201A1 (fr) Mappage de texture anisotrope utilisant l&#39;analyse de silhouette ou d&#39;empreinte dans un systeme informatique de generation d&#39;images
Farid Photo forensics
Matusik et al. Acquisition and rendering of transparent and refractive objects
Eisemann et al. Real-time shadows
Bernardini et al. High-quality texture reconstruction from multiple scans
EP3401879B1 (fr) Procédé de modélisation d&#39;un objet tridimensionnel à partir d&#39;images bidimensionnelles de cet objet prises sous différents angles
EP2526510B1 (fr) Procede de realité augmenté appliquée à l&#39;intégration d&#39;une paire de lunettes dans une image de visage
EP1982310B1 (fr) Procede de synthese d&#39;une image virtuelle par lancer de faisceaux
EP0725366B1 (fr) Texturation et ombrage d&#39;images 3-D
EP0458692B1 (fr) Procédé de visualisation d&#39;une partie de l&#39;image d&#39;une structure physique
CN102077243B (zh) 3d纹理的超分辨率的图像生成设备及方法
US20040001059A1 (en) Rendering compressed surface reflectance fields of 3D objects
US7194125B2 (en) System and method for interactively rendering objects with surface light fields and view-dependent opacity
CN107644453B (zh) 一种基于物理着色的渲染方法及***
FR2714505A1 (fr) Dispositif et procédé pour générer une image destinée à un traitement graphique d&#39;ordinateur tridimensionnel.
GB2399703A (en) Volumetric representation of a 3D object
FR2966623A1 (fr) Procede d’estimation de l’occultation dans un environnement virtuel
De Rousiers et al. Real-time rendering of rough refraction
Chlubna et al. Real-time per-pixel focusing method for light field rendering
FR2964775A1 (fr) Procede d&#39;estimation de l&#39;occultation dans un environnement virtuel
Berrier et al. Improved appearance rendering for photogrammetrically acquired 3D models
Arpa et al. Perceptual 3D rendering based on principles of analytical cubism
FR2653919A1 (fr) Procede et appareil pour la restitution de projections volumetriques utilisant la projection inverse de rayons.
Castelló et al. Viewpoint entropy-driven simplification
Kim et al. Subsurface scattering using splat-based diffusion in point-based rendering

Legal Events

Date Code Title Description
TP Transmission of property
ST Notification of lapse

Effective date: 20160729