我需要具有映射功能的Action Script3/Pixel Bender模糊濾鏡。Action Script3/Pixel Bender複合模糊效果?
我們有這樣的形象,我們要應用這種模糊的地圖得到這樣的結果
alt text http://livedocs.adobe.com/en_US/AfterEffects/8.0/images/ef_182.png
它也被稱爲複合模糊效果。
有沒有人看過使用AS3/Pixel Bender做過?
有沒有人知道在哪裏下載這種效果與源?
我需要具有映射功能的Action Script3/Pixel Bender模糊濾鏡。Action Script3/Pixel Bender複合模糊效果?
我們有這樣的形象,我們要應用這種模糊的地圖得到這樣的結果
alt text http://livedocs.adobe.com/en_US/AfterEffects/8.0/images/ef_182.png
它也被稱爲複合模糊效果。
有沒有人看過使用AS3/Pixel Bender做過?
有沒有人知道在哪裏下載這種效果與源?
以下.pbk幾乎可以做到。您可以查看評論,看看如何加深模糊效果。
<languageVersion : 1.0;>
kernel NewFilter
< namespace : "Your Namespace";
vendor : "Your Vendor";
version : 1;
description : "your description";
>
{
input image4 src1;
input image4 src2;
output pixel4 dst;
void
evaluatePixel()
{
float2 pos = outCoord();
// based on the current whiteness of pixel in src2 blur by a percentage.
float4 val = sampleNearest(src2,pos);
float percent = val[0];
// this takes into account only the closest level of pixels to make the blur more in depth
// you can add the next 16 or even the 24 after that.
float4 pix = sampleNearest(src1,pos);
float4 pixNE = sampleNearest(src1,float2(pos.x+1.0, pos.y+1.0));
float4 pixE = sampleNearest(src1,float2(pos.x+1.0, pos.y));
float4 pixSE = sampleNearest(src1,float2(pos.x+1.0, pos.y-1.0));
float4 pixS = sampleNearest(src1,float2(pos.x, pos.y-1.0));
float4 pixSW = sampleNearest(src1,float2(pos.x-1.0, pos.y-1.0));
float4 pixW = sampleNearest(src1,float2(pos.x-1.0, pos.y));
float4 pixNW = sampleNearest(src1,float2(pos.x-1.0, pos.y+1.0));
float4 pixN = sampleNearest(src1,float2(pos.x, pos.y+1.0));
float4 result;
// the result is the whiteness percentage of the original pixel averaged with the surrounding pixels.
// if you added more of the surrounding pixels you can consider them in the weighted average also and get a deeper blur.
result[0] = percent*pix[0]+(1.0-percent)*(pixNE[0]+pixE[0]+pixSE[0]+pixS[0]+pixSW[0]+pixW[0]+pixNW[0]+pixN[0])/8.0;
result[1] = percent*pix[1]+(1.0-percent)*(pixNE[1]+pixE[1]+pixSE[1]+pixS[1]+pixSW[1]+pixW[1]+pixNW[1]+pixN[1])/8.0;
result[2] = percent*pix[2]+(1.0-percent)*(pixNE[2]+pixE[2]+pixSE[2]+pixS[2]+pixSW[2]+pixW[2]+pixNW[2]+pixN[2])/8.0;
result[3] = pix[3];
dst = result;
}
}
我在這裏這樣的效果的非常古老的像素預折彎機版本(包括AS2源)http://www.quasimondo.com/archives/000564.php
它的工作原理與模糊半徑從0提高創建幾個模糊的位圖(或鉛丹你選擇的半徑)到最大半徑。您做得越模糊,質量就越好。使用paletteMap過濾器可以爲每個模糊圖層創建遮罩,使得每個連續圖層之間存在漸變重疊。然後使用其蒙版在下一個圖層上繪製每個模糊圖層。
這第二個混合階段我可能現在寧願與像素彎曲。
它不起作用,因爲如果你看看他們的來源,你會看到 - 他們使用2個過濾器vert和hor做模糊,2次比較blur map到原始 - 瘋狂),並且btw他們的公式只是從0到6只有確切的數字1 2 3 4 5 6所以它不會爲我工作( – Rella 2009-11-24 03:41:17
我的文章已被編輯,以反映使用像素彎曲機所需的模糊效果的一種可能的實現。即使這種方法總是看周圍的像素每個像素即使不模糊它們,像素彎曲機的性能優勢也應該補償額外的工作。 – dennisjtaylor 2009-12-01 17:20:18