Dokument
libsren · Rasterklasse · Bildkoordinaten und Bildpuffer
Beschreibung
libsren definiert die Schnittstelle zu den konkreten Implementierungen der "Rasterer" durch die abstrakte Klasse engine.
Alle Raster-Klassen verwenden ein gemeinsames Bildmodell: Sie rastern in einen Bildpuffer der Breite width und Höhe height (die Bildbreite muß ein Vielfaches von 4 sein). Jeder Bildpunkt trägt 32 Bit Information. Die Bildpunkte im Puffer sind zeilenweise angeordnet. Der Koordinatenursprung liegt in der Bildmitte.
Die 3D Implementierungen der Raster-Klassen verwenden zusätzlich zum Bildpuffer einen Z-Puffer, in dem die "Tiefeninformation" jedes Bildpunktes mit 16 Bit Auflösung gespeichert wird.
Der Speicher für den Bildpuffer, sowie einen evtl. benötigten Z-Puffer, wird durch die Raster-Klasse allokiert oder von außen bereitgestellt. Das Format eines Bildpunktes ist der Rasterklasse unbekannt. Sie füllt Bildpunkte mit einem vorgegebenen Wert, dessen Bedeutung vom jeweiligen Betriebssystem bestimmt wird.
Optional kann der Rasterklasse ein "Shader" mitgegeben werden, der den Farb- bzw. Intensitätswert eines Bildpunktes verändert. Ein solcher "Shader" muss die Bedeutung einzelner Bits im Bildpunkt kenn, ist also im Unterschied zur Raster-Klasse nicht unabhängig vom Betriebssystem. libsren stellt einen Shader für Windows RGB Format zur Verfügung.
Die typische Benutzung der Raster-Klassen besteht aus den Schritten:
· Initialisierung
· Rastern von Grafikprimitiven in den Bildpuffer
· Darstellung des Bildpuffers
Siehe auch
Inhaltsverzeichnis, Stichwortverzeichnis; Aktivieren eines Shaders