HardSurfacePro Hidden ScreenSpace Reflection.Shader 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. //Hard Surface Shader Package, Written for the Unity engine by Bruno Rime: http://www.behance.net/brunorime brunorime@gmail.com
  2. Shader "Hidden/Hardsurface Pro ScreenSpace Reflection"{
  3. // ShaderModel3
  4. SubShader {
  5. Pass
  6. {
  7. Name "SSREFLECTION"
  8. //Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "LightMode" = "Always"}
  9. zwrite off Ztest Lequal Cull back
  10. Blend SrcAlpha OneMinusSrcAlpha
  11. colormask RGBA
  12. CGPROGRAM
  13. #define ShaderModel3
  14. #pragma target 3.0
  15. #pragma vertex vert
  16. #pragma fragment frag
  17. #pragma fragmentoption ARB_precision_hint_fastest
  18. #include "UnityCG.cginc"
  19. #include "HardSurfaceProScreenSpaceReflection.cginc"
  20. ENDCG
  21. }
  22. Pass
  23. {
  24. Name "SSREFLECTIONBUMP"
  25. //Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "LightMode" = "Always"}
  26. zwrite off Ztest Lequal Cull back
  27. Blend SrcAlpha OneMinusSrcAlpha
  28. colormask RGBA
  29. CGPROGRAM
  30. #define ShaderModel3
  31. #define HardsurfaceNormal
  32. #pragma target 3.0
  33. #pragma vertex vert
  34. #pragma fragment frag
  35. #pragma fragmentoption ARB_precision_hint_fastest
  36. #include "UnityCG.cginc"
  37. #include "HardSurfaceProScreenSpaceReflection.cginc"
  38. ENDCG
  39. }
  40. Pass
  41. {
  42. Name "SSREFLECTIONSPECULAR"
  43. //Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "LightMode" = "Always"}
  44. zwrite off Ztest Lequal Cull back
  45. Blend SrcAlpha OneMinusSrcAlpha
  46. colormask RGBA
  47. CGPROGRAM
  48. #define ShaderModel3
  49. #define HardsurfaceNormal
  50. #define HardsurfaceSpecular
  51. #pragma target 3.0
  52. #pragma vertex vert
  53. #pragma fragment frag
  54. #pragma fragmentoption ARB_precision_hint_fastest
  55. #include "UnityCG.cginc"
  56. #include "HardSurfaceProScreenSpaceReflection.cginc"
  57. ENDCG
  58. }
  59. }
  60. // ShaderModel2
  61. SubShader {
  62. Pass
  63. {
  64. Name "SSREFLECTION"
  65. //Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "LightMode" = "Always"}
  66. zwrite off Ztest Lequal Cull back
  67. Blend SrcAlpha OneMinusSrcAlpha
  68. colormask RGBA
  69. CGPROGRAM
  70. #pragma vertex vert
  71. #pragma fragment frag
  72. #pragma fragmentoption ARB_precision_hint_fastest
  73. #include "UnityCG.cginc"
  74. #include "HardSurfaceProScreenSpaceReflection.cginc"
  75. ENDCG
  76. }
  77. Pass
  78. {
  79. Name "SSREFLECTIONBUMP"
  80. //Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "LightMode" = "Always"}
  81. zwrite off Ztest Lequal Cull back
  82. Blend SrcAlpha OneMinusSrcAlpha
  83. colormask RGBA
  84. CGPROGRAM
  85. #define HardsurfaceNormal
  86. #pragma vertex vert
  87. #pragma fragment frag
  88. #pragma fragmentoption ARB_precision_hint_fastest
  89. #include "UnityCG.cginc"
  90. #include "HardSurfaceProScreenSpaceReflection.cginc"
  91. ENDCG
  92. }
  93. Pass
  94. {
  95. Name "SSREFLECTIONSPECULAR"
  96. //Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "LightMode" = "Always"}
  97. zwrite off Ztest Lequal Cull back
  98. Blend SrcAlpha OneMinusSrcAlpha
  99. colormask RGBA
  100. CGPROGRAM
  101. #define HardsurfaceNormal
  102. #pragma vertex vert
  103. #pragma fragment frag
  104. #pragma fragmentoption ARB_precision_hint_fastest
  105. #include "UnityCG.cginc"
  106. #include "HardSurfaceProScreenSpaceReflection.cginc"
  107. ENDCG
  108. }
  109. }
  110. Fallback "Diffuse"
  111. }