Med klassen ShaderFilter kan du använda en anpassad filtereffekt som har definierats som en Pixel Bender-skuggning. Eftersom filtereffekten skrivs som en Pixel Bender-skuggning kan effekten anpassas fullständigt. Det filtrerade innehållet skickas till skuggningen som bildindata, och resultatet från skuggningsåtgärden blir filterresultatet.
Obs!
Skuggningsfiltret är tillgängligt i ActionScript från och med Flash Player 10 och Adobe AIR 1.5.
Om du vill tillämpa ett skuggningsfilter på ett objekt måste du först skapa en Shader-instans som representerar Pixel Bender-skuggningen som du använder. Mer information om hur du skapar en Shader-instans och hur du anger indatabilds- och parametervärden finns i
Arbeta med Pixel Bender-skuggningar
.
När du använder en skuggning som ett filter finns det tre viktiga saker som du måste ha i åtanke:
-
Skuggningen måste ha definierats till att acceptera minst en indatabild.
-
Det filtrerade objektet (visningsobjektet eller BitmapData-objektet som filtret tillämpas på) skickas till skuggningen som det första indatabildvärdet. Därför ska du inte manuellt ange något värde för första bildindata.
-
Om skuggningen definierar fler än en indatabild, måste de övriga indata anges manuellt (d.v.s. egenskapen
input
ställs in för den ShaderInput-instans som tillhör Shader-instansen).
När du har ett Shader-objekt för skuggningen skapar du en ShaderFilter-instans. Detta är det faktiska filterobjektet som du använder på samma sätt som andra filter. Du skapar ett ShaderFilter som använder ett Shader-objekt genom att anropa
ShaderFilter()
-konstruktorn och skicka Shader-objektet som ett argument, vilket visas i detta exempel:
var myFilter:ShaderFilter = new ShaderFilter(myShader);
Ett fullständigt exempel på hur du använder ett skuggningsfilter finns i
Använda en skuggning som ett filter
.