FR2690770A1 - Système et procédé de visualisation pour jeux vidéo. - Google Patents
Système et procédé de visualisation pour jeux vidéo. Download PDFInfo
- Publication number
- FR2690770A1 FR2690770A1 FR9305241A FR9305241A FR2690770A1 FR 2690770 A1 FR2690770 A1 FR 2690770A1 FR 9305241 A FR9305241 A FR 9305241A FR 9305241 A FR9305241 A FR 9305241A FR 2690770 A1 FR2690770 A1 FR 2690770A1
- Authority
- FR
- France
- Prior art keywords
- texture
- screen
- edge
- dimensional
- values
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A63F13/10—
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/20—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
- A63F2300/203—Image generating hardware
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
L'invention concerne un système de visualisation tridimensionnelle à représentation de texture. Le système comporte un processeur central (12) qui, en réponse à des données d'entrée provenant d'une mémoire centrale (24), définit une image globale devant être affichée sous une forme tridimensionnelle sur un dispositif de visualisation (22) à trame. Le processeur central génère des signaux d'ordre, des coordonnées d'écran pour le dispositif de visualisation et des coordonnées d'espace texturé correspondantes sur une mémoire de texture (16). Le coprocesseur graphique réagit à ces divers signaux et coordonnées en déterminant des adresses de destination pour chaque pixel et une adresse de source correspondante. Domaine d'application: visualisation de jeux vidéo, etc.
Description
i L'invention concerne d'une manière générale les jeux vidéo et plus
particulièrement un système perfectionné de visualisation à projection de texture tridimensionnelle pour afficher des polygones projetés tridimensionnels avec5 des représentations de texture sur un écran de visualisation à trame bidimensionnelle En particulier, le système de visualisation est conçu pour une utilisation avec des jeux vidéo afin de permettre une animation en temps réel de scènes de jeu vidéo avec des surfaces planes texturées en une période de temps sensiblement inférieure à celle demandée dans des systèmes classiques de visualisation de ce type général. Dans des systèmes de visualisation de l'art
antérieur destinées à visualiser des représentations tri-
dimensionnelles d'images sur un écran de visualisation à trame bidimensionnelle d'un tube à rayon cathodique (TRC), on souhaite généralement mettre en oeuvre un dispositif pour générer des surfaces texturées de façon réaliste dans l'image
afin de produire un effet général de représentation dimen-
sionnelle Dans de tels systèmes d'affichage classiques de visualisation conçus pour produire un tel effet, ceci est réalisé par un certain type de générateur de surface à texture impliquant l'exécution d'algorithmes arithmétiques ou de calculs mathématiques relativement longs et complexes, tels que des calculs par multiplication, division, addition,
soustraction et/ou fonctions trigonométriques.
Par conséquent, ces systèmes de l'art antérieur ont pour inconvénient principal de demander à un utilisateur d'attendre beaucoup de temps avant que l'image puisse être visualisée sur l'écran Non seulement les systèmes de visualisation de l'art antérieur sont très longs, mais les circuits matériels nécessaires pour l'exécution des divers
calculs mathématiques sont très coûteux.
Il est donc souhaitable de disposer d'un système
perfectionné de visualisation tridimensionnel à représen-
tation de texture pour visualiser des polygones projetés
tridimensionnels avec des représentations de texture sur un écran de visualisation à trame bidimensionnelle qui utilise des algorithmes simplifiés ne faisant appel qu'à des opéra-
tions d'addition et de soustraction et offrant donc une vitesse de travail élevée. Un objet général de l'invention est donc de procurer un système de visualisation perfectionné pour
visualiser des polygones projetés tridimensionnels avec des10 représentations de texture en une période de temps sen-
siblement inférieure à celle demandée dans des systèmes de
visualisation classiques.
Un objet de l'invention est de procurer un système de visualisation tridimensionnel à représentation de
texture qui utilise des algorithmes arithmétiques simplifiés.
Un autre objet de l'invention est de procurer un système de visualisation tridimensionnel à représentation de texture qui comprend un processeur de visualisation graphique qui peut être mis en oeuvre avec des circuits de matériels
moins coûteux.
Un autre objet encore de l'invention est de procurer un système de visualisation tridimensionnel à représentation de texture destiné à visualiser des polygones projetés tridimensionnels avec des représentations de texture sur un écran de visualisation à trame bidimensionnelle, qui comprend un processeur graphique destiné à déterminer des adresses de destination pour chaque pixel dans l'espace de l'écran d'un moniteur de visualisation et à déterminer des adresses de source correspondantes fournissant une texture de
surface à une image pour chaque adresse de destination.
Un autre objet encore de l'invention est de
procurer un système de visualisation qui comprend un proces-
seur graphique ayant des tables à consultation pour stocker des valeurs approximatives concernant les rapports de coordonnées en profondeur dans l'espace d'un écran, qui sont utilisées dans le calcul des adresses de source dans une mémoire de texture. Conformément à ces buts et objectifs, l'invention a pour objet de procurer un système de visualisation destiné à visualiser des polygones projetés tridimensionnels ayant des représentations de texture sur un écran de visualisation à trame bidimensionnelle qui comprend un processeur central et un processeur graphique Le processeur central réagit à des données d'entrée provenant d'une mémoire centrale10 définissant les sommets d'une image de polygone devant être affichée sous une forme à trois dimensions sur un moyen de visualisation à trame pour générer des signaux d'ordre, des coordonnées d'écran sur le moyen de visualisation à trame et des coordonnées d'espace de texture correspondantes sur une mémoire de texture Le processeur graphique réagit aux signaux d'ordre, aux coordonnées d'écran et aux coordonnées correspondantes d'espace de texture en déterminant des adresses de destination pour chaque pixel sur l'espace d'écran du moyen de visualisation à trame et en déterminant des adresses de source correspondantes fournissant une texture de surface à l'image pour chaque adresse de destination. Le processeur graphique comprend en outre un moyen à table à consultation destiné à stocker des valeurs approximatives liées à des rapports de coordonnées en profondeur dans l'espace d'écran qui sont utilisées pour déterminer des valeurs de pente et d'accélération dans l'espace à texture En conséquence, les adresses de source pour la mémoire de texture peuvent être aisément déterminées avec des algorithmes arithmétiques simplifiés en n'utilisant
que des opérations d'addition.
L'invention sera décrite plus en détail en regard des dessins annexés à titre d'exemple nullement limitatif et sur lesquels: la figure 1 est un schéma fonctionnel simplifié d'ensemble d'un système de visualisation tridimensionnel à représentation de texture, réalisé conformément aux principes de l'invention; 5 la figure 2 est un schéma fonctionnel détaillé du
coprocesseur graphique à utiliser dans le système de visuali-
sation de la figure 1; la figure 3 est un organigramme à utiliser dans le système de visualisation selon l'invention, pour la génération d'adresses de destination pour chaque pixel sur l'espace d'écran; la figure 4 est un organigramme à utiliser dans le système de visualisation selon l'invention, pour produire des adresses de source correspondantes dans la mémoire de texture pour chaque pixel de destination correspondant; et la figure 5 est une représentation schématique d'un exemple de polygone sur une matrice de points, rempli de données provenant d'une représentation de texture, formé
conformément aux processus des figures 3 et 4.
En référence à présent en détail aux dessins, la figure 1 montre un schéma fonctionnel simplifié d'ensemble d'un système perfectionné 10 de visualisation tridimensionnel à représentation de texture construit conformément aux principes de l'invention Le système de visualisation est
utilisé pour visualiser des polygones projetés tri-
dimensionnels avec des représentations de texture sur un dispositif de visualisation à trame bidimensionnelle Le système de visualisation 10 est particulièrement adapté à une utilisation dans des jeux vidéo pour permettre une animation en temps réel de scènes de jeux vidéo avec des surfaces planes texturées, à une vitesse élevée de fonctionnement Le système de visualisation est constitué d'un calculateur central 12 qui est avantageusement un processeur de signaux numériques, d'un coprocesseur graphique 14, d'une mémoire 16 de texture, d'une mémoire tampon 18 d'images vidéo, d'une table 20 à consultation de couleurs, et d'un dispositif de visualisation à tube à rayon cathodique ou autre 22. Le calculateur central 12 reçoit des données d'objet telles que des données provenant d'une mémoire centrale convenable 24, qui définissent les sommets de l'image polygonale devant être visualisée sous la forme d'une image tridimensionnelle formée sur l'écran du dispositif de visualisation 22 La mémoire centrale contient aussi les adresses de la représentation de texture correspondante dans
une mémoire de texture pour chaque polygone.
On désigne ici par polygone un groupe de points contenus dans le même plan et décrivant les sommets de la zone délimitée d'un espace bidimensionnel convexe Une représentation de texture ou représentation texturée désigne une image bidimensionnelle qui est représentée par des pixels Une matrice de points est définie comme étant un espace bidimensionnel de mémoire vive qui représente chaque pixel (point de couleur) qui est visualisé sur l'écran du dispositif de visualisation De plus, on désigne par adresse20 de destination une position en mémoire dans la matrice de points, et on désigne par adresse de source une position en mémoire dans la représentation texturée alors active. Le calculateur central 12 reçoit de la mémoire 24 un ensemble de points qui sont représentés par (X, Y, Z) dans un système de coordonnées rectangulaire (universel) de référence dans un espace tridimensionnel afin de décrire les sommets d'un polygone X représente la coordonnée horizontale
(gauche-droite), Y représente la coordonnée verticale (haut-
bas) et Z représente la coordonnée en profondeur (avant-
arrière), respectivement En outre, le calculateur central reçoit en entrée un ensemble de points représentés chacun par (Xt, Yt) dans un système de coordonnées rectangulaire dans un espace bidimensionnel afin de décrire la position des sommets d'une représentation de texture Etant donné que le polygone à visualiser sur l'écran du dispositif de visualisation à TRC doit être représenté par rapport au point d'observation d'un
utilisateur, le calculateur central doit effectuer initiale- ment une transformation de perspective pour convertir les coordonnées de référence X, Y, Z pour l'ensemble de points5 représentant les sommets du polygone en coordonnées d'écran Xs, Ys, Zs comme cela est bien connu dans la technique.
Conformément à l'invention, le coprocesseur graphique 14 utilise les coordonnées d'écran pour projeter la représentation de texture sur la matrice de points telle que10 représentée par la mémoire tampon 18 d'image vidéo afin que la représentation de texture apparaisse comme si elle était en perspective Cependant, étant donné que le polygone doit être représenté dans un espace à deux dimensions sur l'écran du dispositif de visualisation à TRC, les coordonnées d'écran Xs, Ys, Zs décrivant les sommets du polygone doivent d'abord être modifiées ou projetées sur un système de coordonnées bidimensionnel X, Y, afin qu'elles puissent être tracées sur la matrice de points Les coordonnées projetées X et Y des sommets du polygone sont alors utilisées pour déterminer les points de commencement et de fin de traçage pour chaque ligne de balayage affichée sur la matrice de points La relation entre les coordonnées Z aux points de commencement et de fin est utilisée pour déterminer la fonction de projection de la
représentation de texture vers la matrice de points.
Comme on peut le voir, la figure 2 est un schéma fonctionnel détaillé du coprocesseur graphique 14 selon l'invention destiné à traiter les données d'entrée en réponse à des signaux d'ordre provenant du calculateur central 12 afin de générer sur la matrice de points un polygone rempli de données à partir de la mémoire de texture sous une forme qui est synchronisée avec les valeurs de coordonnées Z associées à chaque sommet Le processeur graphique 14 comprend une unité arithmétique et logique (ALU) 25, une table à consultation 26 destinée à fournir des valeurs ZTABLED et ZTABLEDD, un générateur 28 d'adresse d'écran, un générateur 30 d'adresse de représentation de texture et une unité 32 de données. L'unité arithmétique et logique 25, en réponse aux données d'entrée provenant du calculateur central et aux données provenant de la table 26 à consultation, génère les adresses de destination par l'intermédiaire du générateur 28
d'adresse d'écran pour la mémoire tampon 18 d'image vidéo. Chaque adresse de destination détermine un emplacement particulier sur l'écran, auquel une donnée de texture doit10 être placée L'unité ALU génère aussi des adresses de source par l'intermédiaire du générateur 28 d'adresse de représen-
tation texturée pour la mémoire 16 de texture Chaque adresse de source détermine la donnée de texture spécifiée devant être placée sur l'écran à l'emplacement particulier déterminé par l'adresse de destination correspondante La donnée de texture est envoyée depuis la mémoire 16 de texture à l'unité 32 de données et elle est alors envoyée à l'écran de l'unité 22 de visualisation par l'intermédiaire de la mémoire tampon 18 d'image vidéo et de la table 20 à consultation de
couleurs.
Dans la forme particulière de réalisation
représentée, le traitement des informations par le co-
processeur graphique 14 en réponse aux signaux d'ordre provenant du calculateur central 12 est également conçu de façon à produire des données d'indice de couleurs concernant la couleur et l'intensité de chaque point de l'image pour un stockage dans la mémoire tampon 18 d'image vidéo La donnée d'indice de couleurs agit à la manière d'un "pointeur" pour sélectionner la couleur et l'intensité demandées à partir de la table 20 à consultation qui fournit alors les données de couleurs vidéo convenables (rouge-vert-bleu) à afficher par le dispositif 22 de visualisation à TRC En variante, un réseau de données de couleurs/intensité d'image pour chaque point d'image peut être stocké directement dans la mémoire tampon 20 d'image vidéo et ces données de couleurs/intensité
peuvent être appliquées directement au dispositif de visuali-
sation à TRC à partir de la mémoire tampon d'image vidéo.
Pour afficher le polygone rempli de données à partir de la mémoire 16 de texture, il faut initialement que le coprocesseur graphique 14 génère les adresses de des- tination correspondant à des emplacements de chaque point (pixel) du polygone sur l'espace d'écran conformément à l'organigramme simplifié montré sur la figure 3 Dans un bloc , on positionne initialement le sommet du polygone ayant la coordonnée d'écran Y minimale Puis les coordonnées de sommets sur l'écran des points de début et de fin pour chacun des contours du polygone, appelés ci-après "bord Xmin" et "bord Xmax", sont positionnées, bloc 112 On calcule ensuite, dans un bloc 114, les deltas d'écran (delta X par rapport à une variation de 1 dans Y) et les rapports Z pour chaque "bord Xmin" et "bord Xmax"l Le rapport Z est le rapport de la coordonnée Z de fin à la coordonnée Z de début On calcule également dans le bloc 114 la pente X entre chaque ligne de balayage dans l'espace d'écran sur chaque "bord Xmin" et
"bord Xmax".
Puis on établit les coordonnées d'écran X, Y, dans le bloc 118, aux coordonnées initiales de départ Xsmin, Ysmin Il convient de noter qu'il s'agit des coordonnées de départ à la fois pour "bord Xmin" et "bord Xmax" Puis, dans
le bloc 122, on augmente de façon répétée, de 1, la coor-
donnée d'écran X pour tracer les données provenant de la mémoire de texture 30 pour chaque coordonnée d'écran X jusqu'à ce que le "bord Xmax" soit atteint En fait, ceci trace des données de texture du bord de gauche vers le bord
de droite de la ligne de balayage en cours du polygone.
Dans un bloc 124, on détermine si le sommet suivant sur le "bord Xmin" ou sur le "bord Xmax" a été atteint. Dans un bloc 126, on augmente de 1 la coordonnée d'écran Y en préparation à la ligne de balayage suivante De
plus, on ajoute la pente Xmin et la pente Xmax, respec-
tivement, à Xmin et Xmax Ensuite, on détermine au bloc 128 si la coordonnée d'écran Y a dépassé une valeur de sommet Y maximal S'il en est ainsi, aucun autre calcul n'est effec-5 tué S'il n'en est pas ainsi, le calcul effectué dans le bloc 118 est répété pour la ligne de balayage suivante Par conséquent, le bloc 122 fournit de nouveau l'adresse de destination pour la ligne de balayage suivante On notera d'après le bloc 124 que si le sommet suivant a été atteint, une nouvelle pente X doit alors être recalculée dans le bloc 114. Pour déterminer le pixel de source à tracer, le coprocesseur graphique 14 doit déterminer en même temps les adresses correspondantes dans la représentation texturée 16 et fournir les données de texture de surface appropriée comme expliqué en regard de la figure 4 Dans un bloc 210, le sommet de représentation de texture correspondant au sommet du polygone est positionné initialement Ensuite, dans un
bloc 212, les coordonnées d'espace texturé de sommet cor-
respondant pour des points de début et de fin pour chacun de "bord Xmin" et "bord Xmax" sont positionnées Les valeurs delta d'espace texturé et delta de texture pour les "bord Xmin" et "Xmax" respectifs sont calculées à partir des blocs 213 et 214, respectivement Ensuite, dans un bloc 216, on
calcule les accélérations de texture pour les "bord Xmin et Xmax" respectifs.
Dans les blocs 217 et 218, on calcule Xtî, Yt, Zminr Zmax qui sont les valeurs delta de texture et les
accélérations, pour la ligne de balayage correcte.
Dans un bloc 219, on additionne la valeur delta de texture à la position de texture pour obtenir Xt(m), Yt(m), qui sont les adresses de texture pour des points le long de la ligne de balayage en cours Dans un bloc 220, on calcule les valeurs de texture Xt, Yt, Zmin et Zmax pour la ligne de balayage suivante En additionnant la valeur delta de texture à la position précédente et en additionnant la texture, on obtient les valeurs de texture Xt(m), Yt(m) pour des points le long de la ligne de balayage Par conséquent, le bloc 224 fournit les adresses de source pour chaque pixel dans la représentation de texture En 222, on détermine si un sommet ou un bord a été atteint Si tel n'est pas le cas, on revient par un branchement à 217 pour la ligne de balayage suivante S'il en est ainsi, une vérification est effectuée en 224 pour déterminer si la coordonnée d'écran Y a dépassé la valeur de sommet maximale S'il en est ainsi, le sousprogramme s'achève; autrement, il revient par un branchement
en 213 pour d'autres points sur la ligne de balayage en cours. Un exemple d'utilisation du processus décrit ci-
dessus en référence aux organigrammes des figures 3 et 4 pour le traitement des données d'entrée afin de visualiser un polygone rempli de données à partir de la représentation de texture dans son espace bidimensionnel sur la matrice de points, comme illustré sur la figure 5, sera à présent expliqué Initialement, on a noté que les sommets (points 1-4) sur l'espace d'écran sont stockés dans le sens des aiguilles d'une montre Le sommet (point 1) possède la coordonnée d'écran Y minimale et est appelé "apex" Par conséquent, le sommet de coordonnées X plus grandes (point 2) est le sommet suivant en progressant dans le sens des aiguilles d'une montre à partir de l'apex, et la coordonnée X plus petite est le sommet (point 4) trouvé en se déplaçant dans le sens inverse de celui des aiguilles d'une montre à partir de l'apex Par conséquent, la ligne 34 entre l'apex (point 1) et le sommet (point 4) ayant la coordonnée X minimale est définie comme étant le "bord Xmin" La ligne 36 entre l'apex et le sommet (point 2) ayant la coordonnée X
maximale est défini comme étant le "bord Xmax".
Pour chaque "bord Xmin"l (ligne 34 ou 38), les coordonnées de sommets sur écran des points de départ et de il fin 1-4 et 4-3 sont données par (Xsmin, Ysmin, Zsmin) et (Xemin, Yemin, Zemin), respectivement Pour chaque "bord Xmax" (ligne 36 ou 40), les coordonnées de sommets sur écran des points de départ et de fin ( 1-2 et 2-3) sont données par (Xsmax, Ysmax, Zsmax) et (Xemax, Yemax, Zemax), respec- tivement On notera que l'on a, pour le point 1, les
valeurs: Xsmin = Xsmax, Ysmin = Ysmax et Zsmin = Zsmax.
On définit donc: Xsmin = valeur X de départ de sommet sur écran du bord min ( 1) Ysmin = valeur Y de départ de sommet sur écran du bord min ( 2) Zsmin = valeur Z de départ pour le bord min dans l'espace d'écran ( 3) Xemin = valeur X de fin de sommet sur écran du bord min ( 4) Yemin = valeur Y de fin de sommet sur écran du bord min ( 5) Zemin = valeur Z de fin du bord min dans l'espace d'écran ( 6) Xsmax = valeur X de départ de sommet sur écran du bord max ( 7) Ysmax = valeur Y de départ de sommet sur écran du bord max ( 8) Zsmax = valeur Z de départ pour le bord max dans l'espace d'écran ( 9) Xemax = valeur X de fin de sommet sur écran du bord max ( 10) Xemax = valeur Y de fin de sommet sur écran du bord max ( 11) Zemax = valeur Z de fin du bord max dans l'espace d'écran ( 12) Les équations ( 1) à ( 12) ci- dessus sont traitées dans le bloc 112 de la figure 3 On notera en outre que les sommets correspondants (points 1-4) dans l'espace de texture (figure 5) sont également stockés dans le sens des aiguilles d'une montre afin d'apparier chaque sommet d'espace d'écran avec un sommet d'espace de texture correspondant Ainsi, pour chaque "bord Xmin" (ligne 42 ou 44), les coordonnées de sommet sur l'espace de texture des points de début et de fin (points 1-4 ou 4-3) sont données, respectivement, par (Xtsmin, Ytsmin) et (Xtemin, Ytemin) Pour chaque "bord Xmax" (ligne 46 ou 48), les coordonnées de sommet dans l'espace de texture des points de départ et de fin ( 1-2 ou 2-3) sont données, respectivement, par (Xtsmax, Ytsmax) et (Xtemax, Ytemax). On définit donc: Xtsmin = la coordonnée X de départ dans l'espace de texture pour le bord min ( 13) Ytsmin = la coordonnée Y de départ dans l'espace de texture pour le bord min ( 14) Xtsmax = la coordonnée X de départ dans l'espace de texture pour le bord max ( 15) Ytsmax = la coordonnée Y de départ dans l'espace de texture pour le bord max ( 16) Xtemin = la coordonnée X de fin dans l'espace de texture pour le bord min ( 17) Ytemin = la coordonnée Y de fin dans l'espace de texture pour le bord min ( 18) Xtemax = la coordonnée X de fin dans l'espace de texture pour le bord max ( 19) Ytemax = la coordonnée Y de fin dans l'espace de texture pour le bord max ( 20) Les équations ( 13) à ( 20) ci-dessus sont traitées simultanément avec le traitement de la figure 3 dans le bloc
212 de la figure 4.
Pour chaque "bord Xmin" de l'espace d'écran, on calcule les valeurs delta d'écran qui sont données par: D Xmin = Xemin Xsmin (delta écran x pour bord min) ( 21) D Ymin = Yemin Ysmin (delta écran Y pour bord min) ( 22) D Zmin = Zemin Zsmin (delta écran Z pour bord min) ( 23) Similairement, pour chaque "bord Xmin" de l'espace de texture, on calcule les valeurs delta d'espace de texture qui sont données par: D Xtmin=Xtemin-Xtsmin (delta X dans espace de texture pour bord Xinin) ( 24) D Ytmin=Ytemin-Ytsmin (delta Y dans espace de texture pour bord Xmin) ( 25) On calcule aussi pour chaque "bord Xmin"l un rapport Z dont la valeur est égale à: Z Rmin = Zemin/Zsmin ( 26) Pour chaque "bord Xmin" de l'espace de texture, on calcule en outre Z et les valeurs delta de texture associées, et Z et les accélérations de texture associées qui sont données par: Xtmin = Xtsmin ( 27) Xtmin D = D Xtmin * (ZTABLED(Z Rmin,D Ymin)) ( 28) Xtmin DD = D Xtmin * (ZTABLEDD(Z Rmin,D Ymin)) ( 29) Ytmin = Ytsmin ( 30) Ytmin D = D Ytmin * (ZTABLED(Z Rmin,D Ymin)) ( 31) Ytmin DD = D Ytmin * (ZTABLEDD(Z Rmin,D Ymin)) ( 32) Zmin = Zsmin ( 33) Zmin D = D Zmin * (ZTABLED(Z Rmin,D Ymin)) ( 34) Zmin DD = D Zmin * (ZTABLEDD(Z Rmin, D Ymin)) ( 35) On notera que la valeur delta de texture Xtmin D dans l'équation ( 28) ci-dessus est égale à la valeur delta d'espace de texture D Xtmin provenant de l'équation ( 24) multipliée par la valeur ZTABLED On notera en outre que l'accélération de texture Xtmin DD dans l'équation ( 29) est
égale à la même valeur delta d'espace de texture correspon-
dant D Xtmin multipliée par une valeur ZTABLEDD On peut voir que les valeurs ZTABLED et ZTABLEDD sont des fonctions de Z Rmin et D Ymin Similairement, les valeurs delta de texture Ytmin D et Zmin D et les accélérations de texture Ytmin DD et Zmin DD montrées dans les équations respectives ( 31), ( 32), ( 34) et ( 35) sont liées de façon similaire Les valeurs ZTABLED et ZTABLEDD sont stockées en tant que fonctions de représentation Z dans la table à consultation 26 de la figure 2 Ces valeurs sont des approximations mémorisées qui simplifient notablement les algorithmes arithmétiques devant
être effectués par le coprocesseur graphique 14.
Plus particulièrement, un algorithme rapide et peu coûteux a été recherché pour obtenir une approximation de la fonction hyperbolique de la représentation de texture par5 transformation inverse comme décrit plus complètement dans le brevet des Etats-Unis d'Amérique N O 4 615 013 et
No 4 343 037 Une approche itérative qui utilise uniquement les additions en se déplaçant entre des pixels de représen- tation de texture sur une ligne de balayage est très avanta-10 geuse car elle est peu coûteuse et très rapide du point de vue du calcul.
On a constaté que la fonction de représentation hyperbolique réelle peut être obtenue de façon approximative avec une courbe parabolique générée par des additions15 successives (vitesse et accélération) Ceci donne une représentation raisonnablement précise pour des rapports Z entre 1/3 et 3 Hormis le cas de plans extrêmement rapprochés ou d'objets immenses, pratiquement tous les polygones dans
des systèmes réels sont compris dans cette plage.
Les formules suivantes se sont avérées donner des résultats particulièrement bons pour les valeurs de delta (D) et d'accélération (DD):
DD = ( 4 ( 8/(ZR+ 1)))/(DL*DL)
D = ( 1,0/DL) ((DL-1)*DD/2)
o ZR est le rapport des coordonnées Z de fin et de début de la ligne de destination et DL est le nombre d'échantillons
dans la ligne de destination.
Dans le cas de lignes de bord (Xmin, Xmax), DL est le nombre de lignes de balayage couvert par le bord (D Ymin, D Ymax) Dans le cas d'une ligne de balayage indi- viduelle, DL est la valeur X delta de la ligne de balayage
(DX) qui est égale au nombre de pixels dans la ligne de balayage.
Dans la forme préférée de réalisation de 1 1 inven-
tion, les valeurs DD et D sont stockées dans des tables de consultation ZTABLED et ZTABLEDD, respectivement, pour une plage finie de valeurs de ZR et de DL Ceci réduit les calculs effectués pour chaque ligne et il en résulte, dans la
plupart des cas, une approximation raisonnablement précise.
Par exemple, pour calculer Xtmin D et Xtmin DD dans les équations 28 et 29, on utilise ZR=Z Rmin et DL=D Ymin Même sans la simplification de consultation de la table, on doit noter que le temps système de calcul par ligne est très inférieur même au temps système par pixel d'algorithmes antérieurs La complexité du calcul par pixel de 4 additions est infinitésimale par rapport à celle des algorithmes de
l'art antérieur.
Pour chaque "bord Xmin" de l'espace d'écran, on calcule une pente X qui est donnée par: Xminpente = D Xmin/D Ymin (pente X entre chaque ligne de balayage dans l'espace d'écran sur le bord Xmin) ( 36) De la même manière, pour chaque "bord Xmax" de l'espace d'écran, on calcule des valeurs delta d'écran qui sont données par: D Xmax = Xemax-Xsmax (delta d'écran X pour bord max) ( 37) D Ymax = Yemax-Ysmax (delta d'écran Y pour bord max) ( 38) D Zmax = Zemax- Zsmax (delta d'écran Z pour bord max) ( 39) Similairement, pour chaque "bord Xmax" de l'espace de texture, on calcule des valeursdelta d'espace de texture qui sont données par: D Xtmax=Xtemax-Xtsmax (delta X dans espace de texture pour bord Xmax) ( 41) D Ytmax=YtemaxYtsmax (delta Y dans espace de texture pour bord Xmax) ( 42) On calcule aussi pour chaque "bord Xmax" un rapport Z dont la valeur est égale à: Z Rmax = Zemax/Zsmax ( 43) Pour chaque "bord Xmax" d'espace de texture, on calcule en outre Z, des valeurs deltas de texture et des valeurs d'accélération de texture sont données par: Xtmax = Xtsmax ( 44 Xtmax D = D Xtmax * (ZTABLED(Z Rmax,Dymax)) Xtmax DD = D Xtmax * (ZTABLEDD(Z Rmax,D Ymax)) ( 46) Ytmax = Ytsmax ( 47) Ytmax D = D Ytmax * (ZTABLED(Z Rmax,D Ymax)) ( 48) Ytmax DD = D Ytmax * (ZTABLEDD(Z Rmax,D Ymax)) ( 49) Zmax = Zsmax ( 50) Zmax D = D Zmax * (ZTABLED(Z Rmax,D Ymax)) ( 51) Zmax DD = D Zmax * (ZTABLEDD(Z Rmax,D Ymax)) ( 52) Enfin, pour chaque "bord Xmax" de l'espace d'écran, on calcule une pente X qui est donnée par: Xmaxpente = D Xmax/D Ymax (pente X entre chaque ligne de balayage dans l'espace d'écran sur un bord Xmax) ( 53) On génère à partir des équations ci- dessus ce qui est parfois appelé des "paramètres de bords" pour le polygone à dessiner En d'autres termes, on a défini les coordonnées de sommet sur écran des points de début et de fin le long de chaque "bord Xmin" et de chaque "bord Xmax" En outre, on a défini les coordonnées des points de début et de fin pour les sommets dans l'espace de texture pour chaque "bord Xmin" et chaque "bord Xmax" Le polygone est ensuite balayé rangée par rangée en coordonnées d'écran, en commençant avec la rangée ayant la valeur de coordonnée Y la plus petite jusqu'à la rangée ayant la valeur de coordonnée Y maximale Pour chaque rangée, la valeur de coordonnée X est accrue de façon continue à chaque fois d'une unité le long de la rangée particulière Simultanément, la représentation de texture est balayée d'une façon similaire et synchronisée en coordonnées d'espace de texture Pour effectuer un tel processus de balayage, on doit calculer, pour chaque ligne de balayage (n), les valeurs suivantes: Yscrn(n)=Yscrn(n-l)+l Xmin(n)=Xmin(n-l)+ Xminpente Xmax(n)=Xmax(n-1) +Xmaxpente Zmin(n)=Zmin(n-l)+Zmin D Zmin D(n)=Zmin D(n-l)+Zmin DD Xtmin(n)=Xtmin(n-l)+Xtmin D Xtmin D(n)=Xtmin D(n-l)+Xtmin DD Ytmin(n)=Ytmin(n-l)+Ytmin D Ytmin D(n)=Ytmin D(n-l)+ Ytmin DD Zmax(n)=Zmax(n-1)+Zmax D Zmax D(n)=Zmax D(n-1)+Zmax DD Xtmax(n)=Xtmax(n-1)+Xtmax D Xtmax D(n)=Xtmax D(n-1)+Xtmax DD Ytmax(n)=Ytmax(n-l)+Ytmax D Ytmax D(n)=Ytmax D(n-l)+Ytmax DD mise à jour coordonnée Y d'écran valeur X d'écran pour début ligne de valeur X d'écran pour-fin ligne de Etape Etape Etape Etape Etape Etape Etape Etape Etape Etape Etape Etape début Z sur ligne de balayage Zmin D représentation texture bord min X Xtmin D représentation texture bord min Y Ytmin D fin Z sur ligne de balayage Zmax D représentation texture bord max X Xtmax D représentation texture bord max Y Ytmax D ZR(n) = Zmax(n)/Zmin(n) D Xt(n)=Xtsmax(n)-Xtsmin(n) D Yt(n)=Ytsmax(n)-Ytsmin(n) ( 54) balayage ( 55) balayage ( 56)
( 58)'
( 59) ) 61 > ( 62) ( 63) ( 64) ( 65) ( 66) ( 67) ( 68) ( 69) ( 70) Delta X ligne de balayage dans espace de texture ( 71) Delta Y ligne de balayage dans espace de texture ( 72) xt( 0) = -Xt D(n) = Xt DD(n)= Yt(O) = Yt D(n) = Yt DD(n)= xtmin(n) D Xt(n)*ZTABLED(ZR(n),DX(n))) D Xt(n)*(ZTABLEDD(ZR(n),DX(n))) Ytmin(n) D Yt(n)*(TABLED(ZR(n),DX(n))) D Yt(n)*ZTABLEDD(Zr(n),DX(ln)) ( 73) ( 74) ( 75) ( 76) ( 77) ( 78) D'après ce qui précède, on génère les adresses de destination et de source pour le début et la fin de chaque ligne de balayage (n) Pour chaque pixel sur une ligne de balayage particulière (n), on calcule: xscrn(m) = Xscrn(m-l)+l Xt(m) = Xt(m-l)+Xt D(m-1) Xt D(m) = Xt D(m 1)+Xt DD Yt(m) = Yt(m-1)+Yt D(m-1) Yt D(m) = Yt D(m-1)+Yt DD coordonnée X dtécran pour pixel m représentation de texture X représentation de texture Y ( 79) ( 80) ( 81) ( 82) ( 83) On notera que la coordonnée d'écran Y (Yscrn) reste la même pour une ligne de balayage particulière et la coordonnée d'écran X (Xscrn) telle que définie à l'équation
( 79) est augmentée de 1 à chaque fois pour le pixel suivant.
Les données de texture de surface auxquelles on accède par
les adresses de source Xt(m) à partir des équations respec-
tives ( 80) et ( 82) et Yt(m) dans la mémoire de texture 16 sont alors utilisées pour remplir l'emplacement dans l'écran auquel on accède par les adresses de destination Xscrn(m) et
Yscrn(n) pour chaque pixel dans la ligne de balayage (n).
Comme on peut le voir d'après les équations ( 80) à ( 83), il faut simplement quatre additions pour calculer l'adresse de source pour chaque pixel m sur la ligne de balayage n Pour la ligne de balayage suivante et chacune des autres lignes de balayage, les équations ci- dessus ( 54) à ( 78) doivent être recalculées Lorsque le sommet suivant à la fin de la ligne "bord Xmin" ou de la ligne "bord Xmax" est atteint, des paramètres de bords correspondants doivent être recalculés avant l'exécution des calculs de traitement de la
ligne de balayage.
Ainsi qu'on peut le voir d'après la figure 5, une partie de la surface du polygone est définie par des points t le long de lignes de balayage successives 51, 52, 53, 54 et ainsi de suite à partir de la ligne 34 du bord Xmin jusqu'à la ligne 36 du bord Xmax sur l'espace d'écran Similairement, la partie de la surface dans l'espace de texture est définie par des points S le long de lignes courbes excessives 55, 56, 57, 58 et ainsi de suite à partir du bord Xmin 42 jusqu'à la ligne 46 du bord Xmax Comme on peut le voir, les exemples de points tl-t 6 sur la ligne de balayage 54 sont linéaires alors que les points correspondants sl-56 sur la ligne de balayage 58 dans l'espace de texture ne sont pas linéaires, mais incurvés La raison en est que la variation de Z (coordonnée de profondeur) d'un point à l'autre dans l'espace de texture n'est pas linéaire La donnée pour le point sl dans l'espace de texture est utilisée pour remplir le point tl dans l'espace d'écran Similairement, la donnée de texture de surface au point S 2 dans l'espace de texture est utilisée pour remplir l'emplacement t 2 dans l'espace d'écran, et ainsi de suite.
On peut donc voir d'après la description
détaillée qui précède que l'invention procure un système
perfectionné de visualisation tridimensionnel à représen-
tation de texture pour visualiser des polygones projetés tridimensionnels avec une représentation de texture sur un écran de visualisation à trame bidimensionnelle Le système de visualisation est constitué d'un calculateur central et d'un coprocesseur graphique Le coprocesseur graphique doit exécuter seulement des algorithmes arithmétiques ou des calculs mathématiques simples pour fournir des données de texture de surface à chaque pixel de destination sur l'espace d'écran d'un TRC ou autre dispositif de visualisation Un coprocesseur graphique comprend une table à consultation pour le stockage de fonctions de représentation Z qui sont utilisées pour simplifier les calculs des valeurs delta et d'accélération dans l'espace de texture pour la détermination des adresses de source dans une mémoire de texture Les avantages de la présente invention résultent de l'utilisation
de tels moyens.
Il va de soi que de nombreuses modifications peuvent être apportées au système décrit et représenté sans
sortir du cadre de l'invention.
Claims (5)
1 Système de visualisation destiné à être utilisé avec des jeux vidéo pour permettre une animation en temps réel de scènes de jeux vidéo avec des surfaces tex-5 turées, ledit système de visualisation, qui visualise des polygones projetés tridimensionnels à représentation de texture sur un dispositif ( 22) de visualisation bidimension- nelle ayant un écran composé d'éléments d'image ou pixels, étant caractérisé en ce qu'il comporte un moyen central ( 12) de traitement qui, en réponse à des données d'entrée prove- nant d'une mémoire centrale ( 24), définit une image globale devant être visualisée sous une forme tridimensionnelle sur un dispositif de visualisation ( 22), un moyen de co- traitement graphique ( 14) qui, en réponse au moyen central de15 traitement, détermine des adresses de destination pour chaque pixel sur l'écran du dispositif de visualisation et une
adresse de source correspondante à partir de laquelle une donnée de texture de surface est fournie pour chaque pixel, le moyen de cotraitement graphique comprenant un moyen20 destiné à déterminer des valeurs de fonctions de représen-
tation Z à partir desquelles des valeurs de delta et d'accé-
lération peuvent être calculées pour déterminer lesdites adresses de source afin qu'une visualisation en perspective raisonnablement précise d'un polygone à représentation de texture sur une visualisation bidimensionnelle soit réalisée
avec un calcul minimal.
2 Système de visualisation selon la reven- dication 1, caractérisé en ce que les valeurs de fonction de représentation Z sont des fonctions de deltas d'écran et un30 rapport Z.
3 Dispositif selon la revendication 1, carac-
térisé en ce que les valeurs de delta et d'accélération sont déterminées d'après les formules: DD = ( 4 ( 8/(ZR+l)))/(DL 2)
D = ( 1/DL) ((DL-1) DD/2)
o ZR est le rapport des coordonnées Z de début et de fin de
la ligne de destination et DL est le nombre d'échantillons dans la ligne de destination. 4 Système de visualisation selon la reven-
dication 1, caractérisé en ce qu'il comporte en outre un moyen ( 20) à mémoire tampon d'image vidéo destiné à stocker
lesdites adresses de destination et de source provenant du coprocesseur graphique pour les appliquer directement audit dispositif de visualisation à trame.10 5 Système de visualisation selon la reven-
dication 1, caractérisé en ce qu'il comporte en outre un moyen ( 20) à mémoire tampon d'image vidéo destiné à stocker lesdites adresses de destination et de source pour ledit coprocesseur graphique et à générer des données d'indice de couleur, et comprenant en outre un moyen ( 20) à table de consultation de couleur destiné à stocker des valeurs de couleur et d'intensité et qui, en réponse auxdites données d'indice de couleur, fournit des valeurs de couleur et
d'intensité audit dispositif de visualisation à trame.
6 Procédé destiné à être utilisé avec des jeux vidéo pour permettre une animation en temps réel de scènes de jeux vidéo avec des surfaces texturées pour la visualisation de polygones projetés tridimensionnels, à représentation de texture, sur un dispositif de visualisation bidimensionnelle25 ( 22) ayant un écran constitué d'éléments d'image ou pixels, le procédé étant caractérisé en ce qu'il consiste à traiter des données d'entrée provenant d'une mémoire centrale ( 24) et définissant une image globale afin qu'elle soit visualisée sous une forme tridimensionnelle sur le dispositif de visualisation bidimensionnelle, à déterminer des adresses de destination pour chaque pixel sur l'espace d'écran du dispositif de visualisation et à déterminer une adresse de source correspondante fournissant des données de texture de surface pour ladite image pour chaque adresse de destination, et à stocker des valeurs de fonctions de représentation Z dans une table à consultation ( 20) afin de produire des valeurs de delta et d'accélération dans un espace texturé qui peuvent être utilisées pour déterminer lesdites adresses de
source, afin qu'une visualisation en perspective raison-
nablement précise d'un polygone à représentation de texture sur un dispositif de visualisation bidimensionnelle soit
réalisée avec un calcul minimal.
7 Procédé selon la revendication 6, caractérisé en ce que les valeurs de delta et d'accélération sont déterminées d'après les formules:
DD = ( 4 ( 8/(ZR+ 1)))/(DL 2)
D = ( 1/DL) ((DL-1) DD/2)
o ZR est le rapport de coordonnées de fin et de début de la ligne de destination et DL est le nombre d'échantillons dans
la ligne de destination.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/878,151 US5469535A (en) | 1992-05-04 | 1992-05-04 | Three-dimensional, texture mapping display system |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2690770A1 true FR2690770A1 (fr) | 1993-11-05 |
FR2690770B1 FR2690770B1 (fr) | 1995-03-03 |
Family
ID=25371483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9305241A Expired - Fee Related FR2690770B1 (fr) | 1992-05-04 | 1993-05-03 | Système et procédé de visualisation pour jeux vidéo. |
Country Status (3)
Country | Link |
---|---|
US (1) | US5469535A (fr) |
DE (1) | DE4314265B4 (fr) |
FR (1) | FR2690770B1 (fr) |
Families Citing this family (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2267203B (en) * | 1992-05-15 | 1997-03-19 | Fujitsu Ltd | Three-dimensional graphics drawing apparatus, and a memory apparatus to be used in texture mapping |
JP2634126B2 (ja) * | 1992-07-27 | 1997-07-23 | インターナショナル・ビジネス・マシーンズ・コーポレイション | グラフィックス表示方法および装置 |
WO1994029813A1 (fr) * | 1993-06-10 | 1994-12-22 | Namco Ltd. | Synthetiseur d'image et appareil de jeu pourvu d'un tel synthetiseur |
CA2127053C (fr) * | 1993-07-02 | 2005-01-04 | Makoto Furuhashi | Methode et appareil pour un systeme de bus uc a temps partage dans un systeme de generation d'image |
JPH0757117A (ja) * | 1993-07-09 | 1995-03-03 | Silicon Graphics Inc | テクスチャマップへの索引を生成する方法及びコンピュータ制御表示システム |
JPH0778267A (ja) * | 1993-07-09 | 1995-03-20 | Silicon Graphics Inc | 陰影を表示する方法及びコンピュータ制御表示システム |
GB9406515D0 (en) * | 1994-03-31 | 1994-05-25 | Argonaut Software Limited | Texture mapping for 3-d computer graphics |
AU4985096A (en) * | 1995-03-02 | 1996-09-18 | Parametric Technology Corporation | Computer graphics system for creating and enhancing texture maps |
US5719599A (en) * | 1995-06-07 | 1998-02-17 | Seiko Epson Corporation | Method and apparatus for efficient digital modeling and texture mapping |
US5892518A (en) * | 1995-07-28 | 1999-04-06 | Matsushita Electric Industrial Co., Ltd. | Image generating apparatus with pixel calculation circuit including texture mapping and motion compensation |
US6331856B1 (en) * | 1995-11-22 | 2001-12-18 | Nintendo Co., Ltd. | Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing |
US7091991B2 (en) * | 1996-02-08 | 2006-08-15 | Palm Charles S | 3D stereo browser for the internet |
US7190371B2 (en) | 1996-02-08 | 2007-03-13 | Palm Charles S | 3D stereo browser for the internet |
AU2189297A (en) * | 1996-02-08 | 1997-09-10 | Synthonics Incorporated | 3d stereo browser for the internet |
JP3320295B2 (ja) * | 1996-02-22 | 2002-09-03 | キヤノン株式会社 | 情報処理装置及びその制御方法 |
US5903270A (en) * | 1997-04-15 | 1999-05-11 | Modacad, Inc. | Method and apparatus for mapping a two-dimensional texture onto a three-dimensional surface |
US5870105A (en) * | 1996-05-31 | 1999-02-09 | Hewlett-Packard Company | System and method for local storage of image data during object to image mapping |
US5831640A (en) * | 1996-12-20 | 1998-11-03 | Cirrus Logic, Inc. | Enhanced texture map data fetching circuit and method |
US5905500A (en) * | 1997-02-19 | 1999-05-18 | Seiko Epson Corporation | Method and apparatus for adaptive nonlinear projective rendering |
US20020154132A1 (en) | 1997-07-30 | 2002-10-24 | Alain M. Dumesny | Texture mapping 3d graphic objects |
US6016151A (en) * | 1997-09-12 | 2000-01-18 | Neomagic Corp. | 3D triangle rendering by texture hardware and color software using simultaneous triangle-walking and interpolation for parallel operation |
US5956043A (en) * | 1997-09-18 | 1999-09-21 | Novell, Inc. | Textured tile rotation system and method |
US6208350B1 (en) * | 1997-11-04 | 2001-03-27 | Philips Electronics North America Corporation | Methods and apparatus for processing DVD video |
AU738692B2 (en) * | 1997-12-05 | 2001-09-27 | Dynamic Digital Depth Research Pty Ltd | Improved image conversion and encoding techniques |
WO1999030280A1 (fr) * | 1997-12-05 | 1999-06-17 | Dynamic Digital Depth Research Pty. Ltd. | Conversion d'images amelioree et techniques de codage |
US20040207628A1 (en) * | 1997-12-30 | 2004-10-21 | Hoddie J. Peter | Method and apparatus for chaining two or more tweens to provide non-linear multimedia effects |
US6181352B1 (en) | 1999-03-22 | 2001-01-30 | Nvidia Corporation | Graphics pipeline selectively providing multiple pixels or multiple textures |
US6556199B1 (en) | 1999-08-11 | 2003-04-29 | Advanced Research And Technology Institute | Method and apparatus for fast voxelization of volumetric models |
US6618048B1 (en) | 1999-10-28 | 2003-09-09 | Nintendo Co., Ltd. | 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components |
US6717577B1 (en) | 1999-10-28 | 2004-04-06 | Nintendo Co., Ltd. | Vertex cache for 3D computer graphics |
US7119813B1 (en) | 2000-06-02 | 2006-10-10 | Nintendo Co., Ltd. | Variable bit field encoding |
KR20030062313A (ko) * | 2000-08-09 | 2003-07-23 | 다이나믹 디지탈 텝스 리서치 피티와이 엘티디 | 영상 변환 및 부호화 기술 |
US6636214B1 (en) | 2000-08-23 | 2003-10-21 | Nintendo Co., Ltd. | Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode |
US7061502B1 (en) | 2000-08-23 | 2006-06-13 | Nintendo Co., Ltd. | Method and apparatus for providing logical combination of N alpha operations within a graphics system |
US6700586B1 (en) | 2000-08-23 | 2004-03-02 | Nintendo Co., Ltd. | Low cost graphics with stitching processing hardware support for skeletal animation |
US6825851B1 (en) | 2000-08-23 | 2004-11-30 | Nintendo Co., Ltd. | Method and apparatus for environment-mapped bump-mapping in a graphics system |
US7538772B1 (en) | 2000-08-23 | 2009-05-26 | Nintendo Co., Ltd. | Graphics processing system with enhanced memory controller |
US7034828B1 (en) | 2000-08-23 | 2006-04-25 | Nintendo Co., Ltd. | Recirculating shade tree blender for a graphics system |
US7196710B1 (en) | 2000-08-23 | 2007-03-27 | Nintendo Co., Ltd. | Method and apparatus for buffering graphics data in a graphics system |
US7002591B1 (en) | 2000-08-23 | 2006-02-21 | Nintendo Co., Ltd. | Method and apparatus for interleaved processing of direct and indirect texture coordinates in a graphics system |
US7576748B2 (en) | 2000-11-28 | 2009-08-18 | Nintendo Co. Ltd. | Graphics system with embedded frame butter having reconfigurable pixel formats |
US6980218B1 (en) | 2000-08-23 | 2005-12-27 | Nintendo Co., Ltd. | Method and apparatus for efficient generation of texture coordinate displacements for implementing emboss-style bump mapping in a graphics rendering system |
US7184059B1 (en) | 2000-08-23 | 2007-02-27 | Nintendo Co., Ltd. | Graphics system with copy out conversions between embedded frame buffer and main memory |
US6811489B1 (en) | 2000-08-23 | 2004-11-02 | Nintendo Co., Ltd. | Controller interface for a graphics system |
US6937245B1 (en) | 2000-08-23 | 2005-08-30 | Nintendo Co., Ltd. | Graphics system with embedded frame buffer having reconfigurable pixel formats |
US6867781B1 (en) | 2000-08-23 | 2005-03-15 | Nintendo Co., Ltd. | Graphics pipeline token synchronization |
US6707458B1 (en) | 2000-08-23 | 2004-03-16 | Nintendo Co., Ltd. | Method and apparatus for texture tiling in a graphics system |
US7274372B1 (en) * | 2000-11-06 | 2007-09-25 | Intel Corporation | Real-time digital three dimensional engraving |
DE10102477A1 (de) | 2001-01-19 | 2002-07-25 | Storz Endoskop Gmbh Schaffhaus | Vorrichtung zum Applizieren von Licht auf eine Gefäßwand |
US7729928B2 (en) | 2005-02-25 | 2010-06-01 | Virtual Radiologic Corporation | Multiple resource planning system |
US8145503B2 (en) | 2005-02-25 | 2012-03-27 | Virtual Radiologic Corporation | Medical image metadata processing |
US8229761B2 (en) | 2005-02-25 | 2012-07-24 | Virtual Radiologic Corporation | Enhanced multiple resource planning and forecasting |
US8195481B2 (en) | 2005-02-25 | 2012-06-05 | Virtual Radiologic Corporaton | Teleradiology image processing system |
US7880738B2 (en) * | 2005-07-14 | 2011-02-01 | Molsoft Llc | Structured documents and systems, methods and computer programs for creating, producing and displaying three dimensional objects and other related information in those structured documents |
US20090080803A1 (en) * | 2007-09-20 | 2009-03-26 | Mitsugu Hara | Image processing program, computer-readable recording medium recording the program, image processing apparatus and image processing method |
JP2011022726A (ja) * | 2009-07-14 | 2011-02-03 | Sony Corp | 画像処理装置および画像処理方法 |
US10535180B2 (en) | 2018-03-28 | 2020-01-14 | Robert Bosch Gmbh | Method and system for efficient rendering of cloud weather effect graphics in three-dimensional maps |
US10901119B2 (en) | 2018-03-28 | 2021-01-26 | Robert Bosch Gmbh | Method and system for efficient rendering of accumulated precipitation for weather effects |
US11373356B2 (en) | 2018-03-28 | 2022-06-28 | Robert Bosch Gmbh | Method and system for efficient rendering of 3D particle systems for weather effects |
US10424074B1 (en) | 2018-07-03 | 2019-09-24 | Nvidia Corporation | Method and apparatus for obtaining sampled positions of texturing operations |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0144924A2 (fr) * | 1983-12-12 | 1985-06-19 | General Electric Company | Processeur pour texturer/ombrer en vraie perspective |
WO1990000774A1 (fr) * | 1988-07-06 | 1990-01-25 | Apollo Computer, Inc. | Topographie de texture pour systeme controleur d'affichage infographique |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0499874A3 (en) * | 1986-09-11 | 1992-10-28 | Hughes Aircraft Company | Digital visual and sensor simulation system for generating realistic scenes |
US4885703A (en) * | 1987-11-04 | 1989-12-05 | Schlumberger Systems, Inc. | 3-D graphics display system using triangle processor pipeline |
GB8828342D0 (en) * | 1988-12-05 | 1989-01-05 | Rediffusion Simulation Ltd | Image generator |
US5224208A (en) * | 1990-03-16 | 1993-06-29 | Hewlett-Packard Company | Gradient calculation for texture mapping |
KR940007666B1 (ko) * | 1990-12-26 | 1994-08-22 | 재단법인 한국전자통신연구소 | 이중층의 내열성 게이트를 사용한 자기정렬형 GaAs 전계효과 트랜지스터의 제조방법 |
-
1992
- 1992-05-04 US US07/878,151 patent/US5469535A/en not_active Expired - Lifetime
-
1993
- 1993-04-30 DE DE4314265A patent/DE4314265B4/de not_active Expired - Fee Related
- 1993-05-03 FR FR9305241A patent/FR2690770B1/fr not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0144924A2 (fr) * | 1983-12-12 | 1985-06-19 | General Electric Company | Processeur pour texturer/ombrer en vraie perspective |
WO1990000774A1 (fr) * | 1988-07-06 | 1990-01-25 | Apollo Computer, Inc. | Topographie de texture pour systeme controleur d'affichage infographique |
Also Published As
Publication number | Publication date |
---|---|
DE4314265B4 (de) | 2006-01-19 |
DE4314265A1 (de) | 1993-11-11 |
US5469535A (en) | 1995-11-21 |
FR2690770B1 (fr) | 1995-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2690770A1 (fr) | Système et procédé de visualisation pour jeux vidéo. | |
US5659671A (en) | Method and apparatus for shading graphical images in a data processing system | |
US5377313A (en) | Computer graphics display method and system with shadow generation | |
US5704024A (en) | Method and an apparatus for generating reflection vectors which can be unnormalized and for using these reflection vectors to index locations on an environment map | |
JP4204670B2 (ja) | ボリュームデータ表現システム | |
US7528831B2 (en) | Generation of texture maps for use in 3D computer graphics | |
FR2583541A1 (fr) | Tampon z a haute vitesse munie d'une memoire dynamique a acces aleatoire | |
JPH09231404A (ja) | 物体を表示するための画像処理方法および装置 | |
FR2670924A1 (fr) | Simulation de l'eclairement d'une source de lumiere dans une generation d'image par ordinateur. | |
IL155337A (en) | Systems and methods for controlled texture sampling | |
JPH06215151A (ja) | 画像データ処理方法及び装置 | |
US6791544B1 (en) | Shadow rendering system and method | |
JPH0434159B2 (fr) | ||
WO2017013068A1 (fr) | Procédé et dispositif d'affichage de scène tridimensionnelle sur une surface d'affichage de forme arbitraire non plane | |
EP0539261B1 (fr) | Procédé et dispositif d'optimisation des performances d'un écran matriciel à cristaux liquides en fonction de l'angle d'observation | |
FR2594980A1 (fr) | Processeur de visualisation pour un systeme de visualisation graphique | |
JP2006517705A (ja) | コンピュータグラフィックスシステム及びコンピュータグラフィクイメージのレンダリング方法 | |
KR100429092B1 (ko) | 그래픽영상처리방법및장치 | |
JPH05290174A (ja) | 三次元モデルの構造を取扱うためのグラフィックス・ワークステーションおよびモデルの構造の三次元グラフィック画像を生ずる方法 | |
FR2735259A1 (fr) | Systeme de graphiques d'ordinateur a marquage de profondeur par pixel | |
EP0161176B1 (fr) | Dispositif pour l'obtention de tracés continus sur l'écran d'une console de visualisation commandée par un processeur graphique | |
EP0974935A1 (fr) | Procede d'obtention de fonction projecteur et processeur d'images utilisant ce procede | |
US7706586B2 (en) | Real-time structure suppression in ultrasonically scanned volumes | |
FR2622030A1 (fr) | Procede et dispositif pour restituer des courbes, surfaces courbes, vecteurs et autres objets sur un organe afficheur | |
JP2809955B2 (ja) | グラフィックス・ワークステーションおよび三次元グラフィックス画像の生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20100129 |