WireFloat.shader 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. ///
  2. /// Basic wireframe shader that can be used for rendering spatial mapping meshes.
  3. ///
  4. Shader "Hololens Shader Pack/Wire floating"
  5. {
  6. Properties
  7. {
  8. _WireColor("Wire color", Color) = (1.0, 1.0, 1.0, 1.0)
  9. [PowerSlider(2.0)] _Amount("Wire Thickness", Range(0.0001,0.1)) = 0.01
  10. }
  11. SubShader
  12. {
  13. Tags{ "RenderType" = "Opaque" "Queue" = "Geometry+1" }
  14. Pass
  15. {
  16. Cull Front
  17. ColorMask 0
  18. CGPROGRAM
  19. #include "HoloCP.cginc"
  20. #pragma vertex vert
  21. #pragma fragment frag
  22. fixed _Amount;
  23. struct v2f
  24. {
  25. fixed4 viewPos : SV_POSITION;
  26. UNITY_VERTEX_OUTPUT_STEREO
  27. };
  28. v2f vert(appdata_base v)
  29. {
  30. UNITY_SETUP_INSTANCE_ID(v);
  31. v2f o;
  32. o.viewPos = UnityObjectToClipPos(v.vertex);
  33. UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
  34. return o;
  35. }
  36. fixed4 frag(v2f i) : COLOR
  37. {
  38. return 0;
  39. }
  40. ENDCG
  41. }
  42. Tags{ "RenderType" = "Transparent" "Queue" = "Transparent-1" }
  43. Pass
  44. {
  45. Cull Front
  46. CGPROGRAM
  47. #include "HoloCP.cginc"
  48. #pragma vertex vert
  49. #pragma fragment frag
  50. fixed4 _WireColor;
  51. fixed _Amount;
  52. struct v2f
  53. {
  54. fixed4 viewPos : SV_POSITION;
  55. UNITY_VERTEX_OUTPUT_STEREO
  56. };
  57. v2f vert(appdata_base v)
  58. {
  59. UNITY_SETUP_INSTANCE_ID(v);
  60. v2f o;
  61. o.viewPos = UnityObjectToClipPos(v.vertex + normalize(v.normal) * _Amount);
  62. UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
  63. return o;
  64. }
  65. fixed4 frag(v2f i) : COLOR
  66. {
  67. return _WireColor;
  68. }
  69. ENDCG
  70. }
  71. }
  72. FallBack "Diffuse"
  73. }