cafd95c9-c558-46f9-9812-1224b65c09ee.json 59 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191
  1. {
  2. "__type__": "cc.EffectAsset",
  3. "_name": "pipeline/post-process/color-grading",
  4. "_objFlags": 0,
  5. "__editorExtras__": {},
  6. "_native": "",
  7. "techniques": [
  8. {
  9. "passes": [
  10. {
  11. "pass": "color-grading-nx1",
  12. "rasterizerState": {
  13. "cullMode": 0
  14. },
  15. "blendState": {
  16. "targets": [
  17. {
  18. "blend": false,
  19. "blendSrc": 1,
  20. "blendDst": 0
  21. }
  22. ]
  23. },
  24. "program": "pipeline/post-process/color-grading|color-grading-vs|color-grading-nx1-fs",
  25. "depthStencilState": {
  26. "depthTest": false,
  27. "depthWrite": false
  28. }
  29. },
  30. {
  31. "pass": "color-grading-8x8",
  32. "rasterizerState": {
  33. "cullMode": 0
  34. },
  35. "blendState": {
  36. "targets": [
  37. {
  38. "blend": false,
  39. "blendSrc": 1,
  40. "blendDst": 0
  41. }
  42. ]
  43. },
  44. "program": "pipeline/post-process/color-grading|color-grading-vs|color-grading-8x8-fs",
  45. "depthStencilState": {
  46. "depthTest": false,
  47. "depthWrite": false
  48. }
  49. }
  50. ]
  51. }
  52. ],
  53. "shaders": [
  54. {
  55. "blocks": [
  56. {
  57. "name": "ColorGradingUBO",
  58. "members": [
  59. {
  60. "name": "lutTextureSize",
  61. "type": 14,
  62. "count": 1
  63. },
  64. {
  65. "name": "contribute",
  66. "type": 13,
  67. "count": 1
  68. }
  69. ],
  70. "defines": [],
  71. "stageFlags": 16,
  72. "binding": 0
  73. }
  74. ],
  75. "samplerTextures": [
  76. {
  77. "name": "colorGradingMap",
  78. "type": 28,
  79. "count": 1,
  80. "defines": [],
  81. "stageFlags": 16,
  82. "binding": 2
  83. }
  84. ],
  85. "samplers": [],
  86. "textures": [],
  87. "buffers": [],
  88. "images": [],
  89. "subpassInputs": [],
  90. "attributes": [
  91. {
  92. "name": "a_position",
  93. "defines": [],
  94. "format": 32,
  95. "location": 0
  96. },
  97. {
  98. "name": "a_normal",
  99. "defines": [],
  100. "format": 32,
  101. "location": 1
  102. },
  103. {
  104. "name": "a_texCoord",
  105. "defines": [],
  106. "format": 21,
  107. "location": 2
  108. },
  109. {
  110. "name": "a_tangent",
  111. "defines": [],
  112. "format": 44,
  113. "location": 3
  114. },
  115. {
  116. "name": "a_joints",
  117. "defines": [
  118. "CC_USE_SKINNING"
  119. ],
  120. "location": 4
  121. },
  122. {
  123. "name": "a_weights",
  124. "defines": [
  125. "CC_USE_SKINNING"
  126. ],
  127. "format": 44,
  128. "location": 5
  129. },
  130. {
  131. "name": "a_jointAnimInfo",
  132. "defines": [
  133. "USE_INSTANCING",
  134. "CC_USE_BAKED_ANIMATION"
  135. ],
  136. "format": 44,
  137. "isInstanced": true,
  138. "location": 6
  139. },
  140. {
  141. "name": "a_matWorld0",
  142. "defines": [
  143. "USE_INSTANCING"
  144. ],
  145. "format": 44,
  146. "isInstanced": true,
  147. "location": 7
  148. },
  149. {
  150. "name": "a_matWorld1",
  151. "defines": [
  152. "USE_INSTANCING"
  153. ],
  154. "format": 44,
  155. "isInstanced": true,
  156. "location": 8
  157. },
  158. {
  159. "name": "a_matWorld2",
  160. "defines": [
  161. "USE_INSTANCING"
  162. ],
  163. "format": 44,
  164. "isInstanced": true,
  165. "location": 9
  166. },
  167. {
  168. "name": "a_lightingMapUVParam",
  169. "defines": [
  170. "USE_INSTANCING",
  171. "CC_USE_LIGHTMAP"
  172. ],
  173. "format": 44,
  174. "isInstanced": true,
  175. "location": 10
  176. },
  177. {
  178. "name": "a_localShadowBiasAndProbeId",
  179. "defines": [
  180. "USE_INSTANCING"
  181. ],
  182. "format": 44,
  183. "isInstanced": true,
  184. "location": 11
  185. },
  186. {
  187. "name": "a_reflectionProbeData",
  188. "defines": [
  189. "USE_INSTANCING",
  190. "CC_USE_REFLECTION_PROBE"
  191. ],
  192. "format": 44,
  193. "isInstanced": true,
  194. "location": 12
  195. },
  196. {
  197. "name": "a_sh_linear_const_r",
  198. "defines": [
  199. "USE_INSTANCING",
  200. "CC_USE_LIGHT_PROBE"
  201. ],
  202. "format": 44,
  203. "isInstanced": true,
  204. "location": 13
  205. },
  206. {
  207. "name": "a_sh_linear_const_g",
  208. "defines": [
  209. "USE_INSTANCING",
  210. "CC_USE_LIGHT_PROBE"
  211. ],
  212. "format": 44,
  213. "isInstanced": true,
  214. "location": 14
  215. },
  216. {
  217. "name": "a_sh_linear_const_b",
  218. "defines": [
  219. "USE_INSTANCING",
  220. "CC_USE_LIGHT_PROBE"
  221. ],
  222. "format": 44,
  223. "isInstanced": true,
  224. "location": 15
  225. },
  226. {
  227. "name": "a_vertexId",
  228. "defines": [
  229. "CC_USE_MORPH"
  230. ],
  231. "format": 11,
  232. "location": 16
  233. }
  234. ],
  235. "varyings": [
  236. {
  237. "name": "v_uv",
  238. "type": 14,
  239. "count": 1,
  240. "defines": [],
  241. "stageFlags": 17,
  242. "location": 0
  243. }
  244. ],
  245. "fragColors": [
  246. {
  247. "name": "fragColor",
  248. "typename": "vec4",
  249. "type": 16,
  250. "count": 1,
  251. "defines": [],
  252. "stageFlags": 16,
  253. "location": 0
  254. }
  255. ],
  256. "descriptors": [
  257. {
  258. "rate": 0,
  259. "blocks": [],
  260. "samplerTextures": [],
  261. "samplers": [],
  262. "textures": [],
  263. "buffers": [],
  264. "images": [],
  265. "subpassInputs": []
  266. },
  267. {
  268. "rate": 1,
  269. "blocks": [
  270. {
  271. "name": "ColorGradingUBO",
  272. "members": [
  273. {
  274. "name": "lutTextureSize",
  275. "type": 14,
  276. "count": 1
  277. },
  278. {
  279. "name": "contribute",
  280. "type": 13,
  281. "count": 1
  282. }
  283. ],
  284. "defines": [],
  285. "stageFlags": 16,
  286. "binding": 0
  287. }
  288. ],
  289. "samplerTextures": [
  290. {
  291. "name": "colorGradingMap",
  292. "type": 28,
  293. "count": 1,
  294. "defines": [],
  295. "stageFlags": 16,
  296. "binding": 2
  297. }
  298. ],
  299. "samplers": [],
  300. "textures": [],
  301. "buffers": [],
  302. "images": [],
  303. "subpassInputs": []
  304. },
  305. {
  306. "rate": 2,
  307. "blocks": [],
  308. "samplerTextures": [],
  309. "samplers": [],
  310. "textures": [],
  311. "buffers": [],
  312. "images": [],
  313. "subpassInputs": []
  314. },
  315. {
  316. "rate": 3,
  317. "blocks": [
  318. {
  319. "tags": {
  320. "builtin": "global"
  321. },
  322. "name": "CCGlobal",
  323. "members": [
  324. {
  325. "name": "cc_time",
  326. "typename": "vec4",
  327. "type": 16,
  328. "count": 1,
  329. "precision": "highp "
  330. },
  331. {
  332. "name": "cc_screenSize",
  333. "typename": "vec4",
  334. "type": 16,
  335. "count": 1,
  336. "precision": "mediump "
  337. },
  338. {
  339. "name": "cc_nativeSize",
  340. "typename": "vec4",
  341. "type": 16,
  342. "count": 1,
  343. "precision": "mediump "
  344. },
  345. {
  346. "name": "cc_probeInfo",
  347. "typename": "vec4",
  348. "type": 16,
  349. "count": 1,
  350. "precision": "mediump "
  351. },
  352. {
  353. "name": "cc_debug_view_mode",
  354. "typename": "vec4",
  355. "type": 16,
  356. "count": 1,
  357. "precision": "mediump "
  358. }
  359. ],
  360. "defines": [],
  361. "stageFlags": 1
  362. },
  363. {
  364. "tags": {
  365. "builtin": "global"
  366. },
  367. "name": "CCCamera",
  368. "members": [
  369. {
  370. "name": "cc_matView",
  371. "typename": "mat4",
  372. "type": 25,
  373. "count": 1,
  374. "precision": "highp "
  375. },
  376. {
  377. "name": "cc_matViewInv",
  378. "typename": "mat4",
  379. "type": 25,
  380. "count": 1,
  381. "precision": "highp "
  382. },
  383. {
  384. "name": "cc_matProj",
  385. "typename": "mat4",
  386. "type": 25,
  387. "count": 1,
  388. "precision": "highp "
  389. },
  390. {
  391. "name": "cc_matProjInv",
  392. "typename": "mat4",
  393. "type": 25,
  394. "count": 1,
  395. "precision": "highp "
  396. },
  397. {
  398. "name": "cc_matViewProj",
  399. "typename": "mat4",
  400. "type": 25,
  401. "count": 1,
  402. "precision": "highp "
  403. },
  404. {
  405. "name": "cc_matViewProjInv",
  406. "typename": "mat4",
  407. "type": 25,
  408. "count": 1,
  409. "precision": "highp "
  410. },
  411. {
  412. "name": "cc_cameraPos",
  413. "typename": "vec4",
  414. "type": 16,
  415. "count": 1,
  416. "precision": "highp "
  417. },
  418. {
  419. "name": "cc_surfaceTransform",
  420. "typename": "vec4",
  421. "type": 16,
  422. "count": 1,
  423. "precision": "mediump "
  424. },
  425. {
  426. "name": "cc_screenScale",
  427. "typename": "vec4",
  428. "type": 16,
  429. "count": 1,
  430. "precision": "mediump "
  431. },
  432. {
  433. "name": "cc_exposure",
  434. "typename": "vec4",
  435. "type": 16,
  436. "count": 1,
  437. "precision": "mediump "
  438. },
  439. {
  440. "name": "cc_mainLitDir",
  441. "typename": "vec4",
  442. "type": 16,
  443. "count": 1,
  444. "precision": "mediump "
  445. },
  446. {
  447. "name": "cc_mainLitColor",
  448. "typename": "vec4",
  449. "type": 16,
  450. "count": 1,
  451. "precision": "mediump "
  452. },
  453. {
  454. "name": "cc_ambientSky",
  455. "typename": "vec4",
  456. "type": 16,
  457. "count": 1,
  458. "precision": "mediump "
  459. },
  460. {
  461. "name": "cc_ambientGround",
  462. "typename": "vec4",
  463. "type": 16,
  464. "count": 1,
  465. "precision": "mediump "
  466. },
  467. {
  468. "name": "cc_fogColor",
  469. "typename": "vec4",
  470. "type": 16,
  471. "count": 1,
  472. "precision": "mediump "
  473. },
  474. {
  475. "name": "cc_fogBase",
  476. "typename": "vec4",
  477. "type": 16,
  478. "count": 1,
  479. "precision": "mediump "
  480. },
  481. {
  482. "name": "cc_fogAdd",
  483. "typename": "vec4",
  484. "type": 16,
  485. "count": 1,
  486. "precision": "mediump "
  487. },
  488. {
  489. "name": "cc_nearFar",
  490. "typename": "vec4",
  491. "type": 16,
  492. "count": 1,
  493. "precision": "mediump "
  494. },
  495. {
  496. "name": "cc_viewPort",
  497. "typename": "vec4",
  498. "type": 16,
  499. "count": 1,
  500. "precision": "mediump "
  501. }
  502. ],
  503. "defines": [],
  504. "stageFlags": 1
  505. }
  506. ],
  507. "samplerTextures": [
  508. {
  509. "name": "sceneColorMap",
  510. "type": 28,
  511. "count": 1,
  512. "defines": [],
  513. "stageFlags": 16,
  514. "binding": 1
  515. }
  516. ],
  517. "samplers": [],
  518. "textures": [],
  519. "buffers": [],
  520. "images": [],
  521. "subpassInputs": []
  522. }
  523. ],
  524. "hash": 1725964682,
  525. "glsl4": {
  526. "vert": "\nprecision highp float;\n#define QUATER_PI 0.78539816340\n#define HALF_PI 1.57079632679\n#define PI 3.14159265359\n#define PI2 6.28318530718\n#define PI4 12.5663706144\n#define INV_QUATER_PI 1.27323954474\n#define INV_HALF_PI 0.63661977237\n#define INV_PI 0.31830988618\n#define INV_PI2 0.15915494309\n#define INV_PI4 0.07957747155\n#define EPSILON 1e-6\n#define EPSILON_LOWP 1e-4\n#define LOG2 1.442695\n#define EXP_VALUE 2.71828183\n#define FP_MAX 65504.0\n#define FP_SCALE 0.0009765625\n#define FP_SCALE_INV 1024.0\n#define GRAY_VECTOR vec3(0.299, 0.587, 0.114)\n#define LIGHT_MAP_TYPE_DISABLED 0\n#define LIGHT_MAP_TYPE_ALL_IN_ONE 1\n#define LIGHT_MAP_TYPE_INDIRECT_OCCLUSION 2\n#define REFLECTION_PROBE_TYPE_NONE 0\n#define REFLECTION_PROBE_TYPE_CUBE 1\n#define REFLECTION_PROBE_TYPE_PLANAR 2\n#define REFLECTION_PROBE_TYPE_BLEND 3\n#define REFLECTION_PROBE_TYPE_BLEND_AND_SKYBOX 4\n#define LIGHT_TYPE_DIRECTIONAL 0.0\n#define LIGHT_TYPE_SPHERE 1.0\n#define LIGHT_TYPE_SPOT 2.0\n#define LIGHT_TYPE_POINT 3.0\n#define LIGHT_TYPE_RANGED_DIRECTIONAL 4.0\n#define IS_DIRECTIONAL_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_DIRECTIONAL)) < EPSILON_LOWP)\n#define IS_SPHERE_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_SPHERE)) < EPSILON_LOWP)\n#define IS_SPOT_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_SPOT)) < EPSILON_LOWP)\n#define IS_POINT_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_POINT)) < EPSILON_LOWP)\n#define IS_RANGED_DIRECTIONAL_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_RANGED_DIRECTIONAL)) < EPSILON_LOWP)\n#define TONE_MAPPING_ACES 0\n#define TONE_MAPPING_LINEAR 1\n#define SURFACES_MAX_TRANSMIT_DEPTH_VALUE 999999.0\n#ifndef CC_SURFACES_DEBUG_VIEW_SINGLE\n #define CC_SURFACES_DEBUG_VIEW_SINGLE 1\n#endif\n#ifndef CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC\n #define CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC 2\n#endif\nstruct StandardVertInput {\n highp vec4 position;\n vec3 normal;\n vec4 tangent;\n};\nlayout(location = 0) in vec3 a_position;\nlayout(location = 1) in vec3 a_normal;\nlayout(location = 2) in vec2 a_texCoord;\nlayout(location = 3) in vec4 a_tangent;\n#if CC_USE_SKINNING\n layout(location = 4) in u32vec4 a_joints;\n layout(location = 5) in vec4 a_weights;\n#endif\n#if USE_INSTANCING\n #if CC_USE_BAKED_ANIMATION\n layout(location = 6) in highp vec4 a_jointAnimInfo;\n #endif\n layout(location = 7) in vec4 a_matWorld0;\n layout(location = 8) in vec4 a_matWorld1;\n layout(location = 9) in vec4 a_matWorld2;\n #if CC_USE_LIGHTMAP\n layout(location = 10) in vec4 a_lightingMapUVParam;\n #endif\n #if CC_USE_REFLECTION_PROBE || CC_RECEIVE_SHADOW\n #if CC_RECEIVE_SHADOW\n #endif\n layout(location = 11) in vec4 a_localShadowBiasAndProbeId;\n #endif\n #if CC_USE_REFLECTION_PROBE\n layout(location = 12) in vec4 a_reflectionProbeData;\n #endif\n #if CC_USE_LIGHT_PROBE\n layout(location = 13) in vec4 a_sh_linear_const_r;\n layout(location = 14) in vec4 a_sh_linear_const_g;\n layout(location = 15) in vec4 a_sh_linear_const_b;\n #endif\n#endif\n#if CC_USE_MORPH\n#endif\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(location = 0) out vec2 v_uv;\nvoid main () {\n StandardVertInput In;\n In.position = vec4(a_position, 1.0);\n In.normal = a_normal;\n In.tangent = a_tangent;\n In.position.xy = cc_cameraPos.w == 0.0 ? vec2(In.position.xy.x, -In.position.xy.y) : In.position.xy;\n gl_Position = In.position;\n v_uv = a_texCoord;\n}",
  527. "frag": "\nprecision highp float;\nlayout(set = 1, binding = 0) uniform ColorGradingUBO {\n vec2 lutTextureSize;\n float contribute;\n};\nlayout(set = 1, binding = 1) uniform sampler2D sceneColorMap;\nlayout(set = 1, binding = 2) uniform sampler2D colorGradingMap;\nlayout(location = 0) in vec2 v_uv;\nvec3 ColorGrading(sampler2D lutTexture, vec3 color) {\n float colors = lutTextureSize.x / lutTextureSize.y;\n vec3 colorGradingScale = vec3((colors - 1.0) / (colors * colors), (colors - 1.0) / colors, 1.0 / colors);\n vec2 colorGradingOffset = vec2(1.0 / (2.0 * colors * colors), 1.0 / (2.0 * colors));\n vec2 uv = vec2(color.r, 1.0 - color.g) * colorGradingScale.xy + colorGradingOffset;\n float b = color.b * (colors - 1.0);\n vec2 lr = floor(vec2(b, b + 1.0));\n float lerp = b - lr.x;\n lr *= colorGradingScale.z;\n vec3 left = texture(lutTexture, uv + vec2(lr.x, 0.0)).rgb;\n vec3 right = texture(lutTexture, uv + vec2(lr.y, 0.0)).rgb;\n return mix(left, right, lerp);\n}\nlayout(location = 0) out vec4 fragColor;\nvoid main () {\n vec4 sceneColor = texture(sceneColorMap, v_uv);\n vec3 gradeColor = ColorGrading(colorGradingMap, sceneColor.rgb);\n fragColor = mix(sceneColor, vec4(gradeColor, 1.0), contribute);\n}"
  528. },
  529. "glsl3": {
  530. "vert": "\nprecision highp float;\n#define QUATER_PI 0.78539816340\n#define HALF_PI 1.57079632679\n#define PI 3.14159265359\n#define PI2 6.28318530718\n#define PI4 12.5663706144\n#define INV_QUATER_PI 1.27323954474\n#define INV_HALF_PI 0.63661977237\n#define INV_PI 0.31830988618\n#define INV_PI2 0.15915494309\n#define INV_PI4 0.07957747155\n#define EPSILON 1e-6\n#define EPSILON_LOWP 1e-4\n#define LOG2 1.442695\n#define EXP_VALUE 2.71828183\n#define FP_MAX 65504.0\n#define FP_SCALE 0.0009765625\n#define FP_SCALE_INV 1024.0\n#define GRAY_VECTOR vec3(0.299, 0.587, 0.114)\n#define LIGHT_MAP_TYPE_DISABLED 0\n#define LIGHT_MAP_TYPE_ALL_IN_ONE 1\n#define LIGHT_MAP_TYPE_INDIRECT_OCCLUSION 2\n#define REFLECTION_PROBE_TYPE_NONE 0\n#define REFLECTION_PROBE_TYPE_CUBE 1\n#define REFLECTION_PROBE_TYPE_PLANAR 2\n#define REFLECTION_PROBE_TYPE_BLEND 3\n#define REFLECTION_PROBE_TYPE_BLEND_AND_SKYBOX 4\n#define LIGHT_TYPE_DIRECTIONAL 0.0\n#define LIGHT_TYPE_SPHERE 1.0\n#define LIGHT_TYPE_SPOT 2.0\n#define LIGHT_TYPE_POINT 3.0\n#define LIGHT_TYPE_RANGED_DIRECTIONAL 4.0\n#define IS_DIRECTIONAL_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_DIRECTIONAL)) < EPSILON_LOWP)\n#define IS_SPHERE_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_SPHERE)) < EPSILON_LOWP)\n#define IS_SPOT_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_SPOT)) < EPSILON_LOWP)\n#define IS_POINT_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_POINT)) < EPSILON_LOWP)\n#define IS_RANGED_DIRECTIONAL_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_RANGED_DIRECTIONAL)) < EPSILON_LOWP)\n#define TONE_MAPPING_ACES 0\n#define TONE_MAPPING_LINEAR 1\n#define SURFACES_MAX_TRANSMIT_DEPTH_VALUE 999999.0\n#ifndef CC_SURFACES_DEBUG_VIEW_SINGLE\n #define CC_SURFACES_DEBUG_VIEW_SINGLE 1\n#endif\n#ifndef CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC\n #define CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC 2\n#endif\nstruct StandardVertInput {\n highp vec4 position;\n vec3 normal;\n vec4 tangent;\n};\nin vec3 a_position;\nin vec3 a_normal;\nin vec2 a_texCoord;\nin vec4 a_tangent;\n#if CC_USE_SKINNING\n in vec4 a_joints;\n in vec4 a_weights;\n#endif\n#if USE_INSTANCING\n #if CC_USE_BAKED_ANIMATION\n in highp vec4 a_jointAnimInfo;\n #endif\n in vec4 a_matWorld0;\n in vec4 a_matWorld1;\n in vec4 a_matWorld2;\n #if CC_USE_LIGHTMAP\n in vec4 a_lightingMapUVParam;\n #endif\n #if CC_USE_REFLECTION_PROBE || CC_RECEIVE_SHADOW\n #if CC_RECEIVE_SHADOW\n #endif\n in vec4 a_localShadowBiasAndProbeId;\n #endif\n #if CC_USE_REFLECTION_PROBE\n in vec4 a_reflectionProbeData;\n #endif\n #if CC_USE_LIGHT_PROBE\n in vec4 a_sh_linear_const_r;\n in vec4 a_sh_linear_const_g;\n in vec4 a_sh_linear_const_b;\n #endif\n#endif\n#if CC_USE_MORPH\n in float a_vertexId;\n#endif\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};\nout vec2 v_uv;\nvoid main () {\n StandardVertInput In;\n In.position = vec4(a_position, 1.0);\n In.normal = a_normal;\n In.tangent = a_tangent;\n In.position.xy = cc_cameraPos.w == 0.0 ? vec2(In.position.xy.x, -In.position.xy.y) : In.position.xy;\n gl_Position = In.position;\n v_uv = a_texCoord;\n}",
  531. "frag": "\nprecision highp float;\nlayout(std140) uniform ColorGradingUBO {\n vec2 lutTextureSize;\n float contribute;\n};\nuniform sampler2D sceneColorMap;\nuniform sampler2D colorGradingMap;\nin vec2 v_uv;\nvec3 ColorGrading(sampler2D lutTexture, vec3 color) {\n float colors = lutTextureSize.x / lutTextureSize.y;\n vec3 colorGradingScale = vec3((colors - 1.0) / (colors * colors), (colors - 1.0) / colors, 1.0 / colors);\n vec2 colorGradingOffset = vec2(1.0 / (2.0 * colors * colors), 1.0 / (2.0 * colors));\n vec2 uv = vec2(color.r, 1.0 - color.g) * colorGradingScale.xy + colorGradingOffset;\n float b = color.b * (colors - 1.0);\n vec2 lr = floor(vec2(b, b + 1.0));\n float lerp = b - lr.x;\n lr *= colorGradingScale.z;\n vec3 left = texture(lutTexture, uv + vec2(lr.x, 0.0)).rgb;\n vec3 right = texture(lutTexture, uv + vec2(lr.y, 0.0)).rgb;\n return mix(left, right, lerp);\n}\nlayout(location = 0) out vec4 fragColor;\nvoid main () {\n vec4 sceneColor = texture(sceneColorMap, v_uv);\n vec3 gradeColor = ColorGrading(colorGradingMap, sceneColor.rgb);\n fragColor = mix(sceneColor, vec4(gradeColor, 1.0), contribute);\n}"
  532. },
  533. "glsl1": {
  534. "vert": "\nprecision highp float;\n#define QUATER_PI 0.78539816340\n#define HALF_PI 1.57079632679\n#define PI 3.14159265359\n#define PI2 6.28318530718\n#define PI4 12.5663706144\n#define INV_QUATER_PI 1.27323954474\n#define INV_HALF_PI 0.63661977237\n#define INV_PI 0.31830988618\n#define INV_PI2 0.15915494309\n#define INV_PI4 0.07957747155\n#define EPSILON 1e-6\n#define EPSILON_LOWP 1e-4\n#define LOG2 1.442695\n#define EXP_VALUE 2.71828183\n#define FP_MAX 65504.0\n#define FP_SCALE 0.0009765625\n#define FP_SCALE_INV 1024.0\n#define GRAY_VECTOR vec3(0.299, 0.587, 0.114)\n#define LIGHT_MAP_TYPE_DISABLED 0\n#define LIGHT_MAP_TYPE_ALL_IN_ONE 1\n#define LIGHT_MAP_TYPE_INDIRECT_OCCLUSION 2\n#define REFLECTION_PROBE_TYPE_NONE 0\n#define REFLECTION_PROBE_TYPE_CUBE 1\n#define REFLECTION_PROBE_TYPE_PLANAR 2\n#define REFLECTION_PROBE_TYPE_BLEND 3\n#define REFLECTION_PROBE_TYPE_BLEND_AND_SKYBOX 4\n#define LIGHT_TYPE_DIRECTIONAL 0.0\n#define LIGHT_TYPE_SPHERE 1.0\n#define LIGHT_TYPE_SPOT 2.0\n#define LIGHT_TYPE_POINT 3.0\n#define LIGHT_TYPE_RANGED_DIRECTIONAL 4.0\n#define IS_DIRECTIONAL_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_DIRECTIONAL)) < EPSILON_LOWP)\n#define IS_SPHERE_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_SPHERE)) < EPSILON_LOWP)\n#define IS_SPOT_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_SPOT)) < EPSILON_LOWP)\n#define IS_POINT_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_POINT)) < EPSILON_LOWP)\n#define IS_RANGED_DIRECTIONAL_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_RANGED_DIRECTIONAL)) < EPSILON_LOWP)\n#define TONE_MAPPING_ACES 0\n#define TONE_MAPPING_LINEAR 1\n#define SURFACES_MAX_TRANSMIT_DEPTH_VALUE 999999.0\n#ifndef CC_SURFACES_DEBUG_VIEW_SINGLE\n #define CC_SURFACES_DEBUG_VIEW_SINGLE 1\n#endif\n#ifndef CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC\n #define CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC 2\n#endif\nstruct StandardVertInput {\n highp vec4 position;\n vec3 normal;\n vec4 tangent;\n};\nattribute vec3 a_position;\nattribute vec3 a_normal;\nattribute vec2 a_texCoord;\nattribute vec4 a_tangent;\n#if CC_USE_SKINNING\n attribute vec4 a_joints;\n attribute vec4 a_weights;\n#endif\n#if USE_INSTANCING\n #if CC_USE_BAKED_ANIMATION\n attribute highp vec4 a_jointAnimInfo;\n #endif\n attribute vec4 a_matWorld0;\n attribute vec4 a_matWorld1;\n attribute vec4 a_matWorld2;\n #if CC_USE_LIGHTMAP\n attribute vec4 a_lightingMapUVParam;\n #endif\n #if CC_USE_REFLECTION_PROBE || CC_RECEIVE_SHADOW\n #if CC_RECEIVE_SHADOW\n #endif\n attribute vec4 a_localShadowBiasAndProbeId;\n #endif\n #if CC_USE_REFLECTION_PROBE\n attribute vec4 a_reflectionProbeData;\n #endif\n #if CC_USE_LIGHT_PROBE\n attribute vec4 a_sh_linear_const_r;\n attribute vec4 a_sh_linear_const_g;\n attribute vec4 a_sh_linear_const_b;\n #endif\n#endif\n#if CC_USE_MORPH\n attribute float a_vertexId;\n#endif\nuniform highp vec4 cc_cameraPos;\nvarying vec2 v_uv;\nvoid main () {\n StandardVertInput In;\n In.position = vec4(a_position, 1.0);\n In.normal = a_normal;\n In.tangent = a_tangent;\n In.position.xy = cc_cameraPos.w == 0.0 ? vec2(In.position.xy.x, -In.position.xy.y) : In.position.xy;\n gl_Position = In.position;\n v_uv = a_texCoord;\n}",
  535. "frag": "\nprecision highp float;\n uniform vec2 lutTextureSize;\n uniform float contribute;\nuniform sampler2D sceneColorMap;\nuniform sampler2D colorGradingMap;\nvarying vec2 v_uv;\nvec3 ColorGrading(sampler2D lutTexture, vec3 color) {\n float colors = lutTextureSize.x / lutTextureSize.y;\n vec3 colorGradingScale = vec3((colors - 1.0) / (colors * colors), (colors - 1.0) / colors, 1.0 / colors);\n vec2 colorGradingOffset = vec2(1.0 / (2.0 * colors * colors), 1.0 / (2.0 * colors));\n vec2 uv = vec2(color.r, 1.0 - color.g) * colorGradingScale.xy + colorGradingOffset;\n float b = color.b * (colors - 1.0);\n vec2 lr = floor(vec2(b, b + 1.0));\n float lerp = b - lr.x;\n lr *= colorGradingScale.z;\n vec3 left = texture2D(lutTexture, uv + vec2(lr.x, 0.0)).rgb;\n vec3 right = texture2D(lutTexture, uv + vec2(lr.y, 0.0)).rgb;\n return mix(left, right, lerp);\n}\nvoid main () {\n vec4 sceneColor = texture2D(sceneColorMap, v_uv);\n vec3 gradeColor = ColorGrading(colorGradingMap, sceneColor.rgb);\n gl_FragColor = mix(sceneColor, vec4(gradeColor, 1.0), contribute);\n}"
  536. },
  537. "builtins": {
  538. "globals": {
  539. "blocks": [
  540. {
  541. "name": "CCGlobal",
  542. "defines": []
  543. },
  544. {
  545. "name": "CCCamera",
  546. "defines": []
  547. }
  548. ],
  549. "samplerTextures": [],
  550. "buffers": [],
  551. "images": []
  552. },
  553. "locals": {
  554. "blocks": [],
  555. "samplerTextures": [],
  556. "buffers": [],
  557. "images": []
  558. },
  559. "statistics": {
  560. "CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS": 42,
  561. "CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS": 2
  562. }
  563. },
  564. "defines": [
  565. {
  566. "name": "USE_INSTANCING",
  567. "type": "boolean",
  568. "defines": [],
  569. "editor": {
  570. "elevated": true
  571. }
  572. },
  573. {
  574. "name": "CC_USE_SKINNING",
  575. "type": "boolean",
  576. "defines": []
  577. },
  578. {
  579. "name": "CC_USE_BAKED_ANIMATION",
  580. "type": "boolean",
  581. "defines": [
  582. "USE_INSTANCING"
  583. ]
  584. },
  585. {
  586. "name": "CC_USE_LIGHTMAP",
  587. "type": "boolean",
  588. "defines": [
  589. "USE_INSTANCING"
  590. ]
  591. },
  592. {
  593. "name": "CC_USE_REFLECTION_PROBE",
  594. "type": "boolean",
  595. "defines": [
  596. "USE_INSTANCING"
  597. ]
  598. },
  599. {
  600. "name": "CC_RECEIVE_SHADOW",
  601. "type": "boolean",
  602. "defines": [
  603. "USE_INSTANCING"
  604. ]
  605. },
  606. {
  607. "name": "CC_USE_LIGHT_PROBE",
  608. "type": "boolean",
  609. "defines": [
  610. "USE_INSTANCING"
  611. ]
  612. },
  613. {
  614. "name": "CC_USE_MORPH",
  615. "type": "boolean",
  616. "defines": []
  617. }
  618. ],
  619. "name": "pipeline/post-process/color-grading|color-grading-vs|color-grading-nx1-fs"
  620. },
  621. {
  622. "blocks": [
  623. {
  624. "name": "ColorGradingUBO",
  625. "members": [
  626. {
  627. "name": "lutTextureSize",
  628. "type": 14,
  629. "count": 1
  630. },
  631. {
  632. "name": "contribute",
  633. "type": 13,
  634. "count": 1
  635. }
  636. ],
  637. "defines": [],
  638. "stageFlags": 16,
  639. "binding": 0
  640. }
  641. ],
  642. "samplerTextures": [
  643. {
  644. "name": "colorGradingMap",
  645. "type": 28,
  646. "count": 1,
  647. "defines": [],
  648. "stageFlags": 16,
  649. "binding": 2
  650. }
  651. ],
  652. "samplers": [],
  653. "textures": [],
  654. "buffers": [],
  655. "images": [],
  656. "subpassInputs": [],
  657. "attributes": [
  658. {
  659. "name": "a_position",
  660. "defines": [],
  661. "format": 32,
  662. "location": 0
  663. },
  664. {
  665. "name": "a_normal",
  666. "defines": [],
  667. "format": 32,
  668. "location": 1
  669. },
  670. {
  671. "name": "a_texCoord",
  672. "defines": [],
  673. "format": 21,
  674. "location": 2
  675. },
  676. {
  677. "name": "a_tangent",
  678. "defines": [],
  679. "format": 44,
  680. "location": 3
  681. },
  682. {
  683. "name": "a_joints",
  684. "defines": [
  685. "CC_USE_SKINNING"
  686. ],
  687. "location": 4
  688. },
  689. {
  690. "name": "a_weights",
  691. "defines": [
  692. "CC_USE_SKINNING"
  693. ],
  694. "format": 44,
  695. "location": 5
  696. },
  697. {
  698. "name": "a_jointAnimInfo",
  699. "defines": [
  700. "USE_INSTANCING",
  701. "CC_USE_BAKED_ANIMATION"
  702. ],
  703. "format": 44,
  704. "isInstanced": true,
  705. "location": 6
  706. },
  707. {
  708. "name": "a_matWorld0",
  709. "defines": [
  710. "USE_INSTANCING"
  711. ],
  712. "format": 44,
  713. "isInstanced": true,
  714. "location": 7
  715. },
  716. {
  717. "name": "a_matWorld1",
  718. "defines": [
  719. "USE_INSTANCING"
  720. ],
  721. "format": 44,
  722. "isInstanced": true,
  723. "location": 8
  724. },
  725. {
  726. "name": "a_matWorld2",
  727. "defines": [
  728. "USE_INSTANCING"
  729. ],
  730. "format": 44,
  731. "isInstanced": true,
  732. "location": 9
  733. },
  734. {
  735. "name": "a_lightingMapUVParam",
  736. "defines": [
  737. "USE_INSTANCING",
  738. "CC_USE_LIGHTMAP"
  739. ],
  740. "format": 44,
  741. "isInstanced": true,
  742. "location": 10
  743. },
  744. {
  745. "name": "a_localShadowBiasAndProbeId",
  746. "defines": [
  747. "USE_INSTANCING"
  748. ],
  749. "format": 44,
  750. "isInstanced": true,
  751. "location": 11
  752. },
  753. {
  754. "name": "a_reflectionProbeData",
  755. "defines": [
  756. "USE_INSTANCING",
  757. "CC_USE_REFLECTION_PROBE"
  758. ],
  759. "format": 44,
  760. "isInstanced": true,
  761. "location": 12
  762. },
  763. {
  764. "name": "a_sh_linear_const_r",
  765. "defines": [
  766. "USE_INSTANCING",
  767. "CC_USE_LIGHT_PROBE"
  768. ],
  769. "format": 44,
  770. "isInstanced": true,
  771. "location": 13
  772. },
  773. {
  774. "name": "a_sh_linear_const_g",
  775. "defines": [
  776. "USE_INSTANCING",
  777. "CC_USE_LIGHT_PROBE"
  778. ],
  779. "format": 44,
  780. "isInstanced": true,
  781. "location": 14
  782. },
  783. {
  784. "name": "a_sh_linear_const_b",
  785. "defines": [
  786. "USE_INSTANCING",
  787. "CC_USE_LIGHT_PROBE"
  788. ],
  789. "format": 44,
  790. "isInstanced": true,
  791. "location": 15
  792. },
  793. {
  794. "name": "a_vertexId",
  795. "defines": [
  796. "CC_USE_MORPH"
  797. ],
  798. "format": 11,
  799. "location": 16
  800. }
  801. ],
  802. "varyings": [
  803. {
  804. "name": "v_uv",
  805. "type": 14,
  806. "count": 1,
  807. "defines": [],
  808. "stageFlags": 17,
  809. "location": 0
  810. }
  811. ],
  812. "fragColors": [
  813. {
  814. "name": "fragColor",
  815. "typename": "vec4",
  816. "type": 16,
  817. "count": 1,
  818. "defines": [],
  819. "stageFlags": 16,
  820. "location": 0
  821. }
  822. ],
  823. "descriptors": [
  824. {
  825. "rate": 0,
  826. "blocks": [],
  827. "samplerTextures": [],
  828. "samplers": [],
  829. "textures": [],
  830. "buffers": [],
  831. "images": [],
  832. "subpassInputs": []
  833. },
  834. {
  835. "rate": 1,
  836. "blocks": [
  837. {
  838. "name": "ColorGradingUBO",
  839. "members": [
  840. {
  841. "name": "lutTextureSize",
  842. "type": 14,
  843. "count": 1
  844. },
  845. {
  846. "name": "contribute",
  847. "type": 13,
  848. "count": 1
  849. }
  850. ],
  851. "defines": [],
  852. "stageFlags": 16,
  853. "binding": 0
  854. }
  855. ],
  856. "samplerTextures": [
  857. {
  858. "name": "colorGradingMap",
  859. "type": 28,
  860. "count": 1,
  861. "defines": [],
  862. "stageFlags": 16,
  863. "binding": 2
  864. }
  865. ],
  866. "samplers": [],
  867. "textures": [],
  868. "buffers": [],
  869. "images": [],
  870. "subpassInputs": []
  871. },
  872. {
  873. "rate": 2,
  874. "blocks": [],
  875. "samplerTextures": [],
  876. "samplers": [],
  877. "textures": [],
  878. "buffers": [],
  879. "images": [],
  880. "subpassInputs": []
  881. },
  882. {
  883. "rate": 3,
  884. "blocks": [
  885. {
  886. "tags": {
  887. "builtin": "global"
  888. },
  889. "name": "CCGlobal",
  890. "members": [
  891. {
  892. "name": "cc_time",
  893. "typename": "vec4",
  894. "type": 16,
  895. "count": 1,
  896. "precision": "highp "
  897. },
  898. {
  899. "name": "cc_screenSize",
  900. "typename": "vec4",
  901. "type": 16,
  902. "count": 1,
  903. "precision": "mediump "
  904. },
  905. {
  906. "name": "cc_nativeSize",
  907. "typename": "vec4",
  908. "type": 16,
  909. "count": 1,
  910. "precision": "mediump "
  911. },
  912. {
  913. "name": "cc_probeInfo",
  914. "typename": "vec4",
  915. "type": 16,
  916. "count": 1,
  917. "precision": "mediump "
  918. },
  919. {
  920. "name": "cc_debug_view_mode",
  921. "typename": "vec4",
  922. "type": 16,
  923. "count": 1,
  924. "precision": "mediump "
  925. }
  926. ],
  927. "defines": [],
  928. "stageFlags": 1
  929. },
  930. {
  931. "tags": {
  932. "builtin": "global"
  933. },
  934. "name": "CCCamera",
  935. "members": [
  936. {
  937. "name": "cc_matView",
  938. "typename": "mat4",
  939. "type": 25,
  940. "count": 1,
  941. "precision": "highp "
  942. },
  943. {
  944. "name": "cc_matViewInv",
  945. "typename": "mat4",
  946. "type": 25,
  947. "count": 1,
  948. "precision": "highp "
  949. },
  950. {
  951. "name": "cc_matProj",
  952. "typename": "mat4",
  953. "type": 25,
  954. "count": 1,
  955. "precision": "highp "
  956. },
  957. {
  958. "name": "cc_matProjInv",
  959. "typename": "mat4",
  960. "type": 25,
  961. "count": 1,
  962. "precision": "highp "
  963. },
  964. {
  965. "name": "cc_matViewProj",
  966. "typename": "mat4",
  967. "type": 25,
  968. "count": 1,
  969. "precision": "highp "
  970. },
  971. {
  972. "name": "cc_matViewProjInv",
  973. "typename": "mat4",
  974. "type": 25,
  975. "count": 1,
  976. "precision": "highp "
  977. },
  978. {
  979. "name": "cc_cameraPos",
  980. "typename": "vec4",
  981. "type": 16,
  982. "count": 1,
  983. "precision": "highp "
  984. },
  985. {
  986. "name": "cc_surfaceTransform",
  987. "typename": "vec4",
  988. "type": 16,
  989. "count": 1,
  990. "precision": "mediump "
  991. },
  992. {
  993. "name": "cc_screenScale",
  994. "typename": "vec4",
  995. "type": 16,
  996. "count": 1,
  997. "precision": "mediump "
  998. },
  999. {
  1000. "name": "cc_exposure",
  1001. "typename": "vec4",
  1002. "type": 16,
  1003. "count": 1,
  1004. "precision": "mediump "
  1005. },
  1006. {
  1007. "name": "cc_mainLitDir",
  1008. "typename": "vec4",
  1009. "type": 16,
  1010. "count": 1,
  1011. "precision": "mediump "
  1012. },
  1013. {
  1014. "name": "cc_mainLitColor",
  1015. "typename": "vec4",
  1016. "type": 16,
  1017. "count": 1,
  1018. "precision": "mediump "
  1019. },
  1020. {
  1021. "name": "cc_ambientSky",
  1022. "typename": "vec4",
  1023. "type": 16,
  1024. "count": 1,
  1025. "precision": "mediump "
  1026. },
  1027. {
  1028. "name": "cc_ambientGround",
  1029. "typename": "vec4",
  1030. "type": 16,
  1031. "count": 1,
  1032. "precision": "mediump "
  1033. },
  1034. {
  1035. "name": "cc_fogColor",
  1036. "typename": "vec4",
  1037. "type": 16,
  1038. "count": 1,
  1039. "precision": "mediump "
  1040. },
  1041. {
  1042. "name": "cc_fogBase",
  1043. "typename": "vec4",
  1044. "type": 16,
  1045. "count": 1,
  1046. "precision": "mediump "
  1047. },
  1048. {
  1049. "name": "cc_fogAdd",
  1050. "typename": "vec4",
  1051. "type": 16,
  1052. "count": 1,
  1053. "precision": "mediump "
  1054. },
  1055. {
  1056. "name": "cc_nearFar",
  1057. "typename": "vec4",
  1058. "type": 16,
  1059. "count": 1,
  1060. "precision": "mediump "
  1061. },
  1062. {
  1063. "name": "cc_viewPort",
  1064. "typename": "vec4",
  1065. "type": 16,
  1066. "count": 1,
  1067. "precision": "mediump "
  1068. }
  1069. ],
  1070. "defines": [],
  1071. "stageFlags": 1
  1072. }
  1073. ],
  1074. "samplerTextures": [
  1075. {
  1076. "name": "sceneColorMap",
  1077. "type": 28,
  1078. "count": 1,
  1079. "defines": [],
  1080. "stageFlags": 16,
  1081. "binding": 1
  1082. }
  1083. ],
  1084. "samplers": [],
  1085. "textures": [],
  1086. "buffers": [],
  1087. "images": [],
  1088. "subpassInputs": []
  1089. }
  1090. ],
  1091. "hash": 1622259738,
  1092. "glsl4": {
  1093. "vert": "\nprecision highp float;\n#define QUATER_PI 0.78539816340\n#define HALF_PI 1.57079632679\n#define PI 3.14159265359\n#define PI2 6.28318530718\n#define PI4 12.5663706144\n#define INV_QUATER_PI 1.27323954474\n#define INV_HALF_PI 0.63661977237\n#define INV_PI 0.31830988618\n#define INV_PI2 0.15915494309\n#define INV_PI4 0.07957747155\n#define EPSILON 1e-6\n#define EPSILON_LOWP 1e-4\n#define LOG2 1.442695\n#define EXP_VALUE 2.71828183\n#define FP_MAX 65504.0\n#define FP_SCALE 0.0009765625\n#define FP_SCALE_INV 1024.0\n#define GRAY_VECTOR vec3(0.299, 0.587, 0.114)\n#define LIGHT_MAP_TYPE_DISABLED 0\n#define LIGHT_MAP_TYPE_ALL_IN_ONE 1\n#define LIGHT_MAP_TYPE_INDIRECT_OCCLUSION 2\n#define REFLECTION_PROBE_TYPE_NONE 0\n#define REFLECTION_PROBE_TYPE_CUBE 1\n#define REFLECTION_PROBE_TYPE_PLANAR 2\n#define REFLECTION_PROBE_TYPE_BLEND 3\n#define REFLECTION_PROBE_TYPE_BLEND_AND_SKYBOX 4\n#define LIGHT_TYPE_DIRECTIONAL 0.0\n#define LIGHT_TYPE_SPHERE 1.0\n#define LIGHT_TYPE_SPOT 2.0\n#define LIGHT_TYPE_POINT 3.0\n#define LIGHT_TYPE_RANGED_DIRECTIONAL 4.0\n#define IS_DIRECTIONAL_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_DIRECTIONAL)) < EPSILON_LOWP)\n#define IS_SPHERE_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_SPHERE)) < EPSILON_LOWP)\n#define IS_SPOT_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_SPOT)) < EPSILON_LOWP)\n#define IS_POINT_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_POINT)) < EPSILON_LOWP)\n#define IS_RANGED_DIRECTIONAL_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_RANGED_DIRECTIONAL)) < EPSILON_LOWP)\n#define TONE_MAPPING_ACES 0\n#define TONE_MAPPING_LINEAR 1\n#define SURFACES_MAX_TRANSMIT_DEPTH_VALUE 999999.0\n#ifndef CC_SURFACES_DEBUG_VIEW_SINGLE\n #define CC_SURFACES_DEBUG_VIEW_SINGLE 1\n#endif\n#ifndef CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC\n #define CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC 2\n#endif\nstruct StandardVertInput {\n highp vec4 position;\n vec3 normal;\n vec4 tangent;\n};\nlayout(location = 0) in vec3 a_position;\nlayout(location = 1) in vec3 a_normal;\nlayout(location = 2) in vec2 a_texCoord;\nlayout(location = 3) in vec4 a_tangent;\n#if CC_USE_SKINNING\n layout(location = 4) in u32vec4 a_joints;\n layout(location = 5) in vec4 a_weights;\n#endif\n#if USE_INSTANCING\n #if CC_USE_BAKED_ANIMATION\n layout(location = 6) in highp vec4 a_jointAnimInfo;\n #endif\n layout(location = 7) in vec4 a_matWorld0;\n layout(location = 8) in vec4 a_matWorld1;\n layout(location = 9) in vec4 a_matWorld2;\n #if CC_USE_LIGHTMAP\n layout(location = 10) in vec4 a_lightingMapUVParam;\n #endif\n #if CC_USE_REFLECTION_PROBE || CC_RECEIVE_SHADOW\n #if CC_RECEIVE_SHADOW\n #endif\n layout(location = 11) in vec4 a_localShadowBiasAndProbeId;\n #endif\n #if CC_USE_REFLECTION_PROBE\n layout(location = 12) in vec4 a_reflectionProbeData;\n #endif\n #if CC_USE_LIGHT_PROBE\n layout(location = 13) in vec4 a_sh_linear_const_r;\n layout(location = 14) in vec4 a_sh_linear_const_g;\n layout(location = 15) in vec4 a_sh_linear_const_b;\n #endif\n#endif\n#if CC_USE_MORPH\n#endif\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(location = 0) out vec2 v_uv;\nvoid main () {\n StandardVertInput In;\n In.position = vec4(a_position, 1.0);\n In.normal = a_normal;\n In.tangent = a_tangent;\n In.position.xy = cc_cameraPos.w == 0.0 ? vec2(In.position.xy.x, -In.position.xy.y) : In.position.xy;\n gl_Position = In.position;\n v_uv = a_texCoord;\n}",
  1094. "frag": "\nprecision highp float;\nlayout(set = 1, binding = 0) uniform ColorGradingUBO {\n vec2 lutTextureSize;\n float contribute;\n};\nlayout(set = 1, binding = 1) uniform sampler2D sceneColorMap;\nlayout(set = 1, binding = 2) uniform sampler2D colorGradingMap;\nlayout(location = 0) in vec2 v_uv;\n#define EPS 0.000001\n#define TOTAL 64.0\n#define SIZE 512.0\nlayout(location = 0) out vec4 fragColor;\nvoid main () {\n vec3 orgColor = texture(sceneColorMap, v_uv).rgb;\n float bValue = (orgColor.b * 255.0) / 4.0;\n vec2 mulB = clamp(floor(bValue) + vec2(0.0, 1.0), 0.0, 63.0);\n vec2 row = floor(mulB / 8.0 + EPS);\n vec4 row_col = vec4(row, mulB - row * 8.0);\n vec4 lookup = orgColor.ggrr * (63.0 / SIZE) + row_col * (TOTAL / SIZE) + (0.5 / SIZE);\n float b1w = bValue - mulB.x;\n vec3 sampled1 = texture(colorGradingMap, lookup.zx).rgb;\n vec3 sampled2 = texture(colorGradingMap, lookup.wy).rgb;\n fragColor = vec4(mix(orgColor, mix(sampled1, sampled2, b1w), contribute), 1.0);\n}"
  1095. },
  1096. "glsl3": {
  1097. "vert": "\nprecision highp float;\n#define QUATER_PI 0.78539816340\n#define HALF_PI 1.57079632679\n#define PI 3.14159265359\n#define PI2 6.28318530718\n#define PI4 12.5663706144\n#define INV_QUATER_PI 1.27323954474\n#define INV_HALF_PI 0.63661977237\n#define INV_PI 0.31830988618\n#define INV_PI2 0.15915494309\n#define INV_PI4 0.07957747155\n#define EPSILON 1e-6\n#define EPSILON_LOWP 1e-4\n#define LOG2 1.442695\n#define EXP_VALUE 2.71828183\n#define FP_MAX 65504.0\n#define FP_SCALE 0.0009765625\n#define FP_SCALE_INV 1024.0\n#define GRAY_VECTOR vec3(0.299, 0.587, 0.114)\n#define LIGHT_MAP_TYPE_DISABLED 0\n#define LIGHT_MAP_TYPE_ALL_IN_ONE 1\n#define LIGHT_MAP_TYPE_INDIRECT_OCCLUSION 2\n#define REFLECTION_PROBE_TYPE_NONE 0\n#define REFLECTION_PROBE_TYPE_CUBE 1\n#define REFLECTION_PROBE_TYPE_PLANAR 2\n#define REFLECTION_PROBE_TYPE_BLEND 3\n#define REFLECTION_PROBE_TYPE_BLEND_AND_SKYBOX 4\n#define LIGHT_TYPE_DIRECTIONAL 0.0\n#define LIGHT_TYPE_SPHERE 1.0\n#define LIGHT_TYPE_SPOT 2.0\n#define LIGHT_TYPE_POINT 3.0\n#define LIGHT_TYPE_RANGED_DIRECTIONAL 4.0\n#define IS_DIRECTIONAL_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_DIRECTIONAL)) < EPSILON_LOWP)\n#define IS_SPHERE_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_SPHERE)) < EPSILON_LOWP)\n#define IS_SPOT_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_SPOT)) < EPSILON_LOWP)\n#define IS_POINT_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_POINT)) < EPSILON_LOWP)\n#define IS_RANGED_DIRECTIONAL_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_RANGED_DIRECTIONAL)) < EPSILON_LOWP)\n#define TONE_MAPPING_ACES 0\n#define TONE_MAPPING_LINEAR 1\n#define SURFACES_MAX_TRANSMIT_DEPTH_VALUE 999999.0\n#ifndef CC_SURFACES_DEBUG_VIEW_SINGLE\n #define CC_SURFACES_DEBUG_VIEW_SINGLE 1\n#endif\n#ifndef CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC\n #define CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC 2\n#endif\nstruct StandardVertInput {\n highp vec4 position;\n vec3 normal;\n vec4 tangent;\n};\nin vec3 a_position;\nin vec3 a_normal;\nin vec2 a_texCoord;\nin vec4 a_tangent;\n#if CC_USE_SKINNING\n in vec4 a_joints;\n in vec4 a_weights;\n#endif\n#if USE_INSTANCING\n #if CC_USE_BAKED_ANIMATION\n in highp vec4 a_jointAnimInfo;\n #endif\n in vec4 a_matWorld0;\n in vec4 a_matWorld1;\n in vec4 a_matWorld2;\n #if CC_USE_LIGHTMAP\n in vec4 a_lightingMapUVParam;\n #endif\n #if CC_USE_REFLECTION_PROBE || CC_RECEIVE_SHADOW\n #if CC_RECEIVE_SHADOW\n #endif\n in vec4 a_localShadowBiasAndProbeId;\n #endif\n #if CC_USE_REFLECTION_PROBE\n in vec4 a_reflectionProbeData;\n #endif\n #if CC_USE_LIGHT_PROBE\n in vec4 a_sh_linear_const_r;\n in vec4 a_sh_linear_const_g;\n in vec4 a_sh_linear_const_b;\n #endif\n#endif\n#if CC_USE_MORPH\n in float a_vertexId;\n#endif\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};\nout vec2 v_uv;\nvoid main () {\n StandardVertInput In;\n In.position = vec4(a_position, 1.0);\n In.normal = a_normal;\n In.tangent = a_tangent;\n In.position.xy = cc_cameraPos.w == 0.0 ? vec2(In.position.xy.x, -In.position.xy.y) : In.position.xy;\n gl_Position = In.position;\n v_uv = a_texCoord;\n}",
  1098. "frag": "\nprecision highp float;\nlayout(std140) uniform ColorGradingUBO {\n vec2 lutTextureSize;\n float contribute;\n};\nuniform sampler2D sceneColorMap;\nuniform sampler2D colorGradingMap;\nin vec2 v_uv;\n#define EPS 0.000001\n#define TOTAL 64.0\n#define SIZE 512.0\nlayout(location = 0) out vec4 fragColor;\nvoid main () {\n vec3 orgColor = texture(sceneColorMap, v_uv).rgb;\n float bValue = (orgColor.b * 255.0) / 4.0;\n vec2 mulB = clamp(floor(bValue) + vec2(0.0, 1.0), 0.0, 63.0);\n vec2 row = floor(mulB / 8.0 + EPS);\n vec4 row_col = vec4(row, mulB - row * 8.0);\n vec4 lookup = orgColor.ggrr * (63.0 / SIZE) + row_col * (TOTAL / SIZE) + (0.5 / SIZE);\n float b1w = bValue - mulB.x;\n vec3 sampled1 = texture(colorGradingMap, lookup.zx).rgb;\n vec3 sampled2 = texture(colorGradingMap, lookup.wy).rgb;\n fragColor = vec4(mix(orgColor, mix(sampled1, sampled2, b1w), contribute), 1.0);\n}"
  1099. },
  1100. "glsl1": {
  1101. "vert": "\nprecision highp float;\n#define QUATER_PI 0.78539816340\n#define HALF_PI 1.57079632679\n#define PI 3.14159265359\n#define PI2 6.28318530718\n#define PI4 12.5663706144\n#define INV_QUATER_PI 1.27323954474\n#define INV_HALF_PI 0.63661977237\n#define INV_PI 0.31830988618\n#define INV_PI2 0.15915494309\n#define INV_PI4 0.07957747155\n#define EPSILON 1e-6\n#define EPSILON_LOWP 1e-4\n#define LOG2 1.442695\n#define EXP_VALUE 2.71828183\n#define FP_MAX 65504.0\n#define FP_SCALE 0.0009765625\n#define FP_SCALE_INV 1024.0\n#define GRAY_VECTOR vec3(0.299, 0.587, 0.114)\n#define LIGHT_MAP_TYPE_DISABLED 0\n#define LIGHT_MAP_TYPE_ALL_IN_ONE 1\n#define LIGHT_MAP_TYPE_INDIRECT_OCCLUSION 2\n#define REFLECTION_PROBE_TYPE_NONE 0\n#define REFLECTION_PROBE_TYPE_CUBE 1\n#define REFLECTION_PROBE_TYPE_PLANAR 2\n#define REFLECTION_PROBE_TYPE_BLEND 3\n#define REFLECTION_PROBE_TYPE_BLEND_AND_SKYBOX 4\n#define LIGHT_TYPE_DIRECTIONAL 0.0\n#define LIGHT_TYPE_SPHERE 1.0\n#define LIGHT_TYPE_SPOT 2.0\n#define LIGHT_TYPE_POINT 3.0\n#define LIGHT_TYPE_RANGED_DIRECTIONAL 4.0\n#define IS_DIRECTIONAL_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_DIRECTIONAL)) < EPSILON_LOWP)\n#define IS_SPHERE_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_SPHERE)) < EPSILON_LOWP)\n#define IS_SPOT_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_SPOT)) < EPSILON_LOWP)\n#define IS_POINT_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_POINT)) < EPSILON_LOWP)\n#define IS_RANGED_DIRECTIONAL_LIGHT(light_type) (abs(float(light_type) - float(LIGHT_TYPE_RANGED_DIRECTIONAL)) < EPSILON_LOWP)\n#define TONE_MAPPING_ACES 0\n#define TONE_MAPPING_LINEAR 1\n#define SURFACES_MAX_TRANSMIT_DEPTH_VALUE 999999.0\n#ifndef CC_SURFACES_DEBUG_VIEW_SINGLE\n #define CC_SURFACES_DEBUG_VIEW_SINGLE 1\n#endif\n#ifndef CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC\n #define CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC 2\n#endif\nstruct StandardVertInput {\n highp vec4 position;\n vec3 normal;\n vec4 tangent;\n};\nattribute vec3 a_position;\nattribute vec3 a_normal;\nattribute vec2 a_texCoord;\nattribute vec4 a_tangent;\n#if CC_USE_SKINNING\n attribute vec4 a_joints;\n attribute vec4 a_weights;\n#endif\n#if USE_INSTANCING\n #if CC_USE_BAKED_ANIMATION\n attribute highp vec4 a_jointAnimInfo;\n #endif\n attribute vec4 a_matWorld0;\n attribute vec4 a_matWorld1;\n attribute vec4 a_matWorld2;\n #if CC_USE_LIGHTMAP\n attribute vec4 a_lightingMapUVParam;\n #endif\n #if CC_USE_REFLECTION_PROBE || CC_RECEIVE_SHADOW\n #if CC_RECEIVE_SHADOW\n #endif\n attribute vec4 a_localShadowBiasAndProbeId;\n #endif\n #if CC_USE_REFLECTION_PROBE\n attribute vec4 a_reflectionProbeData;\n #endif\n #if CC_USE_LIGHT_PROBE\n attribute vec4 a_sh_linear_const_r;\n attribute vec4 a_sh_linear_const_g;\n attribute vec4 a_sh_linear_const_b;\n #endif\n#endif\n#if CC_USE_MORPH\n attribute float a_vertexId;\n#endif\nuniform highp vec4 cc_cameraPos;\nvarying vec2 v_uv;\nvoid main () {\n StandardVertInput In;\n In.position = vec4(a_position, 1.0);\n In.normal = a_normal;\n In.tangent = a_tangent;\n In.position.xy = cc_cameraPos.w == 0.0 ? vec2(In.position.xy.x, -In.position.xy.y) : In.position.xy;\n gl_Position = In.position;\n v_uv = a_texCoord;\n}",
  1102. "frag": "\nprecision highp float;\n uniform float contribute;\nuniform sampler2D sceneColorMap;\nuniform sampler2D colorGradingMap;\nvarying vec2 v_uv;\n#define EPS 0.000001\n#define TOTAL 64.0\n#define SIZE 512.0\nvoid main () {\n vec3 orgColor = texture2D(sceneColorMap, v_uv).rgb;\n float bValue = (orgColor.b * 255.0) / 4.0;\n vec2 mulB = clamp(floor(bValue) + vec2(0.0, 1.0), 0.0, 63.0);\n vec2 row = floor(mulB / 8.0 + EPS);\n vec4 row_col = vec4(row, mulB - row * 8.0);\n vec4 lookup = orgColor.ggrr * (63.0 / SIZE) + row_col * (TOTAL / SIZE) + (0.5 / SIZE);\n float b1w = bValue - mulB.x;\n vec3 sampled1 = texture2D(colorGradingMap, lookup.zx).rgb;\n vec3 sampled2 = texture2D(colorGradingMap, lookup.wy).rgb;\n gl_FragColor = vec4(mix(orgColor, mix(sampled1, sampled2, b1w), contribute), 1.0);\n}"
  1103. },
  1104. "builtins": {
  1105. "globals": {
  1106. "blocks": [
  1107. {
  1108. "name": "CCGlobal",
  1109. "defines": []
  1110. },
  1111. {
  1112. "name": "CCCamera",
  1113. "defines": []
  1114. }
  1115. ],
  1116. "samplerTextures": [],
  1117. "buffers": [],
  1118. "images": []
  1119. },
  1120. "locals": {
  1121. "blocks": [],
  1122. "samplerTextures": [],
  1123. "buffers": [],
  1124. "images": []
  1125. },
  1126. "statistics": {
  1127. "CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS": 42,
  1128. "CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS": 2
  1129. }
  1130. },
  1131. "defines": [
  1132. {
  1133. "name": "USE_INSTANCING",
  1134. "type": "boolean",
  1135. "defines": [],
  1136. "editor": {
  1137. "elevated": true
  1138. }
  1139. },
  1140. {
  1141. "name": "CC_USE_SKINNING",
  1142. "type": "boolean",
  1143. "defines": []
  1144. },
  1145. {
  1146. "name": "CC_USE_BAKED_ANIMATION",
  1147. "type": "boolean",
  1148. "defines": [
  1149. "USE_INSTANCING"
  1150. ]
  1151. },
  1152. {
  1153. "name": "CC_USE_LIGHTMAP",
  1154. "type": "boolean",
  1155. "defines": [
  1156. "USE_INSTANCING"
  1157. ]
  1158. },
  1159. {
  1160. "name": "CC_USE_REFLECTION_PROBE",
  1161. "type": "boolean",
  1162. "defines": [
  1163. "USE_INSTANCING"
  1164. ]
  1165. },
  1166. {
  1167. "name": "CC_RECEIVE_SHADOW",
  1168. "type": "boolean",
  1169. "defines": [
  1170. "USE_INSTANCING"
  1171. ]
  1172. },
  1173. {
  1174. "name": "CC_USE_LIGHT_PROBE",
  1175. "type": "boolean",
  1176. "defines": [
  1177. "USE_INSTANCING"
  1178. ]
  1179. },
  1180. {
  1181. "name": "CC_USE_MORPH",
  1182. "type": "boolean",
  1183. "defines": []
  1184. }
  1185. ],
  1186. "name": "pipeline/post-process/color-grading|color-grading-vs|color-grading-8x8-fs"
  1187. }
  1188. ],
  1189. "combinations": [],
  1190. "hideInEditor": false
  1191. }