前提・実現したいこと
unityのshaderでガウシアンフィルタを用いた平滑化処理を行いたいです。カーネルのサイズは13×13として、
f(x,y)=1/(2πσ)exp(-(x^2+y^2)/(2σ^2))
で表される関数を用い、σの値はプロパティで変更できるように実装したいです。
しかし、shaderの書き方が分からず、また自分なりに調べたところ、フィルタ処理を行うshaderプログラムではfor分のような繰り返し処理が行われていないため、13×13のフィルタ処理が現実的に可能なのかも疑問です。
これはshaderで可能なのでしょうか、また、どのように実装すればいいのでしょうか。
とてもおおまかな質問で大変申し訳ありませんが回答よろしくお願いします。
試したこと
web検索を行いました。
https://stackoverflow.com/questions/32811531/unity-gaussian-blur-shader-just-makes-my-texture-white-why
https://answers.unity.com/questions/407214/gaussian-blur-shader.html
https://github.com/PavelDoGreat/Super-Blur
などを見つけましたが、結局分からず、質問させていただきました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。