surface shader获取像素深度差值

时间:2023-03-08 16:58:22
surface shader获取像素深度差值
        void vert (inout appdata_full v, out Input i) {
UNITY_INITIALIZE_OUTPUT(Input, i); i.proj = ComputeScreenPos(UnityObjectToClipPos(v.vertex));
COMPUTE_EYEDEPTH(i.proj.z);
} void surf (Input IN, inout SurfaceOutput o) { half m_depth = LinearEyeDepth(tex2Dproj (_CameraDepthTexture, IN.proj).r);
half deltaDepth = m_depth - IN.proj.z; }

  基于深度视差可以用来做很多效果,比如水的深度效果之类的。