summaryrefslogtreecommitdiff
path: root/VRCSDK3Worlds/Assets/Bakery/ftCubemap2StripExport.shader
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--VRCSDK3Worlds/Assets/Bakery/ftCubemap2StripExport.shader78
-rw-r--r--VRCSDK3Worlds/Assets/Bakery/ftCubemap2StripExport.shader.meta9
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: