article

Ein Sprite ist ein Grafikobjekt, das von der Grafikhardware über das Hintergrundbild bzw. den restlichen Inhalt der Bildschirmanzeige eingeblendet wird. Die Positionierung wird dabei komplett von der Grafikhardware erledigt. Beispiel: Die meisten Grafikkarten stellen ein Hardware-Sprite für den Mauszeiger zur Verfügung.

Heute ist die Sprite-Technik durch die Möglichkeiten von modernen Grafikkarten weitgehend überholt.

Verwandte Begriffe


Oft wird der Begriff Sprite auch verallgemeinert für Objekte benutzt, die per Software (statt Grafikhardware) über den Hintergrund eingeblendet werden. Dies ist jedoch streng genommen ein Shape. Gleiches gilt für ein Objekt, das mit Hilfe von Hardware-Routinen in den Grafikspeicher einkopiert wird, ohne jedoch komplett autonom von der Hardware verwaltet zu werden; hier handelt es sich um ein Bob. In 3D-Spielen wird der Begriff Sprite manchmal für flache Objekte mit einer animierten Textur verwendet; die Ähnlichkeit zur klassischen Definition besteht darin, dass das Objekt ebenfalls nicht zusammen mit dem restlichen Bildinhalt (hier: dreidimensional) erzeugt wird, sondern nur „hineingeklebt“ wird.

Funktionsweise


Das Sprite wird von der Grafikhardware (Grafikprozessor) an der gewünschten Position im Bild eingefügt. Weil dadurch das restliche Bild im Grafikspeicher nicht beeinflusst wird, muss dieses nicht immer wieder neu dorthin kopiert werden – durch diese Entlastung des Hauptprozessors sind Sprites sehr schnell und gleichzeitig einfach zu programmieren.

Die Daten für die Sprite-Grafik werden dabei entweder direkt in Registern der Grafikhardware vorgehalten (Beispiel: C64, Breite und Höhe der Sprites fest) oder in speziellen RAM-Bereichen, auf die diese Hardware genügend schnellen Zugriff hat. Ein Beispiel für die letztere Variante ist der Amiga mit seinem Chipsatz und dem Chip-RAM: Der Zugriff erfolgt durch den DMA-Apparat des Agnus-Chips jeweils am Zeilenanfang und die Darstellung durch den Denise-Chip. Eine Auswirkung dieses Prinzips ist, dass die Sprites beim Amiga zwar eine durch die Grafikhardware festgelegte/begrenzte Breite aufweisen, deren Höhe jedoch mehr oder weniger beliebig groß werden darf.

Zur Bewegung eines Sprites reicht es aus, lediglich dessen x/y-Koordinate zu ändern; die komplizierte Berechnung der Adresse im Grafikspeicher entfällt, was ebenfalls den Hauptprozessor entlastet. Der Grafikprozessor fügt selbstständig an der vorgegebenen Koordinate das Sprite beim Aufbau des nächsten Bildes im Vordergrund ein. Auch animierte Sprites sind möglich; dazu müssen nur die Daten der Sprite-Grafik im Speicher durch die des nächsten Einzelbildes ersetzt werden.

Ein Sprite ist prinzipiell rechteckig. Aber auch unregelmäßig geformte Sprites sind möglich, indem der Rand transparent dargestellt wird – entweder durch eine bestimmte Farbe, welche vom Grafikprozessor transparent dargestellt wird, oder durch eine Maske, die definiert, an welchen Stellen das Sprite deckend und an welchen es transparent dargestellt werden soll.

Bedeutung für Computerspiele


Das Aufkommen von Sprites in den 80er Jahren revolutionierte die Möglichkeiten von Computerspielen, da damals die Prozessorleistung nicht ausreichte, um komplexe Grafikdaten auf dem Bildschirm zu verschieben (siehe auch Heimcomputer, z. B. C64, Amiga). Die Sprites wurden durch Shapes (C16, C128) abgelöst bzw. um Bobs (Amiga) ergänzt.

Eine weitere Verbesserung für Computerspiele war die Sprite-Sprite-Kollisionserkennung. Sobald der Grafikprozessor beim Erstellen des Bildes erkennt, dass sich zwei Sprites überlappen, wird dies der Software per Interrupt, Flag oder Event mitgeteilt. Damit sind die meisten Computerspiele vergleichsweise einfach zu programmieren, weil sich das Programm nicht um die Kollisionserkennung kümmern muss und für diese keine Rechenleistung verbraucht. Eine vernünftige Kollisionserkennung ist aber in beinahe allen Grafikprozessoren vorhanden, welche auch Bobs oder Sprites beherrschen.

Weblinks


  • http://www.gsarchives.net/
  • http://www.nes-pixelcomics.de/

Computergrafik

Sprite (počítačová grafika) | Sprite | Sprite (computer graphics) | Sprite (videojuegos) | Sprite-grafiikka | Sprite (jeu vidéo) | Sprite (informatica) | スプライト | Sprite | Спрайт (компьютерная графика) | Sprite (datorgrafik)

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Sprite (Computergrafik)".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld