交接處檢測高亮
使用螢幕坐标采樣深度圖,比較球體view空間下的Z值和場景的深度資訊depth,如果depth > positionVS.z(右手坐标系的z都是負數,是以減法變加法),表示處于遮光罩内,而且越靠近交界處,這個內插補點越小,用1 - 內插補點,再乘以一個邊緣系數就可以得到邊緣資訊。
half4 hightlight = depth + i.positionVS.z;
hightlight *= _HighLightFade;
hightlight = 1 - hightlight;
hightlight *= _HighLightColor;
邊緣外發光
法線和視角方向點乘,然後加上菲涅爾系數
half3 N = i.normalWS;
half3 V = i.viewWS;
half NdotV = 1 - saturate(dot(N, V));
half4 fresnel = pow(abs(NdotV), _FresnelPower);
fresnel *= _FresnelColor;
蜂窩護盾
普通的圖檔采樣
流光、扭曲
螢幕U