From 10ea61d63a87931a98c3591735f0d70e10939401 Mon Sep 17 00:00:00 2001 From: chai Date: Sun, 26 Sep 2021 09:51:36 +0800 Subject: *misc --- .../Shaders/Common/Image/common_img_blur.shader | 36 ++++++++-------------- .../Shaders/Common/common_solid_color.shader | 6 ++-- Assets/Bundle/Shaders/Include.meta | 8 +++++ Assets/Bundle/Shaders/Include/ImageEffect.cginc | 18 +++++++++++ .../Bundle/Shaders/Include/ImageEffect.cginc.meta | 9 ++++++ Assets/Bundle/Shaders/Include/ImageHelper.cginc | 4 +++ .../Bundle/Shaders/Include/ImageHelper.cginc.meta | 9 ++++++ Assets/Bundle/Shaders/Unit/Effect.meta | 8 ----- 8 files changed, 63 insertions(+), 35 deletions(-) create mode 100644 Assets/Bundle/Shaders/Include.meta create mode 100644 Assets/Bundle/Shaders/Include/ImageEffect.cginc create mode 100644 Assets/Bundle/Shaders/Include/ImageEffect.cginc.meta create mode 100644 Assets/Bundle/Shaders/Include/ImageHelper.cginc create mode 100644 Assets/Bundle/Shaders/Include/ImageHelper.cginc.meta delete mode 100644 Assets/Bundle/Shaders/Unit/Effect.meta (limited to 'Assets/Bundle/Shaders') diff --git a/Assets/Bundle/Shaders/Common/Image/common_img_blur.shader b/Assets/Bundle/Shaders/Common/Image/common_img_blur.shader index f6c016b3..d1e00953 100644 --- a/Assets/Bundle/Shaders/Common/Image/common_img_blur.shader +++ b/Assets/Bundle/Shaders/Common/Image/common_img_blur.shader @@ -1,10 +1,14 @@ -Shader "Erika/Common/Image/Blur" +// 高斯模糊 + +Shader "Erika/Common/Image/Blur" { Properties { _MainTex("Texture", 2D) = "white" {} _Angle("Angle", float) = 0 _Distance("Distance", float) = 0 + _TileOffset("TileOffset", Vector) = (1,1,0,0) + _Iterate("Iterate Count", float) = 1 } SubShader @@ -25,11 +29,7 @@ #include "UnityCG.cginc" - struct appdata - { - float4 vertex : POSITION; - float2 uv : TEXCOORD0; - }; + #include "Assets/Bundle/Shaders/Include/ImageEffect.cginc" struct v2f { @@ -46,11 +46,13 @@ fixed _Distance; - v2f vert(appdata v) + float _Iterate; // 迭代次数 + + v2f vert(appdata_img v) { v2f o; o.vertex = UnityObjectToClipPos(v.vertex); - o.uv = TRANSFORM_TEX(v.uv, _MainTex); + o.uv = TRANSFORM_TEX(v.texcoord, _MainTex); return o; } @@ -60,22 +62,8 @@ _Distance = 0; fixed2 uv = i.uv; - fixed2 offset = fixed2(0.05, 0.05); - const float sampleCount = 30; - fixed4 color = fixed4(0,0,0,0); - float radian = radians(_Angle); - float distance = _Distance; - for (int i = 0; i < sampleCount; i++) - { - float dx = distance * cos(radian) / sampleCount * i; - float dy = distance * sin(radian) / sampleCount * i; - color += tex2D(_MainTex,float2(uv.x + dx,uv.y + dy)) * (1 / sampleCount); - } - //color = tex2D(_MainTex, uv); - if(uv.x > _TileOffset.z && uv.x < _TileOffset.x + _TileOffset.z - && uv.y > _TileOffset.w && uv.y < _TileOffset.w + _TileOffset.y) { - color = fixed4(1,0,0,0); - } + + fixed4 color = blur(_MainTex, _ScreenParams.xy, uv); return color; } diff --git a/Assets/Bundle/Shaders/Common/common_solid_color.shader b/Assets/Bundle/Shaders/Common/common_solid_color.shader index 798924d3..92daaa30 100644 --- a/Assets/Bundle/Shaders/Common/common_solid_color.shader +++ b/Assets/Bundle/Shaders/Common/common_solid_color.shader @@ -11,7 +11,7 @@ LOD 100 ZTest LEqual - ZWrite Off + ZWrite On Pass { @@ -70,8 +70,8 @@ float diff = saturate(depth - camDepth); if (diff < 0.0001) { - // c = _Color; - c = tex2D(_MainTex, i.uv); + c = _Color; + // c = tex2D(_MainTex, i.uv); } return c; diff --git a/Assets/Bundle/Shaders/Include.meta b/Assets/Bundle/Shaders/Include.meta new file mode 100644 index 00000000..2666365a --- /dev/null +++ b/Assets/Bundle/Shaders/Include.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dc32af12c5122994d8791378227adeb6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Bundle/Shaders/Include/ImageEffect.cginc b/Assets/Bundle/Shaders/Include/ImageEffect.cginc new file mode 100644 index 00000000..ffe5bc11 --- /dev/null +++ b/Assets/Bundle/Shaders/Include/ImageEffect.cginc @@ -0,0 +1,18 @@ + +// µü´úÒ»´Î +fixed4 blur(sampler2D tex, float2 texSize, fixed2 uv, float spread = 1) +{ + fixed2 step = 1 / texSize; + const fixed weight = 0.1111111; + fixed4 color = fixed4(0, 0, 0, 0); + color += tex2D(tex, uv + spread * fixed2(-step.x, step.y)) * weight; + color += tex2D(tex, uv + spread * fixed2(0, step.y)) * weight; + color += tex2D(tex, uv + spread * fixed2(step.x, step.y)) * weight; + color += tex2D(tex, uv + spread * fixed2(-step.x, 0)) * weight; + color += tex2D(tex, uv) * weight; + color += tex2D(tex, uv + spread * fixed2(step.x, 0)) * weight; + color += tex2D(tex, uv + spread * fixed2(-step.x, -step.y)) * weight; + color += tex2D(tex, uv + spread * fixed2(0, -step.y)) * weight; + color += tex2D(tex, uv + spread * fixed2(step.x, -step.y)) * weight; + return color; +} diff --git a/Assets/Bundle/Shaders/Include/ImageEffect.cginc.meta b/Assets/Bundle/Shaders/Include/ImageEffect.cginc.meta new file mode 100644 index 00000000..8a4c56b7 --- /dev/null +++ b/Assets/Bundle/Shaders/Include/ImageEffect.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7d761d98009111740b1e65e517a71aa5 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Bundle/Shaders/Include/ImageHelper.cginc b/Assets/Bundle/Shaders/Include/ImageHelper.cginc new file mode 100644 index 00000000..57822700 --- /dev/null +++ b/Assets/Bundle/Shaders/Include/ImageHelper.cginc @@ -0,0 +1,4 @@ + +// ±ßÔµ¼ì²â + + diff --git a/Assets/Bundle/Shaders/Include/ImageHelper.cginc.meta b/Assets/Bundle/Shaders/Include/ImageHelper.cginc.meta new file mode 100644 index 00000000..d5b4db71 --- /dev/null +++ b/Assets/Bundle/Shaders/Include/ImageHelper.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6186a4071ad9eeb488a67f940291bb9d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Bundle/Shaders/Unit/Effect.meta b/Assets/Bundle/Shaders/Unit/Effect.meta deleted file mode 100644 index 7df9a033..00000000 --- a/Assets/Bundle/Shaders/Unit/Effect.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 9cc4684b9f432f149b16a51f148c9490 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -- cgit v1.1-26-g67d0