From a10eea6e4ce647061813519d5b0ea496f29495b9 Mon Sep 17 00:00:00 2001
From: leonard Wu <364452445@qq.com>
Date: 星期四, 09 八月 2018 09:47:08 +0800
Subject: [PATCH] 同步最新svn内容
---
Assets/Plugins/PostProcessing/Resources/Shaders/Fog.shader | 218 +++++++++++++++++++++++++++---------------------------
1 files changed, 109 insertions(+), 109 deletions(-)
diff --git a/Assets/Plugins/PostProcessing/Resources/Shaders/Fog.shader b/Assets/Plugins/PostProcessing/Resources/Shaders/Fog.shader
index b607a64..7360546 100644
--- a/Assets/Plugins/PostProcessing/Resources/Shaders/Fog.shader
+++ b/Assets/Plugins/PostProcessing/Resources/Shaders/Fog.shader
@@ -1,109 +1,109 @@
-Shader "Hidden/Post FX/Fog"
-{
- Properties
- {
- _MainTex("Main Texture", 2D) = "white" {}
- }
-
- CGINCLUDE
-
- #pragma multi_compile __ FOG_LINEAR FOG_EXP FOG_EXP2
- #include "UnityCG.cginc"
- #include "Common.cginc"
-
- #define SKYBOX_THREASHOLD_VALUE 0.9999
-
- struct Varyings
- {
- float2 uv : TEXCOORD0;
- float4 vertex : SV_POSITION;
- };
-
- Varyings VertFog(AttributesDefault v)
- {
- Varyings o;
- o.vertex = UnityObjectToClipPos(v.vertex);
- o.uv = UnityStereoScreenSpaceUVAdjust(v.texcoord, _MainTex_ST);
- return o;
- }
-
- sampler2D _CameraDepthTexture;
-
- half4 _FogColor;
- float _Density;
- float _Start;
- float _End;
-
- half ComputeFog(float z)
- {
- half fog = 0.0;
- #if FOG_LINEAR
- fog = (_End - z) / (_End - _Start);
- #elif FOG_EXP
- fog = exp2(-_Density * z);
- #else // FOG_EXP2
- fog = _Density * z;
- fog = exp2(-fog * fog);
- #endif
- return saturate(fog);
- }
-
- float ComputeDistance(float depth)
- {
- float dist = depth * _ProjectionParams.z;
- dist -= _ProjectionParams.y;
- return dist;
- }
-
- half4 FragFog(Varyings i) : SV_Target
- {
- half4 color = tex2D(_MainTex, i.uv);
-
- float depth = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, i.uv);
- depth = Linear01Depth(depth);
- float dist = ComputeDistance(depth);
- half fog = 1.0 - ComputeFog(dist);
-
- return lerp(color, _FogColor, fog);
- }
-
- half4 FragFogExcludeSkybox(Varyings i) : SV_Target
- {
- half4 color = tex2D(_MainTex, i.uv);
-
- float depth = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, i.uv);
- depth = Linear01Depth(depth);
- float skybox = depth < SKYBOX_THREASHOLD_VALUE;
- float dist = ComputeDistance(depth);
- half fog = 1.0 - ComputeFog(dist);
-
- return lerp(color, _FogColor, fog * skybox);
- }
-
- ENDCG
-
- SubShader
- {
- Cull Off ZWrite Off ZTest Always
-
- Pass
- {
- CGPROGRAM
-
- #pragma vertex VertFog
- #pragma fragment FragFog
-
- ENDCG
- }
-
- Pass
- {
- CGPROGRAM
-
- #pragma vertex VertFog
- #pragma fragment FragFogExcludeSkybox
-
- ENDCG
- }
- }
-}
+Shader "Hidden/Post FX/Fog"
+{
+ Properties
+ {
+ _MainTex("Main Texture", 2D) = "white" {}
+ }
+
+ CGINCLUDE
+
+ #pragma multi_compile __ FOG_LINEAR FOG_EXP FOG_EXP2
+ #include "UnityCG.cginc"
+ #include "Common.cginc"
+
+ #define SKYBOX_THREASHOLD_VALUE 0.9999
+
+ struct Varyings
+ {
+ float2 uv : TEXCOORD0;
+ float4 vertex : SV_POSITION;
+ };
+
+ Varyings VertFog(AttributesDefault v)
+ {
+ Varyings o;
+ o.vertex = UnityObjectToClipPos(v.vertex);
+ o.uv = UnityStereoScreenSpaceUVAdjust(v.texcoord, _MainTex_ST);
+ return o;
+ }
+
+ sampler2D _CameraDepthTexture;
+
+ half4 _FogColor;
+ float _Density;
+ float _Start;
+ float _End;
+
+ half ComputeFog(float z)
+ {
+ half fog = 0.0;
+ #if FOG_LINEAR
+ fog = (_End - z) / (_End - _Start);
+ #elif FOG_EXP
+ fog = exp2(-_Density * z);
+ #else // FOG_EXP2
+ fog = _Density * z;
+ fog = exp2(-fog * fog);
+ #endif
+ return saturate(fog);
+ }
+
+ float ComputeDistance(float depth)
+ {
+ float dist = depth * _ProjectionParams.z;
+ dist -= _ProjectionParams.y;
+ return dist;
+ }
+
+ half4 FragFog(Varyings i) : SV_Target
+ {
+ half4 color = tex2D(_MainTex, i.uv);
+
+ float depth = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, i.uv);
+ depth = Linear01Depth(depth);
+ float dist = ComputeDistance(depth);
+ half fog = 1.0 - ComputeFog(dist);
+
+ return lerp(color, _FogColor, fog);
+ }
+
+ half4 FragFogExcludeSkybox(Varyings i) : SV_Target
+ {
+ half4 color = tex2D(_MainTex, i.uv);
+
+ float depth = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, i.uv);
+ depth = Linear01Depth(depth);
+ float skybox = depth < SKYBOX_THREASHOLD_VALUE;
+ float dist = ComputeDistance(depth);
+ half fog = 1.0 - ComputeFog(dist);
+
+ return lerp(color, _FogColor, fog * skybox);
+ }
+
+ ENDCG
+
+ SubShader
+ {
+ Cull Off ZWrite Off ZTest Always
+
+ Pass
+ {
+ CGPROGRAM
+
+ #pragma vertex VertFog
+ #pragma fragment FragFog
+
+ ENDCG
+ }
+
+ Pass
+ {
+ CGPROGRAM
+
+ #pragma vertex VertFog
+ #pragma fragment FragFogExcludeSkybox
+
+ ENDCG
+ }
+ }
+}
--
Gitblit v1.8.0