Shader-Filter

Flash Player 10 und höher, Adobe AIR 1.5 und höher

Mit der ShaderFilter-Klasse können Sie einen benutzerdefinierten Filtereffekt anwenden, der als Pixel Bender-Shader definiert ist. Da der Filtereffekt als Pixel Bender-Shader geschrieben wird, kann der Effekt vollständig angepasst werden. Der gefilterte Inhalt wird als Bildeingabe an den Shader übergeben, und das Ergebnis des Shader-Vorgangs wird zum Filterergebnis.

Hinweis: Der Shader-Filter ist in ActionScript ab Flash Player 10 und Adobe AIR 1.5 verfügbar.

Um einen Shader-Filter auf ein Objekt anzuwenden, erstellen Sie zunächst eine Shader-Instanz, die den verwendeten Pixel Bender-Shader darstellt. Informationen zum Erstellen einer Shader-Instanz und zum Angeben von Eingabebild- und Parameterwerten finden Sie unter Arbeiten mit Pixel Bender-Shadern .

Beim Verwenden eines Shaders als Filter sind drei wichtige Dinge zu beachten:

  • Der Shader muss mindestens ein Eingabebild akzeptieren.

  • Das gefilterte Objekt (das Anzeigeobjekt oder BitmapData-Objekt, auf das der Filter angewendet wird) wird als erster Eingabebildwert an den Shader übergeben. Geben Sie daher den Wert für die erste Bildeingabe nicht manuell an.

  • Wenn der Shader mehr als ein Eingabebild definiert, müssen die zusätzlichen Eingaben manuell vorgenommen werden (durch Festlegen der input -Eigenschaft von ShaderInput-Instanzen, die zur Shader-Instanz gehören).

Sobald ein Shader-Objekt für den Shader vorliegt, können Sie eine ShaderFilter-Instanz erstellen. Dies ist das eigentliche Filterobjekt, das Sie wie jeden anderen Filter verwenden. Um einen ShaderFilter zu erstellen, der ein Shader-Objekt verwendet, rufen Sie den ShaderFilter() -Konstruktor auf und übergeben Sie das Shader-Objekt als Argument wie in diesem Beispiel gezeigt:

var myFilter:ShaderFilter = new ShaderFilter(myShader);

Ein ausführliches Beispiel für die Verwendung eines Shader-Filters finden Sie unter Verwenden eines Shaders als Filter .