summaryrefslogtreecommitdiff
path: root/VRCSDK3AvatarsLegacy/Assets/VRCSDK/Sample Assets/Shaders/Mobile/VRChat-Mobile-Skybox.shader
diff options
context:
space:
mode:
Diffstat (limited to 'VRCSDK3AvatarsLegacy/Assets/VRCSDK/Sample Assets/Shaders/Mobile/VRChat-Mobile-Skybox.shader')
-rw-r--r--VRCSDK3AvatarsLegacy/Assets/VRCSDK/Sample Assets/Shaders/Mobile/VRChat-Mobile-Skybox.shader73
1 files changed, 73 insertions, 0 deletions
diff --git a/VRCSDK3AvatarsLegacy/Assets/VRCSDK/Sample Assets/Shaders/Mobile/VRChat-Mobile-Skybox.shader b/VRCSDK3AvatarsLegacy/Assets/VRCSDK/Sample Assets/Shaders/Mobile/VRChat-Mobile-Skybox.shader
new file mode 100644
index 00000000..fa3e8936
--- /dev/null
+++ b/VRCSDK3AvatarsLegacy/Assets/VRCSDK/Sample Assets/Shaders/Mobile/VRChat-Mobile-Skybox.shader
@@ -0,0 +1,73 @@
+// Unity built-in shader source. Copyright (c) 2016 Unity Technologies. MIT license (see license.txt)
+
+Shader "VRChat/Mobile/Skybox"
+{
+ Properties
+ {
+ _Rotation ("Rotation", Range(0, 360)) = 0
+ [NoScaleOffset] _Tex ("Cubemap", Cube) = "grey" {}
+ }
+
+ SubShader
+ {
+ Tags { "Queue"="Background" "RenderType"="Background" "PreviewType"="Skybox" }
+ Cull Off
+ ZWrite Off
+
+ Pass
+ {
+
+ CGPROGRAM
+ #pragma vertex vert
+ #pragma fragment frag
+ #pragma target 2.0
+
+ #include "UnityCG.cginc"
+
+ samplerCUBE _Tex;
+ float _Rotation;
+
+ float3 RotateAroundYInDegrees (float3 vertex, float degrees)
+ {
+ float alpha = degrees * UNITY_PI / 180.0;
+ float sina, cosa;
+ sincos(alpha, sina, cosa);
+ float2x2 m = float2x2(cosa, -sina, sina, cosa);
+ return float3(mul(m, vertex.xz), vertex.y).xzy;
+ }
+
+ struct appdata_t
+ {
+ float4 vertex : POSITION;
+ UNITY_VERTEX_INPUT_INSTANCE_ID
+ };
+
+ struct v2f
+ {
+ float4 vertex : SV_POSITION;
+ float3 texcoord : TEXCOORD0;
+ UNITY_VERTEX_OUTPUT_STEREO
+ };
+
+ v2f vert (appdata_t v)
+ {
+ v2f o;
+ UNITY_SETUP_INSTANCE_ID(v);
+ UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
+ float3 rotated = RotateAroundYInDegrees(v.vertex, _Rotation);
+ o.vertex = UnityObjectToClipPos(rotated);
+ o.texcoord = v.vertex.xyz;
+ return o;
+ }
+
+ fixed4 frag (v2f i) : SV_Target
+ {
+ half4 tex = texCUBE(_Tex, i.texcoord);
+ return tex;
+ }
+ ENDCG
+ }
+ }
+
+ Fallback Off
+}