La clase ShaderFilter permite utilizar un efecto de filtro personalizado definido como sombreado de Pixel Bender. Dado que el efecto de filtro se escribe como un sombreado de Pixel Bender, el efecto se puede personalizar completamente. El contenido filtrado se pasa al sombreado en forma de entrada de imagen y el resultado de la operación del sombreado se convierte en el resultado del filtro.
Nota:
el filtro Shader está disponible en ActionScript a partir de Flash Player 10 y Adobe AIR 1.5.
Para aplicar un filtro de sombreado a un objeto, primero debe crear una instancia de Shader que represente al sombreado de Pixel Bender que se va a utilizar. Para obtener información detallada sobre el procedimiento de creación de una instancia de Shader y el modo de especificar los valores de los parámetros y las imágenes de entrada, consulte
Trabajo con sombreados de Pixel Bender
.
Al utilizar un sombreado a modo de filtro, es preciso recordar tres cosas:
-
El sombreado se debe definir de forma que acepte al menos una imagen de entrada.
-
El objeto filtrado (el objeto de visualización o BitmapData al que se aplica el filtro) se pasa al sombreado como el primer valor de imagen de entrada. Por este motivo, no se debe especificar manualmente un valor para la primera imagen de entrada.
-
Si el sombreado define varias imágenes de entrada, las entradas adicionales se deben especificar manualmente (es decir, es preciso establecer la propiedad
input
de cualquier instancia de ShaderInput que pertenezca a la instancia de Shader).
Una vez disponga de un objeto Shader para el sombreado, cree una instancia de ShaderFilter. Este es el objeto de filtro real que se utiliza como cualquier otro filtro. Para crear una clase ShaderFilter que utilice un objeto Shader, llame al constructor de
ShaderFilter()
y pase el objeto Shader en forma de argumento, tal y como se muestra en este listado:
var myFilter:ShaderFilter = new ShaderFilter(myShader);
Para ver un ejemplo completo del uso de un filtro de sombreado, consulte
Uso de un sombrado como filtro
.