Utiliser un filtre Pixel Bender en AS3
2 Commentaires Publié le 28 octobre 2008 _ Développement, Pixel BenderAprès avoir vu comment créer un filtre pixel bender, nous allons maintenant voir comment utiliser ce filtre en as3…
Il faut tout d’abord exporter son filtre en .pbj, fichier qui sera loader en as3. Une fois cette première opération réaliser, il faut charger le pbj :
- Méthode 1, avec un fichier externe au swf :
/**
*
* Auteur: Vincent Helwig
* Date: 27.10.2008
* Website: http://www.tsoin.com
* Description: Chargement d’un fichier PBJ Pixel Bender
*
**/
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLLoaderDataFormat;
import flash.display.Shader;
[SWF(width = "600", height = "400", backgroundColor = "#000000", framerate = "30")]
public class Main extends Sprite {
private var _loader:URLLoader;
private var _shader:Shader;
public function Main():void {
_loader = new URLLoader();
_loader.dataFormat = URLLoaderDataFormat.BINARY;
_loader.addEventListener(Event.COMPLETE, onLoadComplete);
_loader.load(new URLRequest(« bleu.pbj »));
}
private function onLoadComplete(event:Event):void {
_shader = new Shader( _loader.data );
}
}
}
- Méthode 2, avec un fichier intégré au swf :
/**
*
* Auteur: Vincent Helwig
* Date: 27.10.2008
* Website: http://www.tsoin.com
* Description: Embed d’un fichier PBJ Pixel Bender
*
**/
import flash.display.Sprite;
import flash.display.Shader;
import flash.utils.ByteArray;
[SWF(width = "600", height = "400", backgroundColor = "#000000", framerate = "30")]
public class Embed extends Sprite {
[Embed("bleu.pbj", mimeType="application/octet-stream")]
private var _pbjFilter:Class;
private var _shader:Shader;
public function Embed():void {
_shader = new Shader( new _pbjFilter() as ByteArray );
}
}
}
Quelque soit la méthode du chargement, la méthode d’utilisation est ensuite la même :
_filtre = new ShaderFilter(_shader);
On peut alors utiliser le ShaderFitler sur tous les enfants héritant de la class DisplayObject, avec la propriété filters :
_display.filters = [ _fitltre];
On peut donc appliquer un filtre Pixel Bender sur un champ texte, sur une vidéo, sur une image, sur un bitmap, un Sprite, un UIComponent etc…
Ci-dessous un exemple de différent filtre sur une vidéo…. ( Flash 10 nécessaire, bien sur
)
2 commentaires pour “Utiliser un filtre Pixel Bender en AS3”
Laisser un commentaire
|
RechercheCatégories
|
||
8 décembre 2008 à 0:54
Merci pour ce tuto, ça va surement m’aider =)
24 mai 2009 à 12:26
Merci pour ce tuto qui m’en apprend plus sur Pixel Bender.