diff options
Diffstat (limited to '')
-rw-r--r-- | VRCSDK3Worlds/Assets/Bakery/ftCubemap2StripExport.shader | 78 | ||||
-rw-r--r-- | VRCSDK3Worlds/Assets/Bakery/ftCubemap2StripExport.shader.meta | 9 |
2 files changed, 87 insertions, 0 deletions
diff --git a/VRCSDK3Worlds/Assets/Bakery/ftCubemap2StripExport.shader b/VRCSDK3Worlds/Assets/Bakery/ftCubemap2StripExport.shader new file mode 100644 index 00000000..5f5ec6ce --- /dev/null +++ b/VRCSDK3Worlds/Assets/Bakery/ftCubemap2StripExport.shader @@ -0,0 +1,78 @@ +Shader "Hidden/ftCubemap2StripExport" +{ + 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; + float4x4 transform; + float4 isLinear_isDoubleLDR; + + float4 frag (v2f i) : SV_Target + { + float face = floor(i.uv.y * 6.0f); + i.uv.y = frac(i.uv.y * 6.0f); + + float2 st = i.uv * 2.0f - 1.0f; + float3 vec; + if (face == 0.0f) { + vec = float3(1, -st.y, st.x); + } else if (face == 1.0f) { + vec = float3(-1, -st.y, -st.x); + } else if (face == 2.0f) { + vec = float3(-st.y, 1, -st.x); + } else if (face == 3.0f) { + vec = float3(-st.y, -1, st.x); + } else if (face == 4.0f) { + vec = float3(-st.x, -st.y, 1); + } else { + vec = float3(st.x, -st.y, -1); + } + + vec = mul((float3x3)transform, normalize(vec)); + + float4 color = texCUBE(_MainTex, vec); + if (isLinear_isDoubleLDR.x < 0.5f) color.rgb = pow(color.rgb, 2.2f); + if (isLinear_isDoubleLDR.y > 0.5f) color.rgb *= 4.59f; + return color; + } + ENDCG + } + } +} diff --git a/VRCSDK3Worlds/Assets/Bakery/ftCubemap2StripExport.shader.meta b/VRCSDK3Worlds/Assets/Bakery/ftCubemap2StripExport.shader.meta new file mode 100644 index 00000000..b6412825 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Bakery/ftCubemap2StripExport.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b7f2eeb31adcaf143a9455602daf4853 +timeCreated: 1526836856 +licenseType: Store +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: |