release.json 118 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412
  1. [
  2. 1,
  3. 0,
  4. 0,
  5. [
  6. [
  7. "cc.EffectAsset",
  8. [
  9. "_name",
  10. "shaders",
  11. "techniques"
  12. ],
  13. 0
  14. ]
  15. ],
  16. [
  17. [
  18. 0,
  19. 0,
  20. 1,
  21. 2,
  22. 4
  23. ]
  24. ],
  25. [
  26. [
  27. 0,
  28. "particles/builtin-particle-trail",
  29. [
  30. {
  31. "hash": 2100859085,
  32. "name": "particles/builtin-particle-trail|builtin/internal/particle-trail:vs_main|tinted-fs:add",
  33. "blocks": [
  34. {
  35. "name": "Constants",
  36. "stageFlags": 1,
  37. "binding": 0,
  38. "members": [
  39. {
  40. "name": "mainTiling_Offset",
  41. "type": 16,
  42. "count": 1
  43. },
  44. {
  45. "name": "frameTile_velLenScale",
  46. "type": 16,
  47. "count": 1
  48. },
  49. {
  50. "name": "scale",
  51. "type": 16,
  52. "count": 1
  53. },
  54. {
  55. "name": "nodeRotation",
  56. "type": 16,
  57. "count": 1
  58. }
  59. ],
  60. "defines": []
  61. },
  62. {
  63. "name": "FragConstants",
  64. "stageFlags": 16,
  65. "binding": 1,
  66. "members": [
  67. {
  68. "name": "tintColor",
  69. "type": 16,
  70. "count": 1
  71. }
  72. ],
  73. "defines": []
  74. }
  75. ],
  76. "samplerTextures": [
  77. {
  78. "name": "mainTexture",
  79. "type": 28,
  80. "count": 1,
  81. "stageFlags": 16,
  82. "binding": 2,
  83. "defines": []
  84. }
  85. ],
  86. "samplers": [],
  87. "textures": [],
  88. "buffers": [],
  89. "images": [],
  90. "subpassInputs": [],
  91. "attributes": [
  92. {
  93. "name": "a_position",
  94. "format": 32,
  95. "location": 0,
  96. "defines": []
  97. },
  98. {
  99. "name": "a_texCoord",
  100. "format": 44,
  101. "location": 1,
  102. "defines": []
  103. },
  104. {
  105. "name": "a_texCoord1",
  106. "format": 32,
  107. "location": 2,
  108. "defines": []
  109. },
  110. {
  111. "name": "a_texCoord2",
  112. "format": 32,
  113. "location": 3,
  114. "defines": []
  115. },
  116. {
  117. "name": "a_color",
  118. "format": 44,
  119. "location": 4,
  120. "defines": []
  121. }
  122. ],
  123. "fragColors": [
  124. {
  125. "name": "cc_FragColor",
  126. "typename": "vec4",
  127. "type": 16,
  128. "count": 1,
  129. "stageFlags": 16,
  130. "location": 0,
  131. "defines": []
  132. }
  133. ],
  134. "descriptors": [
  135. {
  136. "rate": 0,
  137. "blocks": [
  138. {
  139. "name": "CCLocal",
  140. "stageFlags": 1,
  141. "tags": {
  142. "builtin": "local"
  143. },
  144. "members": [
  145. {
  146. "name": "cc_matWorld",
  147. "typename": "mat4",
  148. "type": 25,
  149. "count": 1,
  150. "precision": "highp "
  151. },
  152. {
  153. "name": "cc_matWorldIT",
  154. "typename": "mat4",
  155. "type": 25,
  156. "count": 1,
  157. "precision": "highp "
  158. },
  159. {
  160. "name": "cc_lightingMapUVParam",
  161. "typename": "vec4",
  162. "type": 16,
  163. "count": 1,
  164. "precision": "highp "
  165. },
  166. {
  167. "name": "cc_localShadowBias",
  168. "typename": "vec4",
  169. "type": 16,
  170. "count": 1,
  171. "precision": "highp "
  172. },
  173. {
  174. "name": "cc_reflectionProbeData1",
  175. "typename": "vec4",
  176. "type": 16,
  177. "count": 1,
  178. "precision": "highp "
  179. },
  180. {
  181. "name": "cc_reflectionProbeData2",
  182. "typename": "vec4",
  183. "type": 16,
  184. "count": 1,
  185. "precision": "highp "
  186. },
  187. {
  188. "name": "cc_reflectionProbeBlendData1",
  189. "typename": "vec4",
  190. "type": 16,
  191. "count": 1,
  192. "precision": "highp "
  193. },
  194. {
  195. "name": "cc_reflectionProbeBlendData2",
  196. "typename": "vec4",
  197. "type": 16,
  198. "count": 1,
  199. "precision": "highp "
  200. }
  201. ],
  202. "defines": []
  203. }
  204. ],
  205. "samplerTextures": [],
  206. "samplers": [],
  207. "textures": [],
  208. "buffers": [],
  209. "images": [],
  210. "subpassInputs": []
  211. },
  212. {
  213. "rate": 1,
  214. "blocks": [
  215. {
  216. "name": "Constants",
  217. "stageFlags": 1,
  218. "binding": 0,
  219. "members": [
  220. {
  221. "name": "mainTiling_Offset",
  222. "type": 16,
  223. "count": 1
  224. },
  225. {
  226. "name": "frameTile_velLenScale",
  227. "type": 16,
  228. "count": 1
  229. },
  230. {
  231. "name": "scale",
  232. "type": 16,
  233. "count": 1
  234. },
  235. {
  236. "name": "nodeRotation",
  237. "type": 16,
  238. "count": 1
  239. }
  240. ],
  241. "defines": []
  242. },
  243. {
  244. "name": "FragConstants",
  245. "stageFlags": 16,
  246. "binding": 1,
  247. "members": [
  248. {
  249. "name": "tintColor",
  250. "type": 16,
  251. "count": 1
  252. }
  253. ],
  254. "defines": []
  255. }
  256. ],
  257. "samplerTextures": [
  258. {
  259. "name": "mainTexture",
  260. "type": 28,
  261. "count": 1,
  262. "stageFlags": 16,
  263. "binding": 2,
  264. "defines": []
  265. }
  266. ],
  267. "samplers": [],
  268. "textures": [],
  269. "buffers": [],
  270. "images": [],
  271. "subpassInputs": []
  272. },
  273. {
  274. "rate": 2,
  275. "blocks": [],
  276. "samplerTextures": [],
  277. "samplers": [],
  278. "textures": [],
  279. "buffers": [],
  280. "images": [],
  281. "subpassInputs": []
  282. },
  283. {
  284. "rate": 3,
  285. "blocks": [
  286. {
  287. "name": "CCGlobal",
  288. "stageFlags": 17,
  289. "tags": {
  290. "builtin": "global"
  291. },
  292. "members": [
  293. {
  294. "name": "cc_time",
  295. "typename": "vec4",
  296. "type": 16,
  297. "count": 1,
  298. "precision": "highp "
  299. },
  300. {
  301. "name": "cc_screenSize",
  302. "typename": "vec4",
  303. "type": 16,
  304. "count": 1,
  305. "precision": "mediump "
  306. },
  307. {
  308. "name": "cc_nativeSize",
  309. "typename": "vec4",
  310. "type": 16,
  311. "count": 1,
  312. "precision": "mediump "
  313. },
  314. {
  315. "name": "cc_probeInfo",
  316. "typename": "vec4",
  317. "type": 16,
  318. "count": 1,
  319. "precision": "mediump "
  320. },
  321. {
  322. "name": "cc_debug_view_mode",
  323. "typename": "vec4",
  324. "type": 16,
  325. "count": 1,
  326. "precision": "mediump "
  327. }
  328. ],
  329. "defines": []
  330. },
  331. {
  332. "name": "CCCamera",
  333. "stageFlags": 17,
  334. "tags": {
  335. "builtin": "global"
  336. },
  337. "members": [
  338. {
  339. "name": "cc_matView",
  340. "typename": "mat4",
  341. "type": 25,
  342. "count": 1,
  343. "precision": "highp "
  344. },
  345. {
  346. "name": "cc_matViewInv",
  347. "typename": "mat4",
  348. "type": 25,
  349. "count": 1,
  350. "precision": "highp "
  351. },
  352. {
  353. "name": "cc_matProj",
  354. "typename": "mat4",
  355. "type": 25,
  356. "count": 1,
  357. "precision": "highp "
  358. },
  359. {
  360. "name": "cc_matProjInv",
  361. "typename": "mat4",
  362. "type": 25,
  363. "count": 1,
  364. "precision": "highp "
  365. },
  366. {
  367. "name": "cc_matViewProj",
  368. "typename": "mat4",
  369. "type": 25,
  370. "count": 1,
  371. "precision": "highp "
  372. },
  373. {
  374. "name": "cc_matViewProjInv",
  375. "typename": "mat4",
  376. "type": 25,
  377. "count": 1,
  378. "precision": "highp "
  379. },
  380. {
  381. "name": "cc_cameraPos",
  382. "typename": "vec4",
  383. "type": 16,
  384. "count": 1,
  385. "precision": "highp "
  386. },
  387. {
  388. "name": "cc_surfaceTransform",
  389. "typename": "vec4",
  390. "type": 16,
  391. "count": 1,
  392. "precision": "mediump "
  393. },
  394. {
  395. "name": "cc_screenScale",
  396. "typename": "vec4",
  397. "type": 16,
  398. "count": 1,
  399. "precision": "mediump "
  400. },
  401. {
  402. "name": "cc_exposure",
  403. "typename": "vec4",
  404. "type": 16,
  405. "count": 1,
  406. "precision": "mediump "
  407. },
  408. {
  409. "name": "cc_mainLitDir",
  410. "typename": "vec4",
  411. "type": 16,
  412. "count": 1,
  413. "precision": "mediump "
  414. },
  415. {
  416. "name": "cc_mainLitColor",
  417. "typename": "vec4",
  418. "type": 16,
  419. "count": 1,
  420. "precision": "mediump "
  421. },
  422. {
  423. "name": "cc_ambientSky",
  424. "typename": "vec4",
  425. "type": 16,
  426. "count": 1,
  427. "precision": "mediump "
  428. },
  429. {
  430. "name": "cc_ambientGround",
  431. "typename": "vec4",
  432. "type": 16,
  433. "count": 1,
  434. "precision": "mediump "
  435. },
  436. {
  437. "name": "cc_fogColor",
  438. "typename": "vec4",
  439. "type": 16,
  440. "count": 1,
  441. "precision": "mediump "
  442. },
  443. {
  444. "name": "cc_fogBase",
  445. "typename": "vec4",
  446. "type": 16,
  447. "count": 1,
  448. "precision": "mediump "
  449. },
  450. {
  451. "name": "cc_fogAdd",
  452. "typename": "vec4",
  453. "type": 16,
  454. "count": 1,
  455. "precision": "mediump "
  456. },
  457. {
  458. "name": "cc_nearFar",
  459. "typename": "vec4",
  460. "type": 16,
  461. "count": 1,
  462. "precision": "mediump "
  463. },
  464. {
  465. "name": "cc_viewPort",
  466. "typename": "vec4",
  467. "type": 16,
  468. "count": 1,
  469. "precision": "mediump "
  470. }
  471. ],
  472. "defines": []
  473. }
  474. ],
  475. "samplerTextures": [],
  476. "samplers": [],
  477. "textures": [],
  478. "buffers": [],
  479. "images": [],
  480. "subpassInputs": []
  481. }
  482. ],
  483. "glsl1": {
  484. "vert": "\nprecision mediump float;\n uniform vec4 mainTiling_Offset;\nuniform highp mat4 cc_matViewProj;\n uniform highp vec4 cc_cameraPos;\nuniform highp mat4 cc_matWorld;\nvarying mediump vec2 uv;\nvarying mediump vec4 color;\nattribute vec3 a_position;\nattribute vec4 a_texCoord;\nattribute vec3 a_texCoord1;\nattribute vec3 a_texCoord2;\nattribute vec4 a_color;\n#if CC_DRAW_WIRE_FRAME\n varying vec3 vBarycentric;\n#endif\nvec4 vs_main() {\n highp vec4 pos = vec4(a_position, 1);\n vec4 velocity = vec4(a_texCoord1.xyz, 0);\n #if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n velocity = cc_matWorld * velocity;\n #endif\n float vertOffset = (a_texCoord.x - 0.5) * a_texCoord.y;\n vec3 camUp = normalize(cross(pos.xyz - cc_cameraPos.xyz, velocity.xyz));\n pos.xyz += camUp * vertOffset;\n pos = cc_matViewProj * pos;\n uv = a_texCoord.zw * mainTiling_Offset.xy + mainTiling_Offset.zw;;\n color = a_color;\n #if CC_DRAW_WIRE_FRAME\n vBarycentric = a_texCoord2;\n #endif\n return pos;\n}\nvoid main() { gl_Position = vs_main(); }",
  485. "frag": "\n precision mediump float;\n vec4 CCFragOutput (vec4 color) {\n return color;\n }\n varying vec2 uv;\n varying vec4 color;\n #if CC_DRAW_WIRE_FRAME\n varying vec3 vBarycentric;\n #endif\n uniform sampler2D mainTexture;\n uniform vec4 tintColor;\n vec4 add () {\n vec4 col = 2.0 * color * tintColor * texture2D(mainTexture, uv);\n#if CC_DRAW_WIRE_FRAME\n if (any(lessThan(vBarycentric, vec3(0.02)))) {\n col = vec4(0., 1., 1., 1.);\n }\n#endif\n return CCFragOutput(col);\n }\nvoid main() { gl_FragColor = add(); }"
  486. },
  487. "builtins": {
  488. "globals": {
  489. "blocks": [
  490. {
  491. "name": "CCGlobal",
  492. "defines": []
  493. },
  494. {
  495. "name": "CCCamera",
  496. "defines": []
  497. }
  498. ],
  499. "samplerTextures": [],
  500. "buffers": [],
  501. "images": []
  502. },
  503. "locals": {
  504. "blocks": [
  505. {
  506. "name": "CCLocal",
  507. "defines": []
  508. }
  509. ],
  510. "samplerTextures": [],
  511. "buffers": [],
  512. "images": []
  513. },
  514. "statistics": {
  515. "CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS": 60,
  516. "CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS": 43
  517. }
  518. },
  519. "defines": [
  520. {
  521. "name": "CC_RENDER_MODE",
  522. "type": "number",
  523. "range": [
  524. 0,
  525. 4
  526. ]
  527. },
  528. {
  529. "name": "CC_DRAW_WIRE_FRAME",
  530. "type": "boolean"
  531. },
  532. {
  533. "name": "CC_USE_WORLD_SPACE",
  534. "type": "boolean"
  535. }
  536. ]
  537. },
  538. {
  539. "hash": 3093758986,
  540. "name": "particles/builtin-particle-trail|builtin/internal/particle-trail:vs_main|tinted-fs:multiply",
  541. "blocks": [
  542. {
  543. "name": "Constants",
  544. "stageFlags": 1,
  545. "binding": 0,
  546. "members": [
  547. {
  548. "name": "mainTiling_Offset",
  549. "type": 16,
  550. "count": 1
  551. },
  552. {
  553. "name": "frameTile_velLenScale",
  554. "type": 16,
  555. "count": 1
  556. },
  557. {
  558. "name": "scale",
  559. "type": 16,
  560. "count": 1
  561. },
  562. {
  563. "name": "nodeRotation",
  564. "type": 16,
  565. "count": 1
  566. }
  567. ],
  568. "defines": []
  569. },
  570. {
  571. "name": "FragConstants",
  572. "stageFlags": 16,
  573. "binding": 1,
  574. "members": [
  575. {
  576. "name": "tintColor",
  577. "type": 16,
  578. "count": 1
  579. }
  580. ],
  581. "defines": []
  582. }
  583. ],
  584. "samplerTextures": [
  585. {
  586. "name": "mainTexture",
  587. "type": 28,
  588. "count": 1,
  589. "stageFlags": 16,
  590. "binding": 2,
  591. "defines": []
  592. }
  593. ],
  594. "samplers": [],
  595. "textures": [],
  596. "buffers": [],
  597. "images": [],
  598. "subpassInputs": [],
  599. "attributes": [
  600. {
  601. "name": "a_position",
  602. "format": 32,
  603. "location": 0,
  604. "defines": []
  605. },
  606. {
  607. "name": "a_texCoord",
  608. "format": 44,
  609. "location": 1,
  610. "defines": []
  611. },
  612. {
  613. "name": "a_texCoord1",
  614. "format": 32,
  615. "location": 2,
  616. "defines": []
  617. },
  618. {
  619. "name": "a_texCoord2",
  620. "format": 32,
  621. "location": 3,
  622. "defines": []
  623. },
  624. {
  625. "name": "a_color",
  626. "format": 44,
  627. "location": 4,
  628. "defines": []
  629. }
  630. ],
  631. "fragColors": [
  632. {
  633. "name": "cc_FragColor",
  634. "typename": "vec4",
  635. "type": 16,
  636. "count": 1,
  637. "stageFlags": 16,
  638. "location": 0,
  639. "defines": []
  640. }
  641. ],
  642. "descriptors": [
  643. {
  644. "rate": 0,
  645. "blocks": [
  646. {
  647. "name": "CCLocal",
  648. "stageFlags": 1,
  649. "tags": {
  650. "builtin": "local"
  651. },
  652. "members": [
  653. {
  654. "name": "cc_matWorld",
  655. "typename": "mat4",
  656. "type": 25,
  657. "count": 1,
  658. "precision": "highp "
  659. },
  660. {
  661. "name": "cc_matWorldIT",
  662. "typename": "mat4",
  663. "type": 25,
  664. "count": 1,
  665. "precision": "highp "
  666. },
  667. {
  668. "name": "cc_lightingMapUVParam",
  669. "typename": "vec4",
  670. "type": 16,
  671. "count": 1,
  672. "precision": "highp "
  673. },
  674. {
  675. "name": "cc_localShadowBias",
  676. "typename": "vec4",
  677. "type": 16,
  678. "count": 1,
  679. "precision": "highp "
  680. },
  681. {
  682. "name": "cc_reflectionProbeData1",
  683. "typename": "vec4",
  684. "type": 16,
  685. "count": 1,
  686. "precision": "highp "
  687. },
  688. {
  689. "name": "cc_reflectionProbeData2",
  690. "typename": "vec4",
  691. "type": 16,
  692. "count": 1,
  693. "precision": "highp "
  694. },
  695. {
  696. "name": "cc_reflectionProbeBlendData1",
  697. "typename": "vec4",
  698. "type": 16,
  699. "count": 1,
  700. "precision": "highp "
  701. },
  702. {
  703. "name": "cc_reflectionProbeBlendData2",
  704. "typename": "vec4",
  705. "type": 16,
  706. "count": 1,
  707. "precision": "highp "
  708. }
  709. ],
  710. "defines": []
  711. }
  712. ],
  713. "samplerTextures": [],
  714. "samplers": [],
  715. "textures": [],
  716. "buffers": [],
  717. "images": [],
  718. "subpassInputs": []
  719. },
  720. {
  721. "rate": 1,
  722. "blocks": [
  723. {
  724. "name": "Constants",
  725. "stageFlags": 1,
  726. "binding": 0,
  727. "members": [
  728. {
  729. "name": "mainTiling_Offset",
  730. "type": 16,
  731. "count": 1
  732. },
  733. {
  734. "name": "frameTile_velLenScale",
  735. "type": 16,
  736. "count": 1
  737. },
  738. {
  739. "name": "scale",
  740. "type": 16,
  741. "count": 1
  742. },
  743. {
  744. "name": "nodeRotation",
  745. "type": 16,
  746. "count": 1
  747. }
  748. ],
  749. "defines": []
  750. },
  751. {
  752. "name": "FragConstants",
  753. "stageFlags": 16,
  754. "binding": 1,
  755. "members": [
  756. {
  757. "name": "tintColor",
  758. "type": 16,
  759. "count": 1
  760. }
  761. ],
  762. "defines": []
  763. }
  764. ],
  765. "samplerTextures": [
  766. {
  767. "name": "mainTexture",
  768. "type": 28,
  769. "count": 1,
  770. "stageFlags": 16,
  771. "binding": 2,
  772. "defines": []
  773. }
  774. ],
  775. "samplers": [],
  776. "textures": [],
  777. "buffers": [],
  778. "images": [],
  779. "subpassInputs": []
  780. },
  781. {
  782. "rate": 2,
  783. "blocks": [],
  784. "samplerTextures": [],
  785. "samplers": [],
  786. "textures": [],
  787. "buffers": [],
  788. "images": [],
  789. "subpassInputs": []
  790. },
  791. {
  792. "rate": 3,
  793. "blocks": [
  794. {
  795. "name": "CCGlobal",
  796. "stageFlags": 17,
  797. "tags": {
  798. "builtin": "global"
  799. },
  800. "members": [
  801. {
  802. "name": "cc_time",
  803. "typename": "vec4",
  804. "type": 16,
  805. "count": 1,
  806. "precision": "highp "
  807. },
  808. {
  809. "name": "cc_screenSize",
  810. "typename": "vec4",
  811. "type": 16,
  812. "count": 1,
  813. "precision": "mediump "
  814. },
  815. {
  816. "name": "cc_nativeSize",
  817. "typename": "vec4",
  818. "type": 16,
  819. "count": 1,
  820. "precision": "mediump "
  821. },
  822. {
  823. "name": "cc_probeInfo",
  824. "typename": "vec4",
  825. "type": 16,
  826. "count": 1,
  827. "precision": "mediump "
  828. },
  829. {
  830. "name": "cc_debug_view_mode",
  831. "typename": "vec4",
  832. "type": 16,
  833. "count": 1,
  834. "precision": "mediump "
  835. }
  836. ],
  837. "defines": []
  838. },
  839. {
  840. "name": "CCCamera",
  841. "stageFlags": 17,
  842. "tags": {
  843. "builtin": "global"
  844. },
  845. "members": [
  846. {
  847. "name": "cc_matView",
  848. "typename": "mat4",
  849. "type": 25,
  850. "count": 1,
  851. "precision": "highp "
  852. },
  853. {
  854. "name": "cc_matViewInv",
  855. "typename": "mat4",
  856. "type": 25,
  857. "count": 1,
  858. "precision": "highp "
  859. },
  860. {
  861. "name": "cc_matProj",
  862. "typename": "mat4",
  863. "type": 25,
  864. "count": 1,
  865. "precision": "highp "
  866. },
  867. {
  868. "name": "cc_matProjInv",
  869. "typename": "mat4",
  870. "type": 25,
  871. "count": 1,
  872. "precision": "highp "
  873. },
  874. {
  875. "name": "cc_matViewProj",
  876. "typename": "mat4",
  877. "type": 25,
  878. "count": 1,
  879. "precision": "highp "
  880. },
  881. {
  882. "name": "cc_matViewProjInv",
  883. "typename": "mat4",
  884. "type": 25,
  885. "count": 1,
  886. "precision": "highp "
  887. },
  888. {
  889. "name": "cc_cameraPos",
  890. "typename": "vec4",
  891. "type": 16,
  892. "count": 1,
  893. "precision": "highp "
  894. },
  895. {
  896. "name": "cc_surfaceTransform",
  897. "typename": "vec4",
  898. "type": 16,
  899. "count": 1,
  900. "precision": "mediump "
  901. },
  902. {
  903. "name": "cc_screenScale",
  904. "typename": "vec4",
  905. "type": 16,
  906. "count": 1,
  907. "precision": "mediump "
  908. },
  909. {
  910. "name": "cc_exposure",
  911. "typename": "vec4",
  912. "type": 16,
  913. "count": 1,
  914. "precision": "mediump "
  915. },
  916. {
  917. "name": "cc_mainLitDir",
  918. "typename": "vec4",
  919. "type": 16,
  920. "count": 1,
  921. "precision": "mediump "
  922. },
  923. {
  924. "name": "cc_mainLitColor",
  925. "typename": "vec4",
  926. "type": 16,
  927. "count": 1,
  928. "precision": "mediump "
  929. },
  930. {
  931. "name": "cc_ambientSky",
  932. "typename": "vec4",
  933. "type": 16,
  934. "count": 1,
  935. "precision": "mediump "
  936. },
  937. {
  938. "name": "cc_ambientGround",
  939. "typename": "vec4",
  940. "type": 16,
  941. "count": 1,
  942. "precision": "mediump "
  943. },
  944. {
  945. "name": "cc_fogColor",
  946. "typename": "vec4",
  947. "type": 16,
  948. "count": 1,
  949. "precision": "mediump "
  950. },
  951. {
  952. "name": "cc_fogBase",
  953. "typename": "vec4",
  954. "type": 16,
  955. "count": 1,
  956. "precision": "mediump "
  957. },
  958. {
  959. "name": "cc_fogAdd",
  960. "typename": "vec4",
  961. "type": 16,
  962. "count": 1,
  963. "precision": "mediump "
  964. },
  965. {
  966. "name": "cc_nearFar",
  967. "typename": "vec4",
  968. "type": 16,
  969. "count": 1,
  970. "precision": "mediump "
  971. },
  972. {
  973. "name": "cc_viewPort",
  974. "typename": "vec4",
  975. "type": 16,
  976. "count": 1,
  977. "precision": "mediump "
  978. }
  979. ],
  980. "defines": []
  981. }
  982. ],
  983. "samplerTextures": [],
  984. "samplers": [],
  985. "textures": [],
  986. "buffers": [],
  987. "images": [],
  988. "subpassInputs": []
  989. }
  990. ],
  991. "glsl1": {
  992. "vert": "\nprecision mediump float;\n uniform vec4 mainTiling_Offset;\nuniform highp mat4 cc_matViewProj;\n uniform highp vec4 cc_cameraPos;\nuniform highp mat4 cc_matWorld;\nvarying mediump vec2 uv;\nvarying mediump vec4 color;\nattribute vec3 a_position;\nattribute vec4 a_texCoord;\nattribute vec3 a_texCoord1;\nattribute vec3 a_texCoord2;\nattribute vec4 a_color;\n#if CC_DRAW_WIRE_FRAME\n varying vec3 vBarycentric;\n#endif\nvec4 vs_main() {\n highp vec4 pos = vec4(a_position, 1);\n vec4 velocity = vec4(a_texCoord1.xyz, 0);\n #if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n velocity = cc_matWorld * velocity;\n #endif\n float vertOffset = (a_texCoord.x - 0.5) * a_texCoord.y;\n vec3 camUp = normalize(cross(pos.xyz - cc_cameraPos.xyz, velocity.xyz));\n pos.xyz += camUp * vertOffset;\n pos = cc_matViewProj * pos;\n uv = a_texCoord.zw * mainTiling_Offset.xy + mainTiling_Offset.zw;;\n color = a_color;\n #if CC_DRAW_WIRE_FRAME\n vBarycentric = a_texCoord2;\n #endif\n return pos;\n}\nvoid main() { gl_Position = vs_main(); }",
  993. "frag": "\n precision mediump float;\n vec4 CCFragOutput (vec4 color) {\n return color;\n }\n varying vec2 uv;\n varying vec4 color;\n #if CC_DRAW_WIRE_FRAME\n varying vec3 vBarycentric;\n #endif\n uniform sampler2D mainTexture;\n uniform vec4 tintColor;\n vec4 multiply () {\n vec4 col;\n vec4 texColor = texture2D(mainTexture, uv);\n col.rgb = tintColor.rgb * texColor.rgb * color.rgb * vec3(2.0);\n col.a = (1.0 - texColor.a) * (tintColor.a * color.a * 2.0);\n#if CC_DRAW_WIRE_FRAME\n if (any(lessThan(vBarycentric, vec3(0.02)))) {\n col = vec4(0., 1., 1., col.a);\n }\n#endif\n return CCFragOutput(col);\n }\nvoid main() { gl_FragColor = multiply(); }"
  994. },
  995. "builtins": {
  996. "globals": {
  997. "blocks": [
  998. {
  999. "name": "CCGlobal",
  1000. "defines": []
  1001. },
  1002. {
  1003. "name": "CCCamera",
  1004. "defines": []
  1005. }
  1006. ],
  1007. "samplerTextures": [],
  1008. "buffers": [],
  1009. "images": []
  1010. },
  1011. "locals": {
  1012. "blocks": [
  1013. {
  1014. "name": "CCLocal",
  1015. "defines": []
  1016. }
  1017. ],
  1018. "samplerTextures": [],
  1019. "buffers": [],
  1020. "images": []
  1021. },
  1022. "statistics": {
  1023. "CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS": 60,
  1024. "CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS": 43
  1025. }
  1026. },
  1027. "defines": [
  1028. {
  1029. "name": "CC_RENDER_MODE",
  1030. "type": "number",
  1031. "range": [
  1032. 0,
  1033. 4
  1034. ]
  1035. },
  1036. {
  1037. "name": "CC_DRAW_WIRE_FRAME",
  1038. "type": "boolean"
  1039. },
  1040. {
  1041. "name": "CC_USE_WORLD_SPACE",
  1042. "type": "boolean"
  1043. }
  1044. ]
  1045. },
  1046. {
  1047. "hash": 915995403,
  1048. "name": "particles/builtin-particle-trail|builtin/internal/particle-trail:vs_main|no-tint-fs:addSmooth",
  1049. "blocks": [
  1050. {
  1051. "name": "Constants",
  1052. "stageFlags": 1,
  1053. "binding": 0,
  1054. "members": [
  1055. {
  1056. "name": "mainTiling_Offset",
  1057. "type": 16,
  1058. "count": 1
  1059. },
  1060. {
  1061. "name": "frameTile_velLenScale",
  1062. "type": 16,
  1063. "count": 1
  1064. },
  1065. {
  1066. "name": "scale",
  1067. "type": 16,
  1068. "count": 1
  1069. },
  1070. {
  1071. "name": "nodeRotation",
  1072. "type": 16,
  1073. "count": 1
  1074. }
  1075. ],
  1076. "defines": []
  1077. }
  1078. ],
  1079. "samplerTextures": [
  1080. {
  1081. "name": "mainTexture",
  1082. "type": 28,
  1083. "count": 1,
  1084. "stageFlags": 16,
  1085. "binding": 1,
  1086. "defines": []
  1087. }
  1088. ],
  1089. "samplers": [],
  1090. "textures": [],
  1091. "buffers": [],
  1092. "images": [],
  1093. "subpassInputs": [],
  1094. "attributes": [
  1095. {
  1096. "name": "a_position",
  1097. "format": 32,
  1098. "location": 0,
  1099. "defines": []
  1100. },
  1101. {
  1102. "name": "a_texCoord",
  1103. "format": 44,
  1104. "location": 1,
  1105. "defines": []
  1106. },
  1107. {
  1108. "name": "a_texCoord1",
  1109. "format": 32,
  1110. "location": 2,
  1111. "defines": []
  1112. },
  1113. {
  1114. "name": "a_texCoord2",
  1115. "format": 32,
  1116. "location": 3,
  1117. "defines": []
  1118. },
  1119. {
  1120. "name": "a_color",
  1121. "format": 44,
  1122. "location": 4,
  1123. "defines": []
  1124. }
  1125. ],
  1126. "fragColors": [
  1127. {
  1128. "name": "cc_FragColor",
  1129. "typename": "vec4",
  1130. "type": 16,
  1131. "count": 1,
  1132. "stageFlags": 16,
  1133. "location": 0,
  1134. "defines": []
  1135. }
  1136. ],
  1137. "descriptors": [
  1138. {
  1139. "rate": 0,
  1140. "blocks": [
  1141. {
  1142. "name": "CCLocal",
  1143. "stageFlags": 1,
  1144. "tags": {
  1145. "builtin": "local"
  1146. },
  1147. "members": [
  1148. {
  1149. "name": "cc_matWorld",
  1150. "typename": "mat4",
  1151. "type": 25,
  1152. "count": 1,
  1153. "precision": "highp "
  1154. },
  1155. {
  1156. "name": "cc_matWorldIT",
  1157. "typename": "mat4",
  1158. "type": 25,
  1159. "count": 1,
  1160. "precision": "highp "
  1161. },
  1162. {
  1163. "name": "cc_lightingMapUVParam",
  1164. "typename": "vec4",
  1165. "type": 16,
  1166. "count": 1,
  1167. "precision": "highp "
  1168. },
  1169. {
  1170. "name": "cc_localShadowBias",
  1171. "typename": "vec4",
  1172. "type": 16,
  1173. "count": 1,
  1174. "precision": "highp "
  1175. },
  1176. {
  1177. "name": "cc_reflectionProbeData1",
  1178. "typename": "vec4",
  1179. "type": 16,
  1180. "count": 1,
  1181. "precision": "highp "
  1182. },
  1183. {
  1184. "name": "cc_reflectionProbeData2",
  1185. "typename": "vec4",
  1186. "type": 16,
  1187. "count": 1,
  1188. "precision": "highp "
  1189. },
  1190. {
  1191. "name": "cc_reflectionProbeBlendData1",
  1192. "typename": "vec4",
  1193. "type": 16,
  1194. "count": 1,
  1195. "precision": "highp "
  1196. },
  1197. {
  1198. "name": "cc_reflectionProbeBlendData2",
  1199. "typename": "vec4",
  1200. "type": 16,
  1201. "count": 1,
  1202. "precision": "highp "
  1203. }
  1204. ],
  1205. "defines": []
  1206. }
  1207. ],
  1208. "samplerTextures": [],
  1209. "samplers": [],
  1210. "textures": [],
  1211. "buffers": [],
  1212. "images": [],
  1213. "subpassInputs": []
  1214. },
  1215. {
  1216. "rate": 1,
  1217. "blocks": [
  1218. {
  1219. "name": "Constants",
  1220. "stageFlags": 1,
  1221. "binding": 0,
  1222. "members": [
  1223. {
  1224. "name": "mainTiling_Offset",
  1225. "type": 16,
  1226. "count": 1
  1227. },
  1228. {
  1229. "name": "frameTile_velLenScale",
  1230. "type": 16,
  1231. "count": 1
  1232. },
  1233. {
  1234. "name": "scale",
  1235. "type": 16,
  1236. "count": 1
  1237. },
  1238. {
  1239. "name": "nodeRotation",
  1240. "type": 16,
  1241. "count": 1
  1242. }
  1243. ],
  1244. "defines": []
  1245. }
  1246. ],
  1247. "samplerTextures": [
  1248. {
  1249. "name": "mainTexture",
  1250. "type": 28,
  1251. "count": 1,
  1252. "stageFlags": 16,
  1253. "binding": 1,
  1254. "defines": []
  1255. }
  1256. ],
  1257. "samplers": [],
  1258. "textures": [],
  1259. "buffers": [],
  1260. "images": [],
  1261. "subpassInputs": []
  1262. },
  1263. {
  1264. "rate": 2,
  1265. "blocks": [],
  1266. "samplerTextures": [],
  1267. "samplers": [],
  1268. "textures": [],
  1269. "buffers": [],
  1270. "images": [],
  1271. "subpassInputs": []
  1272. },
  1273. {
  1274. "rate": 3,
  1275. "blocks": [
  1276. {
  1277. "name": "CCGlobal",
  1278. "stageFlags": 17,
  1279. "tags": {
  1280. "builtin": "global"
  1281. },
  1282. "members": [
  1283. {
  1284. "name": "cc_time",
  1285. "typename": "vec4",
  1286. "type": 16,
  1287. "count": 1,
  1288. "precision": "highp "
  1289. },
  1290. {
  1291. "name": "cc_screenSize",
  1292. "typename": "vec4",
  1293. "type": 16,
  1294. "count": 1,
  1295. "precision": "mediump "
  1296. },
  1297. {
  1298. "name": "cc_nativeSize",
  1299. "typename": "vec4",
  1300. "type": 16,
  1301. "count": 1,
  1302. "precision": "mediump "
  1303. },
  1304. {
  1305. "name": "cc_probeInfo",
  1306. "typename": "vec4",
  1307. "type": 16,
  1308. "count": 1,
  1309. "precision": "mediump "
  1310. },
  1311. {
  1312. "name": "cc_debug_view_mode",
  1313. "typename": "vec4",
  1314. "type": 16,
  1315. "count": 1,
  1316. "precision": "mediump "
  1317. }
  1318. ],
  1319. "defines": []
  1320. },
  1321. {
  1322. "name": "CCCamera",
  1323. "stageFlags": 17,
  1324. "tags": {
  1325. "builtin": "global"
  1326. },
  1327. "members": [
  1328. {
  1329. "name": "cc_matView",
  1330. "typename": "mat4",
  1331. "type": 25,
  1332. "count": 1,
  1333. "precision": "highp "
  1334. },
  1335. {
  1336. "name": "cc_matViewInv",
  1337. "typename": "mat4",
  1338. "type": 25,
  1339. "count": 1,
  1340. "precision": "highp "
  1341. },
  1342. {
  1343. "name": "cc_matProj",
  1344. "typename": "mat4",
  1345. "type": 25,
  1346. "count": 1,
  1347. "precision": "highp "
  1348. },
  1349. {
  1350. "name": "cc_matProjInv",
  1351. "typename": "mat4",
  1352. "type": 25,
  1353. "count": 1,
  1354. "precision": "highp "
  1355. },
  1356. {
  1357. "name": "cc_matViewProj",
  1358. "typename": "mat4",
  1359. "type": 25,
  1360. "count": 1,
  1361. "precision": "highp "
  1362. },
  1363. {
  1364. "name": "cc_matViewProjInv",
  1365. "typename": "mat4",
  1366. "type": 25,
  1367. "count": 1,
  1368. "precision": "highp "
  1369. },
  1370. {
  1371. "name": "cc_cameraPos",
  1372. "typename": "vec4",
  1373. "type": 16,
  1374. "count": 1,
  1375. "precision": "highp "
  1376. },
  1377. {
  1378. "name": "cc_surfaceTransform",
  1379. "typename": "vec4",
  1380. "type": 16,
  1381. "count": 1,
  1382. "precision": "mediump "
  1383. },
  1384. {
  1385. "name": "cc_screenScale",
  1386. "typename": "vec4",
  1387. "type": 16,
  1388. "count": 1,
  1389. "precision": "mediump "
  1390. },
  1391. {
  1392. "name": "cc_exposure",
  1393. "typename": "vec4",
  1394. "type": 16,
  1395. "count": 1,
  1396. "precision": "mediump "
  1397. },
  1398. {
  1399. "name": "cc_mainLitDir",
  1400. "typename": "vec4",
  1401. "type": 16,
  1402. "count": 1,
  1403. "precision": "mediump "
  1404. },
  1405. {
  1406. "name": "cc_mainLitColor",
  1407. "typename": "vec4",
  1408. "type": 16,
  1409. "count": 1,
  1410. "precision": "mediump "
  1411. },
  1412. {
  1413. "name": "cc_ambientSky",
  1414. "typename": "vec4",
  1415. "type": 16,
  1416. "count": 1,
  1417. "precision": "mediump "
  1418. },
  1419. {
  1420. "name": "cc_ambientGround",
  1421. "typename": "vec4",
  1422. "type": 16,
  1423. "count": 1,
  1424. "precision": "mediump "
  1425. },
  1426. {
  1427. "name": "cc_fogColor",
  1428. "typename": "vec4",
  1429. "type": 16,
  1430. "count": 1,
  1431. "precision": "mediump "
  1432. },
  1433. {
  1434. "name": "cc_fogBase",
  1435. "typename": "vec4",
  1436. "type": 16,
  1437. "count": 1,
  1438. "precision": "mediump "
  1439. },
  1440. {
  1441. "name": "cc_fogAdd",
  1442. "typename": "vec4",
  1443. "type": 16,
  1444. "count": 1,
  1445. "precision": "mediump "
  1446. },
  1447. {
  1448. "name": "cc_nearFar",
  1449. "typename": "vec4",
  1450. "type": 16,
  1451. "count": 1,
  1452. "precision": "mediump "
  1453. },
  1454. {
  1455. "name": "cc_viewPort",
  1456. "typename": "vec4",
  1457. "type": 16,
  1458. "count": 1,
  1459. "precision": "mediump "
  1460. }
  1461. ],
  1462. "defines": []
  1463. }
  1464. ],
  1465. "samplerTextures": [],
  1466. "samplers": [],
  1467. "textures": [],
  1468. "buffers": [],
  1469. "images": [],
  1470. "subpassInputs": []
  1471. }
  1472. ],
  1473. "glsl1": {
  1474. "vert": "\nprecision mediump float;\n uniform vec4 mainTiling_Offset;\nuniform highp mat4 cc_matViewProj;\n uniform highp vec4 cc_cameraPos;\nuniform highp mat4 cc_matWorld;\nvarying mediump vec2 uv;\nvarying mediump vec4 color;\nattribute vec3 a_position;\nattribute vec4 a_texCoord;\nattribute vec3 a_texCoord1;\nattribute vec3 a_texCoord2;\nattribute vec4 a_color;\n#if CC_DRAW_WIRE_FRAME\n varying vec3 vBarycentric;\n#endif\nvec4 vs_main() {\n highp vec4 pos = vec4(a_position, 1);\n vec4 velocity = vec4(a_texCoord1.xyz, 0);\n #if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n velocity = cc_matWorld * velocity;\n #endif\n float vertOffset = (a_texCoord.x - 0.5) * a_texCoord.y;\n vec3 camUp = normalize(cross(pos.xyz - cc_cameraPos.xyz, velocity.xyz));\n pos.xyz += camUp * vertOffset;\n pos = cc_matViewProj * pos;\n uv = a_texCoord.zw * mainTiling_Offset.xy + mainTiling_Offset.zw;;\n color = a_color;\n #if CC_DRAW_WIRE_FRAME\n vBarycentric = a_texCoord2;\n #endif\n return pos;\n}\nvoid main() { gl_Position = vs_main(); }",
  1475. "frag": "\nprecision mediump float;\nvec4 CCFragOutput (vec4 color) {\n return color;\n}\nvarying vec2 uv;\nvarying vec4 color;\nuniform sampler2D mainTexture;\nvec4 addSmooth () {\n vec4 col = color * texture2D(mainTexture, uv);\n col.rgb *= col.a;\n return CCFragOutput(col);\n}\nvoid main() { gl_FragColor = addSmooth(); }"
  1476. },
  1477. "builtins": {
  1478. "globals": {
  1479. "blocks": [
  1480. {
  1481. "name": "CCGlobal",
  1482. "defines": []
  1483. },
  1484. {
  1485. "name": "CCCamera",
  1486. "defines": []
  1487. }
  1488. ],
  1489. "samplerTextures": [],
  1490. "buffers": [],
  1491. "images": []
  1492. },
  1493. "locals": {
  1494. "blocks": [
  1495. {
  1496. "name": "CCLocal",
  1497. "defines": []
  1498. }
  1499. ],
  1500. "samplerTextures": [],
  1501. "buffers": [],
  1502. "images": []
  1503. },
  1504. "statistics": {
  1505. "CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS": 60,
  1506. "CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS": 42
  1507. }
  1508. },
  1509. "defines": [
  1510. {
  1511. "name": "CC_RENDER_MODE",
  1512. "type": "number",
  1513. "range": [
  1514. 0,
  1515. 4
  1516. ]
  1517. },
  1518. {
  1519. "name": "CC_DRAW_WIRE_FRAME",
  1520. "type": "boolean"
  1521. },
  1522. {
  1523. "name": "CC_USE_WORLD_SPACE",
  1524. "type": "boolean"
  1525. }
  1526. ]
  1527. },
  1528. {
  1529. "hash": 2435723114,
  1530. "name": "particles/builtin-particle-trail|builtin/internal/particle-trail:vs_main|no-tint-fs:premultiplied",
  1531. "blocks": [
  1532. {
  1533. "name": "Constants",
  1534. "stageFlags": 1,
  1535. "binding": 0,
  1536. "members": [
  1537. {
  1538. "name": "mainTiling_Offset",
  1539. "type": 16,
  1540. "count": 1
  1541. },
  1542. {
  1543. "name": "frameTile_velLenScale",
  1544. "type": 16,
  1545. "count": 1
  1546. },
  1547. {
  1548. "name": "scale",
  1549. "type": 16,
  1550. "count": 1
  1551. },
  1552. {
  1553. "name": "nodeRotation",
  1554. "type": 16,
  1555. "count": 1
  1556. }
  1557. ],
  1558. "defines": []
  1559. }
  1560. ],
  1561. "samplerTextures": [
  1562. {
  1563. "name": "mainTexture",
  1564. "type": 28,
  1565. "count": 1,
  1566. "stageFlags": 16,
  1567. "binding": 1,
  1568. "defines": []
  1569. }
  1570. ],
  1571. "samplers": [],
  1572. "textures": [],
  1573. "buffers": [],
  1574. "images": [],
  1575. "subpassInputs": [],
  1576. "attributes": [
  1577. {
  1578. "name": "a_position",
  1579. "format": 32,
  1580. "location": 0,
  1581. "defines": []
  1582. },
  1583. {
  1584. "name": "a_texCoord",
  1585. "format": 44,
  1586. "location": 1,
  1587. "defines": []
  1588. },
  1589. {
  1590. "name": "a_texCoord1",
  1591. "format": 32,
  1592. "location": 2,
  1593. "defines": []
  1594. },
  1595. {
  1596. "name": "a_texCoord2",
  1597. "format": 32,
  1598. "location": 3,
  1599. "defines": []
  1600. },
  1601. {
  1602. "name": "a_color",
  1603. "format": 44,
  1604. "location": 4,
  1605. "defines": []
  1606. }
  1607. ],
  1608. "fragColors": [
  1609. {
  1610. "name": "cc_FragColor",
  1611. "typename": "vec4",
  1612. "type": 16,
  1613. "count": 1,
  1614. "stageFlags": 16,
  1615. "location": 0,
  1616. "defines": []
  1617. }
  1618. ],
  1619. "descriptors": [
  1620. {
  1621. "rate": 0,
  1622. "blocks": [
  1623. {
  1624. "name": "CCLocal",
  1625. "stageFlags": 1,
  1626. "tags": {
  1627. "builtin": "local"
  1628. },
  1629. "members": [
  1630. {
  1631. "name": "cc_matWorld",
  1632. "typename": "mat4",
  1633. "type": 25,
  1634. "count": 1,
  1635. "precision": "highp "
  1636. },
  1637. {
  1638. "name": "cc_matWorldIT",
  1639. "typename": "mat4",
  1640. "type": 25,
  1641. "count": 1,
  1642. "precision": "highp "
  1643. },
  1644. {
  1645. "name": "cc_lightingMapUVParam",
  1646. "typename": "vec4",
  1647. "type": 16,
  1648. "count": 1,
  1649. "precision": "highp "
  1650. },
  1651. {
  1652. "name": "cc_localShadowBias",
  1653. "typename": "vec4",
  1654. "type": 16,
  1655. "count": 1,
  1656. "precision": "highp "
  1657. },
  1658. {
  1659. "name": "cc_reflectionProbeData1",
  1660. "typename": "vec4",
  1661. "type": 16,
  1662. "count": 1,
  1663. "precision": "highp "
  1664. },
  1665. {
  1666. "name": "cc_reflectionProbeData2",
  1667. "typename": "vec4",
  1668. "type": 16,
  1669. "count": 1,
  1670. "precision": "highp "
  1671. },
  1672. {
  1673. "name": "cc_reflectionProbeBlendData1",
  1674. "typename": "vec4",
  1675. "type": 16,
  1676. "count": 1,
  1677. "precision": "highp "
  1678. },
  1679. {
  1680. "name": "cc_reflectionProbeBlendData2",
  1681. "typename": "vec4",
  1682. "type": 16,
  1683. "count": 1,
  1684. "precision": "highp "
  1685. }
  1686. ],
  1687. "defines": []
  1688. }
  1689. ],
  1690. "samplerTextures": [],
  1691. "samplers": [],
  1692. "textures": [],
  1693. "buffers": [],
  1694. "images": [],
  1695. "subpassInputs": []
  1696. },
  1697. {
  1698. "rate": 1,
  1699. "blocks": [
  1700. {
  1701. "name": "Constants",
  1702. "stageFlags": 1,
  1703. "binding": 0,
  1704. "members": [
  1705. {
  1706. "name": "mainTiling_Offset",
  1707. "type": 16,
  1708. "count": 1
  1709. },
  1710. {
  1711. "name": "frameTile_velLenScale",
  1712. "type": 16,
  1713. "count": 1
  1714. },
  1715. {
  1716. "name": "scale",
  1717. "type": 16,
  1718. "count": 1
  1719. },
  1720. {
  1721. "name": "nodeRotation",
  1722. "type": 16,
  1723. "count": 1
  1724. }
  1725. ],
  1726. "defines": []
  1727. }
  1728. ],
  1729. "samplerTextures": [
  1730. {
  1731. "name": "mainTexture",
  1732. "type": 28,
  1733. "count": 1,
  1734. "stageFlags": 16,
  1735. "binding": 1,
  1736. "defines": []
  1737. }
  1738. ],
  1739. "samplers": [],
  1740. "textures": [],
  1741. "buffers": [],
  1742. "images": [],
  1743. "subpassInputs": []
  1744. },
  1745. {
  1746. "rate": 2,
  1747. "blocks": [],
  1748. "samplerTextures": [],
  1749. "samplers": [],
  1750. "textures": [],
  1751. "buffers": [],
  1752. "images": [],
  1753. "subpassInputs": []
  1754. },
  1755. {
  1756. "rate": 3,
  1757. "blocks": [
  1758. {
  1759. "name": "CCGlobal",
  1760. "stageFlags": 17,
  1761. "tags": {
  1762. "builtin": "global"
  1763. },
  1764. "members": [
  1765. {
  1766. "name": "cc_time",
  1767. "typename": "vec4",
  1768. "type": 16,
  1769. "count": 1,
  1770. "precision": "highp "
  1771. },
  1772. {
  1773. "name": "cc_screenSize",
  1774. "typename": "vec4",
  1775. "type": 16,
  1776. "count": 1,
  1777. "precision": "mediump "
  1778. },
  1779. {
  1780. "name": "cc_nativeSize",
  1781. "typename": "vec4",
  1782. "type": 16,
  1783. "count": 1,
  1784. "precision": "mediump "
  1785. },
  1786. {
  1787. "name": "cc_probeInfo",
  1788. "typename": "vec4",
  1789. "type": 16,
  1790. "count": 1,
  1791. "precision": "mediump "
  1792. },
  1793. {
  1794. "name": "cc_debug_view_mode",
  1795. "typename": "vec4",
  1796. "type": 16,
  1797. "count": 1,
  1798. "precision": "mediump "
  1799. }
  1800. ],
  1801. "defines": []
  1802. },
  1803. {
  1804. "name": "CCCamera",
  1805. "stageFlags": 17,
  1806. "tags": {
  1807. "builtin": "global"
  1808. },
  1809. "members": [
  1810. {
  1811. "name": "cc_matView",
  1812. "typename": "mat4",
  1813. "type": 25,
  1814. "count": 1,
  1815. "precision": "highp "
  1816. },
  1817. {
  1818. "name": "cc_matViewInv",
  1819. "typename": "mat4",
  1820. "type": 25,
  1821. "count": 1,
  1822. "precision": "highp "
  1823. },
  1824. {
  1825. "name": "cc_matProj",
  1826. "typename": "mat4",
  1827. "type": 25,
  1828. "count": 1,
  1829. "precision": "highp "
  1830. },
  1831. {
  1832. "name": "cc_matProjInv",
  1833. "typename": "mat4",
  1834. "type": 25,
  1835. "count": 1,
  1836. "precision": "highp "
  1837. },
  1838. {
  1839. "name": "cc_matViewProj",
  1840. "typename": "mat4",
  1841. "type": 25,
  1842. "count": 1,
  1843. "precision": "highp "
  1844. },
  1845. {
  1846. "name": "cc_matViewProjInv",
  1847. "typename": "mat4",
  1848. "type": 25,
  1849. "count": 1,
  1850. "precision": "highp "
  1851. },
  1852. {
  1853. "name": "cc_cameraPos",
  1854. "typename": "vec4",
  1855. "type": 16,
  1856. "count": 1,
  1857. "precision": "highp "
  1858. },
  1859. {
  1860. "name": "cc_surfaceTransform",
  1861. "typename": "vec4",
  1862. "type": 16,
  1863. "count": 1,
  1864. "precision": "mediump "
  1865. },
  1866. {
  1867. "name": "cc_screenScale",
  1868. "typename": "vec4",
  1869. "type": 16,
  1870. "count": 1,
  1871. "precision": "mediump "
  1872. },
  1873. {
  1874. "name": "cc_exposure",
  1875. "typename": "vec4",
  1876. "type": 16,
  1877. "count": 1,
  1878. "precision": "mediump "
  1879. },
  1880. {
  1881. "name": "cc_mainLitDir",
  1882. "typename": "vec4",
  1883. "type": 16,
  1884. "count": 1,
  1885. "precision": "mediump "
  1886. },
  1887. {
  1888. "name": "cc_mainLitColor",
  1889. "typename": "vec4",
  1890. "type": 16,
  1891. "count": 1,
  1892. "precision": "mediump "
  1893. },
  1894. {
  1895. "name": "cc_ambientSky",
  1896. "typename": "vec4",
  1897. "type": 16,
  1898. "count": 1,
  1899. "precision": "mediump "
  1900. },
  1901. {
  1902. "name": "cc_ambientGround",
  1903. "typename": "vec4",
  1904. "type": 16,
  1905. "count": 1,
  1906. "precision": "mediump "
  1907. },
  1908. {
  1909. "name": "cc_fogColor",
  1910. "typename": "vec4",
  1911. "type": 16,
  1912. "count": 1,
  1913. "precision": "mediump "
  1914. },
  1915. {
  1916. "name": "cc_fogBase",
  1917. "typename": "vec4",
  1918. "type": 16,
  1919. "count": 1,
  1920. "precision": "mediump "
  1921. },
  1922. {
  1923. "name": "cc_fogAdd",
  1924. "typename": "vec4",
  1925. "type": 16,
  1926. "count": 1,
  1927. "precision": "mediump "
  1928. },
  1929. {
  1930. "name": "cc_nearFar",
  1931. "typename": "vec4",
  1932. "type": 16,
  1933. "count": 1,
  1934. "precision": "mediump "
  1935. },
  1936. {
  1937. "name": "cc_viewPort",
  1938. "typename": "vec4",
  1939. "type": 16,
  1940. "count": 1,
  1941. "precision": "mediump "
  1942. }
  1943. ],
  1944. "defines": []
  1945. }
  1946. ],
  1947. "samplerTextures": [],
  1948. "samplers": [],
  1949. "textures": [],
  1950. "buffers": [],
  1951. "images": [],
  1952. "subpassInputs": []
  1953. }
  1954. ],
  1955. "glsl1": {
  1956. "vert": "\nprecision mediump float;\n uniform vec4 mainTiling_Offset;\nuniform highp mat4 cc_matViewProj;\n uniform highp vec4 cc_cameraPos;\nuniform highp mat4 cc_matWorld;\nvarying mediump vec2 uv;\nvarying mediump vec4 color;\nattribute vec3 a_position;\nattribute vec4 a_texCoord;\nattribute vec3 a_texCoord1;\nattribute vec3 a_texCoord2;\nattribute vec4 a_color;\n#if CC_DRAW_WIRE_FRAME\n varying vec3 vBarycentric;\n#endif\nvec4 vs_main() {\n highp vec4 pos = vec4(a_position, 1);\n vec4 velocity = vec4(a_texCoord1.xyz, 0);\n #if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n velocity = cc_matWorld * velocity;\n #endif\n float vertOffset = (a_texCoord.x - 0.5) * a_texCoord.y;\n vec3 camUp = normalize(cross(pos.xyz - cc_cameraPos.xyz, velocity.xyz));\n pos.xyz += camUp * vertOffset;\n pos = cc_matViewProj * pos;\n uv = a_texCoord.zw * mainTiling_Offset.xy + mainTiling_Offset.zw;;\n color = a_color;\n #if CC_DRAW_WIRE_FRAME\n vBarycentric = a_texCoord2;\n #endif\n return pos;\n}\nvoid main() { gl_Position = vs_main(); }",
  1957. "frag": "\nprecision mediump float;\nvec4 CCFragOutput (vec4 color) {\n return color;\n}\nvarying vec2 uv;\nvarying vec4 color;\nuniform sampler2D mainTexture;\nvec4 premultiplied () {\n vec4 col = color * texture2D(mainTexture, uv) * color.a;\n return CCFragOutput(col);\n}\nvoid main() { gl_FragColor = premultiplied(); }"
  1958. },
  1959. "builtins": {
  1960. "globals": {
  1961. "blocks": [
  1962. {
  1963. "name": "CCGlobal",
  1964. "defines": []
  1965. },
  1966. {
  1967. "name": "CCCamera",
  1968. "defines": []
  1969. }
  1970. ],
  1971. "samplerTextures": [],
  1972. "buffers": [],
  1973. "images": []
  1974. },
  1975. "locals": {
  1976. "blocks": [
  1977. {
  1978. "name": "CCLocal",
  1979. "defines": []
  1980. }
  1981. ],
  1982. "samplerTextures": [],
  1983. "buffers": [],
  1984. "images": []
  1985. },
  1986. "statistics": {
  1987. "CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS": 60,
  1988. "CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS": 42
  1989. }
  1990. },
  1991. "defines": [
  1992. {
  1993. "name": "CC_RENDER_MODE",
  1994. "type": "number",
  1995. "range": [
  1996. 0,
  1997. 4
  1998. ]
  1999. },
  2000. {
  2001. "name": "CC_DRAW_WIRE_FRAME",
  2002. "type": "boolean"
  2003. },
  2004. {
  2005. "name": "CC_USE_WORLD_SPACE",
  2006. "type": "boolean"
  2007. }
  2008. ]
  2009. }
  2010. ],
  2011. [
  2012. {
  2013. "name": "add",
  2014. "passes": [
  2015. {
  2016. "program": "particles/builtin-particle-trail|builtin/internal/particle-trail:vs_main|tinted-fs:add",
  2017. "rasterizerState": {
  2018. "cullMode": 0
  2019. },
  2020. "blendState": {
  2021. "targets": [
  2022. {
  2023. "blend": true,
  2024. "blendSrc": 2,
  2025. "blendDst": 1,
  2026. "blendSrcAlpha": 2,
  2027. "blendDstAlpha": 1
  2028. }
  2029. ]
  2030. },
  2031. "depthStencilState": {
  2032. "depthTest": true,
  2033. "depthWrite": false
  2034. },
  2035. "properties": {
  2036. "mainTexture": {
  2037. "value": "grey",
  2038. "type": 28
  2039. },
  2040. "mainTiling_Offset": {
  2041. "type": 16,
  2042. "value": [
  2043. 1,
  2044. 1,
  2045. 0,
  2046. 0
  2047. ]
  2048. },
  2049. "frameTile_velLenScale": {
  2050. "type": 16,
  2051. "value": [
  2052. 1,
  2053. 1,
  2054. 0,
  2055. 0
  2056. ]
  2057. },
  2058. "tintColor": {
  2059. "type": 16,
  2060. "value": [
  2061. 0.5,
  2062. 0.5,
  2063. 0.5,
  2064. 0.5
  2065. ]
  2066. }
  2067. }
  2068. },
  2069. {
  2070. "phase": "deferred-forward",
  2071. "propertyIndex": 0,
  2072. "program": "particles/builtin-particle-trail|builtin/internal/particle-trail:vs_main|tinted-fs:add",
  2073. "rasterizerState": {
  2074. "cullMode": 0
  2075. },
  2076. "blendState": {
  2077. "targets": [
  2078. {
  2079. "blend": true,
  2080. "blendSrc": 2,
  2081. "blendDst": 1,
  2082. "blendSrcAlpha": 2,
  2083. "blendDstAlpha": 1
  2084. }
  2085. ]
  2086. },
  2087. "depthStencilState": {
  2088. "depthTest": true,
  2089. "depthWrite": false
  2090. }
  2091. }
  2092. ]
  2093. },
  2094. {
  2095. "name": "alpha-blend",
  2096. "passes": [
  2097. {
  2098. "program": "particles/builtin-particle-trail|builtin/internal/particle-trail:vs_main|tinted-fs:add",
  2099. "rasterizerState": {
  2100. "cullMode": 0
  2101. },
  2102. "blendState": {
  2103. "targets": [
  2104. {
  2105. "blend": true,
  2106. "blendSrc": 1,
  2107. "blendDst": 4,
  2108. "blendSrcAlpha": 1,
  2109. "blendDstAlpha": 4
  2110. }
  2111. ]
  2112. },
  2113. "depthStencilState": {
  2114. "depthTest": true,
  2115. "depthWrite": false
  2116. },
  2117. "properties": {
  2118. "mainTexture": {
  2119. "value": "grey",
  2120. "type": 28
  2121. },
  2122. "mainTiling_Offset": {
  2123. "type": 16,
  2124. "value": [
  2125. 1,
  2126. 1,
  2127. 0,
  2128. 0
  2129. ]
  2130. },
  2131. "frameTile_velLenScale": {
  2132. "type": 16,
  2133. "value": [
  2134. 1,
  2135. 1,
  2136. 0,
  2137. 0
  2138. ]
  2139. },
  2140. "tintColor": {
  2141. "type": 16,
  2142. "value": [
  2143. 0.5,
  2144. 0.5,
  2145. 0.5,
  2146. 0.5
  2147. ]
  2148. }
  2149. }
  2150. },
  2151. {
  2152. "phase": "deferred-forward",
  2153. "propertyIndex": 0,
  2154. "program": "particles/builtin-particle-trail|builtin/internal/particle-trail:vs_main|tinted-fs:add",
  2155. "rasterizerState": {
  2156. "cullMode": 0
  2157. },
  2158. "blendState": {
  2159. "targets": [
  2160. {
  2161. "blend": true,
  2162. "blendSrc": 1,
  2163. "blendDst": 4,
  2164. "blendSrcAlpha": 1,
  2165. "blendDstAlpha": 4
  2166. }
  2167. ]
  2168. },
  2169. "depthStencilState": {
  2170. "depthTest": true,
  2171. "depthWrite": false
  2172. }
  2173. }
  2174. ]
  2175. },
  2176. {
  2177. "name": "add-multiply",
  2178. "passes": [
  2179. {
  2180. "program": "particles/builtin-particle-trail|builtin/internal/particle-trail:vs_main|tinted-fs:multiply",
  2181. "rasterizerState": {
  2182. "cullMode": 0
  2183. },
  2184. "blendState": {
  2185. "targets": [
  2186. {
  2187. "blend": true,
  2188. "blendSrc": 1,
  2189. "blendDst": 4,
  2190. "blendSrcAlpha": 1,
  2191. "blendDstAlpha": 4
  2192. }
  2193. ]
  2194. },
  2195. "depthStencilState": {
  2196. "depthTest": true,
  2197. "depthWrite": false
  2198. },
  2199. "properties": {
  2200. "mainTexture": {
  2201. "value": "grey",
  2202. "type": 28
  2203. },
  2204. "mainTiling_Offset": {
  2205. "type": 16,
  2206. "value": [
  2207. 1,
  2208. 1,
  2209. 0,
  2210. 0
  2211. ]
  2212. },
  2213. "frameTile_velLenScale": {
  2214. "type": 16,
  2215. "value": [
  2216. 1,
  2217. 1,
  2218. 0,
  2219. 0
  2220. ]
  2221. },
  2222. "tintColor": {
  2223. "type": 16,
  2224. "value": [
  2225. 0.5,
  2226. 0.5,
  2227. 0.5,
  2228. 0.5
  2229. ]
  2230. }
  2231. }
  2232. },
  2233. {
  2234. "phase": "deferred-forward",
  2235. "propertyIndex": 0,
  2236. "program": "particles/builtin-particle-trail|builtin/internal/particle-trail:vs_main|tinted-fs:multiply",
  2237. "rasterizerState": {
  2238. "cullMode": 0
  2239. },
  2240. "blendState": {
  2241. "targets": [
  2242. {
  2243. "blend": true,
  2244. "blendSrc": 1,
  2245. "blendDst": 4,
  2246. "blendSrcAlpha": 1,
  2247. "blendDstAlpha": 4
  2248. }
  2249. ]
  2250. },
  2251. "depthStencilState": {
  2252. "depthTest": true,
  2253. "depthWrite": false
  2254. }
  2255. }
  2256. ]
  2257. },
  2258. {
  2259. "name": "add-smooth",
  2260. "passes": [
  2261. {
  2262. "program": "particles/builtin-particle-trail|builtin/internal/particle-trail:vs_main|no-tint-fs:addSmooth",
  2263. "rasterizerState": {
  2264. "cullMode": 0
  2265. },
  2266. "blendState": {
  2267. "targets": [
  2268. {
  2269. "blend": true,
  2270. "blendSrc": 1,
  2271. "blendDst": 4,
  2272. "blendSrcAlpha": 1,
  2273. "blendDstAlpha": 4
  2274. }
  2275. ]
  2276. },
  2277. "depthStencilState": {
  2278. "depthTest": true,
  2279. "depthWrite": false
  2280. },
  2281. "properties": {
  2282. "mainTexture": {
  2283. "value": "grey",
  2284. "type": 28
  2285. },
  2286. "mainTiling_Offset": {
  2287. "type": 16,
  2288. "value": [
  2289. 1,
  2290. 1,
  2291. 0,
  2292. 0
  2293. ]
  2294. },
  2295. "frameTile_velLenScale": {
  2296. "type": 16,
  2297. "value": [
  2298. 1,
  2299. 1,
  2300. 0,
  2301. 0
  2302. ]
  2303. }
  2304. }
  2305. },
  2306. {
  2307. "phase": "deferred-forward",
  2308. "propertyIndex": 0,
  2309. "program": "particles/builtin-particle-trail|builtin/internal/particle-trail:vs_main|no-tint-fs:addSmooth",
  2310. "rasterizerState": {
  2311. "cullMode": 0
  2312. },
  2313. "blendState": {
  2314. "targets": [
  2315. {
  2316. "blend": true,
  2317. "blendSrc": 1,
  2318. "blendDst": 4,
  2319. "blendSrcAlpha": 1,
  2320. "blendDstAlpha": 4
  2321. }
  2322. ]
  2323. },
  2324. "depthStencilState": {
  2325. "depthTest": true,
  2326. "depthWrite": false
  2327. }
  2328. }
  2329. ]
  2330. },
  2331. {
  2332. "name": "premultiply-blend",
  2333. "passes": [
  2334. {
  2335. "program": "particles/builtin-particle-trail|builtin/internal/particle-trail:vs_main|no-tint-fs:premultiplied",
  2336. "rasterizerState": {
  2337. "cullMode": 0
  2338. },
  2339. "blendState": {
  2340. "targets": [
  2341. {
  2342. "blend": true,
  2343. "blendSrc": 1,
  2344. "blendDst": 4,
  2345. "blendSrcAlpha": 1,
  2346. "blendDstAlpha": 4
  2347. }
  2348. ]
  2349. },
  2350. "depthStencilState": {
  2351. "depthTest": true,
  2352. "depthWrite": false
  2353. },
  2354. "properties": {
  2355. "mainTexture": {
  2356. "value": "grey",
  2357. "type": 28
  2358. },
  2359. "mainTiling_Offset": {
  2360. "type": 16,
  2361. "value": [
  2362. 1,
  2363. 1,
  2364. 0,
  2365. 0
  2366. ]
  2367. },
  2368. "frameTile_velLenScale": {
  2369. "type": 16,
  2370. "value": [
  2371. 1,
  2372. 1,
  2373. 0,
  2374. 0
  2375. ]
  2376. }
  2377. }
  2378. },
  2379. {
  2380. "phase": "deferred-forward",
  2381. "propertyIndex": 0,
  2382. "program": "particles/builtin-particle-trail|builtin/internal/particle-trail:vs_main|no-tint-fs:premultiplied",
  2383. "rasterizerState": {
  2384. "cullMode": 0
  2385. },
  2386. "blendState": {
  2387. "targets": [
  2388. {
  2389. "blend": true,
  2390. "blendSrc": 1,
  2391. "blendDst": 4,
  2392. "blendSrcAlpha": 1,
  2393. "blendDstAlpha": 4
  2394. }
  2395. ]
  2396. },
  2397. "depthStencilState": {
  2398. "depthTest": true,
  2399. "depthWrite": false
  2400. }
  2401. }
  2402. ]
  2403. }
  2404. ]
  2405. ]
  2406. ],
  2407. 0,
  2408. 0,
  2409. [],
  2410. [],
  2411. []
  2412. ]