3.5 Verwenden von Hardwarepinseln

GL Galore unterstützt die Erstellung von Hardwarepinsel. Hardwarepinsel befinden sich im GPU-Speicher und können somit in kürzester Zeit gezeichnet werden. Auf den meisten Grafikkarten können sie auch sehr effizient von der GPU skaliert und transformiert werden. Damit Hollywood einen Hardwarepinsel erstellt, müssen Sie lediglich den optionalen Tag "Hardware" auf True setzen. Dieser Tag wird von den meisten Hollywood-Befehlen unterstützt, die Pinsel erstellen.

Hier ist ein Beispiel:

 
@REQUIRE "glgalore"  ; stellen Sie sicher, dass diese Zeile ...
                      ; ... die erste ist
@BRUSH 1, "sprites.png", {Hardware = True}

Im obigen Code erstellt GL Galore Pinsel 1 im Videospeicher. Er kann dann fast ohne Aufwand mit der GPU gezeichnet werden. Beachten Sie jedoch, dass Hardwarepinsel nur auf Hardware-Doppelpuffer gezeichnet werden können. Siehe Verwendung eines Hardware-Doppelpuffers für Details.

Um einen Hardwarepinsel zu transformieren, können Sie die Befehle ScaleBrush(), RotateBrush() und TransformBrush() verwenden. Transformationen von Hardwarepinseln sind in der Regel auch GPU-beschleunigt und damit um ein Vielfaches schneller als die von der CPU durchgeführten Transformationen.

Beachten Sie, dass Hardwarepinsel nur auf dem Display gezeichnet werden können, welches bei der Zuweisung angegeben wurde. Wenn Ihr Skript also mehrere Displays verwendet, müssen Sie Hollywood den Identifikator des Displays mitteilen, mit dem Sie diesen Hardwarepinsel verwenden möchten. Dies kann durch Angabe des Tags "Display" hinter dem Tag "Hardware" erfolgen. Hier ist ein Beispiel:

 
@REQUIRE "glgalore"  ; stellen Sie sicher, dass diese Zeile ...
                      ; ... die erste ist
@DISPLAY 1, {Title = "First display"}
@DISPLAY 2, {Title = "Second display"}
@BRUSH 1, "sprites.png", {Hardware = True, Display = 1}
@BRUSH 2, "sprites.png", {Hardware = True, Display = 2}

Der obige Code wird den Pinsel 1 so zuweisen, dass er auf dem Display 1 gezeichnet werden kann und er wird den Pinsel 2 so zuweisen, dass er auf dem Display 2 gezeichnet werden kann. Es ist jedoch nicht möglich, den Pinsel 2 auf dem Display 1 zu zeichnen oder Pinsel 1 auf dem Display 2 anzuzeigen! OpenGL-Hardwarepinsel sind immer Displayabhängig und können nur auf dem Display gezeichnet werden, für die sie zugewiesen wurden.

Weitere Informationen zu Hardwarepinseln und Hardware-Doppelpuffern finden Sie im Hollywood-Handbuch.

Sie können GL Galore auch als Hilfs-Plugin verwenden, um Hollywood unter Windows, Mac OS X und Linux Hardwarepinsel-Unterstützung hinzuzufügen. Standardmäßig unterstützt Hollywood keine Hardwarepinsel auf diesen Systemen, aber GL Galore kann diese Funktion Hollywood hinzufügen. Siehe GL Galore als Helfer-Plugin für Details.

Das Skript SmoothScroll.hws, das mit GL Galore geliefert wird, demonstriert, wie Hardwarepinsel und ein Hardware-Doppelpuffer ohne Aufrufe von OpenGL verwendet werden.


Navigation zeigen