17debcc3-0a6b-4b8a-b00b-dc58b885581e.json 99 KB

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