Preview_SimpleMultiplyOpNode.shader 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281
  1. Shader "Hidden/SimpleMultiplyOpNode"
  2. {
  3. Properties
  4. {
  5. _A ("_A", 2D) = "white" {}
  6. _B ("_B", 2D) = "white" {}
  7. _C ("_C", 2D) = "white" {}
  8. _D ("_D", 2D) = "white" {}
  9. _E ("_E", 2D) = "white" {}
  10. _F ("_F", 2D) = "white" {}
  11. _G ("_G", 2D) = "white" {}
  12. _H ("_H", 2D) = "white" {}
  13. _I ("_I", 2D) = "white" {}
  14. _J ("_J", 2D) = "white" {}
  15. _Count ("_Count", Int) = 0
  16. }
  17. SubShader
  18. {
  19. Pass //2
  20. {
  21. CGPROGRAM
  22. #include "UnityCG.cginc"
  23. #include "Preview.cginc"
  24. #pragma vertex vert_img
  25. #pragma fragment frag
  26. sampler2D _A;
  27. sampler2D _B;
  28. float4 frag( v2f_img i ) : SV_Target
  29. {
  30. float4 a = tex2D( _A, i.uv );
  31. float4 b = tex2D( _B, i.uv );
  32. return a * b;
  33. }
  34. ENDCG
  35. }
  36. Pass //3
  37. {
  38. CGPROGRAM
  39. #include "UnityCG.cginc"
  40. #include "Preview.cginc"
  41. #pragma vertex vert_img
  42. #pragma fragment frag
  43. sampler2D _A;
  44. sampler2D _B;
  45. sampler2D _C;
  46. float4 frag( v2f_img i ) : SV_Target
  47. {
  48. float4 a = tex2D( _A, i.uv );
  49. float4 b = tex2D( _B, i.uv );
  50. float4 c = tex2D( _C, i.uv );
  51. return a * b * c;
  52. }
  53. ENDCG
  54. }
  55. Pass //4
  56. {
  57. CGPROGRAM
  58. #include "UnityCG.cginc"
  59. #include "Preview.cginc"
  60. #pragma vertex vert_img
  61. #pragma fragment frag
  62. sampler2D _A;
  63. sampler2D _B;
  64. sampler2D _C;
  65. sampler2D _D;
  66. float4 frag( v2f_img i ) : SV_Target
  67. {
  68. float4 a = tex2D( _A, i.uv );
  69. float4 b = tex2D( _B, i.uv );
  70. float4 c = tex2D( _C, i.uv );
  71. float4 d = tex2D( _D, i.uv );
  72. return a * b * c * d;
  73. }
  74. ENDCG
  75. }
  76. Pass //5
  77. {
  78. CGPROGRAM
  79. #include "UnityCG.cginc"
  80. #include "Preview.cginc"
  81. #pragma vertex vert_img
  82. #pragma fragment frag
  83. sampler2D _A;
  84. sampler2D _B;
  85. sampler2D _C;
  86. sampler2D _D;
  87. sampler2D _E;
  88. float4 frag( v2f_img i ) : SV_Target
  89. {
  90. float4 a = tex2D( _A, i.uv );
  91. float4 b = tex2D( _B, i.uv );
  92. float4 c = tex2D( _C, i.uv );
  93. float4 d = tex2D( _D, i.uv );
  94. float4 e = tex2D( _E, i.uv );
  95. return a * b * c * d * e;
  96. }
  97. ENDCG
  98. }
  99. Pass //6
  100. {
  101. CGPROGRAM
  102. #include "UnityCG.cginc"
  103. #include "Preview.cginc"
  104. #pragma vertex vert_img
  105. #pragma fragment frag
  106. sampler2D _A;
  107. sampler2D _B;
  108. sampler2D _C;
  109. sampler2D _D;
  110. sampler2D _E;
  111. sampler2D _F;
  112. float4 frag( v2f_img i ) : SV_Target
  113. {
  114. float4 a = tex2D( _A, i.uv );
  115. float4 b = tex2D( _B, i.uv );
  116. float4 c = tex2D( _C, i.uv );
  117. float4 d = tex2D( _D, i.uv );
  118. float4 e = tex2D( _E, i.uv );
  119. float4 f = tex2D( _F, i.uv );
  120. return a * b * c * d * e * f;
  121. }
  122. ENDCG
  123. }
  124. Pass //7
  125. {
  126. CGPROGRAM
  127. #include "UnityCG.cginc"
  128. #include "Preview.cginc"
  129. #pragma vertex vert_img
  130. #pragma fragment frag
  131. sampler2D _A;
  132. sampler2D _B;
  133. sampler2D _C;
  134. sampler2D _D;
  135. sampler2D _E;
  136. sampler2D _F;
  137. sampler2D _G;
  138. float4 frag( v2f_img i ) : SV_Target
  139. {
  140. float4 a = tex2D( _A, i.uv );
  141. float4 b = tex2D( _B, i.uv );
  142. float4 c = tex2D( _C, i.uv );
  143. float4 d = tex2D( _D, i.uv );
  144. float4 e = tex2D( _E, i.uv );
  145. float4 f = tex2D( _F, i.uv );
  146. float4 g = tex2D( _G, i.uv );
  147. return a * b * c * d * e * f * g;
  148. }
  149. ENDCG
  150. }
  151. Pass //8
  152. {
  153. CGPROGRAM
  154. #include "UnityCG.cginc"
  155. #include "Preview.cginc"
  156. #pragma vertex vert_img
  157. #pragma fragment frag
  158. sampler2D _A;
  159. sampler2D _B;
  160. sampler2D _C;
  161. sampler2D _D;
  162. sampler2D _E;
  163. sampler2D _F;
  164. sampler2D _G;
  165. sampler2D _H;
  166. float4 frag( v2f_img i ) : SV_Target
  167. {
  168. float4 a = tex2D( _A, i.uv );
  169. float4 b = tex2D( _B, i.uv );
  170. float4 c = tex2D( _C, i.uv );
  171. float4 d = tex2D( _D, i.uv );
  172. float4 e = tex2D( _E, i.uv );
  173. float4 f = tex2D( _F, i.uv );
  174. float4 g = tex2D( _G, i.uv );
  175. float4 h = tex2D( _H, i.uv );
  176. return a * b * c * d * e * f * g * h;
  177. }
  178. ENDCG
  179. }
  180. Pass //9
  181. {
  182. CGPROGRAM
  183. #include "UnityCG.cginc"
  184. #include "Preview.cginc"
  185. #pragma vertex vert_img
  186. #pragma fragment frag
  187. sampler2D _A;
  188. sampler2D _B;
  189. sampler2D _C;
  190. sampler2D _D;
  191. sampler2D _E;
  192. sampler2D _F;
  193. sampler2D _G;
  194. sampler2D _H;
  195. sampler2D _I;
  196. float4 frag( v2f_img i ) : SV_Target
  197. {
  198. float4 a = tex2D( _A, i.uv );
  199. float4 b = tex2D( _B, i.uv );
  200. float4 c = tex2D( _C, i.uv );
  201. float4 d = tex2D( _D, i.uv );
  202. float4 e = tex2D( _E, i.uv );
  203. float4 f = tex2D( _F, i.uv );
  204. float4 g = tex2D( _G, i.uv );
  205. float4 h = tex2D( _H, i.uv );
  206. float4 is = tex2D( _I, i.uv );
  207. return a * b * c * d * e * f * g * h * is;
  208. }
  209. ENDCG
  210. }
  211. Pass //10
  212. {
  213. CGPROGRAM
  214. #include "UnityCG.cginc"
  215. #include "Preview.cginc"
  216. #pragma vertex vert_img
  217. #pragma fragment frag
  218. sampler2D _A;
  219. sampler2D _B;
  220. sampler2D _C;
  221. sampler2D _D;
  222. sampler2D _E;
  223. sampler2D _F;
  224. sampler2D _G;
  225. sampler2D _H;
  226. sampler2D _I;
  227. sampler2D _J;
  228. float4 frag( v2f_img i ) : SV_Target
  229. {
  230. float4 a = tex2D( _A, i.uv );
  231. float4 b = tex2D( _B, i.uv );
  232. float4 c = tex2D( _C, i.uv );
  233. float4 d = tex2D( _D, i.uv );
  234. float4 e = tex2D( _E, i.uv );
  235. float4 f = tex2D( _F, i.uv );
  236. float4 g = tex2D( _G, i.uv );
  237. float4 h = tex2D( _H, i.uv );
  238. float4 is = tex2D( _I, i.uv );
  239. float4 j = tex2D( _J, i.uv );
  240. return a * b * c * d * e * f * g * h * is * j;
  241. }
  242. ENDCG
  243. }
  244. }
  245. }