2011-06-20 9 views
0

は、私はFlashで使用しているピクセルベンダーシェーダの抜粋です:Pixel Benderシェーダの 'inputSize'パラメータをFlashで動作させるためのトリックはありますか?ここ

parameter float2 srcSize 
< 
    parameterType: "inputSize"; 
    inputSizeName: "src"; 
>; 

input image4 src; 

私は、このシェーダを実行するときに、ソースイメージの幅と高さは、Pixel Benderのツールキットに正しく入力されますが、 Flash Player 10のフィルタでは、srcSize値が自動的に入力されません。

答えて

0

は、どうやらそれはフラッシュが元画像の幅と高さを移入持ってすることはできません、あなたは呼び出すことによってそれを自分で行う必要がありますシェーダのパラメータ

0

これは、ツールキットでは、実行する前にイメージをロードする必要があるからです。 Flashでのフローは、イメージをソースとして使用することを前提としていないため、異なります。私は、あなたがソース画像上でShaderJobを実行する前にinputSizeの幅/高さを設定する必要があると確信しています。

var rect:Rectangle = dispObj.getBounds(dispObj); 

...そしてにrect.widthとrect.heightを渡す:

+0

私はDisplayObjectでフィルタを使用しているので、ソースイメージはそこにあると想定され、その入力はFlashによってあらかじめ設定されています。幅と高さを得るための唯一の方法は、DisplayObject.getBounds()呼び出しから設定することです。 – Toxikman

関連する問題