Roberts Crossエッジ検出を行うフルスクリーンシェーダーをシェーダーグラフで作成してみました。
概要
注目ピクセルの対角に位置するピクセル値の差を計算し、その勾配の大きさからエッジの強さを決定します。
シェーダーグラフ
まずピクセル単位のオフセットを定義します。エッジの太さを表すfloatプロパティをかけます。
それぞれをスクリーンサイズで割って正規化します。
Screen Positionを足します。UVとしてシーンカラーをサンプリングします。
対角に位置するピクセル値の差を計算します。
内積で差の大きさの2乗を求め、足して平方根を計算します。ピクセル間の強度差の大きさによって、明るさの変化が求められます。
HD Sample Bufferノードを使ってエフェクトの範囲からスカイを除外します。
しきい値を表すFloat型プロパティの値を引いて、Saturateノードに入力します。エッジ強度がしきい値以下の場合は0に固定されます。
最後にエッジの色をかけてマスタースタックのBase Colorに入力します。
Graph InspectorでBlend Modeを「Additive」にすると、エッジがシーンカラーに加算されます。