PortalSky.shader 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
  2. // Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'
  3. // Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'
  4. Shader "Portals/Sky" {
  5. Properties {
  6. _TintColor ("Tint Color", Color) = (0.5,0.5,0.5,1)
  7. _Cube ("Environment Map", Cube) = "" {}
  8. }
  9. Category {
  10. Tags { "Queue"="Transparent-1" "IgnoreProjector"="True" "RenderType"="Transparent" }
  11. Blend SrcAlpha OneMinusSrcAlpha
  12. Cull Off
  13. Lighting Off
  14. ZWrite Off
  15. SubShader {
  16. Stencil {
  17. Ref 2
  18. Comp Equal
  19. Pass Keep
  20. Fail Keep
  21. }
  22. Pass {
  23. CGPROGRAM
  24. #pragma vertex vert
  25. #pragma fragment frag
  26. #include "UnityCG.cginc"
  27. fixed4 _TintColor;
  28. samplerCUBE _Cube;
  29. struct appdata_t {
  30. float4 vertex : POSITION;
  31. };
  32. struct v2f {
  33. float4 vertex : POSITION;
  34. float3 viewDir : TEXCOORD1;
  35. };
  36. float4 _MainTex_ST;
  37. v2f vert (appdata_t v)
  38. {
  39. v2f o;
  40. o.vertex = UnityObjectToClipPos(v.vertex);
  41. o.viewDir = mul(unity_ObjectToWorld, v.vertex).xyz - _WorldSpaceCameraPos;
  42. return o;
  43. }
  44. fixed4 frag (v2f i) : COLOR
  45. {
  46. float4 cubeTex = texCUBE(_Cube, i.viewDir)*_TintColor;
  47. return cubeTex;
  48. }
  49. ENDCG
  50. }
  51. }
  52. }
  53. }