Grafik

aus RHWiki, der freien Romhacking-Enzyklopädie

Grafiken können in Roms auf verschiedene Weise gespeichert sein.
Man unterscheidet zwischen tilebasierten Grafiken und Bitmap-Grafiken. Dies und die Farbtiefe einer Grafik unterscheiden sich je nach verwendetem Format, welches durch die verwendete Plattform vorgegeben sein kann (aber nicht muss).

Inhaltsverzeichnis

Plattformen

Auf den meisten Handheld- und Konsolensystemen werden vorzugsweise tilebasierte Grafiken verwendet, da die Hardware speziell dafür ausgelegt ist und die Darstellung schneller und einfacher ist. Außerdem werden z.B. vom GBA auch Bitmap Grafiken unterstützt. Diese sind aber langsam und bieten weniger Funktionen (bzw. die Funktionen müssen softwareseitig implementiert werden, wohingegen Tiles direkt von der Hardware unterstützt werden).
Mehr zu den Vor- und Nachteilen von Tiles im entsprechenden Artikel.

Auf PC-Systemen wird dagegen fast nur mit Bitmap-Grafiken (die evtl. komprimiert sein können) gearbeitet. Tiles haben hier keinen Vorteil (sondern eher noch Nachteile), weil sie weniger flexibel als Bitmaps sind. Vorallem bei der Bearbeitung (die auf Konsolen nicht erforderlich ist) weisen tilebasierte Grafiken aufgrund ihrer hohen Komplexität große Nachteile auf.

Ungeachtet dessen lässt sich rein theoretisch auf jedem System jedes Format verwenden. Je weiter das Format jedoch von der Hardware verschieden ist, desto komplizierter ist die Implementierung (und verbraucht dementsprechend mehr Rechenzeit). Außerdem muss man evtl. weniger Farben in Kauf nehmen.

Farbtiefe

Die Farbtiefe ist die Anzahl der maximal in einem Bild darstellbaren Farben. Sie wird entweder durch die direkte Anzahl dieser Farben oder in Bits per Pixel (BPP) angegeben.
Je nach Farbtiefe verbraucht ein Pixel eine bestimmte Anzahl von Bits. Von dieser Bit-Zahl hängt ab, wieviele verschiedene (Farb-)Werte ein Pixel annehmen kann.

Werden 256 (= 1 Byte pro Farbe) oder weniger Farben verwendet, wird auch oft mit Paletten gearbeitet, die ihrerseits in einem größeren Farbspektrum definiert sein können.

Wie die Farbwerte im Detail vorliegen, hängt vom jeweiligen Format ab.

Bitmap-Grafiken

Hier werden einfach nacheinander alle Pixel einer Bildzeile gespeichert und die Zeilen widerrum nacheinander. Das Bild ist nicht in Felder aufgeteilt (im Gegensatz zu tilebasierten Grafiken). Man kann das Bild eher als ein großes Tile betrachten (auch wenn das nicht wirklich viel Sinn macht).

Bitmaps sind beliebig skalierbar.

Veranschaulicht:

        | Spalte
        | 0  1  2  3  4  5-->
--------+---------------------
Zeile 0 | 0A 7A 47 15 A3---->
      1 | F2 FE ** --------->
      2 | |  |  |
    ... | \/ \/ \/

Tilebasierte Grafiken

Diese Art von Grafiken ist aus Tiles zusammengesetzt. Dabei unterscheidet man zwischen den Grafikinformationen, die die Tiles ansich bilden, und den Anordnungsinformationen, die bestimmen in welcher Reihenfolge die Tiles zum Bild zusammengesetzt werden.

Normalerweise ist bei Angabe einer dieser beiden Informationen die jeweils andere überflüssig:
Entweder man liefert die Tiles mit dem Bild mit. Dann kann man sie von vornherein so zeichnen, dass sie in einer Standard-Anordnung geladen werden können.
Oder man greift auf ein vordefiniertes Tileset zurück und liefert nur die Anordnungsinformationen.

Aus Tiles bestehende Bilder haben den Nachteil, dass sie nur um ein Vielfaches der Tilegröße skalierbar sind.

Beispiel einer Tile-Grafik:

+--+--+--+
|T1|T2|T3|
+--+--+--+
|T4|T5|T6|
+--+--+--+

T1: +-----+ T2: +-----+ T3: +-----+ T4: ... ...
    | 0 1 |     | 4 5 |     | 8 9 |     ...
    | 2 3 |     | 6 7 |     | A B |
    +-----+     +-----+     +-----+

Außerdem besteht bei manchen Formaten (auf neueren Systemen) die Möglichkeit für jedes Tile eine eigene Palette anzugeben. Auf diese Weise kann man der Farbbegrenzung ein wenig ausweichen.

Komprimierung

Unter Umständen liegen Grafiken in einem Rom komprimiert vor, damit sie weniger Speicherplatz verbrauchen. In dem Fall müssen sie zur Bearbeitung dekomprimiert und beim Wiedereinfügen in das Rom rekomprimiert werden.

Mehr zu Komprimierungen

Siehe auch

'Persönliche Werkzeuge