From eb84bb298d2b95aec7b2ae12cbf25ac64f25379a Mon Sep 17 00:00:00 2001 From: tylermurphy534 Date: Sun, 6 Nov 2022 15:12:42 -0500 Subject: move to self host --- VRCSDK3Worlds/Assets/Bakery/ftCubemap2Strip.shader | 80 ++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 VRCSDK3Worlds/Assets/Bakery/ftCubemap2Strip.shader (limited to 'VRCSDK3Worlds/Assets/Bakery/ftCubemap2Strip.shader') diff --git a/VRCSDK3Worlds/Assets/Bakery/ftCubemap2Strip.shader b/VRCSDK3Worlds/Assets/Bakery/ftCubemap2Strip.shader new file mode 100644 index 00000000..4692ab5a --- /dev/null +++ b/VRCSDK3Worlds/Assets/Bakery/ftCubemap2Strip.shader @@ -0,0 +1,80 @@ +Shader "Hidden/ftCubemap2Strip" +{ + 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; + #if UNITY_UV_STARTS_AT_TOP + o.uv.y = 1-o.uv.y; + #endif + return o; + } + + samplerCUBE _MainTex; + float gammaMode; + + fixed4 frag (v2f i) : SV_Target + { + float3 vec; + int quad = floor(i.uv.x * 6); + + float2 st = frac(i.uv * float2(6,1)) * 2.0 - 1.0; + st.x = -st.x; + //st.y = -st.y; + + if (quad == 0) { + vec = float3(1, -st.y, st.x); + } else if (quad == 1) { + vec = float3(-1, -st.y, -st.x); + } else if (quad == 2) { + vec = float3(-st.y, 1, -st.x); + } else if (quad == 3) { + vec = float3(-st.y, -1, st.x); + } else if (quad == 4) { + vec = float3(-st.x, -st.y, 1); + } else { + vec = float3(st.x, -st.y, -1); + } + + vec = -vec; + + float4 col = texCUBE(_MainTex, vec); + + if (gammaMode > 0.5f) col.rgb = pow(col.rgb, 2.2f); + + return col; + } + ENDCG + } + } +} -- cgit v1.2.3-freya