Overlay ist eine Hardwarefunktion einer Grafikkarte, die es ermöglicht, ein Bild auf dem Hauptbildschirm (primäre Oberfläche) zu überlagern, ohne den Videospeicher zu kopieren. Die Überlagerung wird in Videokarten-Digital-Analog-Wandlern (RAMDAC) bei der Erzeugung von Videosignalen ausgeführt, die an den Monitor gesendet werden. RAMDAC scannt dabei die Primärflächen zeilenweise ab und schaltet dabei auf ein Overlay-Bild um.
Notwendig
Set von Spezialeffekten aus Bibliotheken
Anweisungen
Schritt 1
Um Overlay zu aktivieren, ist es notwendig, ein Programm zu schreiben, das einige Spezialeffekte auf der Oberfläche des Desktops oder an Orten mit beliebigen Farben anzeigt (wenn wir den Zeichenmodus auf dem Desktop als Hauptmodus betrachten).
Schritt 2
Wählen Sie einen Spezialeffekt. Bei der Auswahl der Spezialeffekte sollten Sie sich nicht besonders schwer machen - sie können einfach aus Beispielen der FastLIB-Bibliotheken ausgeliehen werden, beispielsweise die Algorithmen zum Zeichnen eines Feuerballs. Danach müssen Sie dem Effekt ein einfaches Partikelsystem hinzufügen und das Ergebnis nach Belieben benennen. DirectDraw initialisieren. Zur Initialisierung sind nur Primärflächen sinnvoll.
Schritt 3
Überprüfen Sie, ob das Overlay angezeigt und erstellt werden kann. Verwenden Sie dazu die GetOverlayCaps-Funktion. GetOverlayCaps enthält nichts Kompliziertes und Interessantes - es ist eine Übertragung von jedem Bit oder Wert, der mit Overlays verbunden ist, von DDCaps in eine kompaktere Struktur - TOverlayCaps. Als nächstes sollten Sie die Größe des Overlays korrigieren, damit sie den Parametern entsprechen, die während der Verwendung der Funktion erhalten wurden. In Wirklichkeit ist die Wahrscheinlichkeit einer erfolgreichen Ausführung eines solchen Codes äußerst gering, daher sollten Sie sich nicht besonders darauf konzentrieren - insbesondere sollte seine Größe nicht begrenzt werden, um langsame Arbeit zu vermeiden, es ist nicht erforderlich, die Größe in Bytes zu überprüfen für die Möglichkeit, in den Inhalt des Videospeichers einzudringen, und so weiter.
Schritt 4
Im Allgemeinen lohnt es sich, mehr zu überprüfen, um einen Bericht zu erhalten, da die Erstellung eines Overlays durch eine Brute-Force-Methode erfolgt. Der Punkt ist, dass keine Funktionen wie EnumOverlayFormats existieren und nicht erstellt wurden, daher sollte der Benutzer jedes erdenkliche Format überprüfen und auf Glück hoffen. Es gibt jedoch eine Funktion IDirectDraw7GetFourCCCodes, die den Nicht-RGB-Formatcode (FourCC) ermitteln soll, aber nicht nur das notwendige YUV, sondern auch das komprimierte Texturformat und andere enthält. Die gesamte Liste zu verwenden und jedes Format als YUV oder Nicht-YUV zu definieren, erscheint irrational.
Schritt 5
Entfernen Sie das Bild vom Desktop, falls vorhanden, und weisen Sie ihm DCK-Farben zu. Aktivieren Sie die DCK-Farbüberlagerung. Das Overlay wird eingeschaltet und ist einsatzbereit. Die visuellen Auswirkungen seiner Verwendung können nach Minimierung aller Arbeitsfenster beurteilt werden.