15.10.2012 Views

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ACTIONSCRIPT 3.0 ENTWICKLERHANDBUCH<br />

Arbeiten mit Pixel Bender-Shadern<br />

}<br />

}<br />

}<br />

shader = new Shader(loader.data);<br />

var target:Shape = new Shape();<br />

addChild(target);<br />

var g:Graphics = target.graphics;<br />

var c:Array = [0x990000, 0x445500, 0x007799];<br />

var a:Array = [255, 255, 255];<br />

var r:Array = [0, 127, 255];<br />

var m:Matrix = new Matrix();<br />

m.createGradientBox(w, h);<br />

g.beginGradientFill(GradientType.LINEAR, c, a, r, m);<br />

g.drawRect(10, 10, w, h);<br />

g.endFill();<br />

var invertFilter:ShaderFilter = new ShaderFilter(shader);<br />

target.filters = [invertFilter];<br />

Weitere Informationen zur Anwendung von Filtern finden Sie unter „Erstellen und Anwenden von Filtern“ auf<br />

Seite 285.<br />

Verwenden eines Shaders im eigenständigen Modus<br />

Flash Player 10 und höher, Adobe AIR 1.5 und höher<br />

Wenn Sie einen Shader im Standalone-Modus einsetzen, wird die Shader-Verarbeitung unabhängig davon ausgeführt,<br />

wie Sie die Ausgabe verwenden wollen. Sie geben den auszuführenden Shader an, setzen die Eingabe- und<br />

Parameterwerte und geben das Objekt an, in das die resultierenden Daten platziert werden. Sie können einen Shader<br />

aus zwei Gründen im Standalone-Modus ausführen:<br />

Verarbeitung von Nicht-Bilddaten: Im Standalone-Modus können Sie anstelle von Bitmap-Bilddaten willkürliche<br />

Binär- oder Zahlendaten an den Shader übergeben. Sie können auswählen, ob die Shader-Ergebnisse zusätzlich zu<br />

den Bitmap-Bilddaten als Binär- oder Zahlendaten zurückgeben werden.<br />

Hintergrundverarbeitung: Wenn Sie einen Shader im Standalone-Modus ausführen, wird der Shader<br />

standardmäßig asynchron ausgeführt. Dies bedeutet, dass der Shader im Hintergrund ausgeführt wird, während<br />

Ihre Anwendung weiter läuft. Ihr Code wird benachrichtigt, wenn die Shader-Verarbeitung abgeschlossen ist. Sie<br />

können einen Shader verwenden, der viel Zeit für die Ausführung in Anspruch nimmt und dabei nicht die<br />

Benutzeroberfläche der Anwendung oder andere Verabeitungsprozesse blockiert.<br />

Sie verwenden ein ShaderJob-Objekt, um einen Shader im Standalone-Modus auszuführen. Zunächst erstellen Sie das<br />

ShaderJob-Objekt und verknüpfen es mit dem Shader-Objekt, das für den auszuführenden Shader steht.<br />

var job:ShaderJob = new ShaderJob(myShader);<br />

Dann setzen Sie die vom Shader erwarteten Eingabe- oder Parameterwerte. Wenn Sie den Shader im Hintergrund<br />

ausführen, registrieren Sie außerdem einen Listener für das complete-Ereignis des ShaderJob-Objekt. Ihr Listener<br />

wird aufgerufen, wenn der Shader seine Verarbeitung beendet hat.<br />

Letzte Aktualisierung 27.6.2012<br />

340

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!