DirectX: Alle Module im Überblick

DirectDraw

Dieser Teil von DirectX stellt sozusagen die direkte Weiterentwicklung des Game SDK dar: Diese Komponente ist für die Manipulation von Bitmaps und ihre Darstellung auf dem Bildschirm zuständig. Im Fensterbetrieb wird dabei der gesamte Desktop als das betrachtet, was er letztlich auch ist: Ein einziges, recht großes Bitmap im Bildspeicher der Grafikkarte. Die Position eines Windows-Fensters legt lediglich fest, auf welchen Ausschnitt dieses Bitmaps sich Zeichenoperationen beziehen.

Für den Vollbildmodus erlaubt DirectDraw sowohl das programmgesteuerte Wechseln des Videomodus (Bildschirmgröße und Farbtiefe) als auch die Umschaltung zwischen mehreren, von der Grafikkarte darzustellenden Bildspeicherbereichen. Das Programm führt seine Zeichenaktionen dann grundsätzlich in den Bildspeicherbereich aus, der momentan nicht sichtbar ist. Zeichenoperationen in Hintergrund-Bitmaps sind natürlich auch im Fenstermodus bzw. mit den Standardroutinen von Windows möglich, nur ist dann für jeden Frame eine Kopie dieses Bitmaps notwendig.

Trotz seiner relativ langen Entwicklungsgeschichte ist DirectDraw den tatsächlichen Möglichkeiten der Hardware auch heute noch mehrere Schritte voraus: Alphakanäle für die Transparenzbestimmung einzelner Pixel wurden beispielsweise bereits mit DirectX 5 eingeführt, werden aber bis heute von keinem einzigen Grafikchip ernsthaft berücksichtigt.

Ähnliches gilt für Overlays, deren Hardware-Unterstützung auch nach zwei Jahren noch eine recht wacklige Angelegenheit ist. In DirectX 7 kennt DirectDraw imVollbildmodus nicht nur den Wechsel zwischen Bildspeicherbereichen, sondern auch die Synchronisation von Shutterbrillen für die "echte" dreidimensionale Darstellung. Dies stellt jedoch mit real existierenden Grafikkarten momentan noch mehr eine Baustelle denn ein verlässliches Feature dar.

Zeichenroutinen wie für Linien und Kreise enthält DirectDraw übrigens nicht. Dafür muss man entweder mit einer separaten Engine (wie Direct3D) auf die von dieser Schnittstelle direkt zur Verfügung gestellten Bitmap-Daten losgehen oder die (langsamen) Funktionen der Windows-GDI benutzen.