D
Hi,
Es sollen Grafiken geladen und verarbeitet werden, die sowohl 3 Byte als auch 4 Byte Farbtiefe haben. Ist es sinnvoll, alles auf 4 Byte zu bringen (es gibt da ja so eine SDL-Map-Funktion) und dann nicht mit Bytes, sondern mit Pixeln zu arbeiten? Mit sinnvoll meine ich einfacher und effektiver.
Das kommt sicherlich auf den Zweck an. Wenn es um besonders effektives Arbeiten geht ist es eher nicht der richtige Weg. Ich habe es aber auch so geloest, da dieser Weg wesentlich bequemer ist, als fuer jeden Zweck einzeln eine Verarbeitung durchzuführen (zumindest bei mir, weil ich die Surface auch fuer OpenGL genutzt habe).
Zwischen den Zeilen meine ich irgendwo gelesen zu haben, dass SDL-Surfaces direkt im Speicher der Grafikkarte angelegt werden. Stimmt das?
Du kannst beim Erstellen einer Surface angeben, ob sie in den Grafikkartenspeicher oder den Hauptspeicher gespeichert werden soll. Das geschieht mit den Flags SDL_HWSURFACE bzw. SDL_SWSURFACE (in der Reihenfolge).
Bin mir aber nicht sicher, ob das wirklich verbindlich ist, sprich gezwungener massen umgesetzt wird (z.B. wenn der Grafikkartenspeicher voll ist).
Gruss,
DeSoVoDaMu