Sprite (ComputerGrafik) – Wikipedia

before-content-x4

UN Lutin (English, entre autres, pour un système spirituel, Kobold) est un objet graphique qui est montré par le matériel graphique à l’image d’arrière-plan ou le contenu restant de l’écran. Le positionnement est complètement effectué par le matériel graphique. Par exemple, la plupart des cartes graphiques fournissent un spray matériel pour le pointeur de la souris.

after-content-x4

Le nom résout parce qu’un sprite se déplace sur l’écran, mais ne peut pas être trouvé dans la mémoire graphique, c’est-à-dire apparemment “cassé”. Au fil du temps, cependant, le terme s’est également étendu à tous les objets qui ressemblent à ceci, même s’ils sont générés doucement et sont disponibles dans la mémoire graphique.

Aujourd’hui, la technologie Sprite est obsolète, d’autant plus que les ordinateurs sont désormais assez rapides pour afficher des milliers d’objets de type sprit à l’écran sans problèmes et en même temps restaurer l’arrière-plan sous la forme d’origine. L’espace requis pour cela est également devenu moins important.

Plusieurs formes dans un bloc

Souvent le terme Lutin Également utilisé pour les objets affichés via le logiciel (au lieu du matériel graphique) via l’arrière-plan. À strictement parler, cependant, il s’agit d’une forme, qui est généralement également appelée “sprite logiciel”. Il en va de même pour un objet qui est copié dans la mémoire graphique à l’aide des routines matérielles, mais sans être gérée complètement de manière autonome par le matériel; C’est un bob ( B litière À Ject) bzw. FOULE ( M ovable O faire un coup de pied B serrure).

Dans les jeux 3D, le terme Lutin parfois utilisé pour des objets plats avec une texture animée. Il s’agit presque d’un sprite logiciel au sens classique, mais il est inséré dans le paysage 3D en tant qu’objet 3D plat à l’aide d’un graphisme 3D.

Le sprite est inséré par le matériel graphique (processeur graphique) à la position souhaitée dans l’image au moment de l’affichage. Le contenu du stockage graphique n’est pas modifié – contrairement à la foule ou au bob, les données graphiques n’ont pas à être copiées encore et encore. En raison de ce soulagement du processeur principal, les sprites utilisent à peine les ressources système et sont faciles à programmer en même temps.

Les données graphiques des sprites sont fournies selon les mêmes méthodes que les données graphiques pour la structure d’image normale – le C64 et l’AMIGA sont mentionnés comme des exemples, où cela arrive aux zones spéciales du stockage principal grâce à l’accès à la mémoire DMA.

after-content-x4

Les données fiscales de l’affichage de Sprite (en particulier la position de l’écran) sont conservées directement dans les registres du matériel graphique (exemple: C64, la largeur et la hauteur des sprites sont fixes) ou dans des zones RAM spéciales auxquelles ce matériel a suffisamment d’accès rapide. Un exemple de cette dernière variante est l’Amiga, dans lequel les données de contrôle sont transmises à partir de la mémoire ainsi que les données graphiques à l’aide du processus DMA. Contrairement au C64, la quantité de sprites Amiga n’est pas limitée.

Pour déplacer un sprite, il suffit de changer uniquement ses coordonnées X et Y dans les registres fiscaux. Le calcul compliqué de l’adresse dans la mémoire graphique ne s’applique pas, ce qui soulage également le processeur principal. Le processeur graphique insère indépendamment le sprite lors de la construction de l’image suivante aux coordonnées données. Les sprites animés sont également possibles. Pour ce faire, seules les données du graphique sprite dans la mémoire doivent être remplacées par celle de la prochaine image unique. Si nécessaire, une zone de mémoire différente pour la prochaine image unique peut également être spécifiée.

En principe, un sprite est rectangulaire. Mais également des sprites de forme irrégulière sont possibles en affichant le bord de manière transparente – soit par une certaine couleur, qui est représentée de manière transparente par le processeur graphique, soit par un masque qui définit la vague et à laquelle il doit être affiché de manière transparente.

Les sprites ont été initialement inventés pour assembler rapidement plusieurs photos dans des jeux vidéo 2D avec du matériel spécial. Lorsque les performances de l’ordinateur se sont améliorées, cette optimisation est devenue inutile et le terme s’est développé particulièrement dans les images 2D elles-mêmes, qui ont été intégrées dans une scène. Cela signifie que les nombres qui ont été utilisés avec du matériel personnalisé ou uniquement avec des logiciels étaient tous appelés sprites. Avec la propagation croissante de graphiques à trois dimensions, le terme a été utilisé pour décrire une technologie dans laquelle les images plates sont parfaitement intégrées dans des scènes à trois dimensions complexes.

Un examen plus approfondi d’un graphique peut aider à découvrir les imperfections de cette technique de rendu. Bien que l’image originale avec laquelle le sprite ait été créé ait été clairement créée avec des polygones structurés, il est ajouté à cette scène en tant que sprite. Ces imperfections manquent la plupart des spectateurs car ils sont rares et ne durent souvent pas tant qu’ils et la caméra se déplacent. Sprite fait désormais référence à une animation à deux dimensions partiellement transparente, qui est montrée dans une scène à trois dimensions à un niveau spécial. Contrairement à une carte de texture, le niveau de sprite est toujours perpendiculaire à l’axe décrivant de la caméra. L’image peut être mise à l’échelle pour simuler la perspective, elle peut être tournée à deux dimensions, d’autres objets peuvent être chevauchés et couverts, mais il ne peut être vu que sous le même angle. Cette méthode de rendu est également utilisée comme Panneau d’affichage désigné.

Les sprites créent une illusion efficace lorsque

  • L’image du sprite montre déjà un objet à trois dimensions
  • L’animation change constamment ou une rotation montre
  • Le sprite n’existe que pendant une courte période
  • L’objet montré a une apparence similaire de plusieurs perspectives
  • Le spectateur accepte que l’objet illustré n’a qu’une seule perspective, par exemple de petites plantes ou des feuilles

Si l’illusion fonctionne, les téléspectateurs ne remarqueront pas que le sprite est plat et les fait toujours face. Les sprites sont souvent utilisés pour afficher des phénomènes tels que le feu, la fumée, les petits objets, les petites plantes ou les symboles spéciaux. L’illusion de sprit peut être découverte dans les jeux vidéo en modifiant rapidement la position de la caméra, tandis que le sprite reste au milieu de la vue. Parfois, les sprites étaient également utilisés comme outil d’effet spécial dans les films. [d’abord]

Un jeu C64 simple avec plusieurs sprites

L’émergence de sprites dans les années 1980 a révolutionné les possibilités des jeux informatiques, car les performances du processeur n’étaient pas suffisantes pour déplacer des données graphiques de jeux informatiques complexes à l’écran (voir également ordinateur domestique, par exemple C64, Amiga). Les sprites ont été remplacés ou complétés par des formes (C16) (C128) ou BOBS (Amiga).

Une autre amélioration pour les jeux informatiques a été la détection de collision Sprite Sprite. Dès que le processeur graphique se rend compte lors de la création de l’image que deux sprites se chevauchent, cela est communiqué au logiciel par interruption, signaleur ou événement. La plupart des jeux informatiques sont relativement faciles à programmer car le programme n’a pas à prendre en charge la reconnaissance des collisions et n’utilise pas la puissance de calcul pour eux. Une reconnaissance de collision raisonnable est présente dans presque tous les processeurs graphiques qui maîtrisent également les bobs ou les sprites.

Les sprites sont liés aux carreaux, qui sont également appelés graphiques de tuiles. Dans de nombreux jeux 2D tels que Jump ‘n’ Runs, les deux techniques sont utilisées en parallèle. Les carreaux sont également de petits éléments graphiques. Le monde du jeu est assemblé et forment des murs et des plates-formes, donc ils restent toujours au même endroit. De cette façon, la RAM est sauvée, car les modèles répétés ne doivent être sauvés qu’une seule fois dans un petit Tielrafiken, qui sont disposés selon un tilemap.

Certains jeux vidéo utilisent toujours des sprites 2D aujourd’hui, mais la plupart des jeux utilisent plutôt des polygones 3D. Étant donné que les ordinateurs et les consoles de jeux ont désormais des cartes graphiques 3D dédiées, vous pouvez rendre plus efficacement des objets 3D que les sprites 2D. Alors que les sprites sont devenus moins courants dans les jeux vidéo modernes, les développeurs de logiciels les utilisent toujours à d’autres fins.

Par exemple, les sprites sont souvent utilisés pour ajouter des boutons de logiciels, des symboles et d’autres éléments de l’interface utilisateur. Les développeurs de logiciels peuvent ajouter des sprites sur les actions de l’interface utilisateur, par exemple B. Jouer une animation ou modifier la vue actuelle de la fenêtre lorsque vous cliquez sur le sprite. Les sprites sont particulièrement utiles pour ajouter des graphiques personnalisés qui ne sont pas natifs de l’interface de programmation du système d’exploitation. Les sprites sont également utilisés sur le World Wide Web pour les boutons de navigation et l’attractivité visuelle des sites Web. Ces dernières années, les feuilles de sprite sont devenues une méthode populaire pour charger les graphiques du site Web. En combinant un grand nombre de sprites dans une seule image, tous les sprites du navigateur d’un utilisateur peuvent être téléchargés et stockés par une seule demande au serveur. Les images sont ensuite affichées à l’aide de propriétés CSS qui définissent les positions des sprites individuels dans l’image. [2]

Les “sprites logiciels” ou ” Formes «En règle générale, seules deux choses avec de vrais sprites ont en commun: premièrement, ce sont des graphiques raster qui sont déplacés sur l’écran, deuxièmement, ils ont des contours non rectangulaires, c’est-à-dire un masque ou des zones transparentes.

Les avantages des sprites réels, tels que la faible pollution du processeur ou la détection automatique des collisions, sont éliminés. Pour ce faire, vous obtenez un avantage que les restrictions matérielles du nombre et de la taille des sprites sont éliminées, par laquelle ces limites sont réorganisées par le temps de calcul disponible pour l’implémentation dans le logiciel.

Contrairement aux vrais sprites, l’arrière-plan sur lequel les formes sont dessinées doivent être tracées encore et encore. Le moyen le plus rapide est de stocker temporairement l’arrière-plan complet de la scène dans le réservoir de stockage et de copier encore et encore via la dernière image, mais l’espace de stockage supplémentaire a besoin. Ce serait doux sur le stockage si vous créez l’arrière-plan encore et encore pour chaque image, mais les ordinateurs antérieurs étaient trop lents. Dans les cas où l’arrière-plan de chaque image peut également changer, ces considérations tombent naturellement. Tout au plus, certaines optimisations dans les scènes roulantes sont concevables.

Il existe différentes méthodes pour stocker et afficher les logiciels ( Ils diffèrent dans le temps de calcul requis pour l’affichage des sprites et l’exigence de mémoire supplémentaire pour l’étiquetage des pixels transparents:

  • Dans la première procédure, un masque binaire est défini en plus de l’image. Linée à ce masque, pratiquement un pixel des formes est dessiné pratiquement comme avec de vrais sprites lorsqu’il est réglé un peu au point correspondant du masque.
  • Cependant, vous pouvez également utiliser le masque pour avoir un “trou” dans l’image qui réside dans la mémoire graphique, créer puis copier de manière transparente l’image du sprite. “Transparent” signifie que seuls les bits supprimés (0) dans la mémoire d’image sont remplacés par des bits définis (1) de la forme, et les bits qui ont déjà été définis ne sont pas supprimés. Par conséquent, vous devez créer un “trou” dans lequel tous les bits de la mémoire graphique sont supprimés (0), où l’image de la forme plus tard est censée aller. Sinon, les morceaux de l’arrière-plan et de la forme se mélangeraient.
  • La variante “moderne” consiste à définir une couleur transparente (qui était disponible chez les plus tard dans les sprites matériels du C64). Lors du dessin, chaque pixel de la forme remplace la surface; Seule là où la couleur transparente est utilisée dans la forme n’est rien, donc l’arrière-plan reste inchangé. Surtout, cette procédure a l’inconvénient qu’une couleur ne peut pas être utilisée dans une forme, qui était une certaine restriction au moment où vous n’aviez que 16 couleurs ou moins en même temps. De plus, le code nécessaire a été mieux programmé en assembleur pour des raisons de performances. Une prise en charge matérielle appropriée pour ces opérations de bit-blit avancées (voir blitter) était rarement présente pour les premiers PC.
  • Pour le mode 256 couleur, qui était commun pour les PC dans les années 1990, les sprites étaient généralement utilisés pour les sprites compressés. Un compteur pour les points transparents suit alternativement, puis les données d’image à afficher. Ensuite, le compteur de transparence, etc. Les avantages de cette méthode sont une exigence de mémoire réduite et une génération accélérée de l’écran, car aucun masque supplémentaire n’est requis et les pixels transparents peuvent être facilement ignorés. Il n’y a pas non plus de couleur “perdue” car la transparence est enregistrée quelles que soient les données d’image.

Toutes les méthodes de logiciel (le sous-sol doit être restauré car il est détruit par les pods logiciels.

La méthode la plus simple pour résoudre le problème est le stockage intermédiaire de l’arrière-plan complet ou tout simplement l’endroit où la forme est censée, et les copies suivantes sont en arrière si une nouvelle scène doit être dessinée. L’arrière-plan ne doit pas changer pendant cette période. Pour sécuriser et restaurer plusieurs formes via des extraits, l’ordre inverse de la sauvegarde doit être utilisé lorsqu’il est restauré. Si cela ne était pas fait, des artefacts pourraient se produire si les formes individuelles se chevauchent. De tels artefacts sont connus, entre autres, par les conversions de souris sur des plates-formes basées sur des fenêtres si elles n’ont pas été réalisées comme de vrais sprites et l’un des programmes du système a un problème.

Spritanimation d’un tireur du jeu Ouest

Depuis le début de l’utilisation des sprites, le but a été recherché pour des raisons de réalisme, du moins pour encourager les personnages humains et d’autres êtres vivants tels que les adversaires, les monstres, etc. Surtout lors de la représentation d’un héros humain, il est important que les jambes se déplacent vers la droite ou à gauche sur un écran à deux dimensions. Par conséquent, une telle figure se compose de plusieurs sprites dans des jeux plus modernes qui, comme avec un dessin animé, sont illustrés rapidement dans une ligne afin de créer une impression de mouvement fluide. Au cours des années précédentes, le logiciel de peinture de luxe (Amiga) était souvent utilisé pour produire ces sprites d’animation. Aujourd’hui, il existe des programmes successeurs à cette fin, comme B. Cosmigo Pro Motion.
Au début du jeu informatique, il y avait également d’autres techniques. À la fin des années 1970, le basket-ball d’Atari a utilisé le contour de côté très grossièrement présenté d’une personne debout en tant que personnage. Lors de l’exécution “”, une jambe (ligne) dépouillée a clignoté à intervalles réguliers, qui a été copié sur le sprite de la figure.

Dans la conception Web, le terme Sprites Utilisé comme nom pour les fichiers graphiques qui se composent de plusieurs petits graphiques individuels. Ces sprites sont intégrés dans les sites Web via CSS de telle manière que les sous-graphiques requis sont affichés par le navigateur Web. Le but de cette technologie est de réduire le temps de charge total d’un site Web en réduisant les demandes de serveur et en revanche la prévention des retards qui résulteraient de l’exemple de rechargement dans le cas des effets de survol. [3] [4]

  1. Fandom, Inc .: Lutin
  2. Productions aiguisées, Techterms: Lutin
  3. CSS Sprites-Savings des demandes HTTP en combinant des images d’arrière-plan
  4. Marquez différentes références avec les sprites CSS
after-content-x4