diff options
Diffstat (limited to 'VRCSDK3Worlds/Assets/VRCSDK/Sample Assets/Shaders/Mobile/VRChat-Mobile-Skybox.shader')
-rw-r--r-- | VRCSDK3Worlds/Assets/VRCSDK/Sample Assets/Shaders/Mobile/VRChat-Mobile-Skybox.shader | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/VRCSDK3Worlds/Assets/VRCSDK/Sample Assets/Shaders/Mobile/VRChat-Mobile-Skybox.shader b/VRCSDK3Worlds/Assets/VRCSDK/Sample Assets/Shaders/Mobile/VRChat-Mobile-Skybox.shader new file mode 100644 index 00000000..fa3e8936 --- /dev/null +++ b/VRCSDK3Worlds/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 +} |