TexturedFresnelStandard.shader 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. Shader "SpatialFramework/Textured Fresnel/Standard"
  2. {
  3. Properties
  4. {
  5. _EdgeColor("Edge Color", COLOR) = (1,1,1,1)
  6. _Color("Color", COLOR) = (.25,.25,.25,.25)
  7. _EdgeData("Edge min, max, S-strength, S-Blend", VECTOR) = (0, 0.85, 0.5, 1)
  8. _MainTex("Texture", 2D) = "white" {}
  9. }
  10. SubShader
  11. {
  12. // First, we do a stencil like technique of writing depth of the model,
  13. // so we don't have any transparent overdraw in subsequent steps
  14. Tags{ "RenderType" = "Transparent" "Queue" = "Transparent" }
  15. Pass
  16. {
  17. Tags
  18. {
  19. "RenderType" = "Transparent"
  20. "Queue" = "Transparent"
  21. "LightMode" = "UniversalForward"
  22. "RenderPipeline" = "UniversalPipeline"
  23. }
  24. LOD 100
  25. Name "Depth Fill"
  26. Blend One One
  27. Lighting Off
  28. ZTest Less
  29. Offset -1, 0
  30. ColorMask 0
  31. CGPROGRAM
  32. #pragma vertex vert
  33. #pragma fragment fragEmpty
  34. #include "UnityCG.cginc"
  35. #include "TexturedStableFresnelCommon.cginc"
  36. ENDCG
  37. }
  38. Pass
  39. {
  40. Tags
  41. {
  42. "RenderType" = "Transparent"
  43. "Queue" = "Transparent"
  44. "LightMode" = "Always"
  45. }
  46. LOD 100
  47. Name "Depth Fill"
  48. Blend One One
  49. Lighting Off
  50. ZWrite Off
  51. Offset -1, 0
  52. ColorMask 0
  53. CGPROGRAM
  54. #pragma vertex vert
  55. #pragma fragment fragEmpty
  56. #include "UnityCG.cginc"
  57. #include "TexturedStableFresnelCommon.cginc"
  58. ENDCG
  59. }
  60. // Next, fill in with the base and rim color
  61. Pass
  62. {
  63. Tags
  64. {
  65. "RenderType" = "Transparent"
  66. "Queue" = "Transparent"
  67. }
  68. Name "Fresnel Color"
  69. Blend SrcAlpha OneMinusSrcAlpha
  70. Lighting Off
  71. ZTest LEqual
  72. ZWrite Off
  73. Offset -1, 0
  74. CGPROGRAM
  75. #pragma vertex vert
  76. #pragma fragment fragRimShader
  77. #include "UnityCG.cginc"
  78. #include "TexturedStableFresnelCommon.cginc"
  79. ENDCG
  80. }
  81. }
  82. FallBack "Diffuse"
  83. }