diff options
Diffstat (limited to '')
-rw-r--r-- | VRCSDK3Worlds/Assets/Bakery/ftDilate.shader | 106 | ||||
-rw-r--r-- | VRCSDK3Worlds/Assets/Bakery/ftDilate.shader.meta | 9 |
2 files changed, 115 insertions, 0 deletions
diff --git a/VRCSDK3Worlds/Assets/Bakery/ftDilate.shader b/VRCSDK3Worlds/Assets/Bakery/ftDilate.shader new file mode 100644 index 00000000..5324319e --- /dev/null +++ b/VRCSDK3Worlds/Assets/Bakery/ftDilate.shader @@ -0,0 +1,106 @@ +Shader "Hidden/ftDilate" +{ + Properties + { + _MainTex ("Texture", 2D) = "white" {} + } + SubShader + { + // No culling or depth + Cull Off ZWrite Off ZTest Always + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float2 uv : TEXCOORD0; + float4 vertex : SV_POSITION; + }; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = v.uv; + return o; + } + + UNITY_DECLARE_TEX2D(_MainTex); + + fixed4 frag (v2f i) : SV_Target + { + uint width, height; + _MainTex.GetDimensions(width, height); + int3 center = int3(i.vertex.xy, 0); + + float4 c = _MainTex.Load(center); + if (c.w > 0) return c; + + uint total = 0; + float4 c2 = _MainTex.Load(center, int2(-1,-1)); + if (c2.w>0) { + c += c2; + total++; + } + + c2 = _MainTex.Load(center, int2(0,-1)); + if (c2.w>0) { + c += c2; + total++; + } + + c2 = _MainTex.Load(center, int2(1,-1)); + if (c2.w>0) { + c += c2; + total++; + } + + c2 = _MainTex.Load(center, int2(-1,0)); + if (c2.w>0) { + c += c2; + total++; + } + + c2 = _MainTex.Load(center, int2(1,0)); + if (c2.w>0) { + c += c2; + total++; + } + + c2 = _MainTex.Load(center, int2(-1,1)); + if (c2.w>0) { + c += c2; + total++; + } + + c2 = _MainTex.Load(center, int2(1,1)); + if (c2.w>0) { + c += c2; + total++; + } + + if (total > 0) + { + c /= total; + return float4(c.rgb, 1.0f); + } + + return float4(0,0,0,0); + } + ENDCG + } + } +} + diff --git a/VRCSDK3Worlds/Assets/Bakery/ftDilate.shader.meta b/VRCSDK3Worlds/Assets/Bakery/ftDilate.shader.meta new file mode 100644 index 00000000..d82b1ad1 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Bakery/ftDilate.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 966cd9feaf442e64b9154c34e29787e1 +timeCreated: 1595076643 +licenseType: Store +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: |