Preview_TexturePropertyNode.shader 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. Shader "Hidden/TexturePropertyNode"
  2. {
  3. Properties
  4. {
  5. _Sampler ("_Sampler", 2D) = "white" {}
  6. _Sampler3D ("_Sampler3D", 3D) = "white" {}
  7. _Array ("_Array", 2DArray) = "white" {}
  8. _Cube( "_Cube", CUBE) = "white" {}
  9. _Default ("_Default", Int) = 0
  10. _Type ("_Type", Int) = 0
  11. }
  12. SubShader
  13. {
  14. Pass
  15. {
  16. CGPROGRAM
  17. #pragma vertex vert_img
  18. #pragma fragment frag
  19. #pragma target 3.5
  20. #include "UnityCG.cginc"
  21. #include "Preview.cginc"
  22. int _Default;
  23. float4 frag( v2f_img i ) : SV_Target
  24. {
  25. if(_Default == 1)
  26. {
  27. return 1;
  28. }
  29. else if(_Default == 2)
  30. {
  31. return 0;
  32. }
  33. else if(_Default == 3)
  34. {
  35. return 0.5f;
  36. }
  37. else if(_Default == 4)
  38. {
  39. return float4(0.5,0.5,1,1);
  40. }
  41. return 1;
  42. }
  43. ENDCG
  44. }
  45. Pass
  46. {
  47. CGPROGRAM
  48. #pragma vertex vert_img
  49. #pragma fragment frag
  50. #pragma target 3.5
  51. #include "UnityCG.cginc"
  52. #include "Preview.cginc"
  53. UNITY_DECLARE_TEX2DARRAY (_Array);
  54. samplerCUBE _Cube;
  55. sampler2D _Sampler;
  56. sampler3D _Sampler3D;
  57. int _Type;
  58. float4 frag (v2f_img i) : SV_Target
  59. {
  60. if (_Type == 4)
  61. {
  62. return UNITY_SAMPLE_TEX2DARRAY (_Array, float3(i.uv, 0));
  63. }
  64. else if (_Type == 3)
  65. {
  66. return texCUBE (_Cube, float3(i.uv,0));
  67. }
  68. else if (_Type == 2)
  69. {
  70. return tex3D (_Sampler3D, float3(i.uv,0));
  71. }
  72. else
  73. {
  74. return tex2D (_Sampler, i.uv);
  75. }
  76. }
  77. ENDCG
  78. }
  79. }
  80. }