【Unity】シェーダーグラフで鮮鋭化フィルタを作る

投稿者: | 2024-03-26

HDRPカスタムパスとシェーダーグラフで鮮鋭化フィルタを作ってみました。

概要

注目画素の値を定数倍し、その近傍の画素値を引きます。それによりエッジが強調されます。

鮮鋭化フィルタ

Custom Pass Volume

Custom Pass Volumeコンポーネントには、シェーダーグラフが設定されたマテリアルがアタッチされています。

シェーダーグラフ

まず注目している画素と近傍の画素の計9個のオフセットを定義します。

(-1, 1), (0, 1), (1, 1)
(-1, 0), (0, 0), (1, 0)
(-1, -1), (0, -1), (1, -1)

各オフセットにプロパティの値をかけます。値を大きくするとエッジが太くなります。

1
3

スクリーンサイズで割って正規化します。

スクリーン位置を足します。「HD Scene Color」ノードの「UV」に入力します。

サンプリングした結果に、鮮鋭化フィルタのフィルタ係数をかけます。

結果を合計してマスタースタックの「Base Color」に入力します。

これで鮮鋭化フィルタが作れました。

コメントを残す

メールアドレスが公開されることはありません。