大幅に遅れてしまいましたが、前回のソースコードを置いておきます。
結局コメント等入っていないソースコードですが、ここで説明したいと思います。
ポイントはブラーフィルタをある部分に適用させれれば良い。の一点に尽きます。
ですから、適用範囲を振り分ける以外はこの記事のソースコード
を流用しています。
//ピクセルの参照
float2 pos = outCoord();
//楕円の範囲 注:centerpointは外部設定パラメータ
float2 ellipsepos = float2(float((pos.x + centerpoint[0]) / 2.0) , pos.y);
float dist = distance(centerpoint,ellipsepos);
//適用範囲のみにブラー
if (dist > radius){
/*記事のサンプルソースコード*/
} else {
dst = sampleNearest(src,pos);
}
この縦横ブラーをかけて一緒にこのTintフィルタをかけています。
実際中身を書き換えたフィルタを使用していますが、こっちの方が良く出来ていると思います。
このくらいさっさと公開しろよ!とお叱りを受けそうですね。
ちなみに結局コントラストフィルタは思うような効果にならず、このままにしておきます。
もっと細かい調整が出来るようにならねば。

コメントする