From 2bf1721fd46a40bc378146b1c8495586a8d9ecb8 Mon Sep 17 00:00:00 2001 From: gem <> Date: Mon, 17 Feb 2025 15:56:00 +0800 Subject: [PATCH] no message --- cocos_view_pod.podspec | 6 +- .../Assets/assets/internal/cc.config.json | 1 + .../assets/internal/import/0b/0b2bbb7a0.json | 1 + .../Assets/assets/internal/index.js | 20 + .../Assets/assets/main/cc.config.json | 1 + .../assets/main/import/01/010d3a23c.json | 1 + .../assets/main/import/04/04b964e93.json | 1 + .../assets/main/import/07/070e260c2.json | 1 + .../0718d996-39bf-4ab4-bb63-496666fef467.json | 1 + .../assets/main/import/0a/0a40fbfd0.json | 1 + .../assets/main/import/0a/0a9f2beb8.json | 1 + .../assets/main/import/0d/0d0d3c8df.json | 1 + .../4f4c4a34-2d08-4a4d-9169-834d7ce82cee.json | 1 + .../6f891a7b-5a08-48e6-9841-ddb364ac86b1.json | 1 + .../95e5b02a-e338-423c-bdbb-17486db1d9eb.json | 1 + ...09ee-8f9d-413c-a9e8-8c686ea5e160@73b7f.bin | Bin 0 -> 10016 bytes ...9ee-8f9d-413c-a9e8-8c686ea5e160@73b7f.json | 1 + .../ae18deea-c6e0-4a3d-bf70-ee5533f9ba87.json | 1 + .../c5083e75-ad2e-4ea9-8b33-dee748995b00.json | 1 + ...3cad-2f15-4293-859a-8f43c780f289@73b7f.bin | Bin 0 -> 19508 bytes ...cad-2f15-4293-859a-8f43c780f289@73b7f.json | 1 + .../fd8ec536-a354-4a17-9c74-4f3883c378c8.json | 1 + cocos_view_pod/Assets/assets/main/index.js | 22 + .../0718d996-39bf-4ab4-bb63-496666fef467.jpg | Bin 0 -> 85937 bytes ...142a-6968-4073-95af-026bc3b23623@0e750.bin | Bin 0 -> 25852 bytes ...142a-6968-4073-95af-026bc3b23623@1332c.bin | Bin 0 -> 25788 bytes ...142a-6968-4073-95af-026bc3b23623@2b0a8.bin | Bin 0 -> 5760 bytes ...142a-6968-4073-95af-026bc3b23623@426f2.bin | Bin 0 -> 19640 bytes ...142a-6968-4073-95af-026bc3b23623@4a7d8.bin | Bin 0 -> 49300 bytes ...142a-6968-4073-95af-026bc3b23623@4d16f.bin | Bin 0 -> 19640 bytes ...142a-6968-4073-95af-026bc3b23623@71919.bin | Bin 0 -> 25660 bytes ...142a-6968-4073-95af-026bc3b23623@754a2.bin | Bin 0 -> 25660 bytes ...142a-6968-4073-95af-026bc3b23623@ef86b.bin | Bin 0 -> 19838 bytes ...142a-6968-4073-95af-026bc3b23623@efe84.bin | Bin 0 -> 19838 bytes .../4f4c4a34-2d08-4a4d-9169-834d7ce82cee.jpg | Bin 0 -> 487594 bytes ...951-4e2c-a81f-ac4aad9132cb@b47c0@40c10.jpg | Bin 0 -> 380690 bytes ...951-4e2c-a81f-ac4aad9132cb@b47c0@74afd.jpg | Bin 0 -> 432844 bytes ...951-4e2c-a81f-ac4aad9132cb@b47c0@7d38f.jpg | Bin 0 -> 16077 bytes ...951-4e2c-a81f-ac4aad9132cb@b47c0@8fd34.jpg | Bin 0 -> 408311 bytes ...951-4e2c-a81f-ac4aad9132cb@b47c0@bb97f.jpg | Bin 0 -> 996792 bytes ...951-4e2c-a81f-ac4aad9132cb@b47c0@e9a6d.jpg | Bin 0 -> 541862 bytes .../6f891a7b-5a08-48e6-9841-ddb364ac86b1.png | Bin 0 -> 336510 bytes .../95e5b02a-e338-423c-bdbb-17486db1d9eb.jpg | Bin 0 -> 13585 bytes ...09ee-8f9d-413c-a9e8-8c686ea5e160@ef5e1.bin | Bin 0 -> 8542 bytes .../ae18deea-c6e0-4a3d-bf70-ee5533f9ba87.png | Bin 0 -> 13009 bytes .../c5083e75-ad2e-4ea9-8b33-dee748995b00.png | Bin 0 -> 134306 bytes ...3cad-2f15-4293-859a-8f43c780f289@18751.bin | Bin 0 -> 77088 bytes ...3cad-2f15-4293-859a-8f43c780f289@39f7b.bin | Bin 0 -> 696 bytes ...3cad-2f15-4293-859a-8f43c780f289@4b929.bin | Bin 0 -> 2280 bytes ...3cad-2f15-4293-859a-8f43c780f289@da6f3.bin | Bin 0 -> 6960 bytes .../Assets/jsb-adapter/engine-adapter.js | 4995 ++++++++++++++ .../Assets/jsb-adapter/web-adapter.js | 5793 +++++++++++++++++ cocos_view_pod/Assets/main.js | 29 + cocos_view_pod/Assets/src/application.js | 43 + cocos_view_pod/Assets/src/chunks/bundle.js | 4 + .../src/cocos-js/_virtual_cc-82338ff1.js | 3 + .../cocos-js/assets/spine.js.mem-90a4faeb.bin | Bin 0 -> 57186 bytes .../cocos-js/bullet.release.asm-79525a12.js | 1 + .../cocos-js/bullet.release.wasm-c766b0f9.js | 1 + .../cocos-js/bullet.release.wasm-db0c6f94.js | 1 + cocos_view_pod/Assets/src/cocos-js/cc.js | 1 + cocos_view_pod/Assets/src/import-map.json | 1 + cocos_view_pod/Assets/src/settings.json | 1 + cocos_view_pod/Assets/src/system.bundle.js | 1 + cocos_view_pod/Libs/libdcocos.a | Bin 1497144 -> 1650704 bytes 65 files changed, 10939 insertions(+), 1 deletion(-) create mode 100644 cocos_view_pod/Assets/assets/internal/cc.config.json create mode 100644 cocos_view_pod/Assets/assets/internal/import/0b/0b2bbb7a0.json create mode 100644 cocos_view_pod/Assets/assets/internal/index.js create mode 100644 cocos_view_pod/Assets/assets/main/cc.config.json create mode 100644 cocos_view_pod/Assets/assets/main/import/01/010d3a23c.json create mode 100644 cocos_view_pod/Assets/assets/main/import/04/04b964e93.json create mode 100644 cocos_view_pod/Assets/assets/main/import/07/070e260c2.json create mode 100644 cocos_view_pod/Assets/assets/main/import/07/0718d996-39bf-4ab4-bb63-496666fef467.json create mode 100644 cocos_view_pod/Assets/assets/main/import/0a/0a40fbfd0.json create mode 100644 cocos_view_pod/Assets/assets/main/import/0a/0a9f2beb8.json create mode 100644 cocos_view_pod/Assets/assets/main/import/0d/0d0d3c8df.json create mode 100644 cocos_view_pod/Assets/assets/main/import/4f/4f4c4a34-2d08-4a4d-9169-834d7ce82cee.json create mode 100644 cocos_view_pod/Assets/assets/main/import/6f/6f891a7b-5a08-48e6-9841-ddb364ac86b1.json create mode 100644 cocos_view_pod/Assets/assets/main/import/95/95e5b02a-e338-423c-bdbb-17486db1d9eb.json create mode 100644 cocos_view_pod/Assets/assets/main/import/aa/aade09ee-8f9d-413c-a9e8-8c686ea5e160@73b7f.bin create mode 100644 cocos_view_pod/Assets/assets/main/import/aa/aade09ee-8f9d-413c-a9e8-8c686ea5e160@73b7f.json create mode 100644 cocos_view_pod/Assets/assets/main/import/ae/ae18deea-c6e0-4a3d-bf70-ee5533f9ba87.json create mode 100644 cocos_view_pod/Assets/assets/main/import/c5/c5083e75-ad2e-4ea9-8b33-dee748995b00.json create mode 100644 cocos_view_pod/Assets/assets/main/import/e3/e3553cad-2f15-4293-859a-8f43c780f289@73b7f.bin create mode 100644 cocos_view_pod/Assets/assets/main/import/e3/e3553cad-2f15-4293-859a-8f43c780f289@73b7f.json create mode 100644 cocos_view_pod/Assets/assets/main/import/fd/fd8ec536-a354-4a17-9c74-4f3883c378c8.json create mode 100644 cocos_view_pod/Assets/assets/main/index.js create mode 100644 cocos_view_pod/Assets/assets/main/native/07/0718d996-39bf-4ab4-bb63-496666fef467.jpg create mode 100644 cocos_view_pod/Assets/assets/main/native/0a/0ab3142a-6968-4073-95af-026bc3b23623@0e750.bin create mode 100644 cocos_view_pod/Assets/assets/main/native/0a/0ab3142a-6968-4073-95af-026bc3b23623@1332c.bin create mode 100644 cocos_view_pod/Assets/assets/main/native/0a/0ab3142a-6968-4073-95af-026bc3b23623@2b0a8.bin create mode 100644 cocos_view_pod/Assets/assets/main/native/0a/0ab3142a-6968-4073-95af-026bc3b23623@426f2.bin create mode 100644 cocos_view_pod/Assets/assets/main/native/0a/0ab3142a-6968-4073-95af-026bc3b23623@4a7d8.bin create mode 100644 cocos_view_pod/Assets/assets/main/native/0a/0ab3142a-6968-4073-95af-026bc3b23623@4d16f.bin create mode 100644 cocos_view_pod/Assets/assets/main/native/0a/0ab3142a-6968-4073-95af-026bc3b23623@71919.bin create mode 100644 cocos_view_pod/Assets/assets/main/native/0a/0ab3142a-6968-4073-95af-026bc3b23623@754a2.bin create mode 100644 cocos_view_pod/Assets/assets/main/native/0a/0ab3142a-6968-4073-95af-026bc3b23623@ef86b.bin create mode 100644 cocos_view_pod/Assets/assets/main/native/0a/0ab3142a-6968-4073-95af-026bc3b23623@efe84.bin create mode 100644 cocos_view_pod/Assets/assets/main/native/4f/4f4c4a34-2d08-4a4d-9169-834d7ce82cee.jpg create mode 100644 cocos_view_pod/Assets/assets/main/native/5a/5af201b5-5951-4e2c-a81f-ac4aad9132cb@b47c0@40c10.jpg create mode 100644 cocos_view_pod/Assets/assets/main/native/5a/5af201b5-5951-4e2c-a81f-ac4aad9132cb@b47c0@74afd.jpg create mode 100644 cocos_view_pod/Assets/assets/main/native/5a/5af201b5-5951-4e2c-a81f-ac4aad9132cb@b47c0@7d38f.jpg create mode 100644 cocos_view_pod/Assets/assets/main/native/5a/5af201b5-5951-4e2c-a81f-ac4aad9132cb@b47c0@8fd34.jpg create mode 100644 cocos_view_pod/Assets/assets/main/native/5a/5af201b5-5951-4e2c-a81f-ac4aad9132cb@b47c0@bb97f.jpg create mode 100644 cocos_view_pod/Assets/assets/main/native/5a/5af201b5-5951-4e2c-a81f-ac4aad9132cb@b47c0@e9a6d.jpg create mode 100644 cocos_view_pod/Assets/assets/main/native/6f/6f891a7b-5a08-48e6-9841-ddb364ac86b1.png create mode 100644 cocos_view_pod/Assets/assets/main/native/95/95e5b02a-e338-423c-bdbb-17486db1d9eb.jpg create mode 100644 cocos_view_pod/Assets/assets/main/native/aa/aade09ee-8f9d-413c-a9e8-8c686ea5e160@ef5e1.bin create mode 100644 cocos_view_pod/Assets/assets/main/native/ae/ae18deea-c6e0-4a3d-bf70-ee5533f9ba87.png create mode 100644 cocos_view_pod/Assets/assets/main/native/c5/c5083e75-ad2e-4ea9-8b33-dee748995b00.png create mode 100644 cocos_view_pod/Assets/assets/main/native/e3/e3553cad-2f15-4293-859a-8f43c780f289@18751.bin create mode 100644 cocos_view_pod/Assets/assets/main/native/e3/e3553cad-2f15-4293-859a-8f43c780f289@39f7b.bin create mode 100644 cocos_view_pod/Assets/assets/main/native/e3/e3553cad-2f15-4293-859a-8f43c780f289@4b929.bin create mode 100644 cocos_view_pod/Assets/assets/main/native/e3/e3553cad-2f15-4293-859a-8f43c780f289@da6f3.bin create mode 100644 cocos_view_pod/Assets/jsb-adapter/engine-adapter.js create mode 100644 cocos_view_pod/Assets/jsb-adapter/web-adapter.js create mode 100644 cocos_view_pod/Assets/main.js create mode 100644 cocos_view_pod/Assets/src/application.js create mode 100644 cocos_view_pod/Assets/src/chunks/bundle.js create mode 100644 cocos_view_pod/Assets/src/cocos-js/_virtual_cc-82338ff1.js create mode 100644 cocos_view_pod/Assets/src/cocos-js/assets/spine.js.mem-90a4faeb.bin create mode 100644 cocos_view_pod/Assets/src/cocos-js/bullet.release.asm-79525a12.js create mode 100644 cocos_view_pod/Assets/src/cocos-js/bullet.release.wasm-c766b0f9.js create mode 100644 cocos_view_pod/Assets/src/cocos-js/bullet.release.wasm-db0c6f94.js create mode 100644 cocos_view_pod/Assets/src/cocos-js/cc.js create mode 100644 cocos_view_pod/Assets/src/import-map.json create mode 100644 cocos_view_pod/Assets/src/settings.json create mode 100644 cocos_view_pod/Assets/src/system.bundle.js diff --git a/cocos_view_pod.podspec b/cocos_view_pod.podspec index ee0819e..f9c90fb 100644 --- a/cocos_view_pod.podspec +++ b/cocos_view_pod.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.name = 'cocos_view_pod' - s.version = '0.1.13' + s.version = '0.1.14' s.summary = 'A short description of cocos_view_pod.' # This description is used to generate tags and improve search results. @@ -29,6 +29,10 @@ TODO: Add long description of the pod here. # s.social_media_url = 'https://twitter.com/' s.ios.deployment_target = '14' + s.resource_bundles = { + 'cocos_main_bundle' => ['cocos_view_pod/Assets/*'] + } + #s.static_framework = true s.source_files = 'cocos_view_pod/Classes/**/*.{h,m,mm}' s.vendored_libraries = "cocos_view_pod/Libs/**/*.a" diff --git a/cocos_view_pod/Assets/assets/internal/cc.config.json b/cocos_view_pod/Assets/assets/internal/cc.config.json new file mode 100644 index 0000000..74af4a0 --- /dev/null +++ b/cocos_view_pod/Assets/assets/internal/cc.config.json @@ -0,0 +1 @@ +{"importBase":"import","nativeBase":"native","name":"internal","deps":[],"uuids":["08HKsx3M1CjoZS8kBMyBxH","0b2bbb7a0","142hclxMJCtKsI7grraJiz","173rzDCmtLirAL3Fi4hVge","1cAq5vRJJJFbj4dJKjseTN","1dCO9ipQNM4ouaRskIc/fT","509DSLyINOL48RziM7hZ+h","51HSYzCadL3axC93gDISSz","5dRaoA4GRJOLMUQmXwwiWM","609xlc7CpF67qUiVX2DoHQ","71Hr4R9nNM2ZqDY8YLpUxb","784FhKQ0NHJ4834U5lwqLb","81Dpbk5FZEaJtZ9OjzlzLA","87HDtsc3lBnb2jeUsjmrkN","8bvbzdXNRBALbVt8liW2EH","93Yf2QulJPhKqTboeP1XbK","97CwWYvLBHFJH7LoFEDczY","97G9sjP/ZD67QiHDAWWjZj","a3zQCfCrBCDZJ4uf2rk5u8","b51hFfA3BNfKrTwZTMcc+Y","baIUdvKGZPgZxNbjWTFuRI","bc1kzGLdlD9qu+ZjGNMyAy","c0FDkGmu1EfpQ2KuhRLRtu","c2chXYaDVLaL+7verGEAwE","d1NGQ2rJZCcbhjH0/erZWw","d9MFkNu5JMyIvRI80Cf57f","ddOhRNq39B8IK4LkOgkNSW","e9qpo+WytKx6LHBz3isrJP","ef6OKj6s5Ce7Txy4qTfsd9","f0QW5oAgBLd6kmT50W5JTa","f9KAbXF2hEP6/oErzehNDw","fdoJXLgx1GAa2UhGATlj3o"],"paths":{"0":["db:/internal/default_materials/default-trail-material",1],"2":["db:/internal/default_materials/default-particle-gpu-material",1],"3":["db:/internal/effects/particles/builtin-particle-trail",0],"4":["db:/internal/effects/internal/builtin-graphics",0],"5":["db:/internal/effects/legacy/terrain",0],"6":["db:/internal/default_materials/ui-alpha-test-material",1],"7":["db:/internal/effects/pipeline/skybox",0],"8":["db:/internal/effects/pipeline/deferred-lighting",0],"9":["db:/internal/effects/for2d/builtin-sprite",0],"10":["db:/internal/effects/particles/builtin-billboard",0],"11":["db:/internal/default_materials/default-billboard-material",1],"12":["db:/internal/effects/internal/builtin-clear-stencil",0],"13":["db:/internal/effects/util/profiler",0],"14":["db:/internal/default_materials/default-clear-stencil",1],"15":["db:/internal/effects/pipeline/planar-shadow",0],"16":["db:/internal/effects/util/splash-screen",0],"17":["db:/internal/effects/particles/builtin-particle-gpu",0],"18":["db:/internal/effects/builtin-unlit",0],"19":["db:/internal/default_materials/default-spine-material",1],"20":["db:/internal/physics/default-physics-material",2],"21":["db:/internal/default_materials/missing-effect-material",1],"22":["db:/internal/default_materials/default-particle-material",1],"23":["db:/internal/effects/for2d/builtin-spine",0],"24":["db:/internal/effects/particles/builtin-particle",0],"25":["db:/internal/default_materials/missing-material",1],"26":["db:/internal/default_materials/ui-sprite-gray-alpha-sep-material",1],"27":["db:/internal/default_materials/ui-base-material",1],"28":["db:/internal/default_materials/ui-sprite-gray-material",1],"29":["db:/internal/default_materials/ui-graphics-material",1],"30":["db:/internal/default_materials/ui-sprite-alpha-sep-material",1],"31":["db:/internal/default_materials/ui-sprite-material",1]},"scenes":{},"packs":{"0b2bbb7a0":[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]},"versions":{"import":[],"native":[]},"redirect":[],"debug":false,"extensionMap":{},"hasPreloadScript":true,"dependencyRelationships":{},"types":["cc.EffectAsset","cc.Material","cc.PhysicsMaterial"]} \ No newline at end of file diff --git a/cocos_view_pod/Assets/assets/internal/import/0b/0b2bbb7a0.json b/cocos_view_pod/Assets/assets/internal/import/0b/0b2bbb7a0.json new file mode 100644 index 0000000..dd9c8a4 --- /dev/null +++ b/cocos_view_pod/Assets/assets/internal/import/0b/0b2bbb7a0.json @@ -0,0 +1 @@ +[1,["609xlc7CpF67qUiVX2DoHQ","a3zQCfCrBCDZJ4uf2rk5u8","173rzDCmtLirAL3Fi4hVge","97G9sjP/ZD67QiHDAWWjZj","71Hr4R9nNM2ZqDY8YLpUxb","81Dpbk5FZEaJtZ9OjzlzLA","c2chXYaDVLaL+7verGEAwE","d1NGQ2rJZCcbhjH0/erZWw","1cAq5vRJJJFbj4dJKjseTN"],["_effectAsset"],[["cc.EffectAsset",["_name","shaders","techniques","combinations"],-1],["cc.Material",["_name","_props","_states","_defines"],-1],["cc.Material",["_name","_states","_defines","_props"],0,12],["cc.PhysicsMaterial",["_name","_friction","_rollingFriction","_spinningFriction","_restitution"],-2]],[[1,0,1,2,3,5],[0,0,1,2,4],[2,0,1,2,3,4],[0,0,3,1,2,5],[3,0,1,2,3,4,6]],[[[[0,"default-trail-material",[{}],[{"rasterizerState":{},"depthStencilState":{},"blendState":{"targets":[{}]}}],[{}]]],0,0,[0],[0],[2]],[[[0,"default-particle-gpu-material",[{}],[{"rasterizerState":{},"depthStencilState":{},"blendState":{"targets":[{}]}}],[{}]]],0,0,[0],[0],[3]],[[[1,"particles/builtin-particle-trail",[{"hash":2100859085,"name":"particles/builtin-particle-trail|builtin/internal/particle-trail:vs_main|tinted-fs:add","blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]},{"name":"FragConstants","stageFlags":16,"binding":1,"members":[{"name":"tintColor","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":2,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position","format":32,"location":0,"defines":[]},{"name":"a_texCoord","format":44,"location":1,"defines":[]},{"name":"a_texCoord1","format":32,"location":2,"defines":[]},{"name":"a_texCoord2","format":32,"location":3,"defines":[]},{"name":"a_color","format":44,"location":4,"defines":[]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]},{"name":"FragConstants","stageFlags":16,"binding":1,"members":[{"name":"tintColor","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":2,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"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(); }","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(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":60,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":43}},"defines":[{"name":"CC_RENDER_MODE","type":"number","range":[0,4]},{"name":"CC_DRAW_WIRE_FRAME","type":"boolean"},{"name":"CC_USE_WORLD_SPACE","type":"boolean"}]},{"hash":3093758986,"name":"particles/builtin-particle-trail|builtin/internal/particle-trail:vs_main|tinted-fs:multiply","blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]},{"name":"FragConstants","stageFlags":16,"binding":1,"members":[{"name":"tintColor","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":2,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position","format":32,"location":0,"defines":[]},{"name":"a_texCoord","format":44,"location":1,"defines":[]},{"name":"a_texCoord1","format":32,"location":2,"defines":[]},{"name":"a_texCoord2","format":32,"location":3,"defines":[]},{"name":"a_color","format":44,"location":4,"defines":[]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]},{"name":"FragConstants","stageFlags":16,"binding":1,"members":[{"name":"tintColor","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":2,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"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(); }","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(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":60,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":43}},"defines":[{"name":"CC_RENDER_MODE","type":"number","range":[0,4]},{"name":"CC_DRAW_WIRE_FRAME","type":"boolean"},{"name":"CC_USE_WORLD_SPACE","type":"boolean"}]},{"hash":915995403,"name":"particles/builtin-particle-trail|builtin/internal/particle-trail:vs_main|no-tint-fs:addSmooth","blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":1,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position","format":32,"location":0,"defines":[]},{"name":"a_texCoord","format":44,"location":1,"defines":[]},{"name":"a_texCoord1","format":32,"location":2,"defines":[]},{"name":"a_texCoord2","format":32,"location":3,"defines":[]},{"name":"a_color","format":44,"location":4,"defines":[]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":1,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"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(); }","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(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":60,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":42}},"defines":[{"name":"CC_RENDER_MODE","type":"number","range":[0,4]},{"name":"CC_DRAW_WIRE_FRAME","type":"boolean"},{"name":"CC_USE_WORLD_SPACE","type":"boolean"}]},{"hash":2435723114,"name":"particles/builtin-particle-trail|builtin/internal/particle-trail:vs_main|no-tint-fs:premultiplied","blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":1,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position","format":32,"location":0,"defines":[]},{"name":"a_texCoord","format":44,"location":1,"defines":[]},{"name":"a_texCoord1","format":32,"location":2,"defines":[]},{"name":"a_texCoord2","format":32,"location":3,"defines":[]},{"name":"a_color","format":44,"location":4,"defines":[]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":1,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"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(); }","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(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":60,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":42}},"defines":[{"name":"CC_RENDER_MODE","type":"number","range":[0,4]},{"name":"CC_DRAW_WIRE_FRAME","type":"boolean"},{"name":"CC_USE_WORLD_SPACE","type":"boolean"}]}],[{"name":"add","passes":[{"program":"particles/builtin-particle-trail|builtin/internal/particle-trail:vs_main|tinted-fs:add","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":1,"blendSrcAlpha":2,"blendDstAlpha":1}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":28},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]},"frameTile_velLenScale":{"type":16,"value":[1,1,0,0]},"tintColor":{"type":16,"value":[0.5,0.5,0.5,0.5]}}},{"phase":"deferred-forward","propertyIndex":0,"program":"particles/builtin-particle-trail|builtin/internal/particle-trail:vs_main|tinted-fs:add","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":1,"blendSrcAlpha":2,"blendDstAlpha":1}]},"depthStencilState":{"depthTest":true,"depthWrite":false}}]},{"name":"alpha-blend","passes":[{"program":"particles/builtin-particle-trail|builtin/internal/particle-trail:vs_main|tinted-fs:add","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":1,"blendDst":4,"blendSrcAlpha":1,"blendDstAlpha":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":28},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]},"frameTile_velLenScale":{"type":16,"value":[1,1,0,0]},"tintColor":{"type":16,"value":[0.5,0.5,0.5,0.5]}}},{"phase":"deferred-forward","propertyIndex":0,"program":"particles/builtin-particle-trail|builtin/internal/particle-trail:vs_main|tinted-fs:add","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":1,"blendDst":4,"blendSrcAlpha":1,"blendDstAlpha":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false}}]},{"name":"add-multiply","passes":[{"program":"particles/builtin-particle-trail|builtin/internal/particle-trail:vs_main|tinted-fs:multiply","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":1,"blendDst":4,"blendSrcAlpha":1,"blendDstAlpha":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":28},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]},"frameTile_velLenScale":{"type":16,"value":[1,1,0,0]},"tintColor":{"type":16,"value":[0.5,0.5,0.5,0.5]}}},{"phase":"deferred-forward","propertyIndex":0,"program":"particles/builtin-particle-trail|builtin/internal/particle-trail:vs_main|tinted-fs:multiply","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":1,"blendDst":4,"blendSrcAlpha":1,"blendDstAlpha":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false}}]},{"name":"add-smooth","passes":[{"program":"particles/builtin-particle-trail|builtin/internal/particle-trail:vs_main|no-tint-fs:addSmooth","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":1,"blendDst":4,"blendSrcAlpha":1,"blendDstAlpha":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":28},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]},"frameTile_velLenScale":{"type":16,"value":[1,1,0,0]}}},{"phase":"deferred-forward","propertyIndex":0,"program":"particles/builtin-particle-trail|builtin/internal/particle-trail:vs_main|no-tint-fs:addSmooth","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":1,"blendDst":4,"blendSrcAlpha":1,"blendDstAlpha":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false}}]},{"name":"premultiply-blend","passes":[{"program":"particles/builtin-particle-trail|builtin/internal/particle-trail:vs_main|no-tint-fs:premultiplied","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":1,"blendDst":4,"blendSrcAlpha":1,"blendDstAlpha":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":28},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]},"frameTile_velLenScale":{"type":16,"value":[1,1,0,0]}}},{"phase":"deferred-forward","propertyIndex":0,"program":"particles/builtin-particle-trail|builtin/internal/particle-trail:vs_main|no-tint-fs:premultiplied","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":1,"blendDst":4,"blendSrcAlpha":1,"blendDstAlpha":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false}}]}]]],0,0,[],[],[]],[[[1,"internal/builtin-graphics",[{"hash":586721616,"name":"internal/builtin-graphics|vs:vert|fs:frag","blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position","format":32,"location":0,"defines":[]},{"name":"a_color","format":44,"location":1,"defines":[]},{"name":"a_dist","format":11,"location":2,"defines":[]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":1,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":1,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"vert":"\nprecision highp 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};\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) in vec3 a_position;\nlayout(location = 1) in vec4 a_color;\nlayout(location = 0) out vec4 v_color;\nlayout(location = 2) in float a_dist;\nlayout(location = 1) out float v_dist;\nvec4 vert () {\n vec4 pos = vec4(a_position, 1);\n pos = cc_matViewProj * cc_matWorld * pos;\n v_color = a_color;\n v_dist = a_dist;\n return pos;\n}\nvoid main() { gl_Position = vert(); }","frag":"\nprecision highp float;\nlayout(location = 0) in vec4 v_color;\nlayout(location = 1) in float v_dist;\nvec4 frag () {\n vec4 o = v_color;\n float aa = fwidth(v_dist);\n float alpha = 1. - smoothstep(-aa, 0., abs(v_dist) - 1.0);\n o.rgb *= o.a;\n o *= alpha;\n return o;\n}\nlayout(location = 0) out vec4 cc_FragColor;\nvoid main() { cc_FragColor = frag(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":56,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":0}},"defines":[]}],[{"passes":[{"program":"internal/builtin-graphics|vs:vert|fs:frag","blendState":{"targets":[{"blend":true,"blendSrc":1,"blendDst":4,"blendSrcAlpha":1,"blendDstAlpha":4}]},"rasterizerState":{"cullMode":0},"depthStencilState":{"depthTest":false,"depthWrite":false}}]}]]],0,0,[],[],[]],[[[1,"legacy/terrain",[{"hash":2418767668,"name":"legacy/terrain|terrain-vs|terrain-fs","blocks":[{"name":"TexCoords","stageFlags":1,"binding":0,"members":[{"name":"UVScale","type":16,"count":1},{"name":"lightMapUVParam","type":16,"count":1}],"defines":[]},{"name":"PbrParams","stageFlags":16,"binding":1,"members":[{"name":"metallic","type":16,"count":1},{"name":"roughness","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"weightMap","type":28,"count":1,"stageFlags":16,"binding":2,"defines":[]},{"name":"detailMap0","type":28,"count":1,"stageFlags":16,"binding":3,"defines":[]},{"name":"detailMap1","type":28,"count":1,"stageFlags":16,"binding":4,"defines":[]},{"name":"detailMap2","type":28,"count":1,"stageFlags":16,"binding":5,"defines":[]},{"name":"detailMap3","type":28,"count":1,"stageFlags":16,"binding":6,"defines":[]},{"name":"normalMap0","type":28,"count":1,"stageFlags":16,"binding":7,"defines":[]},{"name":"normalMap1","type":28,"count":1,"stageFlags":16,"binding":8,"defines":[]},{"name":"normalMap2","type":28,"count":1,"stageFlags":16,"binding":9,"defines":[]},{"name":"normalMap3","type":28,"count":1,"stageFlags":16,"binding":10,"defines":[]}],"samplers":[],"textures":[],"buffers":[{"name":"b_ccLightsBuffer","memoryAccess":1,"stageFlags":16,"binding":11,"defines":["CC_FORWARD_ADD","CC_ENABLE_CLUSTERED_LIGHT_CULLING"]},{"name":"b_clusterLightIndicesBuffer","memoryAccess":1,"stageFlags":16,"binding":12,"defines":["CC_FORWARD_ADD","CC_ENABLE_CLUSTERED_LIGHT_CULLING"]},{"name":"b_clusterLightGridBuffer","memoryAccess":1,"stageFlags":16,"binding":13,"defines":["CC_FORWARD_ADD","CC_ENABLE_CLUSTERED_LIGHT_CULLING"]}],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position","format":32,"location":0,"defines":[]},{"name":"a_normal","format":32,"location":1,"defines":[]},{"name":"a_texCoord","format":21,"location":2,"defines":[]}],"fragColors":[{"name":"fragColorX","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":["CC_FORWARD_ADD"]},{"name":"albedoOut","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":1,"defines":["CC_FORWARD_ADD","CC_PIPELINE_TYPE"]},{"name":"emissiveOut","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":2,"defines":["CC_FORWARD_ADD","CC_PIPELINE_TYPE"]},{"name":"normalOut","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":3,"defines":["CC_FORWARD_ADD","CC_PIPELINE_TYPE"]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCLocal","stageFlags":17,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":[]},{"name":"CCSH","stageFlags":16,"tags":{"builtin":"local"},"members":[{"name":"cc_sh_linear_const_r","typename":"vec4","type":16,"count":1},{"name":"cc_sh_linear_const_g","typename":"vec4","type":16,"count":1},{"name":"cc_sh_linear_const_b","typename":"vec4","type":16,"count":1},{"name":"cc_sh_quadratic_r","typename":"vec4","type":16,"count":1},{"name":"cc_sh_quadratic_g","typename":"vec4","type":16,"count":1},{"name":"cc_sh_quadratic_b","typename":"vec4","type":16,"count":1},{"name":"cc_sh_quadratic_a","typename":"vec4","type":16,"count":1}],"defines":["CC_USE_LIGHT_PROBE","!USE_INSTANCING"]},{"name":"CCForwardLight","stageFlags":16,"tags":{"builtin":"local"},"members":[{"name":"cc_lightPos","typename":"vec4","type":16,"count":0,"precision":"highp ","isArray":true},{"name":"cc_lightColor","typename":"vec4","type":16,"count":0,"isArray":true},{"name":"cc_lightSizeRangeAngle","typename":"vec4","type":16,"count":0,"isArray":true},{"name":"cc_lightDir","typename":"vec4","type":16,"count":0,"isArray":true},{"name":"cc_lightBoundingSizeVS","typename":"vec4","type":16,"count":0,"isArray":true}],"defines":["CC_FORWARD_ADD","CC_ENABLE_CLUSTERED_LIGHT_CULLING"]}],"samplerTextures":[{"name":"cc_reflectionProbeCubemap","typename":"samplerCube","type":31,"count":1,"stageFlags":16,"tags":{"builtin":"local"},"defines":["CC_USE_REFLECTION_PROBE"]},{"name":"cc_reflectionProbePlanarMap","typename":"sampler2D","type":28,"count":1,"stageFlags":16,"tags":{"builtin":"local"},"defines":["CC_USE_REFLECTION_PROBE"]},{"name":"cc_reflectionProbeDataMap","typename":"sampler2D","type":28,"count":1,"stageFlags":16,"tags":{"builtin":"local"},"defines":["CC_USE_REFLECTION_PROBE"]},{"name":"cc_reflectionProbeBlendCubemap","typename":"samplerCube","type":31,"count":1,"stageFlags":16,"tags":{"builtin":"local"},"defines":["CC_USE_REFLECTION_PROBE"]},{"name":"cc_lightingMap","typename":"sampler2D","type":28,"count":1,"stageFlags":16,"tags":{"builtin":"local"},"defines":["CC_USE_LIGHTMAP","!CC_FORWARD_ADD"]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[{"name":"TexCoords","stageFlags":1,"binding":0,"members":[{"name":"UVScale","type":16,"count":1},{"name":"lightMapUVParam","type":16,"count":1}],"defines":[]},{"name":"PbrParams","stageFlags":16,"binding":1,"members":[{"name":"metallic","type":16,"count":1},{"name":"roughness","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"weightMap","type":28,"count":1,"stageFlags":16,"binding":2,"defines":[]},{"name":"detailMap0","type":28,"count":1,"stageFlags":16,"binding":3,"defines":[]},{"name":"detailMap1","type":28,"count":1,"stageFlags":16,"binding":4,"defines":[]},{"name":"detailMap2","type":28,"count":1,"stageFlags":16,"binding":5,"defines":[]},{"name":"detailMap3","type":28,"count":1,"stageFlags":16,"binding":6,"defines":[]},{"name":"normalMap0","type":28,"count":1,"stageFlags":16,"binding":7,"defines":[]},{"name":"normalMap1","type":28,"count":1,"stageFlags":16,"binding":8,"defines":[]},{"name":"normalMap2","type":28,"count":1,"stageFlags":16,"binding":9,"defines":[]},{"name":"normalMap3","type":28,"count":1,"stageFlags":16,"binding":10,"defines":[]}],"samplers":[],"textures":[],"buffers":[{"name":"b_ccLightsBuffer","memoryAccess":1,"stageFlags":16,"binding":11,"defines":["CC_FORWARD_ADD","CC_ENABLE_CLUSTERED_LIGHT_CULLING"]},{"name":"b_clusterLightIndicesBuffer","memoryAccess":1,"stageFlags":16,"binding":12,"defines":["CC_FORWARD_ADD","CC_ENABLE_CLUSTERED_LIGHT_CULLING"]},{"name":"b_clusterLightGridBuffer","memoryAccess":1,"stageFlags":16,"binding":13,"defines":["CC_FORWARD_ADD","CC_ENABLE_CLUSTERED_LIGHT_CULLING"]}],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCShadow","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matLightView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matLightViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_shadowInvProjDepthInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowProjDepthInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowProjInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowNFLSInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowWHPBInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowLPNNInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowColor","typename":"vec4","type":16,"count":1,"precision":"lowp "},{"name":"cc_planarNDInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCSM","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_csmViewDir0","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmViewDir1","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmViewDir2","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmAtlas","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_matCSMViewProj","typename":"mat4","type":25,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmProjDepthInfo","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmProjInfo","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmSplitsInfo","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["CC_SUPPORT_CASCADED_SHADOW_MAP"]}],"samplerTextures":[{"name":"cc_shadowMap","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":17,"tags":{"builtin":"global"},"defines":["CC_RECEIVE_SHADOW"]},{"name":"cc_spotShadowMap","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":17,"tags":{"builtin":"global"},"defines":["CC_RECEIVE_SHADOW"]},{"name":"cc_environment","typename":"samplerCube","type":31,"count":1,"stageFlags":16,"tags":{"builtin":"global"},"defines":[]},{"name":"cc_diffuseMap","typename":"samplerCube","type":31,"count":1,"stageFlags":16,"tags":{"builtin":"global"},"defines":["CC_USE_IBL","CC_USE_DIFFUSEMAP"]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"vert":"\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};\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};\n#if CC_USE_FOG != 4\n float LinearFog(vec4 pos, vec3 cameraPos, float fogStart, float fogEnd) {\n vec4 wPos = pos;\n float cam_dis = distance(cameraPos, wPos.xyz);\n return clamp((fogEnd - cam_dis) / (fogEnd - fogStart), 0., 1.);\n }\n float ExpFog(vec4 pos, vec3 cameraPos, float fogStart, float fogDensity, float fogAtten) {\n vec4 wPos = pos;\n float cam_dis = max(distance(cameraPos, wPos.xyz) - fogStart, 0.0) / fogAtten * 4.;\n float f = exp(-cam_dis * fogDensity);\n return f;\n }\n float ExpSquaredFog(vec4 pos, vec3 cameraPos, float fogStart, float fogDensity, float fogAtten) {\n vec4 wPos = pos;\n float cam_dis = max(distance(cameraPos, wPos.xyz) - fogStart, 0.0) / fogAtten * 4.;\n float f = exp(-cam_dis * cam_dis * fogDensity * fogDensity);\n return f;\n }\n float LayeredFog(vec4 pos, vec3 cameraPos, float fogTop, float fogRange, float fogAtten) {\n vec4 wPos = pos;\n vec3 camWorldProj = cameraPos.xyz;\n camWorldProj.y = 0.;\n vec3 worldPosProj = wPos.xyz;\n worldPosProj.y = 0.;\n float fDeltaD = distance(worldPosProj, camWorldProj) / fogAtten * 2.0;\n float fDeltaY, fDensityIntegral;\n if (cameraPos.y > fogTop) {\n if (wPos.y < fogTop) {\n fDeltaY = (fogTop - wPos.y) / fogRange * 2.0;\n fDensityIntegral = fDeltaY * fDeltaY * 0.5;\n }\n else {\n fDeltaY = 0.;\n fDensityIntegral = 0.;\n }\n }\n else {\n if (wPos.y < fogTop) {\n float fDeltaA = (fogTop - cameraPos.y) / fogRange * 2.;\n float fDeltaB = (fogTop - wPos.y) / fogRange * 2.;\n fDeltaY = abs(fDeltaA - fDeltaB);\n fDensityIntegral = abs((fDeltaA * fDeltaA * 0.5) - (fDeltaB * fDeltaB * 0.5));\n }\n else {\n fDeltaY = abs(fogTop - cameraPos.y) / fogRange * 2.;\n fDensityIntegral = abs(fDeltaY * fDeltaY * 0.5);\n }\n }\n float fDensity;\n if (fDeltaY != 0.) {\n fDensity = (sqrt(1.0 + ((fDeltaD / fDeltaY) * (fDeltaD / fDeltaY)))) * fDensityIntegral;\n }\n else {\n fDensity = 0.;\n }\n float f = exp(-fDensity);\n return f;\n }\n#endif\nvoid CC_TRANSFER_FOG_BASE(vec4 pos, out float factor)\n{\n#if CC_USE_FOG == 0\n\tfactor = LinearFog(pos, cc_cameraPos.xyz, cc_fogBase.x, cc_fogBase.y);\n#elif CC_USE_FOG == 1\n\tfactor = ExpFog(pos, cc_cameraPos.xyz, cc_fogBase.x, cc_fogBase.z, cc_fogAdd.z);\n#elif CC_USE_FOG == 2\n\tfactor = ExpSquaredFog(pos, cc_cameraPos.xyz, cc_fogBase.x, cc_fogBase.z, cc_fogAdd.z);\n#elif CC_USE_FOG == 3\n\tfactor = LayeredFog(pos, cc_cameraPos.xyz, cc_fogAdd.x, cc_fogAdd.y, cc_fogAdd.z);\n#else\n\tfactor = 1.0;\n#endif\n}\n#if !CC_USE_ACCURATE_FOG\nlayout(location = 0) out mediump float v_fog_factor;\n#endif\nvoid CC_TRANSFER_FOG(vec4 pos) {\n#if !CC_USE_ACCURATE_FOG\n CC_TRANSFER_FOG_BASE(pos, v_fog_factor);\n#endif\n}\nlayout(location = 1) out highp vec4 v_shadowPos;\nlayout(set = 0, binding = 2) uniform CCShadow {\n highp mat4 cc_matLightView;\n highp mat4 cc_matLightViewProj;\n highp vec4 cc_shadowInvProjDepthInfo;\n highp vec4 cc_shadowProjDepthInfo;\n highp vec4 cc_shadowProjInfo;\n mediump vec4 cc_shadowNFLSInfo;\n mediump vec4 cc_shadowWHPBInfo;\n mediump vec4 cc_shadowLPNNInfo;\n lowp vec4 cc_shadowColor;\n mediump vec4 cc_planarNDInfo;\n};\n#if CC_SUPPORT_CASCADED_SHADOW_MAP\n layout(set = 0, binding = 3) uniform CCCSM {\n highp vec4 cc_csmViewDir0[4];\n highp vec4 cc_csmViewDir1[4];\n highp vec4 cc_csmViewDir2[4];\n highp vec4 cc_csmAtlas[4];\n highp mat4 cc_matCSMViewProj[4];\n highp vec4 cc_csmProjDepthInfo[4];\n highp vec4 cc_csmProjInfo[4];\n highp vec4 cc_csmSplitsInfo;\n };\n#endif\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\n#if defined(CC_USE_METAL) || defined(CC_USE_WGPU)\n#define CC_HANDLE_SAMPLE_NDC_FLIP_STATIC(y) y = -y\n#else\n#define CC_HANDLE_SAMPLE_NDC_FLIP_STATIC(y)\n#endif\n#if CC_RECEIVE_SHADOW\n layout(set = 0, binding = 4) uniform highp sampler2D cc_shadowMap;\n layout(set = 0, binding = 6) uniform highp sampler2D cc_spotShadowMap;\n #define UnpackBitFromFloat(value, bit) (mod(floor(value / pow(10.0, float(bit))), 10.0) > 0.0)\n #if CC_SUPPORT_CASCADED_SHADOW_MAP\n #else\n #endif\n#endif\n#if CC_RECEIVE_SHADOW\n#endif\nlayout(location = 0) in vec3 a_position;\nlayout(location = 1) in vec3 a_normal;\nlayout(location = 2) in vec2 a_texCoord;\n#if CC_RECEIVE_SHADOW\n layout(location = 2) out vec2 v_shadowBias;\n#endif\nlayout(location = 3) out highp vec3 v_position;\nlayout(location = 4) out mediump vec3 v_normal;\nlayout(location = 5) out mediump vec2 uvw;\nlayout(location = 6) out mediump vec2 uv0;\nlayout(location = 7) out mediump vec2 uv1;\nlayout(location = 8) out mediump vec2 uv2;\nlayout(location = 9) out mediump vec2 uv3;\nlayout(location = 10) out mediump vec3 luv;\nlayout(location = 11) out mediump vec3 diffuse;\nlayout(set = 1, binding = 0) uniform TexCoords {\n vec4 UVScale;\n vec4 lightMapUVParam;\n};\nvoid main () {\n vec3 worldPos;\n worldPos.x = cc_matWorld[3][0] + a_position.x;\n worldPos.y = cc_matWorld[3][1] + a_position.y;\n worldPos.z = cc_matWorld[3][2] + a_position.z;\n vec4 pos = vec4(worldPos, 1.0);\n pos = cc_matViewProj * pos;\n uvw = a_texCoord;\n uv0 = a_position.xz * UVScale.x;\n uv1 = a_position.xz * UVScale.y;\n uv2 = a_position.xz * UVScale.z;\n uv3 = a_position.xz * UVScale.w;\n #if CC_USE_LIGHTMAP\n luv.xy = cc_lightingMapUVParam.xy + a_texCoord * cc_lightingMapUVParam.z;\n luv.z = cc_lightingMapUVParam.w;\n #endif\n v_position = worldPos;\n v_normal = a_normal;\n CC_TRANSFER_FOG(vec4(worldPos, 1.0));\n #if CC_RECEIVE_SHADOW\n v_shadowBias = vec2(0.0, 0.0);\n #endif\n v_shadowPos = cc_matLightViewProj * vec4(worldPos, 1.0);\n gl_Position = pos;\n}","frag":"\nprecision highp 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};\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\nvec3 SRGBToLinear (vec3 gamma) {\n#ifdef CC_USE_SURFACE_SHADER\n #if CC_USE_DEBUG_VIEW == CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC && CC_SURFACES_ENABLE_DEBUG_VIEW\n if (!IS_DEBUG_VIEW_COMPOSITE_ENABLE_GAMMA_CORRECTION) {\n return gamma;\n }\n #endif\n#endif\n return gamma * gamma;\n}\nvec3 LinearToSRGB(vec3 linear) {\n#ifdef CC_USE_SURFACE_SHADER\n #if CC_USE_DEBUG_VIEW == CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC && CC_SURFACES_ENABLE_DEBUG_VIEW\n if (!IS_DEBUG_VIEW_COMPOSITE_ENABLE_GAMMA_CORRECTION) {\n return linear;\n }\n #endif\n#endif\n return sqrt(linear);\n}\nlayout(set = 0, binding = 2) uniform CCShadow {\n highp mat4 cc_matLightView;\n highp mat4 cc_matLightViewProj;\n highp vec4 cc_shadowInvProjDepthInfo;\n highp vec4 cc_shadowProjDepthInfo;\n highp vec4 cc_shadowProjInfo;\n mediump vec4 cc_shadowNFLSInfo;\n mediump vec4 cc_shadowWHPBInfo;\n mediump vec4 cc_shadowLPNNInfo;\n lowp vec4 cc_shadowColor;\n mediump vec4 cc_planarNDInfo;\n};\n#if CC_SUPPORT_CASCADED_SHADOW_MAP\n layout(set = 0, binding = 3) uniform CCCSM {\n highp vec4 cc_csmViewDir0[4];\n highp vec4 cc_csmViewDir1[4];\n highp vec4 cc_csmViewDir2[4];\n highp vec4 cc_csmAtlas[4];\n highp mat4 cc_matCSMViewProj[4];\n highp vec4 cc_csmProjDepthInfo[4];\n highp vec4 cc_csmProjInfo[4];\n highp vec4 cc_csmSplitsInfo;\n };\n#endif\n#if defined(CC_USE_METAL) || defined(CC_USE_WGPU)\n#define CC_HANDLE_SAMPLE_NDC_FLIP_STATIC(y) y = -y\n#else\n#define CC_HANDLE_SAMPLE_NDC_FLIP_STATIC(y)\n#endif\nvec2 GetPlanarReflectScreenUV(vec3 worldPos, mat4 matVirtualCameraViewProj, float flipNDCSign, vec3 viewDir, vec3 reflectDir)\n{\n vec4 clipPos = matVirtualCameraViewProj * vec4(worldPos, 1.0);\n vec2 screenUV = clipPos.xy / clipPos.w * 0.5 + 0.5;\n screenUV = vec2(1.0 - screenUV.x, screenUV.y);\n screenUV = flipNDCSign == 1.0 ? vec2(screenUV.x, 1.0 - screenUV.y) : screenUV;\n return screenUV;\n}\nfloat GetLinearDepthFromViewSpace(vec3 viewPos, float near, float far) {\n float dist = length(viewPos);\n return (dist - near) / (far - near);\n}\nvec3 RotationVecFromAxisY(vec3 v, float cosTheta, float sinTheta)\n{\n vec3 result;\n result.x = dot(v, vec3(cosTheta, 0.0, -sinTheta));\n result.y = v.y;\n result.z = dot(v, vec3(sinTheta, 0.0, cosTheta));\n return result;\n}\nvec3 RotationVecFromAxisY(vec3 v, float rotateAngleArc)\n{\n return RotationVecFromAxisY(v, cos(rotateAngleArc), sin(rotateAngleArc));\n}\nfloat CCGetLinearDepth(vec3 worldPos, float viewSpaceBias) {\n\tvec4 viewPos = cc_matLightView * vec4(worldPos.xyz, 1.0);\n viewPos.z += viewSpaceBias;\n\treturn GetLinearDepthFromViewSpace(viewPos.xyz, cc_shadowNFLSInfo.x, cc_shadowNFLSInfo.y);\n}\nfloat CCGetLinearDepth(vec3 worldPos) {\n\treturn CCGetLinearDepth(worldPos, 0.0);\n}\n#if CC_RECEIVE_SHADOW\n layout(set = 0, binding = 4) uniform highp sampler2D cc_shadowMap;\n layout(set = 0, binding = 6) uniform highp sampler2D cc_spotShadowMap;\n #define UnpackBitFromFloat(value, bit) (mod(floor(value / pow(10.0, float(bit))), 10.0) > 0.0)\n highp float unpackHighpData (float mainPart, float modPart) {\n highp float data = mainPart;\n return data + modPart;\n }\n void packHighpData (out float mainPart, out float modPart, highp float data) {\n mainPart = fract(data);\n modPart = data - mainPart;\n }\n highp float unpackHighpData (float mainPart, float modPart, const float modValue) {\n highp float data = mainPart * modValue;\n return data + modPart * modValue;\n }\n void packHighpData (out float mainPart, out float modPart, highp float data, const float modValue) {\n highp float divide = data / modValue;\n mainPart = floor(divide);\n modPart = (data - mainPart * modValue) / modValue;\n }\n highp vec2 unpackHighpData (vec2 mainPart, vec2 modPart) {\n highp vec2 data = mainPart;\n return data + modPart;\n }\n void packHighpData (out vec2 mainPart, out vec2 modPart, highp vec2 data) {\n mainPart = fract(data);\n modPart = data - mainPart;\n }\n highp vec2 unpackHighpData (vec2 mainPart, vec2 modPart, const float modValue) {\n highp vec2 data = mainPart * modValue;\n return data + modPart * modValue;\n }\n void packHighpData (out vec2 mainPart, out vec2 modPart, highp vec2 data, const float modValue) {\n highp vec2 divide = data / modValue;\n mainPart = floor(divide);\n modPart = (data - mainPart * modValue) / modValue;\n }\n highp vec3 unpackHighpData (vec3 mainPart, vec3 modPart) {\n highp vec3 data = mainPart;\n return data + modPart;\n }\n void packHighpData (out vec3 mainPart, out vec3 modPart, highp vec3 data) {\n mainPart = fract(data);\n modPart = data - mainPart;\n }\n highp vec3 unpackHighpData (vec3 mainPart, vec3 modPart, const float modValue) {\n highp vec3 data = mainPart * modValue;\n return data + modPart * modValue;\n }\n void packHighpData (out vec3 mainPart, out vec3 modPart, highp vec3 data, const float modValue) {\n highp vec3 divide = data / modValue;\n mainPart = floor(divide);\n modPart = (data - mainPart * modValue) / modValue;\n }\n highp vec4 unpackHighpData (vec4 mainPart, vec4 modPart) {\n highp vec4 data = mainPart;\n return data + modPart;\n }\n void packHighpData (out vec4 mainPart, out vec4 modPart, highp vec4 data) {\n mainPart = fract(data);\n modPart = data - mainPart;\n }\n highp vec4 unpackHighpData (vec4 mainPart, vec4 modPart, const float modValue) {\n highp vec4 data = mainPart * modValue;\n return data + modPart * modValue;\n }\n void packHighpData (out vec4 mainPart, out vec4 modPart, highp vec4 data, const float modValue) {\n highp vec4 divide = data / modValue;\n mainPart = floor(divide);\n modPart = (data - mainPart * modValue) / modValue;\n }\n float NativePCFShadowFactorHard (vec3 shadowNDCPos, highp sampler2D shadowMap, vec2 shadowMapResolution)\n {\n #if CC_SHADOWMAP_FORMAT == 1\n return step(shadowNDCPos.z, dot(texture(shadowMap, shadowNDCPos.xy), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n #else\n return step(shadowNDCPos.z, texture(shadowMap, shadowNDCPos.xy).x);\n #endif\n }\n float NativePCFShadowFactorSoft (vec3 shadowNDCPos, highp sampler2D shadowMap, vec2 shadowMapResolution)\n {\n vec2 oneTap = 1.0 / shadowMapResolution;\n vec2 shadowNDCPos_offset = shadowNDCPos.xy + oneTap;\n float block0, block1, block2, block3;\n #if CC_SHADOWMAP_FORMAT == 1\n block0 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos.y)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block1 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset.x, shadowNDCPos.y)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block2 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos_offset.y)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block3 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset.x, shadowNDCPos_offset.y)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n #else\n block0 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos.y)).x);\n block1 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset.x, shadowNDCPos.y)).x);\n block2 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos_offset.y)).x);\n block3 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset.x, shadowNDCPos_offset.y)).x);\n #endif\n float coefX = mod(shadowNDCPos.x, oneTap.x) * shadowMapResolution.x;\n float resultX = mix(block0, block1, coefX);\n float resultY = mix(block2, block3, coefX);\n float coefY = mod(shadowNDCPos.y, oneTap.y) * shadowMapResolution.y;\n return mix(resultX, resultY, coefY);\n }\n float NativePCFShadowFactorSoft3X (vec3 shadowNDCPos, highp sampler2D shadowMap, vec2 shadowMapResolution)\n {\n vec2 oneTap = 1.0 / shadowMapResolution;\n float shadowNDCPos_offset_L = shadowNDCPos.x - oneTap.x;\n float shadowNDCPos_offset_R = shadowNDCPos.x + oneTap.x;\n float shadowNDCPos_offset_U = shadowNDCPos.y - oneTap.y;\n float shadowNDCPos_offset_D = shadowNDCPos.y + oneTap.y;\n float block0, block1, block2, block3, block4, block5, block6, block7, block8;\n #if CC_SHADOWMAP_FORMAT == 1\n block0 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset_L, shadowNDCPos_offset_U)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block1 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos_offset_U)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block2 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset_R, shadowNDCPos_offset_U)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block3 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset_L, shadowNDCPos.y)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block4 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos.y)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block5 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset_R, shadowNDCPos.y)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block6 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset_L, shadowNDCPos_offset_D)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block7 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos_offset_D)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block8 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset_R, shadowNDCPos_offset_D)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n #else\n block0 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset_L, shadowNDCPos_offset_U)).x);\n block1 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos_offset_U)).x);\n block2 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset_R, shadowNDCPos_offset_U)).x);\n block3 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset_L, shadowNDCPos.y)).x);\n block4 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos.y)).x);\n block5 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset_R, shadowNDCPos.y)).x);\n block6 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset_L, shadowNDCPos_offset_D)).x);\n block7 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos_offset_D)).x);\n block8 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset_R, shadowNDCPos_offset_D)).x);\n #endif\n float coefX = mod(shadowNDCPos.x, oneTap.x) * shadowMapResolution.x;\n float coefY = mod(shadowNDCPos.y, oneTap.y) * shadowMapResolution.y;\n float shadow = 0.0;\n float resultX = mix(block0, block1, coefX);\n float resultY = mix(block3, block4, coefX);\n shadow += mix(resultX , resultY, coefY);\n resultX = mix(block1, block2, coefX);\n resultY = mix(block4, block5, coefX);\n shadow += mix(resultX , resultY, coefY);\n resultX = mix(block3, block4, coefX);\n resultY = mix(block6, block7, coefX);\n shadow += mix(resultX, resultY, coefY);\n resultX = mix(block4, block5, coefX);\n resultY = mix(block7, block8, coefX);\n shadow += mix(resultX, resultY, coefY);\n return shadow * 0.25;\n }\n float NativePCFShadowFactorSoft5X (vec3 shadowNDCPos, highp sampler2D shadowMap, vec2 shadowMapResolution)\n {\n vec2 oneTap = 1.0 / shadowMapResolution;\n vec2 twoTap = oneTap * 2.0;\n vec2 offset1 = shadowNDCPos.xy + vec2(-twoTap.x, -twoTap.y);\n vec2 offset2 = shadowNDCPos.xy + vec2(-oneTap.x, -twoTap.y);\n vec2 offset3 = shadowNDCPos.xy + vec2(0.0, -twoTap.y);\n vec2 offset4 = shadowNDCPos.xy + vec2(oneTap.x, -twoTap.y);\n vec2 offset5 = shadowNDCPos.xy + vec2(twoTap.x, -twoTap.y);\n vec2 offset6 = shadowNDCPos.xy + vec2(-twoTap.x, -oneTap.y);\n vec2 offset7 = shadowNDCPos.xy + vec2(-oneTap.x, -oneTap.y);\n vec2 offset8 = shadowNDCPos.xy + vec2(0.0, -oneTap.y);\n vec2 offset9 = shadowNDCPos.xy + vec2(oneTap.x, -oneTap.y);\n vec2 offset10 = shadowNDCPos.xy + vec2(twoTap.x, -oneTap.y);\n vec2 offset11 = shadowNDCPos.xy + vec2(-twoTap.x, 0.0);\n vec2 offset12 = shadowNDCPos.xy + vec2(-oneTap.x, 0.0);\n vec2 offset13 = shadowNDCPos.xy + vec2(0.0, 0.0);\n vec2 offset14 = shadowNDCPos.xy + vec2(oneTap.x, 0.0);\n vec2 offset15 = shadowNDCPos.xy + vec2(twoTap.x, 0.0);\n vec2 offset16 = shadowNDCPos.xy + vec2(-twoTap.x, oneTap.y);\n vec2 offset17 = shadowNDCPos.xy + vec2(-oneTap.x, oneTap.y);\n vec2 offset18 = shadowNDCPos.xy + vec2(0.0, oneTap.y);\n vec2 offset19 = shadowNDCPos.xy + vec2(oneTap.x, oneTap.y);\n vec2 offset20 = shadowNDCPos.xy + vec2(twoTap.x, oneTap.y);\n vec2 offset21 = shadowNDCPos.xy + vec2(-twoTap.x, twoTap.y);\n vec2 offset22 = shadowNDCPos.xy + vec2(-oneTap.x, twoTap.y);\n vec2 offset23 = shadowNDCPos.xy + vec2(0.0, twoTap.y);\n vec2 offset24 = shadowNDCPos.xy + vec2(oneTap.x, twoTap.y);\n vec2 offset25 = shadowNDCPos.xy + vec2(twoTap.x, twoTap.y);\n float block1, block2, block3, block4, block5, block6, block7, block8, block9, block10, block11, block12, block13, block14, block15, block16, block17, block18, block19, block20, block21, block22, block23, block24, block25;\n #if CC_SHADOWMAP_FORMAT == 1\n block1 = step(shadowNDCPos.z, dot(texture(shadowMap, offset1), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block2 = step(shadowNDCPos.z, dot(texture(shadowMap, offset2), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block3 = step(shadowNDCPos.z, dot(texture(shadowMap, offset3), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block4 = step(shadowNDCPos.z, dot(texture(shadowMap, offset4), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block5 = step(shadowNDCPos.z, dot(texture(shadowMap, offset5), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block6 = step(shadowNDCPos.z, dot(texture(shadowMap, offset6), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block7 = step(shadowNDCPos.z, dot(texture(shadowMap, offset7), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block8 = step(shadowNDCPos.z, dot(texture(shadowMap, offset8), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block9 = step(shadowNDCPos.z, dot(texture(shadowMap, offset9), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block10 = step(shadowNDCPos.z, dot(texture(shadowMap, offset10), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block11 = step(shadowNDCPos.z, dot(texture(shadowMap, offset11), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block12 = step(shadowNDCPos.z, dot(texture(shadowMap, offset12), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block13 = step(shadowNDCPos.z, dot(texture(shadowMap, offset13), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block14 = step(shadowNDCPos.z, dot(texture(shadowMap, offset14), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block15 = step(shadowNDCPos.z, dot(texture(shadowMap, offset15), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block16 = step(shadowNDCPos.z, dot(texture(shadowMap, offset16), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block17 = step(shadowNDCPos.z, dot(texture(shadowMap, offset17), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block18 = step(shadowNDCPos.z, dot(texture(shadowMap, offset18), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block19 = step(shadowNDCPos.z, dot(texture(shadowMap, offset19), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block20 = step(shadowNDCPos.z, dot(texture(shadowMap, offset20), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block21 = step(shadowNDCPos.z, dot(texture(shadowMap, offset21), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block22 = step(shadowNDCPos.z, dot(texture(shadowMap, offset22), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block23 = step(shadowNDCPos.z, dot(texture(shadowMap, offset23), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block24 = step(shadowNDCPos.z, dot(texture(shadowMap, offset24), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block25 = step(shadowNDCPos.z, dot(texture(shadowMap, offset25), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n #else\n block1 = step(shadowNDCPos.z, texture(shadowMap, offset1).x);\n block2 = step(shadowNDCPos.z, texture(shadowMap, offset2).x);\n block3 = step(shadowNDCPos.z, texture(shadowMap, offset3).x);\n block4 = step(shadowNDCPos.z, texture(shadowMap, offset4).x);\n block5 = step(shadowNDCPos.z, texture(shadowMap, offset5).x);\n block6 = step(shadowNDCPos.z, texture(shadowMap, offset6).x);\n block7 = step(shadowNDCPos.z, texture(shadowMap, offset7).x);\n block8 = step(shadowNDCPos.z, texture(shadowMap, offset8).x);\n block9 = step(shadowNDCPos.z, texture(shadowMap, offset9).x);\n block10 = step(shadowNDCPos.z, texture(shadowMap, offset10).x);\n block11 = step(shadowNDCPos.z, texture(shadowMap, offset11).x);\n block12 = step(shadowNDCPos.z, texture(shadowMap, offset12).x);\n block13 = step(shadowNDCPos.z, texture(shadowMap, offset13).x);\n block14 = step(shadowNDCPos.z, texture(shadowMap, offset14).x);\n block15 = step(shadowNDCPos.z, texture(shadowMap, offset15).x);\n block16 = step(shadowNDCPos.z, texture(shadowMap, offset16).x);\n block17 = step(shadowNDCPos.z, texture(shadowMap, offset17).x);\n block18 = step(shadowNDCPos.z, texture(shadowMap, offset18).x);\n block19 = step(shadowNDCPos.z, texture(shadowMap, offset19).x);\n block20 = step(shadowNDCPos.z, texture(shadowMap, offset20).x);\n block21 = step(shadowNDCPos.z, texture(shadowMap, offset21).x);\n block22 = step(shadowNDCPos.z, texture(shadowMap, offset22).x);\n block23 = step(shadowNDCPos.z, texture(shadowMap, offset23).x);\n block24 = step(shadowNDCPos.z, texture(shadowMap, offset24).x);\n block25 = step(shadowNDCPos.z, texture(shadowMap, offset25).x);\n #endif\n vec2 coef = fract(shadowNDCPos.xy * shadowMapResolution);\n vec2 v1X1 = mix(vec2(block1, block6), vec2(block2, block7), coef.xx);\n vec2 v1X2 = mix(vec2(block2, block7), vec2(block3, block8), coef.xx);\n vec2 v1X3 = mix(vec2(block3, block8), vec2(block4, block9), coef.xx);\n vec2 v1X4 = mix(vec2(block4, block9), vec2(block5, block10), coef.xx);\n float v1 = mix(v1X1.x, v1X1.y, coef.y) + mix(v1X2.x, v1X2.y, coef.y) + mix(v1X3.x, v1X3.y, coef.y) + mix(v1X4.x, v1X4.y, coef.y);\n vec2 v2X1 = mix(vec2(block6, block11), vec2(block7, block12), coef.xx);\n vec2 v2X2 = mix(vec2(block7, block12), vec2(block8, block13), coef.xx);\n vec2 v2X3 = mix(vec2(block8, block13), vec2(block9, block14), coef.xx);\n vec2 v2X4 = mix(vec2(block9, block14), vec2(block10, block15), coef.xx);\n float v2 = mix(v2X1.x, v2X1.y, coef.y) + mix(v2X2.x, v2X2.y, coef.y) + mix(v2X3.x, v2X3.y, coef.y) + mix(v2X4.x, v2X4.y, coef.y);\n vec2 v3X1 = mix(vec2(block11, block16), vec2(block12, block17), coef.xx);\n vec2 v3X2 = mix(vec2(block12, block17), vec2(block13, block18), coef.xx);\n vec2 v3X3 = mix(vec2(block13, block18), vec2(block14, block19), coef.xx);\n vec2 v3X4 = mix(vec2(block14, block19), vec2(block15, block20), coef.xx);\n float v3 = mix(v3X1.x, v3X1.y, coef.y) + mix(v3X2.x, v3X2.y, coef.y) + mix(v3X3.x, v3X3.y, coef.y) + mix(v3X4.x, v3X4.y, coef.y);\n vec2 v4X1 = mix(vec2(block16, block21), vec2(block17, block22), coef.xx);\n vec2 v4X2 = mix(vec2(block17, block22), vec2(block18, block23), coef.xx);\n vec2 v4X3 = mix(vec2(block18, block23), vec2(block19, block24), coef.xx);\n vec2 v4X4 = mix(vec2(block19, block24), vec2(block20, block25), coef.xx);\n float v4 = mix(v4X1.x, v4X1.y, coef.y) + mix(v4X2.x, v4X2.y, coef.y) + mix(v4X3.x, v4X3.y, coef.y) + mix(v4X4.x, v4X4.y, coef.y);\n float fAvg = (v1 + v2 + v3 + v4) * 0.0625;\n return fAvg;\n }\n bool GetShadowNDCPos(out vec3 shadowNDCPos, vec4 shadowPosWithDepthBias)\n {\n \tshadowNDCPos = shadowPosWithDepthBias.xyz / shadowPosWithDepthBias.w * 0.5 + 0.5;\n \tif (shadowNDCPos.x < 0.0 || shadowNDCPos.x > 1.0 ||\n \t\tshadowNDCPos.y < 0.0 || shadowNDCPos.y > 1.0 ||\n \t\tshadowNDCPos.z < 0.0 || shadowNDCPos.z > 1.0) {\n \t\treturn false;\n \t}\n \tshadowNDCPos.xy = cc_cameraPos.w == 1.0 ? vec2(shadowNDCPos.xy.x, 1.0 - shadowNDCPos.xy.y) : shadowNDCPos.xy;\n \treturn true;\n }\n vec4 ApplyShadowDepthBias_FaceNormal(vec4 shadowPos, vec3 worldNormal, float normalBias, vec3 matViewDir0, vec3 matViewDir1, vec3 matViewDir2, vec2 projScaleXY)\n {\n vec4 newShadowPos = shadowPos;\n if (normalBias > EPSILON_LOWP)\n {\n vec3 viewNormal = vec3(dot(matViewDir0, worldNormal), dot(matViewDir1, worldNormal), dot(matViewDir2, worldNormal));\n if (viewNormal.z < 0.1)\n newShadowPos.xy += viewNormal.xy * projScaleXY * normalBias * clamp(viewNormal.z, 0.001, 0.1);\n }\n return newShadowPos;\n }\n vec4 ApplyShadowDepthBias_FaceNormal(vec4 shadowPos, vec3 worldNormal, float normalBias, mat4 matLightView, vec2 projScaleXY)\n {\n \tvec4 newShadowPos = shadowPos;\n \tif (normalBias > EPSILON_LOWP)\n \t{\n \t\tvec4 viewNormal = matLightView * vec4(worldNormal, 0.0);\n \t\tif (viewNormal.z < 0.1)\n \t\t\tnewShadowPos.xy += viewNormal.xy * projScaleXY * normalBias * clamp(viewNormal.z, 0.001, 0.1);\n \t}\n \treturn newShadowPos;\n }\n float GetViewSpaceDepthFromNDCDepth_Orthgraphic(float NDCDepth, float projScaleZ, float projBiasZ)\n {\n \treturn (NDCDepth - projBiasZ) / projScaleZ;\n }\n float GetViewSpaceDepthFromNDCDepth_Perspective(float NDCDepth, float homogenousDividW, float invProjScaleZ, float invProjBiasZ)\n {\n \treturn NDCDepth * invProjScaleZ + homogenousDividW * invProjBiasZ;\n }\n vec4 ApplyShadowDepthBias_Perspective(vec4 shadowPos, float viewspaceDepthBias)\n {\n \tvec3 viewSpacePos;\n \tviewSpacePos.xy = shadowPos.xy * cc_shadowProjInfo.zw;\n \tviewSpacePos.z = GetViewSpaceDepthFromNDCDepth_Perspective(shadowPos.z, shadowPos.w, cc_shadowInvProjDepthInfo.x, cc_shadowInvProjDepthInfo.y);\n \tviewSpacePos.xyz += cc_shadowProjDepthInfo.z * normalize(viewSpacePos.xyz) * viewspaceDepthBias;\n \tvec4 clipSpacePos;\n \tclipSpacePos.xy = viewSpacePos.xy * cc_shadowProjInfo.xy;\n \tclipSpacePos.zw = viewSpacePos.z * cc_shadowProjDepthInfo.xz + vec2(cc_shadowProjDepthInfo.y, 0.0);\n \t#if CC_SHADOWMAP_USE_LINEAR_DEPTH\n \t\tclipSpacePos.z = GetLinearDepthFromViewSpace(viewSpacePos.xyz, cc_shadowNFLSInfo.x, cc_shadowNFLSInfo.y);\n \t\tclipSpacePos.z = (clipSpacePos.z * 2.0 - 1.0) * clipSpacePos.w;\n \t#endif\n \treturn clipSpacePos;\n }\n vec4 ApplyShadowDepthBias_Orthographic(vec4 shadowPos, float viewspaceDepthBias, float projScaleZ, float projBiasZ)\n {\n \tfloat coeffA = projScaleZ;\n \tfloat coeffB = projBiasZ;\n \tfloat viewSpacePos_z = GetViewSpaceDepthFromNDCDepth_Orthgraphic(shadowPos.z, projScaleZ, projBiasZ);\n \tviewSpacePos_z += viewspaceDepthBias;\n \tvec4 result = shadowPos;\n \tresult.z = viewSpacePos_z * coeffA + coeffB;\n \treturn result;\n }\n vec4 ApplyShadowDepthBias_PerspectiveLinearDepth(vec4 shadowPos, float viewspaceDepthBias, vec3 worldPos)\n {\n shadowPos.z = CCGetLinearDepth(worldPos, viewspaceDepthBias) * 2.0 - 1.0;\n shadowPos.z *= shadowPos.w;\n return shadowPos;\n }\n float CCGetDirLightShadowFactorHard (vec4 shadowPosWithDepthBias) {\n\t vec3 shadowNDCPos;\n\t if (!GetShadowNDCPos(shadowNDCPos, shadowPosWithDepthBias)) {\n\t\t return 1.0;\n\t }\n return NativePCFShadowFactorHard(shadowNDCPos, cc_shadowMap, cc_shadowWHPBInfo.xy);\n }\n float CCGetDirLightShadowFactorSoft (vec4 shadowPosWithDepthBias) {\n\t vec3 shadowNDCPos;\n\t if (!GetShadowNDCPos(shadowNDCPos, shadowPosWithDepthBias)) {\n\t\t return 1.0;\n\t }\n return NativePCFShadowFactorSoft(shadowNDCPos, cc_shadowMap, cc_shadowWHPBInfo.xy);\n }\n float CCGetDirLightShadowFactorSoft3X (vec4 shadowPosWithDepthBias) {\n\t vec3 shadowNDCPos;\n\t if (!GetShadowNDCPos(shadowNDCPos, shadowPosWithDepthBias)) {\n\t\t return 1.0;\n\t }\n return NativePCFShadowFactorSoft3X(shadowNDCPos, cc_shadowMap, cc_shadowWHPBInfo.xy);\n }\n float CCGetDirLightShadowFactorSoft5X (vec4 shadowPosWithDepthBias) {\n\t vec3 shadowNDCPos;\n\t if (!GetShadowNDCPos(shadowNDCPos, shadowPosWithDepthBias)) {\n\t\t return 1.0;\n\t }\n return NativePCFShadowFactorSoft5X(shadowNDCPos, cc_shadowMap, cc_shadowWHPBInfo.xy);\n }\n float CCGetSpotLightShadowFactorHard (vec4 shadowPosWithDepthBias, vec3 worldPos) {\n\t vec3 shadowNDCPos;\n\t if (!GetShadowNDCPos(shadowNDCPos, shadowPosWithDepthBias)) {\n\t\t return 1.0;\n\t }\n return NativePCFShadowFactorHard(shadowNDCPos, cc_spotShadowMap, cc_shadowWHPBInfo.xy);\n }\n float CCGetSpotLightShadowFactorSoft (vec4 shadowPosWithDepthBias, vec3 worldPos) {\n\t vec3 shadowNDCPos;\n\t if (!GetShadowNDCPos(shadowNDCPos, shadowPosWithDepthBias)) {\n\t\t return 1.0;\n\t }\n return NativePCFShadowFactorSoft(shadowNDCPos, cc_spotShadowMap, cc_shadowWHPBInfo.xy);\n }\n float CCGetSpotLightShadowFactorSoft3X (vec4 shadowPosWithDepthBias, vec3 worldPos) {\n\t vec3 shadowNDCPos;\n\t if (!GetShadowNDCPos(shadowNDCPos, shadowPosWithDepthBias)) {\n\t\t return 1.0;\n\t }\n return NativePCFShadowFactorSoft3X(shadowNDCPos, cc_spotShadowMap, cc_shadowWHPBInfo.xy);\n }\n float CCGetSpotLightShadowFactorSoft5X (vec4 shadowPosWithDepthBias, vec3 worldPos) {\n\t vec3 shadowNDCPos;\n\t if (!GetShadowNDCPos(shadowNDCPos, shadowPosWithDepthBias)) {\n\t\t return 1.0;\n\t }\n return NativePCFShadowFactorSoft5X(shadowNDCPos, cc_spotShadowMap, cc_shadowWHPBInfo.xy);\n }\n float CCSpotShadowFactorBase(out vec4 shadowPosWithDepthBias, vec4 shadowPos, vec3 worldPos, vec2 shadowBias)\n {\n float pcf = cc_shadowWHPBInfo.z;\n vec4 pos = vec4(1.0);\n #if CC_SHADOWMAP_USE_LINEAR_DEPTH\n pos = ApplyShadowDepthBias_PerspectiveLinearDepth(shadowPos, shadowBias.x, worldPos);\n #else\n pos = ApplyShadowDepthBias_Perspective(shadowPos, shadowBias.x);\n #endif\n float realtimeShadow = 1.0;\n if (pcf > 2.9) {\n realtimeShadow = CCGetSpotLightShadowFactorSoft5X(pos, worldPos);\n }else if (pcf > 1.9) {\n realtimeShadow = CCGetSpotLightShadowFactorSoft3X(pos, worldPos);\n }else if (pcf > 0.9) {\n realtimeShadow = CCGetSpotLightShadowFactorSoft(pos, worldPos);\n }else {\n realtimeShadow = CCGetSpotLightShadowFactorHard(pos, worldPos);\n }\n shadowPosWithDepthBias = pos;\n return mix(realtimeShadow, 1.0, cc_shadowNFLSInfo.w);\n }\n float CCShadowFactorBase(out vec4 shadowPosWithDepthBias, vec4 shadowPos, vec3 N, vec2 shadowBias)\n {\n vec4 pos = ApplyShadowDepthBias_FaceNormal(shadowPos, N, shadowBias.y, cc_matLightView, cc_shadowProjInfo.xy);\n pos = ApplyShadowDepthBias_Orthographic(pos, shadowBias.x, cc_shadowProjDepthInfo.x, cc_shadowProjDepthInfo.y);\n float realtimeShadow = 1.0;\n #if CC_DIR_SHADOW_PCF_TYPE == 3\n realtimeShadow = CCGetDirLightShadowFactorSoft5X(pos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 2\n realtimeShadow = CCGetDirLightShadowFactorSoft3X(pos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 1\n realtimeShadow = CCGetDirLightShadowFactorSoft(pos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 0\n realtimeShadow = CCGetDirLightShadowFactorHard(pos);\n #endif\n shadowPosWithDepthBias = pos;\n return mix(realtimeShadow, 1.0, cc_shadowNFLSInfo.w);\n }\n #if CC_SUPPORT_CASCADED_SHADOW_MAP\n bool CCGetCSMLevelWithTransition(out highp float ratio, vec3 clipPos) {\n highp float maxRange = 1.0 - cc_csmSplitsInfo.x;\n highp float minRange = cc_csmSplitsInfo.x;\n highp float thresholdInvert = 1.0 / cc_csmSplitsInfo.x;\n ratio = 0.0;\n if (clipPos.x <= minRange) {\n ratio = clipPos.x * thresholdInvert;\n return true;\n }\n if (clipPos.x >= maxRange) {\n ratio = 1.0 - (clipPos.x - maxRange) * thresholdInvert;\n return true;\n }\n if (clipPos.y <= minRange) {\n ratio = clipPos.y * thresholdInvert;\n return true;\n }\n if (clipPos.y >= maxRange) {\n ratio = 1.0 - (clipPos.y - maxRange) * thresholdInvert;\n return true;\n }\n return false;\n }\n bool CCHasCSMLevel(int level, vec3 worldPos) {\n highp float layerThreshold = cc_csmViewDir0[0].w;\n bool hasLevel = false;\n for (int i = 0; i < 4; i++) {\n if (i == level) {\n vec4 shadowPos = cc_matCSMViewProj[i] * vec4(worldPos.xyz, 1.0);\n vec3 clipPos = shadowPos.xyz / shadowPos.w * 0.5 + 0.5;\n if (clipPos.x >= layerThreshold && clipPos.x <= (1.0 - layerThreshold) &&\n clipPos.y >= layerThreshold && clipPos.y <= (1.0 - layerThreshold) &&\n clipPos.z >= 0.0 && clipPos.z <= 1.0) {\n hasLevel = true;\n }\n }\n }\n return hasLevel;\n }\n void CCGetCSMLevel(out vec4 csmPos, out vec4 shadowProjDepthInfo, out vec4 shadowProjInfo, out vec3 shadowViewDir0, out vec3 shadowViewDir1, out vec3 shadowViewDir2, vec3 worldPos, int level) {\n highp float layerThreshold = cc_csmViewDir0[0].w;\n for (int i = 0; i < 4; i++) {\n vec4 shadowPos = cc_matCSMViewProj[i] * vec4(worldPos.xyz, 1.0);\n vec3 clipPos = shadowPos.xyz / shadowPos.w * 0.5 + 0.5;\n if (clipPos.x >= layerThreshold && clipPos.x <= (1.0 - layerThreshold) &&\n clipPos.y >= layerThreshold && clipPos.y <= (1.0 - layerThreshold) &&\n clipPos.z >= 0.0 && clipPos.z <= 1.0 && i == level) {\n csmPos = cc_matCSMViewProj[i] * vec4(worldPos.xyz, 1.0);\n csmPos.xy = csmPos.xy * cc_csmAtlas[i].xy + cc_csmAtlas[i].zw;\n shadowProjDepthInfo = cc_csmProjDepthInfo[i];\n shadowProjInfo = cc_csmProjInfo[i];\n shadowViewDir0 = cc_csmViewDir0[i].xyz;\n shadowViewDir1 = cc_csmViewDir1[i].xyz;\n shadowViewDir2 = cc_csmViewDir2[i].xyz;\n }\n }\n }\n int CCGetCSMLevel(out bool isTransitionArea, out highp float transitionRatio, out vec4 csmPos, out vec4 shadowProjDepthInfo, out vec4 shadowProjInfo, out vec3 shadowViewDir0, out vec3 shadowViewDir1, out vec3 shadowViewDir2, vec3 worldPos)\n {\n int level = -1;\n highp float layerThreshold = cc_csmViewDir0[0].w;\n for (int i = 0; i < 4; i++) {\n vec4 shadowPos = cc_matCSMViewProj[i] * vec4(worldPos.xyz, 1.0);\n vec3 clipPos = shadowPos.xyz / shadowPos.w * 0.5 + 0.5;\n if (clipPos.x >= layerThreshold && clipPos.x <= (1.0 - layerThreshold) &&\n clipPos.y >= layerThreshold && clipPos.y <= (1.0 - layerThreshold) &&\n clipPos.z >= 0.0 && clipPos.z <= 1.0 && level < 0) {\n #if CC_CASCADED_LAYERS_TRANSITION\n isTransitionArea = CCGetCSMLevelWithTransition(transitionRatio, clipPos);\n #endif\n csmPos = cc_matCSMViewProj[i] * vec4(worldPos.xyz, 1.0);\n csmPos.xy = csmPos.xy * cc_csmAtlas[i].xy + cc_csmAtlas[i].zw;\n shadowProjDepthInfo = cc_csmProjDepthInfo[i];\n shadowProjInfo = cc_csmProjInfo[i];\n shadowViewDir0 = cc_csmViewDir0[i].xyz;\n shadowViewDir1 = cc_csmViewDir1[i].xyz;\n shadowViewDir2 = cc_csmViewDir2[i].xyz;\n level = i;\n }\n }\n return level;\n }\n int CCGetCSMLevel(out vec4 csmPos, out vec4 shadowProjDepthInfo, out vec4 shadowProjInfo, out vec3 shadowViewDir0, out vec3 shadowViewDir1, out vec3 shadowViewDir2, vec3 worldPos)\n {\n bool isTransitionArea = false;\n highp float transitionRatio = 0.0;\n return CCGetCSMLevel(isTransitionArea, transitionRatio, csmPos, shadowProjDepthInfo, shadowProjInfo, shadowViewDir0, shadowViewDir1, shadowViewDir2, worldPos);\n }\n float CCCSMFactorBase(out vec4 csmPos, out vec4 csmPosWithBias, vec3 worldPos, vec3 N, vec2 shadowBias)\n {\n bool isTransitionArea = false;\n highp float ratio = 0.0;\n csmPos = vec4(1.0);\n vec4 shadowProjDepthInfo, shadowProjInfo;\n vec3 shadowViewDir0, shadowViewDir1, shadowViewDir2;\n int level = -1;\n #if CC_CASCADED_LAYERS_TRANSITION\n level = CCGetCSMLevel(isTransitionArea, ratio, csmPos, shadowProjDepthInfo, shadowProjInfo, shadowViewDir0, shadowViewDir1, shadowViewDir2, worldPos);\n #else\n level = CCGetCSMLevel(csmPos, shadowProjDepthInfo, shadowProjInfo, shadowViewDir0, shadowViewDir1, shadowViewDir2, worldPos);\n #endif\n if (level < 0) { return 1.0; }\n vec4 pos = ApplyShadowDepthBias_FaceNormal(csmPos, N, shadowBias.y, shadowViewDir0, shadowViewDir1, shadowViewDir2, shadowProjInfo.xy);\n pos = ApplyShadowDepthBias_Orthographic(pos, shadowBias.x, shadowProjDepthInfo.x, shadowProjDepthInfo.y);\n csmPosWithBias = pos;\n float realtimeShadow = 1.0;\n #if CC_DIR_SHADOW_PCF_TYPE == 3\n realtimeShadow = CCGetDirLightShadowFactorSoft5X(pos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 2\n realtimeShadow = CCGetDirLightShadowFactorSoft3X(pos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 1\n realtimeShadow = CCGetDirLightShadowFactorSoft(pos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 0\n realtimeShadow = CCGetDirLightShadowFactorHard(pos);\n #endif\n #if CC_CASCADED_LAYERS_TRANSITION\n vec4 nextCSMPos = vec4(1.0);\n vec4 nextShadowProjDepthInfo, nextShadowProjInfo;\n vec3 nextShadowViewDir0, nextShadowViewDir1, nextShadowViewDir2;\n float nextRealtimeShadow = 1.0;\n CCGetCSMLevel(nextCSMPos, nextShadowProjDepthInfo, nextShadowProjInfo, nextShadowViewDir0, nextShadowViewDir1, nextShadowViewDir2, worldPos, level + 1);\n bool hasNextLevel = CCHasCSMLevel(level + 1, worldPos);\n if (hasNextLevel && isTransitionArea) {\n vec4 nexPos = ApplyShadowDepthBias_FaceNormal(nextCSMPos, N, shadowBias.y, nextShadowViewDir0, nextShadowViewDir1, nextShadowViewDir2, nextShadowProjInfo.xy);\n nexPos = ApplyShadowDepthBias_Orthographic(nexPos, shadowBias.x, nextShadowProjDepthInfo.x, nextShadowProjDepthInfo.y);\n #if CC_DIR_SHADOW_PCF_TYPE == 3\n nextRealtimeShadow = CCGetDirLightShadowFactorSoft5X(nexPos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 2\n nextRealtimeShadow = CCGetDirLightShadowFactorSoft3X(nexPos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 1\n nextRealtimeShadow = CCGetDirLightShadowFactorSoft(nexPos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 0\n nextRealtimeShadow = CCGetDirLightShadowFactorHard(nexPos);\n #endif\n return mix(mix(nextRealtimeShadow, realtimeShadow, ratio), 1.0, cc_shadowNFLSInfo.w);\n }\n return mix(realtimeShadow, 1.0, cc_shadowNFLSInfo.w);\n #else\n return mix(realtimeShadow, 1.0, cc_shadowNFLSInfo.w);\n #endif\n }\n #else\n int CCGetCSMLevel(out vec4 csmPos, out vec4 shadowProjDepthInfo, out vec4 shadowProjInfo, out vec3 shadowViewDir0, out vec3 shadowViewDir1, out vec3 shadowViewDir2, vec3 worldPos) {\n return -1;\n }\n float CCCSMFactorBase(out vec4 csmPos, out vec4 csmPosWithBias, vec3 worldPos, vec3 N, vec2 shadowBias) {\n csmPos = cc_matLightViewProj * vec4(worldPos, 1.0);\n return CCShadowFactorBase(csmPosWithBias, csmPos, N, shadowBias);\n }\n #endif\n float CCShadowFactorBase(vec4 shadowPos, vec3 N, vec2 shadowBias) {\n vec4 shadowPosWithDepthBias;\n return CCShadowFactorBase(shadowPosWithDepthBias, shadowPos, N, shadowBias);\n }\n float CCCSMFactorBase(vec3 worldPos, vec3 N, vec2 shadowBias) {\n vec4 csmPos, csmPosWithBias;\n return CCCSMFactorBase(csmPos, csmPosWithBias, worldPos, N, shadowBias);\n }\n float CCSpotShadowFactorBase(vec4 shadowPos, vec3 worldPos, vec2 shadowBias)\n {\n vec4 shadowPosWithDepthBias;\n return CCSpotShadowFactorBase(shadowPosWithDepthBias, shadowPos, worldPos, shadowBias);\n }\n#endif\nhighp float decode32 (highp vec4 rgba) {\n rgba = rgba * 255.0;\n highp float Sign = 1.0 - (step(128.0, (rgba[3]) + 0.5)) * 2.0;\n highp float Exponent = 2.0 * (mod(float(int((rgba[3]) + 0.5)), 128.0)) + (step(128.0, (rgba[2]) + 0.5)) - 127.0;\n highp float Mantissa = (mod(float(int((rgba[2]) + 0.5)), 128.0)) * 65536.0 + rgba[1] * 256.0 + rgba[0] + 8388608.0;\n return Sign * exp2(Exponent - 23.0) * Mantissa;\n}\nvec4 packRGBE (vec3 rgb) {\n highp float maxComp = max(max(rgb.r, rgb.g), rgb.b);\n highp float e = 128.0;\n if (maxComp > 0.0001) {\n e = log(maxComp) / log(1.1);\n e = ceil(e);\n e = clamp(e + 128.0, 0.0, 255.0);\n }\n highp float sc = 1.0 / pow(1.1, e - 128.0);\n vec3 encode = clamp(rgb * sc, vec3(0.0), vec3(1.0)) * 255.0;\n vec3 encode_rounded = floor(encode) + step(encode - floor(encode), vec3(0.5));\n return vec4(encode_rounded, e) / 255.0;\n}\nvec3 unpackRGBE (vec4 rgbe) {\n return rgbe.rgb * pow(1.1, rgbe.a * 255.0 - 128.0);\n}\nvec4 fragTextureLod (sampler2D tex, vec2 coord, float lod) {\n return textureLod(tex, coord, lod);\n}\nvec4 fragTextureLod (samplerCube tex, vec3 coord, float lod) {\n return textureLod(tex, coord, lod);\n}\nlayout(set = 0, binding = 5) uniform samplerCube cc_environment;\nvec3 CalculateReflectDirection(vec3 N, vec3 V, float NoV)\n{\n float sideSign = NoV < 0.0 ? -1.0 : 1.0;\n N *= sideSign;\n return reflect(-V, N);\n}\nvec3 CalculatePlanarReflectPositionOnPlane(vec3 N, vec3 V, vec3 worldPos, vec4 plane, vec3 cameraPos, float probeReflectedDepth)\n{\n float distPixelToPlane = -dot(plane, vec4(worldPos, 1.0));\n plane.w += distPixelToPlane;\n float distCameraToPlane = abs(-dot(plane, vec4(cameraPos, 1.0)));\n vec3 planeN = plane.xyz;\n vec3 virtualCameraPos = cameraPos - 2.0 * distCameraToPlane * planeN;\n vec3 bumpedR = normalize(reflect(-V, N));\n vec3 reflectedPointPos = worldPos + probeReflectedDepth * bumpedR;\n vec3 virtualCameraToReflectedPoint = normalize(reflectedPointPos - virtualCameraPos);\n float y = distCameraToPlane / max(EPSILON_LOWP, dot(planeN, virtualCameraToReflectedPoint));\n return virtualCameraPos + y * virtualCameraToReflectedPoint;\n}\nvec4 CalculateBoxProjectedDirection(vec3 R, vec3 worldPos, vec3 cubeCenterPos, vec3 cubeBoxHalfSize)\n{\n vec3 W = worldPos - cubeCenterPos;\n vec3 projectedLength = (sign(R) * cubeBoxHalfSize - W) / (R + vec3(EPSILON));\n float len = min(min(projectedLength.x, projectedLength.y), projectedLength.z);\n vec3 P = W + len * R;\n float weight = len < 0.0 ? 0.0 : 1.0;\n return vec4(P, weight);\n}\n#if CC_USE_IBL\n #if CC_USE_DIFFUSEMAP\n layout(set = 0, binding = 7) uniform samplerCube cc_diffuseMap;\n #endif\n#endif\n#if CC_USE_REFLECTION_PROBE\n layout(set = 2, binding = 15) uniform samplerCube cc_reflectionProbeCubemap;\n layout(set = 2, binding = 16) uniform sampler2D cc_reflectionProbePlanarMap;\n layout(set = 2, binding = 17) uniform sampler2D cc_reflectionProbeDataMap;\n layout(set = 2, binding = 18) uniform samplerCube cc_reflectionProbeBlendCubemap;\n layout(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 };\n vec4 GetTexData(sampler2D dataMap, float dataMapWidth, float x, float uv_y)\n {\n return vec4(\n decode32(texture(dataMap, vec2(((x + 0.5)/dataMapWidth), uv_y))),\n decode32(texture(dataMap, vec2(((x + 1.5)/dataMapWidth), uv_y))),\n decode32(texture(dataMap, vec2(((x + 2.5)/dataMapWidth), uv_y))),\n decode32(texture(dataMap, vec2(((x + 3.5)/dataMapWidth), uv_y)))\n );\n }\n void GetPlanarReflectionProbeData(out vec4 plane, out float planarReflectionDepthScale, out float mipCount, float probeId)\n {\n #if USE_INSTANCING\n float uv_y = (probeId + 0.5) / cc_probeInfo.x;\n float dataMapWidth = 12.0;\n vec4 texData1 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 0.0, uv_y);\n vec4 texData2 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 4.0, uv_y);\n plane.xyz = texData1.xyz;\n plane.w = texData2.x;\n planarReflectionDepthScale = texData2.y;\n mipCount = texData2.z;\n #else\n plane = cc_reflectionProbeData1;\n planarReflectionDepthScale = cc_reflectionProbeData2.x;\n mipCount = cc_reflectionProbeData2.w;\n #endif\n }\n void GetCubeReflectionProbeData(out vec3 centerPos, out vec3 boxHalfSize, out float mipCount, float probeId)\n {\n #if USE_INSTANCING\n float uv_y = (probeId + 0.5) / cc_probeInfo.x;\n float dataMapWidth = 12.0;\n vec4 texData1 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 0.0, uv_y);\n vec4 texData2 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 4.0, uv_y);\n vec4 texData3 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 8.0, uv_y);\n centerPos = texData1.xyz;\n boxHalfSize = texData2.xyz;\n mipCount = texData3.x;\n #else\n centerPos = cc_reflectionProbeData1.xyz;\n boxHalfSize = cc_reflectionProbeData2.xyz;\n mipCount = cc_reflectionProbeData2.w;\n #endif\n if (mipCount > 1000.0) mipCount -= 1000.0;\n }\n bool isReflectProbeUsingRGBE(float probeId)\n {\n #if USE_INSTANCING\n float uv_y = (probeId + 0.5) / cc_probeInfo.x;\n float dataMapWidth = 12.0;\n vec4 texData3 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 8.0, uv_y);\n return texData3.x > 1000.0;\n #else\n return cc_reflectionProbeData2.w > 1000.0;\n #endif\n }\n bool isBlendReflectProbeUsingRGBE(float probeId)\n {\n #if USE_INSTANCING\n float uv_y = (probeId + 0.5) / cc_probeInfo.x;\n float dataMapWidth = 12.0;\n vec4 texData3 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 8.0, uv_y);\n return texData3.x > 1000.0;\n #else\n return cc_reflectionProbeBlendData2.w > 1000.0;\n #endif\n }\n void GetBlendCubeReflectionProbeData(out vec3 centerPos, out vec3 boxHalfSize, out float mipCount, float probeId)\n {\n #if USE_INSTANCING\n float uv_y = (probeId + 0.5) / cc_probeInfo.x;\n float dataMapWidth = 12.0;\n vec4 texData1 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 0.0, uv_y);\n vec4 texData2 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 4.0, uv_y);\n vec4 texData3 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 8.0, uv_y);\n centerPos = texData1.xyz;\n boxHalfSize = texData2.xyz;\n mipCount = texData3.x;\n #else\n centerPos = cc_reflectionProbeBlendData1.xyz;\n boxHalfSize = cc_reflectionProbeBlendData2.xyz;\n mipCount = cc_reflectionProbeBlendData2.w;\n #endif\n if (mipCount > 1000.0) mipCount -= 1000.0;\n }\n#endif\n#if CC_USE_LIGHT_PROBE\n#if CC_USE_LIGHT_PROBE\n #if USE_INSTANCING\n layout(location = 12) in mediump vec4 v_sh_linear_const_r;\n layout(location = 13) in mediump vec4 v_sh_linear_const_g;\n layout(location = 14) in mediump vec4 v_sh_linear_const_b;\n #else\n layout(set = 2, binding = 6) uniform CCSH {\n vec4 cc_sh_linear_const_r;\n vec4 cc_sh_linear_const_g;\n vec4 cc_sh_linear_const_b;\n vec4 cc_sh_quadratic_r;\n vec4 cc_sh_quadratic_g;\n vec4 cc_sh_quadratic_b;\n vec4 cc_sh_quadratic_a;\n };\n #endif\n #if CC_USE_LIGHT_PROBE\n vec3 SHEvaluate(vec3 normal)\n {\n vec3 result;\n #if USE_INSTANCING\n vec4 normal4 = vec4(normal, 1.0);\n result.r = dot(v_sh_linear_const_r, normal4);\n result.g = dot(v_sh_linear_const_g, normal4);\n result.b = dot(v_sh_linear_const_b, normal4);\n #else\n vec4 normal4 = vec4(normal, 1.0);\n result.r = dot(cc_sh_linear_const_r, normal4);\n result.g = dot(cc_sh_linear_const_g, normal4);\n result.b = dot(cc_sh_linear_const_b, normal4);\n vec4 n14 = normal.xyzz * normal.yzzx;\n float n5 = normal.x * normal.x - normal.y * normal.y;\n result.r += dot(cc_sh_quadratic_r, n14);\n result.g += dot(cc_sh_quadratic_g, n14);\n result.b += dot(cc_sh_quadratic_b, n14);\n result += (cc_sh_quadratic_a.rgb * n5);\n #endif\n #if CC_USE_HDR\n result *= cc_exposure.w * cc_exposure.x;\n #endif\n return result;\n }\n #endif\n#endif\n#endif\nfloat GGXMobile (float roughness, float NoH, vec3 H, vec3 N) {\n vec3 NxH = cross(N, H);\n float OneMinusNoHSqr = dot(NxH, NxH);\n float a = roughness * roughness;\n float n = NoH * a;\n float p = a / max(EPSILON, OneMinusNoHSqr + n * n);\n return p * p;\n}\nfloat CalcSpecular (float roughness, float NoH, vec3 H, vec3 N) {\n return (roughness * 0.25 + 0.25) * GGXMobile(roughness, NoH, H, N);\n}\nvec3 BRDFApprox (vec3 specular, float roughness, float NoV) {\n const vec4 c0 = vec4(-1.0, -0.0275, -0.572, 0.022);\n const vec4 c1 = vec4(1.0, 0.0425, 1.04, -0.04);\n vec4 r = roughness * c0 + c1;\n float a004 = min(r.x * r.x, exp2(-9.28 * NoV)) * r.x + r.y;\n vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;\n AB.y *= clamp(50.0 * specular.g, 0.0, 1.0);\n return max(vec3(0.0), specular * AB.x + AB.y);\n}\n#if USE_REFLECTION_DENOISE\n vec3 GetEnvReflectionWithMipFiltering(vec3 R, float roughness, float mipCount, float denoiseIntensity, vec2 screenUV) {\n #if CC_USE_IBL\n \tfloat mip = roughness * (mipCount - 1.0);\n \tfloat delta = (dot(dFdx(R), dFdy(R))) * 1000.0;\n \tfloat mipBias = mix(0.0, 5.0, clamp(delta, 0.0, 1.0));\n #if CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_CUBE\n vec4 biased = fragTextureLod(cc_reflectionProbeCubemap, R, mip + mipBias);\n \t vec4 filtered = texture(cc_reflectionProbeCubemap, R);\n #elif CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_PLANAR\n vec4 biased = fragTextureLod(cc_reflectionProbePlanarMap, screenUV, mip + mipBias);\n vec4 filtered = texture(cc_reflectionProbePlanarMap, screenUV);\n #else\n vec4 biased = fragTextureLod(cc_environment, R, mip + mipBias);\n \t vec4 filtered = texture(cc_environment, R);\n #endif\n #if CC_USE_IBL == 2 || CC_USE_REFLECTION_PROBE != REFLECTION_PROBE_TYPE_NONE\n biased.rgb = unpackRGBE(biased);\n \tfiltered.rgb = unpackRGBE(filtered);\n #else\n \tbiased.rgb = SRGBToLinear(biased.rgb);\n \tfiltered.rgb = SRGBToLinear(filtered.rgb);\n #endif\n return mix(biased.rgb, filtered.rgb, denoiseIntensity);\n #else\n return vec3(0.0, 0.0, 0.0);\n #endif\n }\n#endif\nstruct StandardSurface {\n vec4 albedo;\n #if CC_PLATFORM_ANDROID_AND_WEBGL && CC_ENABLE_WEBGL_HIGHP_STRUCT_VALUES\n vec3 position, position_fract_part;\n #else\n vec3 position;\n #endif\n vec3 normal;\n vec3 emissive;\n vec4 lightmap;\n float lightmap_test;\n float roughness;\n float metallic;\n float occlusion;\n float specularIntensity;\n #if CC_RECEIVE_SHADOW\n vec2 shadowBias;\n #endif\n #if CC_RECEIVE_SHADOW || CC_USE_REFLECTION_PROBE\n float reflectionProbeId;\n #endif\n #if CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_BLEND || CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_BLEND_AND_SKYBOX\n float reflectionProbeBlendId;\n float reflectionProbeBlendFactor;\n #endif\n};\n vec3 SampleReflectionProbe(samplerCube tex, vec3 R, float roughness, float mipCount, bool isRGBE) {\n vec4 envmap = fragTextureLod(tex, R, roughness * (mipCount - 1.0));\n if (isRGBE)\n return unpackRGBE(envmap);\n else\n return SRGBToLinear(envmap.rgb);\n }\nvec4 CCStandardShadingBase (StandardSurface s, vec4 shadowPos) {\n vec3 diffuse = s.albedo.rgb * (1.0 - s.metallic);\n vec3 specular = mix(vec3(0.08 * s.specularIntensity), s.albedo.rgb, s.metallic);\n vec3 position;\n #if CC_PLATFORM_ANDROID_AND_WEBGL && CC_ENABLE_WEBGL_HIGHP_STRUCT_VALUES\n position = unpackHighpData(s.position, s.position_fract_part);\n #else\n position = s.position;\n #endif\n vec3 N = normalize(s.normal);\n vec3 V = normalize(cc_cameraPos.xyz - position);\n vec3 L = normalize(-cc_mainLitDir.xyz);\n float NL = max(dot(N, L), 0.0);\n float shadow = 1.0;\n #if CC_RECEIVE_SHADOW && CC_SHADOW_TYPE == 2\n if (NL > 0.0 && cc_mainLitDir.w > 0.0) {\n #if CC_DIR_LIGHT_SHADOW_TYPE == 2\n shadow = CCCSMFactorBase(position, N, s.shadowBias);\n #endif\n #if CC_DIR_LIGHT_SHADOW_TYPE == 1\n shadow = CCShadowFactorBase(shadowPos, N, s.shadowBias);\n #endif\n }\n #endif\n vec3 finalColor = vec3(0.0);\n #if CC_USE_LIGHTMAP && !CC_FORWARD_ADD\n vec3 lightmap = s.lightmap.rgb;\n #if CC_USE_HDR\n lightmap.rgb *= cc_exposure.w * cc_exposure.x;\n #endif\n #if CC_USE_LIGHTMAP == LIGHT_MAP_TYPE_INDIRECT_OCCLUSION\n shadow *= s.lightmap.a;\n finalColor += diffuse * lightmap.rgb;\n #else\n finalColor += diffuse * lightmap.rgb * shadow;\n #endif\n s.occlusion *= s.lightmap_test;\n #endif\n #if !CC_DISABLE_DIRECTIONAL_LIGHT\n float NV = max(abs(dot(N, V)), 0.0);\n specular = BRDFApprox(specular, s.roughness, NV);\n vec3 H = normalize(L + V);\n float NH = max(dot(N, H), 0.0);\n vec3 lightingColor = NL * cc_mainLitColor.rgb * cc_mainLitColor.w;\n vec3 diffuseContrib = diffuse / PI;\n vec3 specularContrib = specular * CalcSpecular(s.roughness, NH, H, N);\n vec3 dirlightContrib = (diffuseContrib + specularContrib);\n dirlightContrib *= shadow;\n finalColor += lightingColor * dirlightContrib;\n #endif\n float fAmb = max(EPSILON, 0.5 - N.y * 0.5);\n vec3 ambDiff = mix(cc_ambientSky.rgb, cc_ambientGround.rgb, fAmb);\n vec3 env = vec3(0.0), rotationDir;\n #if CC_USE_IBL\n #if CC_USE_DIFFUSEMAP && !CC_USE_LIGHT_PROBE\n rotationDir = RotationVecFromAxisY(N.xyz, cc_surfaceTransform.z, cc_surfaceTransform.w);\n vec4 diffuseMap = texture(cc_diffuseMap, rotationDir);\n #if CC_USE_DIFFUSEMAP == 2\n ambDiff = unpackRGBE(diffuseMap);\n #else\n ambDiff = SRGBToLinear(diffuseMap.rgb);\n #endif\n #endif\n #if !CC_USE_REFLECTION_PROBE\n vec3 R = normalize(reflect(-V, N));\n rotationDir = RotationVecFromAxisY(R.xyz, cc_surfaceTransform.z, cc_surfaceTransform.w);\n #if USE_REFLECTION_DENOISE && !CC_IBL_CONVOLUTED\n env = GetEnvReflectionWithMipFiltering(rotationDir, s.roughness, cc_ambientGround.w, 0.6, vec2(0.0));\n #else\n vec4 envmap = fragTextureLod(cc_environment, rotationDir, s.roughness * (cc_ambientGround.w - 1.0));\n #if CC_USE_IBL == 2\n env = unpackRGBE(envmap);\n #else\n env = SRGBToLinear(envmap.rgb);\n #endif\n #endif\n #endif\n #endif\n float lightIntensity = cc_ambientSky.w;\n #if CC_USE_REFLECTION_PROBE\n vec4 probe = vec4(0.0);\n vec3 R = normalize(reflect(-V, N));\n #if CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_CUBE\n if(s.reflectionProbeId < 0.0){\n env = SampleReflectionProbe(cc_environment, R, s.roughness, cc_ambientGround.w, CC_USE_IBL == 2);\n }else{\n vec3 centerPos, boxHalfSize;\n float mipCount;\n GetCubeReflectionProbeData(centerPos, boxHalfSize, mipCount, s.reflectionProbeId);\n vec4 fixedR = CalculateBoxProjectedDirection(R, position, centerPos, boxHalfSize);\n env = mix(SampleReflectionProbe(cc_environment, R, s.roughness, cc_ambientGround.w, CC_USE_IBL == 2) * lightIntensity,\n SampleReflectionProbe(cc_reflectionProbeCubemap, fixedR.xyz, s.roughness, mipCount, isReflectProbeUsingRGBE(s.reflectionProbeId)), fixedR.w);\n }\n #elif CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_PLANAR\n if(s.reflectionProbeId < 0.0){\n vec2 screenUV = GetPlanarReflectScreenUV(s.position, cc_matViewProj, cc_cameraPos.w, V, R);\n probe = fragTextureLod(cc_reflectionProbePlanarMap, screenUV, 1.0);\n }else{\n vec4 plane;\n float planarReflectionDepthScale, mipCount;\n GetPlanarReflectionProbeData(plane, planarReflectionDepthScale, mipCount, s.reflectionProbeId);\n R = normalize(CalculateReflectDirection(N, V, max(abs(dot(N, V)), 0.0)));\n vec3 worldPosOffset = CalculatePlanarReflectPositionOnPlane(N, V, s.position, plane, cc_cameraPos.xyz, planarReflectionDepthScale);\n vec2 screenUV = GetPlanarReflectScreenUV(worldPosOffset, cc_matViewProj, cc_cameraPos.w, V, R);\n probe = fragTextureLod(cc_reflectionProbePlanarMap, screenUV, mipCount);\n }\n env = unpackRGBE(probe);\n #elif CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_BLEND || CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_BLEND_AND_SKYBOX\n if (s.reflectionProbeId < 0.0) {\n env = SampleReflectionProbe(cc_environment, R, s.roughness, cc_ambientGround.w, CC_USE_IBL == 2);\n } else {\n vec3 centerPos, boxHalfSize;\n float mipCount;\n GetCubeReflectionProbeData(centerPos, boxHalfSize, mipCount, s.reflectionProbeId);\n vec4 fixedR = CalculateBoxProjectedDirection(R, s.position, centerPos, boxHalfSize);\n env = SampleReflectionProbe(cc_reflectionProbeCubemap, fixedR.xyz, s.roughness, mipCount, isReflectProbeUsingRGBE(s.reflectionProbeId));\n if (s.reflectionProbeBlendId < 0.0) {\n vec3 skyBoxEnv = SampleReflectionProbe(cc_environment, R, s.roughness, cc_ambientGround.w, CC_USE_IBL == 2) * lightIntensity;\n #if CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_BLEND_AND_SKYBOX\n env = mix(env, skyBoxEnv, s.reflectionProbeBlendFactor);\n #else\n env = mix(skyBoxEnv, env, fixedR.w);\n #endif\n } else {\n vec3 centerPosBlend, boxHalfSizeBlend;\n float mipCountBlend;\n GetBlendCubeReflectionProbeData(centerPosBlend, boxHalfSizeBlend, mipCountBlend, s.reflectionProbeBlendId);\n vec4 fixedRBlend = CalculateBoxProjectedDirection(R, s.position, centerPosBlend, boxHalfSizeBlend);\n vec3 probe1 = SampleReflectionProbe(cc_reflectionProbeBlendCubemap, fixedRBlend.xyz, s.roughness, mipCountBlend, isBlendReflectProbeUsingRGBE(s.reflectionProbeBlendId));\n env = mix(env, probe1, s.reflectionProbeBlendFactor);\n }\n }\n #endif\n #endif\n #if CC_USE_REFLECTION_PROBE\n lightIntensity = s.reflectionProbeId < 0.0 ? lightIntensity : 1.0;\n #endif\n finalColor += env * lightIntensity * specular * s.occlusion;\n#if CC_USE_LIGHT_PROBE\n finalColor += SHEvaluate(N) * diffuse * s.occlusion;\n#endif\n finalColor += ambDiff.rgb * cc_ambientSky.w * diffuse * s.occlusion;\n finalColor += s.emissive;\n return vec4(finalColor, s.albedo.a);\n}\nvec3 ACESToneMap (vec3 color) {\n color = min(color, vec3(8.0));\n const float A = 2.51;\n const float B = 0.03;\n const float C = 2.43;\n const float D = 0.59;\n const float E = 0.14;\n return (color * (A * color + B)) / (color * (C * color + D) + E);\n}\nvec4 CCFragOutput (vec4 color) {\n #if CC_USE_RGBE_OUTPUT\n color = packRGBE(color.rgb);\n #elif !CC_USE_FLOAT_OUTPUT\n #if CC_USE_HDR && CC_TONE_MAPPING_TYPE == HDR_TONE_MAPPING_ACES\n color.rgb = ACESToneMap(color.rgb);\n #endif\n color.rgb = LinearToSRGB(color.rgb);\n #endif\n return color;\n}\n#if CC_USE_FOG != 4\n float LinearFog(vec4 pos, vec3 cameraPos, float fogStart, float fogEnd) {\n vec4 wPos = pos;\n float cam_dis = distance(cameraPos, wPos.xyz);\n return clamp((fogEnd - cam_dis) / (fogEnd - fogStart), 0., 1.);\n }\n float ExpFog(vec4 pos, vec3 cameraPos, float fogStart, float fogDensity, float fogAtten) {\n vec4 wPos = pos;\n float cam_dis = max(distance(cameraPos, wPos.xyz) - fogStart, 0.0) / fogAtten * 4.;\n float f = exp(-cam_dis * fogDensity);\n return f;\n }\n float ExpSquaredFog(vec4 pos, vec3 cameraPos, float fogStart, float fogDensity, float fogAtten) {\n vec4 wPos = pos;\n float cam_dis = max(distance(cameraPos, wPos.xyz) - fogStart, 0.0) / fogAtten * 4.;\n float f = exp(-cam_dis * cam_dis * fogDensity * fogDensity);\n return f;\n }\n float LayeredFog(vec4 pos, vec3 cameraPos, float fogTop, float fogRange, float fogAtten) {\n vec4 wPos = pos;\n vec3 camWorldProj = cameraPos.xyz;\n camWorldProj.y = 0.;\n vec3 worldPosProj = wPos.xyz;\n worldPosProj.y = 0.;\n float fDeltaD = distance(worldPosProj, camWorldProj) / fogAtten * 2.0;\n float fDeltaY, fDensityIntegral;\n if (cameraPos.y > fogTop) {\n if (wPos.y < fogTop) {\n fDeltaY = (fogTop - wPos.y) / fogRange * 2.0;\n fDensityIntegral = fDeltaY * fDeltaY * 0.5;\n }\n else {\n fDeltaY = 0.;\n fDensityIntegral = 0.;\n }\n }\n else {\n if (wPos.y < fogTop) {\n float fDeltaA = (fogTop - cameraPos.y) / fogRange * 2.;\n float fDeltaB = (fogTop - wPos.y) / fogRange * 2.;\n fDeltaY = abs(fDeltaA - fDeltaB);\n fDensityIntegral = abs((fDeltaA * fDeltaA * 0.5) - (fDeltaB * fDeltaB * 0.5));\n }\n else {\n fDeltaY = abs(fogTop - cameraPos.y) / fogRange * 2.;\n fDensityIntegral = abs(fDeltaY * fDeltaY * 0.5);\n }\n }\n float fDensity;\n if (fDeltaY != 0.) {\n fDensity = (sqrt(1.0 + ((fDeltaD / fDeltaY) * (fDeltaD / fDeltaY)))) * fDensityIntegral;\n }\n else {\n fDensity = 0.;\n }\n float f = exp(-fDensity);\n return f;\n }\n#endif\nvoid CC_TRANSFER_FOG_BASE(vec4 pos, out float factor)\n{\n#if CC_USE_FOG == 0\n\tfactor = LinearFog(pos, cc_cameraPos.xyz, cc_fogBase.x, cc_fogBase.y);\n#elif CC_USE_FOG == 1\n\tfactor = ExpFog(pos, cc_cameraPos.xyz, cc_fogBase.x, cc_fogBase.z, cc_fogAdd.z);\n#elif CC_USE_FOG == 2\n\tfactor = ExpSquaredFog(pos, cc_cameraPos.xyz, cc_fogBase.x, cc_fogBase.z, cc_fogAdd.z);\n#elif CC_USE_FOG == 3\n\tfactor = LayeredFog(pos, cc_cameraPos.xyz, cc_fogAdd.x, cc_fogAdd.y, cc_fogAdd.z);\n#else\n\tfactor = 1.0;\n#endif\n}\nvoid CC_APPLY_FOG_BASE(inout vec4 color, float factor) {\n\tcolor = vec4(mix(cc_fogColor.rgb, color.rgb, factor), color.a);\n}\n#if !CC_USE_ACCURATE_FOG\nlayout(location = 0) in mediump float v_fog_factor;\n#endif\nvoid CC_APPLY_FOG(inout vec4 color) {\n#if !CC_USE_ACCURATE_FOG\n CC_APPLY_FOG_BASE(color, v_fog_factor);\n#endif\n}\nvoid CC_APPLY_FOG(inout vec4 color, vec3 worldPos) {\n#if CC_USE_ACCURATE_FOG\n float factor;\n CC_TRANSFER_FOG_BASE(vec4(worldPos, 1.0), factor);\n#else\n float factor = v_fog_factor;\n#endif\n CC_APPLY_FOG_BASE(color, factor);\n}\nlayout(location = 1) in highp vec4 v_shadowPos;\n#if CC_RECEIVE_SHADOW && CC_SHADOW_TYPE == 2\n#endif\n#if CC_USE_LIGHTMAP && !CC_FORWARD_ADD\n layout(location = 15) in vec3 v_luv;\n layout(set = 2, binding = 11) uniform sampler2D cc_lightingMap;\n void SampleAndDecodeLightMapColor(out vec3 lightmapColor, out float dirShadow, out float ao, sampler2D lightingMap, vec2 luv, float lum, vec3 worldNormal)\n {\n #if CC_LIGHT_MAP_VERSION > 2\n #elif CC_LIGHT_MAP_VERSION > 1\n \tvec4 dataLow = texture(lightingMap, luv);\n \tvec4 dataHigh = texture(lightingMap, luv + vec2(0.5, 0.0));\n \tlightmapColor.xyz = dataLow.xyz + dataHigh.xyz * 0.00392156862745098;\n lightmapColor.rgb *= lum;\n \tdirShadow = dataLow.a;\n \tao = dataHigh.a;\n #else\n vec4 lightmap = texture(lightingMap, luv);\n lightmapColor = lightmap.rgb * lum;\n \tdirShadow = lightmap.a;\n \tao = 1.0;\n #endif\n }\n#endif\nlayout(location = 3) in highp vec3 v_position;\nlayout(location = 4) in mediump vec3 v_normal;\n#if CC_RECEIVE_SHADOW\n layout(location = 2) in vec2 v_shadowBias;\n#endif\nlayout(location = 5) in mediump vec2 uvw;\nlayout(location = 6) in mediump vec2 uv0;\nlayout(location = 7) in mediump vec2 uv1;\nlayout(location = 8) in mediump vec2 uv2;\nlayout(location = 9) in mediump vec2 uv3;\nlayout(location = 11) in mediump vec3 diffuse;\nlayout(location = 10) in mediump vec3 luv;\nlayout(set = 1, binding = 1) uniform PbrParams {\n vec4 metallic;\n vec4 roughness;\n};\nlayout(set = 1, binding = 2) uniform sampler2D weightMap;\nlayout(set = 1, binding = 3) uniform sampler2D detailMap0;\nlayout(set = 1, binding = 4) uniform sampler2D detailMap1;\nlayout(set = 1, binding = 5) uniform sampler2D detailMap2;\nlayout(set = 1, binding = 6) uniform sampler2D detailMap3;\nlayout(set = 1, binding = 7) uniform sampler2D normalMap0;\nlayout(set = 1, binding = 8) uniform sampler2D normalMap1;\nlayout(set = 1, binding = 9) uniform sampler2D normalMap2;\nlayout(set = 1, binding = 10) uniform sampler2D normalMap3;\nvoid surf (out StandardSurface s) {\n #if LAYERS > 1\n vec4 w = texture(weightMap, uvw);\n #endif\n vec4 baseColor = vec4(0, 0, 0, 0);\n #if LAYERS == 1\n baseColor = texture(detailMap0, uv0);\n #elif LAYERS == 2\n baseColor += texture(detailMap0, uv0) * w.r;\n baseColor += texture(detailMap1, uv1) * w.g;\n #elif LAYERS == 3\n baseColor += texture(detailMap0, uv0) * w.r;\n baseColor += texture(detailMap1, uv1) * w.g;\n baseColor += texture(detailMap2, uv2) * w.b;\n #elif LAYERS == 4\n baseColor += texture(detailMap0, uv0) * w.r;\n baseColor += texture(detailMap1, uv1) * w.g;\n baseColor += texture(detailMap2, uv2) * w.b;\n baseColor += texture(detailMap3, uv3) * w.a;\n #else\n baseColor = texture(detailMap0, uv0);\n #endif\n #if CC_PLATFORM_ANDROID_AND_WEBGL && CC_ENABLE_WEBGL_HIGHP_STRUCT_VALUES\n packHighpData(s.position, s.position_fract_part, v_position);\n #else\n s.position = v_position;\n #endif\n #if USE_NORMALMAP\n vec4 baseNormal = vec4(0, 0, 0, 0);\n #if LAYERS == 1\n baseNormal = texture(normalMap0, uv0);\n #elif LAYERS == 2\n baseNormal += texture(normalMap0, uv0) * w.r;\n baseNormal += texture(normalMap1, uv1) * w.g;\n #elif LAYERS == 3\n baseNormal += texture(normalMap0, uv0) * w.r;\n baseNormal += texture(normalMap1, uv1) * w.g;\n baseNormal += texture(normalMap2, uv2) * w.b;\n #elif LAYERS == 4\n baseNormal += texture(normalMap0, uv0) * w.r;\n baseNormal += texture(normalMap1, uv1) * w.g;\n baseNormal += texture(normalMap2, uv2) * w.b;\n baseNormal += texture(normalMap3, uv3) * w.a;\n #else\n baseNormal = texture(normalMap0, uv0);\n #endif\n vec3 tangent = vec3(1.0, 0.0, 0.0);\n vec3 binormal = vec3(0.0, 0.0, 1.0);\n binormal = cross(tangent, v_normal);\n tangent = cross(v_normal, binormal);\n vec3 nmmp = baseNormal.xyz - vec3(0.5);\n s.normal =\n nmmp.x * normalize(tangent) +\n nmmp.y * normalize(binormal) +\n nmmp.z * normalize(v_normal);\n #else\n s.normal = v_normal;\n #endif\n #if CC_RECEIVE_SHADOW\n s.shadowBias = v_shadowBias;\n #endif\n s.albedo = vec4(SRGBToLinear(baseColor.rgb), 1.0);\n s.occlusion = 1.0;\n #if USE_PBR\n s.roughness = 0.0;\n #if LAYERS == 1\n s.roughness = roughness.x;\n #elif LAYERS == 2\n s.roughness += roughness.x * w.r;\n s.roughness += roughness.y * w.g;\n #elif LAYERS == 3\n s.roughness += roughness.x * w.r;\n s.roughness += roughness.y * w.g;\n s.roughness += roughness.z * w.b;\n #elif LAYERS == 4\n s.roughness += roughness.x * w.r;\n s.roughness += roughness.y * w.g;\n s.roughness += roughness.z * w.b;\n s.roughness += roughness.w * w.a;\n #else\n s.roughness = 1.0;\n #endif\n s.specularIntensity = 0.5;\n s.metallic = 0.0;\n #if LAYERS == 1\n s.specularIntensity = 0.5;\n s.metallic = metallic.x;\n #elif LAYERS == 2\n s.metallic += metallic.x * w.r;\n s.metallic += metallic.y * w.g;\n #elif LAYERS == 3\n s.metallic += metallic.x * w.r;\n s.metallic += metallic.y * w.g;\n s.metallic += metallic.z * w.b;\n #elif LAYERS == 4\n s.metallic += metallic.x * w.r;\n s.metallic += metallic.y * w.g;\n s.metallic += metallic.z * w.b;\n s.metallic += metallic.w * w.a;\n #else\n s.specularIntensity = 0.5;\n s.metallic = 0.0;\n #endif\n #else\n s.roughness = 1.0;\n s.specularIntensity = 0.5;\n s.metallic = 0.0;\n #endif\n s.emissive = vec3(0.0, 0.0, 0.0);\n #if CC_USE_LIGHTMAP && !CC_FORWARD_ADD\n SampleAndDecodeLightMapColor(s.lightmap.rgb, s.lightmap.a, s.lightmap_test, cc_lightingMap, luv.xy, luv.z, s.normal);\n #endif\n}\n#if CC_FORWARD_ADD\n #if CC_PIPELINE_TYPE == 0\n #define LIGHTS_PER_PASS 1\n #else\n #define LIGHTS_PER_PASS 10\n #endif\n #if CC_ENABLE_CLUSTERED_LIGHT_CULLING == 0\n layout(set = 2, binding = 1) uniform CCForwardLight {\n highp vec4 cc_lightPos[LIGHTS_PER_PASS];\n vec4 cc_lightColor[LIGHTS_PER_PASS];\n vec4 cc_lightSizeRangeAngle[LIGHTS_PER_PASS];\n vec4 cc_lightDir[LIGHTS_PER_PASS];\n vec4 cc_lightBoundingSizeVS[LIGHTS_PER_PASS];\n };\n #endif\n float SmoothDistAtt (float distSqr, float invSqrAttRadius) {\n float factor = distSqr * invSqrAttRadius;\n float smoothFactor = clamp(1.0 - factor * factor, 0.0, 1.0);\n return smoothFactor * smoothFactor;\n }\n float GetDistAtt (float distSqr, float invSqrAttRadius) {\n float attenuation = 1.0 / max(distSqr, 0.01*0.01);\n attenuation *= SmoothDistAtt(distSqr , invSqrAttRadius);\n return attenuation;\n }\n float GetAngleAtt (vec3 L, vec3 litDir, float litAngleScale, float litAngleOffset) {\n float cd = dot(litDir, L);\n float attenuation = clamp(cd * litAngleScale + litAngleOffset, 0.0, 1.0);\n return (attenuation * attenuation);\n }\n float GetOutOfRange (vec3 worldPos, vec3 lightPos, vec3 lookAt, vec3 right, vec3 BoundingHalfSizeVS) {\n vec3 v = vec3(0.0);\n vec3 up = cross(right, lookAt);\n worldPos -= lightPos;\n v.x = dot(worldPos, right);\n v.y = dot(worldPos, up);\n v.z = dot(worldPos, lookAt);\n vec3 result = step(abs(v), BoundingHalfSizeVS);\n return result.x * result.y * result.z;\n }\n #if CC_ENABLE_CLUSTERED_LIGHT_CULLING == 0\n vec4 CCStandardShadingAdditive (StandardSurface s, vec4 shadowPos) {\n vec3 position;\n #if CC_PLATFORM_ANDROID_AND_WEBGL && CC_ENABLE_WEBGL_HIGHP_STRUCT_VALUES\n position = unpackHighpData(s.position, s.position_fract_part);\n #else\n position = s.position;\n #endif\n vec3 diffuse = s.albedo.rgb * (1.0 - s.metallic);\n vec3 specular = mix(vec3(0.04), s.albedo.rgb, s.metallic);\n vec3 diffuseContrib = diffuse / PI;\n vec3 N = normalize(s.normal);\n vec3 V = normalize(cc_cameraPos.xyz - position);\n float NV = max(abs(dot(N, V)), 0.0);\n specular = BRDFApprox(specular, s.roughness, NV);\n vec3 finalColor = vec3(0.0);\n int numLights = CC_PIPELINE_TYPE == 0 ? LIGHTS_PER_PASS : int(cc_lightDir[0].w);\n for (int i = 0; i < LIGHTS_PER_PASS; i++) {\n if (i >= numLights) break;\n vec3 SLU = IS_RANGED_DIRECTIONAL_LIGHT(cc_lightPos[i].w) ? -cc_lightDir[i].xyz : cc_lightPos[i].xyz - position;\n vec3 SL = normalize(SLU);\n vec3 SH = normalize(SL + V);\n float SNL = max(dot(N, SL), 0.0);\n float SNH = max(dot(N, SH), 0.0);\n vec3 lspec = specular * CalcSpecular(s.roughness, SNH, SH, N);\n float illum = 1.0;\n float att = 1.0;\n if (IS_RANGED_DIRECTIONAL_LIGHT(cc_lightPos[i].w)) {\n att = GetOutOfRange(position, cc_lightPos[i].xyz, cc_lightDir[i].xyz, cc_lightSizeRangeAngle[i].xyz, cc_lightBoundingSizeVS[i].xyz);\n } else {\n float distSqr = dot(SLU, SLU);\n float litRadius = cc_lightSizeRangeAngle[i].x;\n float litRadiusSqr = litRadius * litRadius;\n illum = (IS_POINT_LIGHT(cc_lightPos[i].w) || IS_RANGED_DIRECTIONAL_LIGHT(cc_lightPos[i].w)) ? 1.0 : litRadiusSqr / max(litRadiusSqr, distSqr);\n float attRadiusSqrInv = 1.0 / max(cc_lightSizeRangeAngle[i].y, 0.01);\n attRadiusSqrInv *= attRadiusSqrInv;\n att = GetDistAtt(distSqr, attRadiusSqrInv);\n if (IS_SPOT_LIGHT(cc_lightPos[i].w)) {\n float cosInner = max(dot(-cc_lightDir[i].xyz, SL), 0.01);\n float cosOuter = cc_lightSizeRangeAngle[i].z;\n float litAngleScale = 1.0 / max(0.001, cosInner - cosOuter);\n float litAngleOffset = -cosOuter * litAngleScale;\n att *= GetAngleAtt(SL, -cc_lightDir[i].xyz, litAngleScale, litAngleOffset);\n }\n }\n float shadow = 1.0;\n #if CC_RECEIVE_SHADOW && CC_SHADOW_TYPE == 2\n if (IS_SPOT_LIGHT(cc_lightPos[i].w) && cc_lightSizeRangeAngle[i].w > 0.0) {\n shadow = CCSpotShadowFactorBase(shadowPos, position, s.shadowBias);\n }\n #endif\n finalColor += SNL * cc_lightColor[i].rgb * shadow * cc_lightColor[i].w * illum * att * (diffuseContrib + lspec);\n }\n return vec4(finalColor, 0.0);\n }\n #endif\n #if CC_ENABLE_CLUSTERED_LIGHT_CULLING == 1\n layout(std430, set = 1, binding = 11) readonly buffer b_ccLightsBuffer { vec4 b_ccLights[]; };\n layout(std430, set = 1, binding = 12) readonly buffer b_clusterLightIndicesBuffer { uint b_clusterLightIndices[]; };\n layout(std430, set = 1, binding = 13) readonly buffer b_clusterLightGridBuffer { uvec4 b_clusterLightGrid[]; };\n struct CCLight\n {\n vec4 cc_lightPos;\n vec4 cc_lightColor;\n vec4 cc_lightSizeRangeAngle;\n vec4 cc_lightDir;\n vec4 cc_lightBoundingSizeVS;\n };\n struct Cluster\n {\n vec3 minBounds;\n vec3 maxBounds;\n };\n struct LightGrid\n {\n uint offset;\n uint ccLights;\n };\n CCLight getCCLight(uint i)\n {\n CCLight light;\n light.cc_lightPos = b_ccLights[5u * i + 0u];\n light.cc_lightColor = b_ccLights[5u * i + 1u];\n light.cc_lightSizeRangeAngle = b_ccLights[5u * i + 2u];\n light.cc_lightDir = b_ccLights[5u * i + 3u];\n light.cc_lightBoundingSizeVS = b_ccLights[5u * i + 4u];\n return light;\n }\n LightGrid getLightGrid(uint cluster)\n {\n uvec4 gridvec = b_clusterLightGrid[cluster];\n LightGrid grid;\n grid.offset = gridvec.x;\n grid.ccLights = gridvec.y;\n return grid;\n }\n uint getGridLightIndex(uint start, uint offset)\n {\n return b_clusterLightIndices[start + offset];\n }\n uint getClusterZIndex(vec4 worldPos)\n {\n float scale = float(24u) / log(cc_nearFar.y / cc_nearFar.x);\n float bias = -(float(24u) * log(cc_nearFar.x) / log(cc_nearFar.y / cc_nearFar.x));\n float eyeDepth = -(cc_matView * worldPos).z;\n uint zIndex = uint(max(log(eyeDepth) * scale + bias, 0.0));\n return zIndex;\n }\n uint getClusterIndex(vec4 fragCoord, vec4 worldPos)\n {\n uint zIndex = getClusterZIndex(worldPos);\n float clusterSizeX = ceil(cc_viewPort.z / float(16u));\n float clusterSizeY = ceil(cc_viewPort.w / float(8u));\n uvec3 indices = uvec3(uvec2(fragCoord.xy / vec2(clusterSizeX, clusterSizeY)), zIndex);\n uint cluster = (16u * 8u) * indices.z + 16u * indices.y + indices.x;\n return cluster;\n }\n vec4 CCClusterShadingAdditive (StandardSurface s, vec4 shadowPos) {\n vec3 diffuse = s.albedo.rgb * (1.0 - s.metallic);\n vec3 specular = mix(vec3(0.04), s.albedo.rgb, s.metallic);\n vec3 diffuseContrib = diffuse / PI;\n vec3 position;\n #if CC_PLATFORM_ANDROID_AND_WEBGL && CC_ENABLE_WEBGL_HIGHP_STRUCT_VALUES\n position = unpackHighpData(s.position, s.position_fract_part);\n #else\n position = s.position;\n #endif\n vec3 N = normalize(s.normal);\n vec3 V = normalize(cc_cameraPos.xyz - position);\n float NV = max(abs(dot(N, V)), 0.001);\n specular = BRDFApprox(specular, s.roughness, NV);\n vec3 finalColor = vec3(0.0);\n uint cluster = getClusterIndex(gl_FragCoord, vec4(position, 1.0));\n LightGrid grid = getLightGrid(cluster);\n uint numLights = grid.ccLights;\n for (uint i = 0u; i < 200u; i++) {\n if (i >= numLights) break;\n uint lightIndex = getGridLightIndex(grid.offset, i);\n CCLight light = getCCLight(lightIndex);\n vec3 SLU = light.cc_lightPos.xyz - position;\n vec3 SL = normalize(SLU);\n vec3 SH = normalize(SL + V);\n float SNL = max(dot(N, SL), 0.001);\n float SNH = max(dot(N, SH), 0.0);\n float distSqr = dot(SLU, SLU);\n float litRadius = light.cc_lightSizeRangeAngle.x;\n float litRadiusSqr = litRadius * litRadius;\n float illum = PI * (litRadiusSqr / max(litRadiusSqr , distSqr));\n float attRadiusSqrInv = 1.0 / max(light.cc_lightSizeRangeAngle.y, 0.01);\n attRadiusSqrInv *= attRadiusSqrInv;\n float att = GetDistAtt(distSqr, attRadiusSqrInv);\n vec3 lspec = specular * CalcSpecular(s.roughness, SNH, SH, N);\n if (IS_SPOT_LIGHT(light.cc_lightPos.w)) {\n float cosInner = max(dot(-light.cc_lightDir.xyz, SL), 0.01);\n float cosOuter = light.cc_lightSizeRangeAngle.z;\n float litAngleScale = 1.0 / max(0.001, cosInner - cosOuter);\n float litAngleOffset = -cosOuter * litAngleScale;\n att *= GetAngleAtt(SL, -light.cc_lightDir.xyz, litAngleScale, litAngleOffset);\n }\n vec3 lightColor = light.cc_lightColor.rgb;\n float shadow = 1.0;\n #if CC_RECEIVE_SHADOW && CC_SHADOW_TYPE == 2\n if (IS_SPOT_LIGHT(light.cc_lightPos.w) && light.cc_lightSizeRangeAngle.w > 0.0) {\n shadow = CCSpotShadowFactorBase(shadowPos, position, s.shadowBias);\n }\n #endif\n lightColor *= shadow;\n finalColor += SNL * lightColor * light.cc_lightColor.w * illum * att * (diffuseContrib + lspec);\n }\n return vec4(finalColor, 0.0);\n }\n #endif\n layout(location = 0) out vec4 fragColorX;\n void main () {\n StandardSurface s; surf(s);\n #if CC_ENABLE_CLUSTERED_LIGHT_CULLING == 1\n vec4 color = CCClusterShadingAdditive(s, v_shadowPos);\n #else\n vec4 color = CCStandardShadingAdditive(s, v_shadowPos);\n #endif\n fragColorX = CCFragOutput(color);\n }\n#elif (CC_PIPELINE_TYPE == 0 || CC_FORCE_FORWARD_SHADING)\n layout(location = 0) out vec4 fragColorX;\n void main () {\n StandardSurface s; surf(s);\n vec4 color = CCStandardShadingBase(s, v_shadowPos);\n #if CC_USE_FOG != 4\n #if CC_USE_FLOAT_OUTPUT\n CC_APPLY_FOG(color, s.position.xyz);\n #elif !CC_FORWARD_ADD\n CC_APPLY_FOG(color, s.position.xyz);\n #endif\n #endif\n fragColorX = CCFragOutput(color);\n }\n#elif CC_PIPELINE_TYPE == 1\n vec2 signNotZero(vec2 v) {\n return vec2((v.x >= 0.0) ? +1.0 : -1.0, (v.y >= 0.0) ? +1.0 : -1.0);\n }\n vec2 float32x3_to_oct(in vec3 v) {\n vec2 p = v.xy * (1.0 / (abs(v.x) + abs(v.y) + abs(v.z)));\n return (v.z <= 0.0) ? ((1.0 - abs(p.yx)) * signNotZero(p)) : p;\n }\n layout(location = 0) out vec4 albedoOut;\n layout(location = 1) out vec4 emissiveOut;\n layout(location = 2) out vec4 normalOut;\n void main () {\n StandardSurface s; surf(s);\n albedoOut = s.albedo;\n normalOut = vec4(float32x3_to_oct(s.normal), s.roughness, s.metallic);\n emissiveOut = vec4(s.emissive, s.occlusion);\n }\n#endif"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]},{"name":"CCShadow","defines":[]},{"name":"CCCSM","defines":["CC_SUPPORT_CASCADED_SHADOW_MAP"]}],"samplerTextures":[{"name":"cc_shadowMap","defines":["CC_RECEIVE_SHADOW"]},{"name":"cc_spotShadowMap","defines":["CC_RECEIVE_SHADOW"]},{"name":"cc_environment","defines":[]},{"name":"cc_diffuseMap","defines":["CC_USE_IBL","CC_USE_DIFFUSEMAP"]}],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]},{"name":"CCSH","defines":["CC_USE_LIGHT_PROBE","!USE_INSTANCING"]},{"name":"CCForwardLight","defines":["CC_FORWARD_ADD","CC_ENABLE_CLUSTERED_LIGHT_CULLING"]}],"samplerTextures":[{"name":"cc_reflectionProbeCubemap","defines":["CC_USE_REFLECTION_PROBE"]},{"name":"cc_reflectionProbePlanarMap","defines":["CC_USE_REFLECTION_PROBE"]},{"name":"cc_reflectionProbeDataMap","defines":["CC_USE_REFLECTION_PROBE"]},{"name":"cc_reflectionProbeBlendCubemap","defines":["CC_USE_REFLECTION_PROBE"]},{"name":"cc_lightingMap","defines":["CC_USE_LIGHTMAP","!CC_FORWARD_ADD"]}],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":115,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":122}},"defines":[{"name":"CC_USE_FOG","type":"number","range":[0,4]},{"name":"CC_USE_ACCURATE_FOG","type":"boolean"},{"name":"CC_SUPPORT_CASCADED_SHADOW_MAP","type":"boolean"},{"name":"CC_RECEIVE_SHADOW","type":"boolean"},{"name":"CC_USE_LIGHTMAP","type":"number","range":[0,3]},{"name":"CC_USE_DEBUG_VIEW","type":"number","range":[0,3]},{"name":"CC_SURFACES_ENABLE_DEBUG_VIEW","type":"boolean"},{"name":"CC_SHADOWMAP_FORMAT","type":"number","range":[0,3]},{"name":"CC_SHADOWMAP_USE_LINEAR_DEPTH","type":"boolean"},{"name":"CC_DIR_SHADOW_PCF_TYPE","type":"number","range":[0,3]},{"name":"CC_CASCADED_LAYERS_TRANSITION","type":"boolean"},{"name":"CC_USE_IBL","type":"number","range":[0,2]},{"name":"CC_USE_DIFFUSEMAP","type":"number","range":[0,2]},{"name":"CC_USE_REFLECTION_PROBE","type":"number","range":[0,3]},{"name":"USE_INSTANCING","type":"boolean"},{"name":"CC_USE_LIGHT_PROBE","type":"boolean","default":0},{"name":"CC_USE_HDR","type":"boolean"},{"name":"USE_REFLECTION_DENOISE","type":"boolean"},{"name":"CC_SHADOW_TYPE","type":"number","range":[0,3]},{"name":"CC_DIR_LIGHT_SHADOW_TYPE","type":"number","range":[0,3]},{"name":"CC_FORWARD_ADD","type":"boolean"},{"name":"CC_DISABLE_DIRECTIONAL_LIGHT","type":"boolean"},{"name":"CC_IBL_CONVOLUTED","type":"boolean"},{"name":"CC_USE_RGBE_OUTPUT","type":"boolean"},{"name":"CC_USE_FLOAT_OUTPUT","type":"boolean"},{"name":"CC_TONE_MAPPING_TYPE","type":"number","range":[0,3]},{"name":"HDR_TONE_MAPPING_ACES","type":"boolean"},{"name":"CC_LIGHT_MAP_VERSION","type":"number","range":[0,3]},{"name":"LAYERS","type":"number","range":[0,4]},{"name":"USE_NORMALMAP","type":"boolean"},{"name":"USE_PBR","type":"boolean"},{"name":"CC_PIPELINE_TYPE","type":"number","range":[0,1]},{"name":"CC_FORCE_FORWARD_SHADING","type":"boolean"},{"name":"CC_ENABLE_CLUSTERED_LIGHT_CULLING","type":"number","range":[0,3]}]},{"hash":816809058,"name":"legacy/terrain|shadow-caster-vs:vert|shadow-caster-fs:frag","blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position","format":32,"location":0,"defines":[]},{"name":"a_normal","format":32,"location":1,"defines":[]},{"name":"a_texCoord","format":21,"location":2,"defines":[]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":1,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":1,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCShadow","stageFlags":1,"tags":{"builtin":"global"},"members":[{"name":"cc_matLightView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matLightViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_shadowInvProjDepthInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowProjDepthInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowProjInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowNFLSInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowWHPBInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowLPNNInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowColor","typename":"vec4","type":16,"count":1,"precision":"lowp "},{"name":"cc_planarNDInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"vert":"\nprecision highp 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};\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(set = 0, binding = 2) uniform CCShadow {\n highp mat4 cc_matLightView;\n highp mat4 cc_matLightViewProj;\n highp vec4 cc_shadowInvProjDepthInfo;\n highp vec4 cc_shadowProjDepthInfo;\n highp vec4 cc_shadowProjInfo;\n mediump vec4 cc_shadowNFLSInfo;\n mediump vec4 cc_shadowWHPBInfo;\n mediump vec4 cc_shadowLPNNInfo;\n lowp vec4 cc_shadowColor;\n mediump vec4 cc_planarNDInfo;\n};\nlayout(location = 0) in vec3 a_position;\nlayout(location = 1) in vec3 a_normal;\nlayout(location = 2) in vec2 a_texCoord;\nlayout(location = 0) out highp vec2 v_clip_depth;\nvec4 vert () {\n vec4 worldPos;\n worldPos.x = cc_matWorld[3][0] + a_position.x;\n worldPos.y = cc_matWorld[3][1] + a_position.y;\n worldPos.z = cc_matWorld[3][2] + a_position.z;\n worldPos.w = 1.0;\n vec4 clipPos = cc_matLightViewProj * worldPos;\n v_clip_depth = clipPos.zw;\n return clipPos;\n}\nvoid main() { gl_Position = vert(); }","frag":"\nprecision highp float;\nvec4 packDepthToRGBA (float depth) {\n vec4 ret = vec4(1.0, 255.0, 65025.0, 16581375.0) * depth;\n ret = fract(ret);\n ret -= vec4(ret.yzw, 0.0) / 255.0;\n return ret;\n}\n#define UnpackBitFromFloat(value, bit) (mod(floor(value / pow(10.0, float(bit))), 10.0) > 0.0)\nlayout(location = 0) in highp vec2 v_clip_depth;\nvec4 frag () {\n highp float clipDepth = v_clip_depth.x / v_clip_depth.y * 0.5 + 0.5;\n #if CC_SHADOWMAP_FORMAT == 1\n return packDepthToRGBA(clipDepth);\n #else\n return vec4(clipDepth, 1.0, 1.0, 1.0);\n #endif\n}\nlayout(location = 0) out vec4 cc_FragColor;\nvoid main() { cc_FragColor = frag(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]},{"name":"CCShadow","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":72,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":0}},"defines":[{"name":"CC_SHADOWMAP_FORMAT","type":"number","range":[0,3]}]}],[{"name":"opaque","passes":[{"program":"legacy/terrain|terrain-vs|terrain-fs","properties":{"UVScale":{"type":16,"value":[1,1,1,1]},"metallic":{"type":16,"value":[0,0,0,0]},"roughness":{"type":16,"value":[1,1,1,1]},"weightMap":{"value":"black","type":28},"detailMap0":{"value":"grey","type":28},"detailMap1":{"value":"grey","type":28},"detailMap2":{"value":"grey","type":28},"detailMap3":{"value":"grey","type":28},"normalMap0":{"value":"normal","type":28},"normalMap1":{"value":"normal","type":28},"normalMap2":{"value":"normal","type":28},"normalMap3":{"value":"normal","type":28}}},{"phase":"forward-add","propertyIndex":0,"program":"legacy/terrain|terrain-vs|terrain-fs","embeddedMacros":{"CC_FORWARD_ADD":true},"blendState":{"targets":[{"blend":true,"blendSrc":1,"blendDst":1,"blendSrcAlpha":0,"blendDstAlpha":1}]},"depthStencilState":{"depthFunc":2,"depthTest":true,"depthWrite":false},"properties":{"UVScale":{"type":16,"value":[1,1,1,1]},"metallic":{"type":16,"value":[0,0,0,0]},"roughness":{"type":16,"value":[1,1,1,1]},"weightMap":{"value":"black","type":28},"detailMap0":{"value":"grey","type":28},"detailMap1":{"value":"grey","type":28},"detailMap2":{"value":"grey","type":28},"detailMap3":{"value":"grey","type":28},"normalMap0":{"value":"normal","type":28},"normalMap1":{"value":"normal","type":28},"normalMap2":{"value":"normal","type":28},"normalMap3":{"value":"normal","type":28}}},{"phase":"shadow-add","propertyIndex":0,"program":"legacy/terrain|shadow-caster-vs:vert|shadow-caster-fs:frag","rasterizerState":{"cullMode":2}},{"phase":"deferred-forward","propertyIndex":0,"program":"legacy/terrain|terrain-vs|terrain-fs"}]}]]],0,0,[],[],[]],[[[0,"ui-alpha-test-material",[{}],[{"rasterizerState":{},"depthStencilState":{},"blendState":{"targets":[{}]}}],[{"USE_ALPHA_TEST":true,"USE_TEXTURE":true,"IS_GRAY":false,"CC_USE_EMBEDDED_ALPHA":false}]]],0,0,[0],[0],[0]],[[[1,"pipeline/skybox",[{"hash":2384917432,"name":"pipeline/skybox|sky-vs:vert|sky-fs:frag","blocks":[],"samplerTextures":[{"name":"environmentMap","type":31,"count":1,"stageFlags":16,"binding":0,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position","format":32,"location":0,"defines":[]},{"name":"a_normal","format":32,"location":1,"defines":[]},{"name":"a_texCoord","format":21,"location":2,"defines":[]},{"name":"a_tangent","format":44,"location":3,"defines":[]},{"name":"a_joints","location":4,"defines":["CC_USE_SKINNING"]},{"name":"a_weights","format":44,"location":5,"defines":["CC_USE_SKINNING"]},{"name":"a_jointAnimInfo","format":44,"isInstanced":true,"location":6,"defines":["USE_INSTANCING","CC_USE_BAKED_ANIMATION"]},{"name":"a_matWorld0","format":44,"isInstanced":true,"location":7,"defines":["USE_INSTANCING"]},{"name":"a_matWorld1","format":44,"isInstanced":true,"location":8,"defines":["USE_INSTANCING"]},{"name":"a_matWorld2","format":44,"isInstanced":true,"location":9,"defines":["USE_INSTANCING"]},{"name":"a_lightingMapUVParam","format":44,"isInstanced":true,"location":10,"defines":["USE_INSTANCING","CC_USE_LIGHTMAP"]},{"name":"a_localShadowBiasAndProbeId","format":44,"isInstanced":true,"location":11,"defines":["USE_INSTANCING"]},{"name":"a_reflectionProbeData","format":44,"isInstanced":true,"location":12,"defines":["USE_INSTANCING","CC_USE_REFLECTION_PROBE"]},{"name":"a_sh_linear_const_r","format":44,"isInstanced":true,"location":13,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_sh_linear_const_g","format":44,"isInstanced":true,"location":14,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_sh_linear_const_b","format":44,"isInstanced":true,"location":15,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_vertexId","format":11,"location":16,"defines":["CC_USE_MORPH"]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[],"samplerTextures":[{"name":"environmentMap","type":31,"count":1,"stageFlags":16,"binding":0,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]}],"samplerTextures":[{"name":"cc_environment","typename":"samplerCube","type":31,"count":1,"stageFlags":16,"tags":{"builtin":"global"},"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"vert":"\nprecision highp 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};\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(location = 0) out mediump vec4 viewDir;\nvec4 vert () {\n viewDir = vec4(a_position, 1.0);\n mat4 matViewRotOnly = mat4(mat3(cc_matView));\n vec4 pos = matViewRotOnly * viewDir;\n if (cc_matProj[3].w > 0.0) {\n mat4 matProj = cc_matProj;\n matProj[0].x = 5.2;\n matProj[1].y = 2.6;\n matProj[2].zw = vec2(-1.0);\n matProj[3].zw = vec2(0.0);\n pos = matProj * pos;\n } else {\n pos = cc_matProj * pos;\n }\n pos.z = 0.99999 * pos.w;\n return pos;\n}\nvoid main() { gl_Position = vert(); }","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};\nlayout(set = 0, binding = 5) uniform samplerCube cc_environment;\nvec4 fragTextureLod (sampler2D tex, vec2 coord, float lod) {\n return textureLod(tex, coord, lod);\n}\nvec4 fragTextureLod (samplerCube tex, vec3 coord, float lod) {\n return textureLod(tex, coord, lod);\n}\nvec4 packRGBE (vec3 rgb) {\n highp float maxComp = max(max(rgb.r, rgb.g), rgb.b);\n highp float e = 128.0;\n if (maxComp > 0.0001) {\n e = log(maxComp) / log(1.1);\n e = ceil(e);\n e = clamp(e + 128.0, 0.0, 255.0);\n }\n highp float sc = 1.0 / pow(1.1, e - 128.0);\n vec3 encode = clamp(rgb * sc, vec3(0.0), vec3(1.0)) * 255.0;\n vec3 encode_rounded = floor(encode) + step(encode - floor(encode), vec3(0.5));\n return vec4(encode_rounded, e) / 255.0;\n}\nvec3 unpackRGBE (vec4 rgbe) {\n return rgbe.rgb * pow(1.1, rgbe.a * 255.0 - 128.0);\n}\nvec3 SRGBToLinear (vec3 gamma) {\n#ifdef CC_USE_SURFACE_SHADER\n #if CC_USE_DEBUG_VIEW == CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC && CC_SURFACES_ENABLE_DEBUG_VIEW\n if (!IS_DEBUG_VIEW_COMPOSITE_ENABLE_GAMMA_CORRECTION) {\n return gamma;\n }\n #endif\n#endif\n return gamma * gamma;\n}\nvec3 LinearToSRGB(vec3 linear) {\n#ifdef CC_USE_SURFACE_SHADER\n #if CC_USE_DEBUG_VIEW == CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC && CC_SURFACES_ENABLE_DEBUG_VIEW\n if (!IS_DEBUG_VIEW_COMPOSITE_ENABLE_GAMMA_CORRECTION) {\n return linear;\n }\n #endif\n#endif\n return sqrt(linear);\n}\nvec3 ACESToneMap (vec3 color) {\n color = min(color, vec3(8.0));\n const float A = 2.51;\n const float B = 0.03;\n const float C = 2.43;\n const float D = 0.59;\n const float E = 0.14;\n return (color * (A * color + B)) / (color * (C * color + D) + E);\n}\nvec3 HDRToLDR(vec3 color)\n{\n #if CC_USE_HDR\n #if CC_USE_DEBUG_VIEW == CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC && CC_SURFACES_ENABLE_DEBUG_VIEW\n if (IS_DEBUG_VIEW_COMPOSITE_ENABLE_TONE_MAPPING)\n #endif\n {\n #if CC_TONE_MAPPING_TYPE == HDR_TONE_MAPPING_ACES\n color.rgb = ACESToneMap(color.rgb);\n #endif\n }\n #endif\n return color;\n}\n#if defined(CC_USE_METAL) || defined(CC_USE_WGPU)\n#define CC_HANDLE_SAMPLE_NDC_FLIP_STATIC(y) y = -y\n#else\n#define CC_HANDLE_SAMPLE_NDC_FLIP_STATIC(y)\n#endif\nvec3 RotationVecFromAxisY(vec3 v, float cosTheta, float sinTheta)\n{\n vec3 result;\n result.x = dot(v, vec3(cosTheta, 0.0, -sinTheta));\n result.y = v.y;\n result.z = dot(v, vec3(sinTheta, 0.0, cosTheta));\n return result;\n}\nvec3 RotationVecFromAxisY(vec3 v, float rotateAngleArc)\n{\n return RotationVecFromAxisY(v, cos(rotateAngleArc), sin(rotateAngleArc));\n}\nlayout(location = 0) in mediump vec4 viewDir;\nlayout(set = 1, binding = 0) uniform samplerCube environmentMap;\nvec4 frag () {\n vec3 rotationDir = RotationVecFromAxisY(viewDir.xyz, cc_surfaceTransform.z, cc_surfaceTransform.w);\n #if USE_RGBE_CUBEMAP\n vec3 c = unpackRGBE(fragTextureLod(environmentMap, rotationDir.xyz, 0.0));\n #else\n vec3 c = SRGBToLinear(fragTextureLod(environmentMap, rotationDir.xyz, 0.0).rgb);\n #endif\n vec4 color = vec4(c * cc_ambientSky.w, 1.0);\n #if CC_USE_RGBE_OUTPUT\n color = packRGBE(color.rgb);\n #else\n color.rgb = HDRToLDR(color.rgb);\n color.rgb = LinearToSRGB(color.rgb);\n #endif\n return color;\n}\nlayout(location = 0) out vec4 cc_FragColor;\nvoid main() { cc_FragColor = frag(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]}],"samplerTextures":[{"name":"cc_environment","defines":[]}],"buffers":[],"images":[]},"locals":{"blocks":[],"samplerTextures":[],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":42,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":42}},"defines":[{"name":"USE_INSTANCING","type":"boolean"},{"name":"CC_USE_SKINNING","type":"boolean"},{"name":"CC_USE_BAKED_ANIMATION","type":"boolean"},{"name":"CC_USE_LIGHTMAP","type":"boolean"},{"name":"CC_USE_REFLECTION_PROBE","type":"boolean"},{"name":"CC_RECEIVE_SHADOW","type":"boolean"},{"name":"CC_USE_LIGHT_PROBE","type":"boolean"},{"name":"CC_USE_MORPH","type":"boolean"},{"name":"CC_USE_IBL","type":"number","range":[0,2]},{"name":"CC_USE_DEBUG_VIEW","type":"number","range":[0,3]},{"name":"CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC","type":"boolean"},{"name":"CC_SURFACES_ENABLE_DEBUG_VIEW","type":"boolean"},{"name":"CC_USE_HDR","type":"boolean"},{"name":"CC_TONE_MAPPING_TYPE","type":"number","range":[0,3]},{"name":"HDR_TONE_MAPPING_ACES","type":"boolean"},{"name":"USE_RGBE_CUBEMAP","type":"boolean"},{"name":"CC_USE_RGBE_OUTPUT","type":"boolean"}]}],[{"passes":[{"program":"pipeline/skybox|sky-vs:vert|sky-fs:frag","priority":245,"rasterizerState":{"cullMode":0},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"environmentMap":{"value":"grey","type":31}}},{"propertyIndex":0,"phase":"deferred-forward","program":"pipeline/skybox|sky-vs:vert|sky-fs:frag","priority":245,"rasterizerState":{"cullMode":0},"depthStencilState":{"depthTest":true,"depthWrite":false}}]}]]],0,0,[],[],[]],[[[1,"pipeline/deferred-lighting",[{"hash":1701877551,"name":"pipeline/deferred-lighting|lighting-vs|lighting-fs","blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position","format":32,"location":0,"defines":[]},{"name":"a_normal","format":32,"location":1,"defines":[]},{"name":"a_texCoord","format":21,"location":2,"defines":[]},{"name":"a_tangent","format":44,"location":3,"defines":[]},{"name":"a_joints","location":4,"defines":["CC_USE_SKINNING"]},{"name":"a_weights","format":44,"location":5,"defines":["CC_USE_SKINNING"]},{"name":"a_jointAnimInfo","format":44,"isInstanced":true,"location":6,"defines":["USE_INSTANCING","CC_USE_BAKED_ANIMATION"]},{"name":"a_matWorld0","format":44,"isInstanced":true,"location":7,"defines":["USE_INSTANCING"]},{"name":"a_matWorld1","format":44,"isInstanced":true,"location":8,"defines":["USE_INSTANCING"]},{"name":"a_matWorld2","format":44,"isInstanced":true,"location":9,"defines":["USE_INSTANCING"]},{"name":"a_lightingMapUVParam","format":44,"isInstanced":true,"location":10,"defines":["USE_INSTANCING","CC_USE_LIGHTMAP"]},{"name":"a_localShadowBiasAndProbeId","format":44,"isInstanced":true,"location":11,"defines":["USE_INSTANCING"]},{"name":"a_reflectionProbeData","format":44,"isInstanced":true,"location":12,"defines":["USE_INSTANCING","CC_USE_REFLECTION_PROBE"]},{"name":"a_sh_linear_const_r","format":44,"isInstanced":true,"location":13,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_sh_linear_const_g","format":44,"isInstanced":true,"location":14,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_sh_linear_const_b","format":44,"isInstanced":true,"location":15,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_vertexId","format":11,"location":16,"defines":["CC_USE_MORPH"]}],"fragColors":[{"name":"fragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCLocal","stageFlags":16,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["CC_USE_REFLECTION_PROBE"]},{"name":"CCSH","stageFlags":16,"tags":{"builtin":"local"},"members":[{"name":"cc_sh_linear_const_r","typename":"vec4","type":16,"count":1},{"name":"cc_sh_linear_const_g","typename":"vec4","type":16,"count":1},{"name":"cc_sh_linear_const_b","typename":"vec4","type":16,"count":1},{"name":"cc_sh_quadratic_r","typename":"vec4","type":16,"count":1},{"name":"cc_sh_quadratic_g","typename":"vec4","type":16,"count":1},{"name":"cc_sh_quadratic_b","typename":"vec4","type":16,"count":1},{"name":"cc_sh_quadratic_a","typename":"vec4","type":16,"count":1}],"defines":["CC_USE_LIGHT_PROBE","!USE_INSTANCING"]},{"name":"CCForwardLight","stageFlags":16,"tags":{"builtin":"local"},"members":[{"name":"cc_lightPos","typename":"vec4","type":16,"count":0,"precision":"highp ","isArray":true},{"name":"cc_lightColor","typename":"vec4","type":16,"count":0,"isArray":true},{"name":"cc_lightSizeRangeAngle","typename":"vec4","type":16,"count":0,"isArray":true},{"name":"cc_lightDir","typename":"vec4","type":16,"count":0,"isArray":true},{"name":"cc_lightBoundingSizeVS","typename":"vec4","type":16,"count":0,"isArray":true}],"defines":["CC_ENABLE_CLUSTERED_LIGHT_CULLING"]}],"samplerTextures":[{"name":"cc_reflectionProbeCubemap","typename":"samplerCube","type":31,"count":1,"stageFlags":16,"tags":{"builtin":"local"},"defines":["CC_USE_REFLECTION_PROBE"]},{"name":"cc_reflectionProbePlanarMap","typename":"sampler2D","type":28,"count":1,"stageFlags":16,"tags":{"builtin":"local"},"defines":["CC_USE_REFLECTION_PROBE"]},{"name":"cc_reflectionProbeDataMap","typename":"sampler2D","type":28,"count":1,"stageFlags":16,"tags":{"builtin":"local"},"defines":["CC_USE_REFLECTION_PROBE"]},{"name":"cc_reflectionProbeBlendCubemap","typename":"samplerCube","type":31,"count":1,"stageFlags":16,"tags":{"builtin":"local"},"defines":["CC_USE_REFLECTION_PROBE"]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCShadow","stageFlags":16,"tags":{"builtin":"global"},"members":[{"name":"cc_matLightView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matLightViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_shadowInvProjDepthInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowProjDepthInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowProjInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowNFLSInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowWHPBInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowLPNNInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowColor","typename":"vec4","type":16,"count":1,"precision":"lowp "},{"name":"cc_planarNDInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCSM","stageFlags":16,"tags":{"builtin":"global"},"members":[{"name":"cc_csmViewDir0","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmViewDir1","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmViewDir2","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmAtlas","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_matCSMViewProj","typename":"mat4","type":25,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmProjDepthInfo","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmProjInfo","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmSplitsInfo","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["CC_SUPPORT_CASCADED_SHADOW_MAP"]}],"samplerTextures":[{"name":"cc_shadowMap","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":16,"tags":{"builtin":"global"},"defines":["CC_RECEIVE_SHADOW"]},{"name":"cc_spotShadowMap","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":16,"tags":{"builtin":"global"},"defines":["CC_RECEIVE_SHADOW"]},{"name":"cc_environment","typename":"samplerCube","type":31,"count":1,"stageFlags":16,"tags":{"builtin":"global"},"defines":[]},{"name":"cc_diffuseMap","typename":"samplerCube","type":31,"count":1,"stageFlags":16,"tags":{"builtin":"global"},"defines":["CC_USE_IBL","CC_USE_DIFFUSEMAP"]},{"name":"albedoMap","type":28,"count":1,"stageFlags":16,"binding":0,"defines":[]},{"name":"normalMap","type":28,"count":1,"stageFlags":16,"binding":1,"defines":[]},{"name":"emissiveMap","type":28,"count":1,"stageFlags":16,"binding":2,"defines":[]},{"name":"depthStencil","type":28,"count":1,"stageFlags":16,"binding":3,"defines":[]}],"samplers":[],"textures":[],"buffers":[{"name":"b_ccLightsBuffer","memoryAccess":1,"stageFlags":16,"binding":4,"defines":["CC_ENABLE_CLUSTERED_LIGHT_CULLING"]},{"name":"b_clusterLightIndicesBuffer","memoryAccess":1,"stageFlags":16,"binding":5,"defines":["CC_ENABLE_CLUSTERED_LIGHT_CULLING"]},{"name":"b_clusterLightGridBuffer","memoryAccess":1,"stageFlags":16,"binding":6,"defines":["CC_ENABLE_CLUSTERED_LIGHT_CULLING"]}],"images":[],"subpassInputs":[]}],"glsl4":{"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 vec4 position;\n position = vec4(a_position, 1.0);\n position.xy = cc_cameraPos.w == 0.0 ? vec2(position.xy.x, -position.xy.y) : position.xy;\n gl_Position = vec4(position.x, position.y, 1.0, 1.0);\n v_uv = a_texCoord;\n}","frag":"\n precision highp 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 #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\n vec3 SRGBToLinear (vec3 gamma) {\n #ifdef CC_USE_SURFACE_SHADER\n #if CC_USE_DEBUG_VIEW == CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC && CC_SURFACES_ENABLE_DEBUG_VIEW\n if (!IS_DEBUG_VIEW_COMPOSITE_ENABLE_GAMMA_CORRECTION) {\n return gamma;\n }\n #endif\n #endif\n return gamma * gamma;\n }\n vec3 LinearToSRGB(vec3 linear) {\n #ifdef CC_USE_SURFACE_SHADER\n #if CC_USE_DEBUG_VIEW == CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC && CC_SURFACES_ENABLE_DEBUG_VIEW\n if (!IS_DEBUG_VIEW_COMPOSITE_ENABLE_GAMMA_CORRECTION) {\n return linear;\n }\n #endif\n #endif\n return sqrt(linear);\n }\n layout(set = 0, binding = 2) uniform CCShadow {\n highp mat4 cc_matLightView;\n highp mat4 cc_matLightViewProj;\n highp vec4 cc_shadowInvProjDepthInfo;\n highp vec4 cc_shadowProjDepthInfo;\n highp vec4 cc_shadowProjInfo;\n mediump vec4 cc_shadowNFLSInfo;\n mediump vec4 cc_shadowWHPBInfo;\n mediump vec4 cc_shadowLPNNInfo;\n lowp vec4 cc_shadowColor;\n mediump vec4 cc_planarNDInfo;\n };\n #if CC_SUPPORT_CASCADED_SHADOW_MAP\n layout(set = 0, binding = 3) uniform CCCSM {\n highp vec4 cc_csmViewDir0[4];\n highp vec4 cc_csmViewDir1[4];\n highp vec4 cc_csmViewDir2[4];\n highp vec4 cc_csmAtlas[4];\n highp mat4 cc_matCSMViewProj[4];\n highp vec4 cc_csmProjDepthInfo[4];\n highp vec4 cc_csmProjInfo[4];\n highp vec4 cc_csmSplitsInfo;\n };\n #endif\n #if defined(CC_USE_METAL) || defined(CC_USE_WGPU)\n #define CC_HANDLE_SAMPLE_NDC_FLIP_STATIC(y) y = -y\n #else\n #define CC_HANDLE_SAMPLE_NDC_FLIP_STATIC(y)\n #endif\n vec2 GetPlanarReflectScreenUV(vec3 worldPos, mat4 matVirtualCameraViewProj, float flipNDCSign, vec3 viewDir, vec3 reflectDir)\n {\n vec4 clipPos = matVirtualCameraViewProj * vec4(worldPos, 1.0);\n vec2 screenUV = clipPos.xy / clipPos.w * 0.5 + 0.5;\n screenUV = vec2(1.0 - screenUV.x, screenUV.y);\n screenUV = flipNDCSign == 1.0 ? vec2(screenUV.x, 1.0 - screenUV.y) : screenUV;\n return screenUV;\n }\n float GetCameraDepthRH(float depthHS, mat4 matProj)\n {\n return -matProj[3][2] / (depthHS + matProj[2][2]);\n }\n float GetCameraDepthRH(float depthHS, float matProj32, float matProj22)\n {\n return -matProj32 / (depthHS + matProj22);\n }\n vec4 GetWorldPosFromNDCPosRH(vec3 posHS, mat4 matProj, mat4 matViewProjInv)\n {\n float w = -GetCameraDepthRH(posHS.z, matProj);\n return matViewProjInv * vec4(posHS * w, w);\n }\n float GetLinearDepthFromViewSpace(vec3 viewPos, float near, float far) {\n float dist = length(viewPos);\n return (dist - near) / (far - near);\n }\n vec3 RotationVecFromAxisY(vec3 v, float cosTheta, float sinTheta)\n {\n vec3 result;\n result.x = dot(v, vec3(cosTheta, 0.0, -sinTheta));\n result.y = v.y;\n result.z = dot(v, vec3(sinTheta, 0.0, cosTheta));\n return result;\n }\n vec3 RotationVecFromAxisY(vec3 v, float rotateAngleArc)\n {\n return RotationVecFromAxisY(v, cos(rotateAngleArc), sin(rotateAngleArc));\n }\n float CCGetLinearDepth(vec3 worldPos, float viewSpaceBias) {\n \tvec4 viewPos = cc_matLightView * vec4(worldPos.xyz, 1.0);\n viewPos.z += viewSpaceBias;\n \treturn GetLinearDepthFromViewSpace(viewPos.xyz, cc_shadowNFLSInfo.x, cc_shadowNFLSInfo.y);\n }\n float CCGetLinearDepth(vec3 worldPos) {\n \treturn CCGetLinearDepth(worldPos, 0.0);\n }\n #if CC_RECEIVE_SHADOW\n layout(set = 0, binding = 4) uniform highp sampler2D cc_shadowMap;\n layout(set = 0, binding = 6) uniform highp sampler2D cc_spotShadowMap;\n #define UnpackBitFromFloat(value, bit) (mod(floor(value / pow(10.0, float(bit))), 10.0) > 0.0)\n highp float unpackHighpData (float mainPart, float modPart) {\n highp float data = mainPart;\n return data + modPart;\n }\n highp float unpackHighpData (float mainPart, float modPart, const float modValue) {\n highp float data = mainPart * modValue;\n return data + modPart * modValue;\n }\n highp vec2 unpackHighpData (vec2 mainPart, vec2 modPart) {\n highp vec2 data = mainPart;\n return data + modPart;\n }\n highp vec2 unpackHighpData (vec2 mainPart, vec2 modPart, const float modValue) {\n highp vec2 data = mainPart * modValue;\n return data + modPart * modValue;\n }\n highp vec3 unpackHighpData (vec3 mainPart, vec3 modPart) {\n highp vec3 data = mainPart;\n return data + modPart;\n }\n highp vec3 unpackHighpData (vec3 mainPart, vec3 modPart, const float modValue) {\n highp vec3 data = mainPart * modValue;\n return data + modPart * modValue;\n }\n highp vec4 unpackHighpData (vec4 mainPart, vec4 modPart) {\n highp vec4 data = mainPart;\n return data + modPart;\n }\n highp vec4 unpackHighpData (vec4 mainPart, vec4 modPart, const float modValue) {\n highp vec4 data = mainPart * modValue;\n return data + modPart * modValue;\n }\n float NativePCFShadowFactorHard (vec3 shadowNDCPos, highp sampler2D shadowMap, vec2 shadowMapResolution)\n {\n #if CC_SHADOWMAP_FORMAT == 1\n return step(shadowNDCPos.z, dot(texture(shadowMap, shadowNDCPos.xy), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n #else\n return step(shadowNDCPos.z, texture(shadowMap, shadowNDCPos.xy).x);\n #endif\n }\n float NativePCFShadowFactorSoft (vec3 shadowNDCPos, highp sampler2D shadowMap, vec2 shadowMapResolution)\n {\n vec2 oneTap = 1.0 / shadowMapResolution;\n vec2 shadowNDCPos_offset = shadowNDCPos.xy + oneTap;\n float block0, block1, block2, block3;\n #if CC_SHADOWMAP_FORMAT == 1\n block0 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos.y)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block1 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset.x, shadowNDCPos.y)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block2 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos_offset.y)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block3 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset.x, shadowNDCPos_offset.y)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n #else\n block0 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos.y)).x);\n block1 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset.x, shadowNDCPos.y)).x);\n block2 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos_offset.y)).x);\n block3 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset.x, shadowNDCPos_offset.y)).x);\n #endif\n float coefX = mod(shadowNDCPos.x, oneTap.x) * shadowMapResolution.x;\n float resultX = mix(block0, block1, coefX);\n float resultY = mix(block2, block3, coefX);\n float coefY = mod(shadowNDCPos.y, oneTap.y) * shadowMapResolution.y;\n return mix(resultX, resultY, coefY);\n }\n float NativePCFShadowFactorSoft3X (vec3 shadowNDCPos, highp sampler2D shadowMap, vec2 shadowMapResolution)\n {\n vec2 oneTap = 1.0 / shadowMapResolution;\n float shadowNDCPos_offset_L = shadowNDCPos.x - oneTap.x;\n float shadowNDCPos_offset_R = shadowNDCPos.x + oneTap.x;\n float shadowNDCPos_offset_U = shadowNDCPos.y - oneTap.y;\n float shadowNDCPos_offset_D = shadowNDCPos.y + oneTap.y;\n float block0, block1, block2, block3, block4, block5, block6, block7, block8;\n #if CC_SHADOWMAP_FORMAT == 1\n block0 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset_L, shadowNDCPos_offset_U)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block1 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos_offset_U)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block2 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset_R, shadowNDCPos_offset_U)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block3 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset_L, shadowNDCPos.y)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block4 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos.y)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block5 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset_R, shadowNDCPos.y)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block6 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset_L, shadowNDCPos_offset_D)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block7 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos_offset_D)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block8 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset_R, shadowNDCPos_offset_D)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n #else\n block0 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset_L, shadowNDCPos_offset_U)).x);\n block1 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos_offset_U)).x);\n block2 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset_R, shadowNDCPos_offset_U)).x);\n block3 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset_L, shadowNDCPos.y)).x);\n block4 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos.y)).x);\n block5 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset_R, shadowNDCPos.y)).x);\n block6 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset_L, shadowNDCPos_offset_D)).x);\n block7 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos_offset_D)).x);\n block8 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset_R, shadowNDCPos_offset_D)).x);\n #endif\n float coefX = mod(shadowNDCPos.x, oneTap.x) * shadowMapResolution.x;\n float coefY = mod(shadowNDCPos.y, oneTap.y) * shadowMapResolution.y;\n float shadow = 0.0;\n float resultX = mix(block0, block1, coefX);\n float resultY = mix(block3, block4, coefX);\n shadow += mix(resultX , resultY, coefY);\n resultX = mix(block1, block2, coefX);\n resultY = mix(block4, block5, coefX);\n shadow += mix(resultX , resultY, coefY);\n resultX = mix(block3, block4, coefX);\n resultY = mix(block6, block7, coefX);\n shadow += mix(resultX, resultY, coefY);\n resultX = mix(block4, block5, coefX);\n resultY = mix(block7, block8, coefX);\n shadow += mix(resultX, resultY, coefY);\n return shadow * 0.25;\n }\n float NativePCFShadowFactorSoft5X (vec3 shadowNDCPos, highp sampler2D shadowMap, vec2 shadowMapResolution)\n {\n vec2 oneTap = 1.0 / shadowMapResolution;\n vec2 twoTap = oneTap * 2.0;\n vec2 offset1 = shadowNDCPos.xy + vec2(-twoTap.x, -twoTap.y);\n vec2 offset2 = shadowNDCPos.xy + vec2(-oneTap.x, -twoTap.y);\n vec2 offset3 = shadowNDCPos.xy + vec2(0.0, -twoTap.y);\n vec2 offset4 = shadowNDCPos.xy + vec2(oneTap.x, -twoTap.y);\n vec2 offset5 = shadowNDCPos.xy + vec2(twoTap.x, -twoTap.y);\n vec2 offset6 = shadowNDCPos.xy + vec2(-twoTap.x, -oneTap.y);\n vec2 offset7 = shadowNDCPos.xy + vec2(-oneTap.x, -oneTap.y);\n vec2 offset8 = shadowNDCPos.xy + vec2(0.0, -oneTap.y);\n vec2 offset9 = shadowNDCPos.xy + vec2(oneTap.x, -oneTap.y);\n vec2 offset10 = shadowNDCPos.xy + vec2(twoTap.x, -oneTap.y);\n vec2 offset11 = shadowNDCPos.xy + vec2(-twoTap.x, 0.0);\n vec2 offset12 = shadowNDCPos.xy + vec2(-oneTap.x, 0.0);\n vec2 offset13 = shadowNDCPos.xy + vec2(0.0, 0.0);\n vec2 offset14 = shadowNDCPos.xy + vec2(oneTap.x, 0.0);\n vec2 offset15 = shadowNDCPos.xy + vec2(twoTap.x, 0.0);\n vec2 offset16 = shadowNDCPos.xy + vec2(-twoTap.x, oneTap.y);\n vec2 offset17 = shadowNDCPos.xy + vec2(-oneTap.x, oneTap.y);\n vec2 offset18 = shadowNDCPos.xy + vec2(0.0, oneTap.y);\n vec2 offset19 = shadowNDCPos.xy + vec2(oneTap.x, oneTap.y);\n vec2 offset20 = shadowNDCPos.xy + vec2(twoTap.x, oneTap.y);\n vec2 offset21 = shadowNDCPos.xy + vec2(-twoTap.x, twoTap.y);\n vec2 offset22 = shadowNDCPos.xy + vec2(-oneTap.x, twoTap.y);\n vec2 offset23 = shadowNDCPos.xy + vec2(0.0, twoTap.y);\n vec2 offset24 = shadowNDCPos.xy + vec2(oneTap.x, twoTap.y);\n vec2 offset25 = shadowNDCPos.xy + vec2(twoTap.x, twoTap.y);\n float block1, block2, block3, block4, block5, block6, block7, block8, block9, block10, block11, block12, block13, block14, block15, block16, block17, block18, block19, block20, block21, block22, block23, block24, block25;\n #if CC_SHADOWMAP_FORMAT == 1\n block1 = step(shadowNDCPos.z, dot(texture(shadowMap, offset1), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block2 = step(shadowNDCPos.z, dot(texture(shadowMap, offset2), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block3 = step(shadowNDCPos.z, dot(texture(shadowMap, offset3), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block4 = step(shadowNDCPos.z, dot(texture(shadowMap, offset4), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block5 = step(shadowNDCPos.z, dot(texture(shadowMap, offset5), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block6 = step(shadowNDCPos.z, dot(texture(shadowMap, offset6), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block7 = step(shadowNDCPos.z, dot(texture(shadowMap, offset7), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block8 = step(shadowNDCPos.z, dot(texture(shadowMap, offset8), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block9 = step(shadowNDCPos.z, dot(texture(shadowMap, offset9), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block10 = step(shadowNDCPos.z, dot(texture(shadowMap, offset10), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block11 = step(shadowNDCPos.z, dot(texture(shadowMap, offset11), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block12 = step(shadowNDCPos.z, dot(texture(shadowMap, offset12), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block13 = step(shadowNDCPos.z, dot(texture(shadowMap, offset13), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block14 = step(shadowNDCPos.z, dot(texture(shadowMap, offset14), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block15 = step(shadowNDCPos.z, dot(texture(shadowMap, offset15), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block16 = step(shadowNDCPos.z, dot(texture(shadowMap, offset16), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block17 = step(shadowNDCPos.z, dot(texture(shadowMap, offset17), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block18 = step(shadowNDCPos.z, dot(texture(shadowMap, offset18), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block19 = step(shadowNDCPos.z, dot(texture(shadowMap, offset19), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block20 = step(shadowNDCPos.z, dot(texture(shadowMap, offset20), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block21 = step(shadowNDCPos.z, dot(texture(shadowMap, offset21), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block22 = step(shadowNDCPos.z, dot(texture(shadowMap, offset22), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block23 = step(shadowNDCPos.z, dot(texture(shadowMap, offset23), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block24 = step(shadowNDCPos.z, dot(texture(shadowMap, offset24), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block25 = step(shadowNDCPos.z, dot(texture(shadowMap, offset25), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n #else\n block1 = step(shadowNDCPos.z, texture(shadowMap, offset1).x);\n block2 = step(shadowNDCPos.z, texture(shadowMap, offset2).x);\n block3 = step(shadowNDCPos.z, texture(shadowMap, offset3).x);\n block4 = step(shadowNDCPos.z, texture(shadowMap, offset4).x);\n block5 = step(shadowNDCPos.z, texture(shadowMap, offset5).x);\n block6 = step(shadowNDCPos.z, texture(shadowMap, offset6).x);\n block7 = step(shadowNDCPos.z, texture(shadowMap, offset7).x);\n block8 = step(shadowNDCPos.z, texture(shadowMap, offset8).x);\n block9 = step(shadowNDCPos.z, texture(shadowMap, offset9).x);\n block10 = step(shadowNDCPos.z, texture(shadowMap, offset10).x);\n block11 = step(shadowNDCPos.z, texture(shadowMap, offset11).x);\n block12 = step(shadowNDCPos.z, texture(shadowMap, offset12).x);\n block13 = step(shadowNDCPos.z, texture(shadowMap, offset13).x);\n block14 = step(shadowNDCPos.z, texture(shadowMap, offset14).x);\n block15 = step(shadowNDCPos.z, texture(shadowMap, offset15).x);\n block16 = step(shadowNDCPos.z, texture(shadowMap, offset16).x);\n block17 = step(shadowNDCPos.z, texture(shadowMap, offset17).x);\n block18 = step(shadowNDCPos.z, texture(shadowMap, offset18).x);\n block19 = step(shadowNDCPos.z, texture(shadowMap, offset19).x);\n block20 = step(shadowNDCPos.z, texture(shadowMap, offset20).x);\n block21 = step(shadowNDCPos.z, texture(shadowMap, offset21).x);\n block22 = step(shadowNDCPos.z, texture(shadowMap, offset22).x);\n block23 = step(shadowNDCPos.z, texture(shadowMap, offset23).x);\n block24 = step(shadowNDCPos.z, texture(shadowMap, offset24).x);\n block25 = step(shadowNDCPos.z, texture(shadowMap, offset25).x);\n #endif\n vec2 coef = fract(shadowNDCPos.xy * shadowMapResolution);\n vec2 v1X1 = mix(vec2(block1, block6), vec2(block2, block7), coef.xx);\n vec2 v1X2 = mix(vec2(block2, block7), vec2(block3, block8), coef.xx);\n vec2 v1X3 = mix(vec2(block3, block8), vec2(block4, block9), coef.xx);\n vec2 v1X4 = mix(vec2(block4, block9), vec2(block5, block10), coef.xx);\n float v1 = mix(v1X1.x, v1X1.y, coef.y) + mix(v1X2.x, v1X2.y, coef.y) + mix(v1X3.x, v1X3.y, coef.y) + mix(v1X4.x, v1X4.y, coef.y);\n vec2 v2X1 = mix(vec2(block6, block11), vec2(block7, block12), coef.xx);\n vec2 v2X2 = mix(vec2(block7, block12), vec2(block8, block13), coef.xx);\n vec2 v2X3 = mix(vec2(block8, block13), vec2(block9, block14), coef.xx);\n vec2 v2X4 = mix(vec2(block9, block14), vec2(block10, block15), coef.xx);\n float v2 = mix(v2X1.x, v2X1.y, coef.y) + mix(v2X2.x, v2X2.y, coef.y) + mix(v2X3.x, v2X3.y, coef.y) + mix(v2X4.x, v2X4.y, coef.y);\n vec2 v3X1 = mix(vec2(block11, block16), vec2(block12, block17), coef.xx);\n vec2 v3X2 = mix(vec2(block12, block17), vec2(block13, block18), coef.xx);\n vec2 v3X3 = mix(vec2(block13, block18), vec2(block14, block19), coef.xx);\n vec2 v3X4 = mix(vec2(block14, block19), vec2(block15, block20), coef.xx);\n float v3 = mix(v3X1.x, v3X1.y, coef.y) + mix(v3X2.x, v3X2.y, coef.y) + mix(v3X3.x, v3X3.y, coef.y) + mix(v3X4.x, v3X4.y, coef.y);\n vec2 v4X1 = mix(vec2(block16, block21), vec2(block17, block22), coef.xx);\n vec2 v4X2 = mix(vec2(block17, block22), vec2(block18, block23), coef.xx);\n vec2 v4X3 = mix(vec2(block18, block23), vec2(block19, block24), coef.xx);\n vec2 v4X4 = mix(vec2(block19, block24), vec2(block20, block25), coef.xx);\n float v4 = mix(v4X1.x, v4X1.y, coef.y) + mix(v4X2.x, v4X2.y, coef.y) + mix(v4X3.x, v4X3.y, coef.y) + mix(v4X4.x, v4X4.y, coef.y);\n float fAvg = (v1 + v2 + v3 + v4) * 0.0625;\n return fAvg;\n }\n bool GetShadowNDCPos(out vec3 shadowNDCPos, vec4 shadowPosWithDepthBias)\n {\n \tshadowNDCPos = shadowPosWithDepthBias.xyz / shadowPosWithDepthBias.w * 0.5 + 0.5;\n \tif (shadowNDCPos.x < 0.0 || shadowNDCPos.x > 1.0 ||\n \t\tshadowNDCPos.y < 0.0 || shadowNDCPos.y > 1.0 ||\n \t\tshadowNDCPos.z < 0.0 || shadowNDCPos.z > 1.0) {\n \t\treturn false;\n \t}\n \tshadowNDCPos.xy = cc_cameraPos.w == 1.0 ? vec2(shadowNDCPos.xy.x, 1.0 - shadowNDCPos.xy.y) : shadowNDCPos.xy;\n \treturn true;\n }\n vec4 ApplyShadowDepthBias_FaceNormal(vec4 shadowPos, vec3 worldNormal, float normalBias, vec3 matViewDir0, vec3 matViewDir1, vec3 matViewDir2, vec2 projScaleXY)\n {\n vec4 newShadowPos = shadowPos;\n if (normalBias > EPSILON_LOWP)\n {\n vec3 viewNormal = vec3(dot(matViewDir0, worldNormal), dot(matViewDir1, worldNormal), dot(matViewDir2, worldNormal));\n if (viewNormal.z < 0.1)\n newShadowPos.xy += viewNormal.xy * projScaleXY * normalBias * clamp(viewNormal.z, 0.001, 0.1);\n }\n return newShadowPos;\n }\n vec4 ApplyShadowDepthBias_FaceNormal(vec4 shadowPos, vec3 worldNormal, float normalBias, mat4 matLightView, vec2 projScaleXY)\n {\n \tvec4 newShadowPos = shadowPos;\n \tif (normalBias > EPSILON_LOWP)\n \t{\n \t\tvec4 viewNormal = matLightView * vec4(worldNormal, 0.0);\n \t\tif (viewNormal.z < 0.1)\n \t\t\tnewShadowPos.xy += viewNormal.xy * projScaleXY * normalBias * clamp(viewNormal.z, 0.001, 0.1);\n \t}\n \treturn newShadowPos;\n }\n float GetViewSpaceDepthFromNDCDepth_Orthgraphic(float NDCDepth, float projScaleZ, float projBiasZ)\n {\n \treturn (NDCDepth - projBiasZ) / projScaleZ;\n }\n float GetViewSpaceDepthFromNDCDepth_Perspective(float NDCDepth, float homogenousDividW, float invProjScaleZ, float invProjBiasZ)\n {\n \treturn NDCDepth * invProjScaleZ + homogenousDividW * invProjBiasZ;\n }\n vec4 ApplyShadowDepthBias_Perspective(vec4 shadowPos, float viewspaceDepthBias)\n {\n \tvec3 viewSpacePos;\n \tviewSpacePos.xy = shadowPos.xy * cc_shadowProjInfo.zw;\n \tviewSpacePos.z = GetViewSpaceDepthFromNDCDepth_Perspective(shadowPos.z, shadowPos.w, cc_shadowInvProjDepthInfo.x, cc_shadowInvProjDepthInfo.y);\n \tviewSpacePos.xyz += cc_shadowProjDepthInfo.z * normalize(viewSpacePos.xyz) * viewspaceDepthBias;\n \tvec4 clipSpacePos;\n \tclipSpacePos.xy = viewSpacePos.xy * cc_shadowProjInfo.xy;\n \tclipSpacePos.zw = viewSpacePos.z * cc_shadowProjDepthInfo.xz + vec2(cc_shadowProjDepthInfo.y, 0.0);\n \t#if CC_SHADOWMAP_USE_LINEAR_DEPTH\n \t\tclipSpacePos.z = GetLinearDepthFromViewSpace(viewSpacePos.xyz, cc_shadowNFLSInfo.x, cc_shadowNFLSInfo.y);\n \t\tclipSpacePos.z = (clipSpacePos.z * 2.0 - 1.0) * clipSpacePos.w;\n \t#endif\n \treturn clipSpacePos;\n }\n vec4 ApplyShadowDepthBias_Orthographic(vec4 shadowPos, float viewspaceDepthBias, float projScaleZ, float projBiasZ)\n {\n \tfloat coeffA = projScaleZ;\n \tfloat coeffB = projBiasZ;\n \tfloat viewSpacePos_z = GetViewSpaceDepthFromNDCDepth_Orthgraphic(shadowPos.z, projScaleZ, projBiasZ);\n \tviewSpacePos_z += viewspaceDepthBias;\n \tvec4 result = shadowPos;\n \tresult.z = viewSpacePos_z * coeffA + coeffB;\n \treturn result;\n }\n vec4 ApplyShadowDepthBias_PerspectiveLinearDepth(vec4 shadowPos, float viewspaceDepthBias, vec3 worldPos)\n {\n shadowPos.z = CCGetLinearDepth(worldPos, viewspaceDepthBias) * 2.0 - 1.0;\n shadowPos.z *= shadowPos.w;\n return shadowPos;\n }\n float CCGetDirLightShadowFactorHard (vec4 shadowPosWithDepthBias) {\n \t vec3 shadowNDCPos;\n \t if (!GetShadowNDCPos(shadowNDCPos, shadowPosWithDepthBias)) {\n \t\t return 1.0;\n \t }\n return NativePCFShadowFactorHard(shadowNDCPos, cc_shadowMap, cc_shadowWHPBInfo.xy);\n }\n float CCGetDirLightShadowFactorSoft (vec4 shadowPosWithDepthBias) {\n \t vec3 shadowNDCPos;\n \t if (!GetShadowNDCPos(shadowNDCPos, shadowPosWithDepthBias)) {\n \t\t return 1.0;\n \t }\n return NativePCFShadowFactorSoft(shadowNDCPos, cc_shadowMap, cc_shadowWHPBInfo.xy);\n }\n float CCGetDirLightShadowFactorSoft3X (vec4 shadowPosWithDepthBias) {\n \t vec3 shadowNDCPos;\n \t if (!GetShadowNDCPos(shadowNDCPos, shadowPosWithDepthBias)) {\n \t\t return 1.0;\n \t }\n return NativePCFShadowFactorSoft3X(shadowNDCPos, cc_shadowMap, cc_shadowWHPBInfo.xy);\n }\n float CCGetDirLightShadowFactorSoft5X (vec4 shadowPosWithDepthBias) {\n \t vec3 shadowNDCPos;\n \t if (!GetShadowNDCPos(shadowNDCPos, shadowPosWithDepthBias)) {\n \t\t return 1.0;\n \t }\n return NativePCFShadowFactorSoft5X(shadowNDCPos, cc_shadowMap, cc_shadowWHPBInfo.xy);\n }\n float CCGetSpotLightShadowFactorHard (vec4 shadowPosWithDepthBias, vec3 worldPos) {\n \t vec3 shadowNDCPos;\n \t if (!GetShadowNDCPos(shadowNDCPos, shadowPosWithDepthBias)) {\n \t\t return 1.0;\n \t }\n return NativePCFShadowFactorHard(shadowNDCPos, cc_spotShadowMap, cc_shadowWHPBInfo.xy);\n }\n float CCGetSpotLightShadowFactorSoft (vec4 shadowPosWithDepthBias, vec3 worldPos) {\n \t vec3 shadowNDCPos;\n \t if (!GetShadowNDCPos(shadowNDCPos, shadowPosWithDepthBias)) {\n \t\t return 1.0;\n \t }\n return NativePCFShadowFactorSoft(shadowNDCPos, cc_spotShadowMap, cc_shadowWHPBInfo.xy);\n }\n float CCGetSpotLightShadowFactorSoft3X (vec4 shadowPosWithDepthBias, vec3 worldPos) {\n \t vec3 shadowNDCPos;\n \t if (!GetShadowNDCPos(shadowNDCPos, shadowPosWithDepthBias)) {\n \t\t return 1.0;\n \t }\n return NativePCFShadowFactorSoft3X(shadowNDCPos, cc_spotShadowMap, cc_shadowWHPBInfo.xy);\n }\n float CCGetSpotLightShadowFactorSoft5X (vec4 shadowPosWithDepthBias, vec3 worldPos) {\n \t vec3 shadowNDCPos;\n \t if (!GetShadowNDCPos(shadowNDCPos, shadowPosWithDepthBias)) {\n \t\t return 1.0;\n \t }\n return NativePCFShadowFactorSoft5X(shadowNDCPos, cc_spotShadowMap, cc_shadowWHPBInfo.xy);\n }\n float CCSpotShadowFactorBase(out vec4 shadowPosWithDepthBias, vec4 shadowPos, vec3 worldPos, vec2 shadowBias)\n {\n float pcf = cc_shadowWHPBInfo.z;\n vec4 pos = vec4(1.0);\n #if CC_SHADOWMAP_USE_LINEAR_DEPTH\n pos = ApplyShadowDepthBias_PerspectiveLinearDepth(shadowPos, shadowBias.x, worldPos);\n #else\n pos = ApplyShadowDepthBias_Perspective(shadowPos, shadowBias.x);\n #endif\n float realtimeShadow = 1.0;\n if (pcf > 2.9) {\n realtimeShadow = CCGetSpotLightShadowFactorSoft5X(pos, worldPos);\n }else if (pcf > 1.9) {\n realtimeShadow = CCGetSpotLightShadowFactorSoft3X(pos, worldPos);\n }else if (pcf > 0.9) {\n realtimeShadow = CCGetSpotLightShadowFactorSoft(pos, worldPos);\n }else {\n realtimeShadow = CCGetSpotLightShadowFactorHard(pos, worldPos);\n }\n shadowPosWithDepthBias = pos;\n return mix(realtimeShadow, 1.0, cc_shadowNFLSInfo.w);\n }\n float CCShadowFactorBase(out vec4 shadowPosWithDepthBias, vec4 shadowPos, vec3 N, vec2 shadowBias)\n {\n vec4 pos = ApplyShadowDepthBias_FaceNormal(shadowPos, N, shadowBias.y, cc_matLightView, cc_shadowProjInfo.xy);\n pos = ApplyShadowDepthBias_Orthographic(pos, shadowBias.x, cc_shadowProjDepthInfo.x, cc_shadowProjDepthInfo.y);\n float realtimeShadow = 1.0;\n #if CC_DIR_SHADOW_PCF_TYPE == 3\n realtimeShadow = CCGetDirLightShadowFactorSoft5X(pos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 2\n realtimeShadow = CCGetDirLightShadowFactorSoft3X(pos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 1\n realtimeShadow = CCGetDirLightShadowFactorSoft(pos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 0\n realtimeShadow = CCGetDirLightShadowFactorHard(pos);\n #endif\n shadowPosWithDepthBias = pos;\n return mix(realtimeShadow, 1.0, cc_shadowNFLSInfo.w);\n }\n #if CC_SUPPORT_CASCADED_SHADOW_MAP\n bool CCGetCSMLevelWithTransition(out highp float ratio, vec3 clipPos) {\n highp float maxRange = 1.0 - cc_csmSplitsInfo.x;\n highp float minRange = cc_csmSplitsInfo.x;\n highp float thresholdInvert = 1.0 / cc_csmSplitsInfo.x;\n ratio = 0.0;\n if (clipPos.x <= minRange) {\n ratio = clipPos.x * thresholdInvert;\n return true;\n }\n if (clipPos.x >= maxRange) {\n ratio = 1.0 - (clipPos.x - maxRange) * thresholdInvert;\n return true;\n }\n if (clipPos.y <= minRange) {\n ratio = clipPos.y * thresholdInvert;\n return true;\n }\n if (clipPos.y >= maxRange) {\n ratio = 1.0 - (clipPos.y - maxRange) * thresholdInvert;\n return true;\n }\n return false;\n }\n bool CCHasCSMLevel(int level, vec3 worldPos) {\n highp float layerThreshold = cc_csmViewDir0[0].w;\n bool hasLevel = false;\n for (int i = 0; i < 4; i++) {\n if (i == level) {\n vec4 shadowPos = cc_matCSMViewProj[i] * vec4(worldPos.xyz, 1.0);\n vec3 clipPos = shadowPos.xyz / shadowPos.w * 0.5 + 0.5;\n if (clipPos.x >= layerThreshold && clipPos.x <= (1.0 - layerThreshold) &&\n clipPos.y >= layerThreshold && clipPos.y <= (1.0 - layerThreshold) &&\n clipPos.z >= 0.0 && clipPos.z <= 1.0) {\n hasLevel = true;\n }\n }\n }\n return hasLevel;\n }\n void CCGetCSMLevel(out vec4 csmPos, out vec4 shadowProjDepthInfo, out vec4 shadowProjInfo, out vec3 shadowViewDir0, out vec3 shadowViewDir1, out vec3 shadowViewDir2, vec3 worldPos, int level) {\n highp float layerThreshold = cc_csmViewDir0[0].w;\n for (int i = 0; i < 4; i++) {\n vec4 shadowPos = cc_matCSMViewProj[i] * vec4(worldPos.xyz, 1.0);\n vec3 clipPos = shadowPos.xyz / shadowPos.w * 0.5 + 0.5;\n if (clipPos.x >= layerThreshold && clipPos.x <= (1.0 - layerThreshold) &&\n clipPos.y >= layerThreshold && clipPos.y <= (1.0 - layerThreshold) &&\n clipPos.z >= 0.0 && clipPos.z <= 1.0 && i == level) {\n csmPos = cc_matCSMViewProj[i] * vec4(worldPos.xyz, 1.0);\n csmPos.xy = csmPos.xy * cc_csmAtlas[i].xy + cc_csmAtlas[i].zw;\n shadowProjDepthInfo = cc_csmProjDepthInfo[i];\n shadowProjInfo = cc_csmProjInfo[i];\n shadowViewDir0 = cc_csmViewDir0[i].xyz;\n shadowViewDir1 = cc_csmViewDir1[i].xyz;\n shadowViewDir2 = cc_csmViewDir2[i].xyz;\n }\n }\n }\n int CCGetCSMLevel(out bool isTransitionArea, out highp float transitionRatio, out vec4 csmPos, out vec4 shadowProjDepthInfo, out vec4 shadowProjInfo, out vec3 shadowViewDir0, out vec3 shadowViewDir1, out vec3 shadowViewDir2, vec3 worldPos)\n {\n int level = -1;\n highp float layerThreshold = cc_csmViewDir0[0].w;\n for (int i = 0; i < 4; i++) {\n vec4 shadowPos = cc_matCSMViewProj[i] * vec4(worldPos.xyz, 1.0);\n vec3 clipPos = shadowPos.xyz / shadowPos.w * 0.5 + 0.5;\n if (clipPos.x >= layerThreshold && clipPos.x <= (1.0 - layerThreshold) &&\n clipPos.y >= layerThreshold && clipPos.y <= (1.0 - layerThreshold) &&\n clipPos.z >= 0.0 && clipPos.z <= 1.0 && level < 0) {\n #if CC_CASCADED_LAYERS_TRANSITION\n isTransitionArea = CCGetCSMLevelWithTransition(transitionRatio, clipPos);\n #endif\n csmPos = cc_matCSMViewProj[i] * vec4(worldPos.xyz, 1.0);\n csmPos.xy = csmPos.xy * cc_csmAtlas[i].xy + cc_csmAtlas[i].zw;\n shadowProjDepthInfo = cc_csmProjDepthInfo[i];\n shadowProjInfo = cc_csmProjInfo[i];\n shadowViewDir0 = cc_csmViewDir0[i].xyz;\n shadowViewDir1 = cc_csmViewDir1[i].xyz;\n shadowViewDir2 = cc_csmViewDir2[i].xyz;\n level = i;\n }\n }\n return level;\n }\n int CCGetCSMLevel(out vec4 csmPos, out vec4 shadowProjDepthInfo, out vec4 shadowProjInfo, out vec3 shadowViewDir0, out vec3 shadowViewDir1, out vec3 shadowViewDir2, vec3 worldPos)\n {\n bool isTransitionArea = false;\n highp float transitionRatio = 0.0;\n return CCGetCSMLevel(isTransitionArea, transitionRatio, csmPos, shadowProjDepthInfo, shadowProjInfo, shadowViewDir0, shadowViewDir1, shadowViewDir2, worldPos);\n }\n float CCCSMFactorBase(out vec4 csmPos, out vec4 csmPosWithBias, vec3 worldPos, vec3 N, vec2 shadowBias)\n {\n bool isTransitionArea = false;\n highp float ratio = 0.0;\n csmPos = vec4(1.0);\n vec4 shadowProjDepthInfo, shadowProjInfo;\n vec3 shadowViewDir0, shadowViewDir1, shadowViewDir2;\n int level = -1;\n #if CC_CASCADED_LAYERS_TRANSITION\n level = CCGetCSMLevel(isTransitionArea, ratio, csmPos, shadowProjDepthInfo, shadowProjInfo, shadowViewDir0, shadowViewDir1, shadowViewDir2, worldPos);\n #else\n level = CCGetCSMLevel(csmPos, shadowProjDepthInfo, shadowProjInfo, shadowViewDir0, shadowViewDir1, shadowViewDir2, worldPos);\n #endif\n if (level < 0) { return 1.0; }\n vec4 pos = ApplyShadowDepthBias_FaceNormal(csmPos, N, shadowBias.y, shadowViewDir0, shadowViewDir1, shadowViewDir2, shadowProjInfo.xy);\n pos = ApplyShadowDepthBias_Orthographic(pos, shadowBias.x, shadowProjDepthInfo.x, shadowProjDepthInfo.y);\n csmPosWithBias = pos;\n float realtimeShadow = 1.0;\n #if CC_DIR_SHADOW_PCF_TYPE == 3\n realtimeShadow = CCGetDirLightShadowFactorSoft5X(pos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 2\n realtimeShadow = CCGetDirLightShadowFactorSoft3X(pos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 1\n realtimeShadow = CCGetDirLightShadowFactorSoft(pos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 0\n realtimeShadow = CCGetDirLightShadowFactorHard(pos);\n #endif\n #if CC_CASCADED_LAYERS_TRANSITION\n vec4 nextCSMPos = vec4(1.0);\n vec4 nextShadowProjDepthInfo, nextShadowProjInfo;\n vec3 nextShadowViewDir0, nextShadowViewDir1, nextShadowViewDir2;\n float nextRealtimeShadow = 1.0;\n CCGetCSMLevel(nextCSMPos, nextShadowProjDepthInfo, nextShadowProjInfo, nextShadowViewDir0, nextShadowViewDir1, nextShadowViewDir2, worldPos, level + 1);\n bool hasNextLevel = CCHasCSMLevel(level + 1, worldPos);\n if (hasNextLevel && isTransitionArea) {\n vec4 nexPos = ApplyShadowDepthBias_FaceNormal(nextCSMPos, N, shadowBias.y, nextShadowViewDir0, nextShadowViewDir1, nextShadowViewDir2, nextShadowProjInfo.xy);\n nexPos = ApplyShadowDepthBias_Orthographic(nexPos, shadowBias.x, nextShadowProjDepthInfo.x, nextShadowProjDepthInfo.y);\n #if CC_DIR_SHADOW_PCF_TYPE == 3\n nextRealtimeShadow = CCGetDirLightShadowFactorSoft5X(nexPos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 2\n nextRealtimeShadow = CCGetDirLightShadowFactorSoft3X(nexPos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 1\n nextRealtimeShadow = CCGetDirLightShadowFactorSoft(nexPos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 0\n nextRealtimeShadow = CCGetDirLightShadowFactorHard(nexPos);\n #endif\n return mix(mix(nextRealtimeShadow, realtimeShadow, ratio), 1.0, cc_shadowNFLSInfo.w);\n }\n return mix(realtimeShadow, 1.0, cc_shadowNFLSInfo.w);\n #else\n return mix(realtimeShadow, 1.0, cc_shadowNFLSInfo.w);\n #endif\n }\n #else\n int CCGetCSMLevel(out vec4 csmPos, out vec4 shadowProjDepthInfo, out vec4 shadowProjInfo, out vec3 shadowViewDir0, out vec3 shadowViewDir1, out vec3 shadowViewDir2, vec3 worldPos) {\n return -1;\n }\n float CCCSMFactorBase(out vec4 csmPos, out vec4 csmPosWithBias, vec3 worldPos, vec3 N, vec2 shadowBias) {\n csmPos = cc_matLightViewProj * vec4(worldPos, 1.0);\n return CCShadowFactorBase(csmPosWithBias, csmPos, N, shadowBias);\n }\n #endif\n float CCShadowFactorBase(vec4 shadowPos, vec3 N, vec2 shadowBias) {\n vec4 shadowPosWithDepthBias;\n return CCShadowFactorBase(shadowPosWithDepthBias, shadowPos, N, shadowBias);\n }\n float CCCSMFactorBase(vec3 worldPos, vec3 N, vec2 shadowBias) {\n vec4 csmPos, csmPosWithBias;\n return CCCSMFactorBase(csmPos, csmPosWithBias, worldPos, N, shadowBias);\n }\n float CCSpotShadowFactorBase(vec4 shadowPos, vec3 worldPos, vec2 shadowBias)\n {\n vec4 shadowPosWithDepthBias;\n return CCSpotShadowFactorBase(shadowPosWithDepthBias, shadowPos, worldPos, shadowBias);\n }\n #endif\n highp float decode32 (highp vec4 rgba) {\n rgba = rgba * 255.0;\n highp float Sign = 1.0 - (step(128.0, (rgba[3]) + 0.5)) * 2.0;\n highp float Exponent = 2.0 * (mod(float(int((rgba[3]) + 0.5)), 128.0)) + (step(128.0, (rgba[2]) + 0.5)) - 127.0;\n highp float Mantissa = (mod(float(int((rgba[2]) + 0.5)), 128.0)) * 65536.0 + rgba[1] * 256.0 + rgba[0] + 8388608.0;\n return Sign * exp2(Exponent - 23.0) * Mantissa;\n }\n vec4 packRGBE (vec3 rgb) {\n highp float maxComp = max(max(rgb.r, rgb.g), rgb.b);\n highp float e = 128.0;\n if (maxComp > 0.0001) {\n e = log(maxComp) / log(1.1);\n e = ceil(e);\n e = clamp(e + 128.0, 0.0, 255.0);\n }\n highp float sc = 1.0 / pow(1.1, e - 128.0);\n vec3 encode = clamp(rgb * sc, vec3(0.0), vec3(1.0)) * 255.0;\n vec3 encode_rounded = floor(encode) + step(encode - floor(encode), vec3(0.5));\n return vec4(encode_rounded, e) / 255.0;\n }\n vec3 unpackRGBE (vec4 rgbe) {\n return rgbe.rgb * pow(1.1, rgbe.a * 255.0 - 128.0);\n }\n vec4 fragTextureLod (sampler2D tex, vec2 coord, float lod) {\n return textureLod(tex, coord, lod);\n }\n vec4 fragTextureLod (samplerCube tex, vec3 coord, float lod) {\n return textureLod(tex, coord, lod);\n }\n layout(set = 0, binding = 5) uniform samplerCube cc_environment;\n vec3 CalculateReflectDirection(vec3 N, vec3 V, float NoV)\n {\n float sideSign = NoV < 0.0 ? -1.0 : 1.0;\n N *= sideSign;\n return reflect(-V, N);\n }\n vec3 CalculatePlanarReflectPositionOnPlane(vec3 N, vec3 V, vec3 worldPos, vec4 plane, vec3 cameraPos, float probeReflectedDepth)\n {\n float distPixelToPlane = -dot(plane, vec4(worldPos, 1.0));\n plane.w += distPixelToPlane;\n float distCameraToPlane = abs(-dot(plane, vec4(cameraPos, 1.0)));\n vec3 planeN = plane.xyz;\n vec3 virtualCameraPos = cameraPos - 2.0 * distCameraToPlane * planeN;\n vec3 bumpedR = normalize(reflect(-V, N));\n vec3 reflectedPointPos = worldPos + probeReflectedDepth * bumpedR;\n vec3 virtualCameraToReflectedPoint = normalize(reflectedPointPos - virtualCameraPos);\n float y = distCameraToPlane / max(EPSILON_LOWP, dot(planeN, virtualCameraToReflectedPoint));\n return virtualCameraPos + y * virtualCameraToReflectedPoint;\n }\n vec4 CalculateBoxProjectedDirection(vec3 R, vec3 worldPos, vec3 cubeCenterPos, vec3 cubeBoxHalfSize)\n {\n vec3 W = worldPos - cubeCenterPos;\n vec3 projectedLength = (sign(R) * cubeBoxHalfSize - W) / (R + vec3(EPSILON));\n float len = min(min(projectedLength.x, projectedLength.y), projectedLength.z);\n vec3 P = W + len * R;\n float weight = len < 0.0 ? 0.0 : 1.0;\n return vec4(P, weight);\n }\n #if CC_USE_IBL\n #if CC_USE_DIFFUSEMAP\n layout(set = 0, binding = 7) uniform samplerCube cc_diffuseMap;\n #endif\n #endif\n #if CC_USE_REFLECTION_PROBE\n layout(set = 2, binding = 15) uniform samplerCube cc_reflectionProbeCubemap;\n layout(set = 2, binding = 16) uniform sampler2D cc_reflectionProbePlanarMap;\n layout(set = 2, binding = 17) uniform sampler2D cc_reflectionProbeDataMap;\n layout(set = 2, binding = 18) uniform samplerCube cc_reflectionProbeBlendCubemap;\n layout(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 };\n vec4 GetTexData(sampler2D dataMap, float dataMapWidth, float x, float uv_y)\n {\n return vec4(\n decode32(texture(dataMap, vec2(((x + 0.5)/dataMapWidth), uv_y))),\n decode32(texture(dataMap, vec2(((x + 1.5)/dataMapWidth), uv_y))),\n decode32(texture(dataMap, vec2(((x + 2.5)/dataMapWidth), uv_y))),\n decode32(texture(dataMap, vec2(((x + 3.5)/dataMapWidth), uv_y)))\n );\n }\n void GetPlanarReflectionProbeData(out vec4 plane, out float planarReflectionDepthScale, out float mipCount, float probeId)\n {\n #if USE_INSTANCING\n float uv_y = (probeId + 0.5) / cc_probeInfo.x;\n float dataMapWidth = 12.0;\n vec4 texData1 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 0.0, uv_y);\n vec4 texData2 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 4.0, uv_y);\n plane.xyz = texData1.xyz;\n plane.w = texData2.x;\n planarReflectionDepthScale = texData2.y;\n mipCount = texData2.z;\n #else\n plane = cc_reflectionProbeData1;\n planarReflectionDepthScale = cc_reflectionProbeData2.x;\n mipCount = cc_reflectionProbeData2.w;\n #endif\n }\n void GetCubeReflectionProbeData(out vec3 centerPos, out vec3 boxHalfSize, out float mipCount, float probeId)\n {\n #if USE_INSTANCING\n float uv_y = (probeId + 0.5) / cc_probeInfo.x;\n float dataMapWidth = 12.0;\n vec4 texData1 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 0.0, uv_y);\n vec4 texData2 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 4.0, uv_y);\n vec4 texData3 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 8.0, uv_y);\n centerPos = texData1.xyz;\n boxHalfSize = texData2.xyz;\n mipCount = texData3.x;\n #else\n centerPos = cc_reflectionProbeData1.xyz;\n boxHalfSize = cc_reflectionProbeData2.xyz;\n mipCount = cc_reflectionProbeData2.w;\n #endif\n if (mipCount > 1000.0) mipCount -= 1000.0;\n }\n bool isReflectProbeUsingRGBE(float probeId)\n {\n #if USE_INSTANCING\n float uv_y = (probeId + 0.5) / cc_probeInfo.x;\n float dataMapWidth = 12.0;\n vec4 texData3 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 8.0, uv_y);\n return texData3.x > 1000.0;\n #else\n return cc_reflectionProbeData2.w > 1000.0;\n #endif\n }\n bool isBlendReflectProbeUsingRGBE(float probeId)\n {\n #if USE_INSTANCING\n float uv_y = (probeId + 0.5) / cc_probeInfo.x;\n float dataMapWidth = 12.0;\n vec4 texData3 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 8.0, uv_y);\n return texData3.x > 1000.0;\n #else\n return cc_reflectionProbeBlendData2.w > 1000.0;\n #endif\n }\n void GetBlendCubeReflectionProbeData(out vec3 centerPos, out vec3 boxHalfSize, out float mipCount, float probeId)\n {\n #if USE_INSTANCING\n float uv_y = (probeId + 0.5) / cc_probeInfo.x;\n float dataMapWidth = 12.0;\n vec4 texData1 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 0.0, uv_y);\n vec4 texData2 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 4.0, uv_y);\n vec4 texData3 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 8.0, uv_y);\n centerPos = texData1.xyz;\n boxHalfSize = texData2.xyz;\n mipCount = texData3.x;\n #else\n centerPos = cc_reflectionProbeBlendData1.xyz;\n boxHalfSize = cc_reflectionProbeBlendData2.xyz;\n mipCount = cc_reflectionProbeBlendData2.w;\n #endif\n if (mipCount > 1000.0) mipCount -= 1000.0;\n }\n #endif\n #if CC_USE_LIGHT_PROBE\n #if CC_USE_LIGHT_PROBE\n #if USE_INSTANCING\n layout(location = 1) in mediump vec4 v_sh_linear_const_r;\n layout(location = 2) in mediump vec4 v_sh_linear_const_g;\n layout(location = 3) in mediump vec4 v_sh_linear_const_b;\n #else\n layout(set = 2, binding = 6) uniform CCSH {\n vec4 cc_sh_linear_const_r;\n vec4 cc_sh_linear_const_g;\n vec4 cc_sh_linear_const_b;\n vec4 cc_sh_quadratic_r;\n vec4 cc_sh_quadratic_g;\n vec4 cc_sh_quadratic_b;\n vec4 cc_sh_quadratic_a;\n };\n #endif\n #if CC_USE_LIGHT_PROBE\n vec3 SHEvaluate(vec3 normal)\n {\n vec3 result;\n #if USE_INSTANCING\n vec4 normal4 = vec4(normal, 1.0);\n result.r = dot(v_sh_linear_const_r, normal4);\n result.g = dot(v_sh_linear_const_g, normal4);\n result.b = dot(v_sh_linear_const_b, normal4);\n #else\n vec4 normal4 = vec4(normal, 1.0);\n result.r = dot(cc_sh_linear_const_r, normal4);\n result.g = dot(cc_sh_linear_const_g, normal4);\n result.b = dot(cc_sh_linear_const_b, normal4);\n vec4 n14 = normal.xyzz * normal.yzzx;\n float n5 = normal.x * normal.x - normal.y * normal.y;\n result.r += dot(cc_sh_quadratic_r, n14);\n result.g += dot(cc_sh_quadratic_g, n14);\n result.b += dot(cc_sh_quadratic_b, n14);\n result += (cc_sh_quadratic_a.rgb * n5);\n #endif\n #if CC_USE_HDR\n result *= cc_exposure.w * cc_exposure.x;\n #endif\n return result;\n }\n #endif\n #endif\n #endif\n float GGXMobile (float roughness, float NoH, vec3 H, vec3 N) {\n vec3 NxH = cross(N, H);\n float OneMinusNoHSqr = dot(NxH, NxH);\n float a = roughness * roughness;\n float n = NoH * a;\n float p = a / max(EPSILON, OneMinusNoHSqr + n * n);\n return p * p;\n }\n float CalcSpecular (float roughness, float NoH, vec3 H, vec3 N) {\n return (roughness * 0.25 + 0.25) * GGXMobile(roughness, NoH, H, N);\n }\n vec3 BRDFApprox (vec3 specular, float roughness, float NoV) {\n const vec4 c0 = vec4(-1.0, -0.0275, -0.572, 0.022);\n const vec4 c1 = vec4(1.0, 0.0425, 1.04, -0.04);\n vec4 r = roughness * c0 + c1;\n float a004 = min(r.x * r.x, exp2(-9.28 * NoV)) * r.x + r.y;\n vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;\n AB.y *= clamp(50.0 * specular.g, 0.0, 1.0);\n return max(vec3(0.0), specular * AB.x + AB.y);\n }\n #if USE_REFLECTION_DENOISE\n vec3 GetEnvReflectionWithMipFiltering(vec3 R, float roughness, float mipCount, float denoiseIntensity, vec2 screenUV) {\n #if CC_USE_IBL\n \tfloat mip = roughness * (mipCount - 1.0);\n \tfloat delta = (dot(dFdx(R), dFdy(R))) * 1000.0;\n \tfloat mipBias = mix(0.0, 5.0, clamp(delta, 0.0, 1.0));\n #if CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_CUBE\n vec4 biased = fragTextureLod(cc_reflectionProbeCubemap, R, mip + mipBias);\n \t vec4 filtered = texture(cc_reflectionProbeCubemap, R);\n #elif CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_PLANAR\n vec4 biased = fragTextureLod(cc_reflectionProbePlanarMap, screenUV, mip + mipBias);\n vec4 filtered = texture(cc_reflectionProbePlanarMap, screenUV);\n #else\n vec4 biased = fragTextureLod(cc_environment, R, mip + mipBias);\n \t vec4 filtered = texture(cc_environment, R);\n #endif\n #if CC_USE_IBL == 2 || CC_USE_REFLECTION_PROBE != REFLECTION_PROBE_TYPE_NONE\n biased.rgb = unpackRGBE(biased);\n \tfiltered.rgb = unpackRGBE(filtered);\n #else\n \tbiased.rgb = SRGBToLinear(biased.rgb);\n \tfiltered.rgb = SRGBToLinear(filtered.rgb);\n #endif\n return mix(biased.rgb, filtered.rgb, denoiseIntensity);\n #else\n return vec3(0.0, 0.0, 0.0);\n #endif\n }\n #endif\n struct StandardSurface {\n vec4 albedo;\n #if CC_PLATFORM_ANDROID_AND_WEBGL && CC_ENABLE_WEBGL_HIGHP_STRUCT_VALUES\n vec3 position, position_fract_part;\n #else\n vec3 position;\n #endif\n vec3 normal;\n vec3 emissive;\n vec4 lightmap;\n float lightmap_test;\n float roughness;\n float metallic;\n float occlusion;\n float specularIntensity;\n #if CC_RECEIVE_SHADOW\n vec2 shadowBias;\n #endif\n #if CC_RECEIVE_SHADOW || CC_USE_REFLECTION_PROBE\n float reflectionProbeId;\n #endif\n #if CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_BLEND || CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_BLEND_AND_SKYBOX\n float reflectionProbeBlendId;\n float reflectionProbeBlendFactor;\n #endif\n };\n vec3 SampleReflectionProbe(samplerCube tex, vec3 R, float roughness, float mipCount, bool isRGBE) {\n vec4 envmap = fragTextureLod(tex, R, roughness * (mipCount - 1.0));\n if (isRGBE)\n return unpackRGBE(envmap);\n else\n return SRGBToLinear(envmap.rgb);\n }\n vec4 CCStandardShadingBase (StandardSurface s, vec4 shadowPos) {\n vec3 diffuse = s.albedo.rgb * (1.0 - s.metallic);\n vec3 specular = mix(vec3(0.08 * s.specularIntensity), s.albedo.rgb, s.metallic);\n vec3 position;\n #if CC_PLATFORM_ANDROID_AND_WEBGL && CC_ENABLE_WEBGL_HIGHP_STRUCT_VALUES\n position = unpackHighpData(s.position, s.position_fract_part);\n #else\n position = s.position;\n #endif\n vec3 N = normalize(s.normal);\n vec3 V = normalize(cc_cameraPos.xyz - position);\n vec3 L = normalize(-cc_mainLitDir.xyz);\n float NL = max(dot(N, L), 0.0);\n float shadow = 1.0;\n #if CC_RECEIVE_SHADOW && CC_SHADOW_TYPE == 2\n if (NL > 0.0 && cc_mainLitDir.w > 0.0) {\n #if CC_DIR_LIGHT_SHADOW_TYPE == 2\n shadow = CCCSMFactorBase(position, N, s.shadowBias);\n #endif\n #if CC_DIR_LIGHT_SHADOW_TYPE == 1\n shadow = CCShadowFactorBase(shadowPos, N, s.shadowBias);\n #endif\n }\n #endif\n vec3 finalColor = vec3(0.0);\n #if CC_USE_LIGHTMAP && !CC_FORWARD_ADD\n vec3 lightmap = s.lightmap.rgb;\n #if CC_USE_HDR\n lightmap.rgb *= cc_exposure.w * cc_exposure.x;\n #endif\n #if CC_USE_LIGHTMAP == LIGHT_MAP_TYPE_INDIRECT_OCCLUSION\n shadow *= s.lightmap.a;\n finalColor += diffuse * lightmap.rgb;\n #else\n finalColor += diffuse * lightmap.rgb * shadow;\n #endif\n s.occlusion *= s.lightmap_test;\n #endif\n #if !CC_DISABLE_DIRECTIONAL_LIGHT\n float NV = max(abs(dot(N, V)), 0.0);\n specular = BRDFApprox(specular, s.roughness, NV);\n vec3 H = normalize(L + V);\n float NH = max(dot(N, H), 0.0);\n vec3 lightingColor = NL * cc_mainLitColor.rgb * cc_mainLitColor.w;\n vec3 diffuseContrib = diffuse / PI;\n vec3 specularContrib = specular * CalcSpecular(s.roughness, NH, H, N);\n vec3 dirlightContrib = (diffuseContrib + specularContrib);\n dirlightContrib *= shadow;\n finalColor += lightingColor * dirlightContrib;\n #endif\n float fAmb = max(EPSILON, 0.5 - N.y * 0.5);\n vec3 ambDiff = mix(cc_ambientSky.rgb, cc_ambientGround.rgb, fAmb);\n vec3 env = vec3(0.0), rotationDir;\n #if CC_USE_IBL\n #if CC_USE_DIFFUSEMAP && !CC_USE_LIGHT_PROBE\n rotationDir = RotationVecFromAxisY(N.xyz, cc_surfaceTransform.z, cc_surfaceTransform.w);\n vec4 diffuseMap = texture(cc_diffuseMap, rotationDir);\n #if CC_USE_DIFFUSEMAP == 2\n ambDiff = unpackRGBE(diffuseMap);\n #else\n ambDiff = SRGBToLinear(diffuseMap.rgb);\n #endif\n #endif\n #if !CC_USE_REFLECTION_PROBE\n vec3 R = normalize(reflect(-V, N));\n rotationDir = RotationVecFromAxisY(R.xyz, cc_surfaceTransform.z, cc_surfaceTransform.w);\n #if USE_REFLECTION_DENOISE && !CC_IBL_CONVOLUTED\n env = GetEnvReflectionWithMipFiltering(rotationDir, s.roughness, cc_ambientGround.w, 0.6, vec2(0.0));\n #else\n vec4 envmap = fragTextureLod(cc_environment, rotationDir, s.roughness * (cc_ambientGround.w - 1.0));\n #if CC_USE_IBL == 2\n env = unpackRGBE(envmap);\n #else\n env = SRGBToLinear(envmap.rgb);\n #endif\n #endif\n #endif\n #endif\n float lightIntensity = cc_ambientSky.w;\n #if CC_USE_REFLECTION_PROBE\n vec4 probe = vec4(0.0);\n vec3 R = normalize(reflect(-V, N));\n #if CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_CUBE\n if(s.reflectionProbeId < 0.0){\n env = SampleReflectionProbe(cc_environment, R, s.roughness, cc_ambientGround.w, CC_USE_IBL == 2);\n }else{\n vec3 centerPos, boxHalfSize;\n float mipCount;\n GetCubeReflectionProbeData(centerPos, boxHalfSize, mipCount, s.reflectionProbeId);\n vec4 fixedR = CalculateBoxProjectedDirection(R, position, centerPos, boxHalfSize);\n env = mix(SampleReflectionProbe(cc_environment, R, s.roughness, cc_ambientGround.w, CC_USE_IBL == 2) * lightIntensity,\n SampleReflectionProbe(cc_reflectionProbeCubemap, fixedR.xyz, s.roughness, mipCount, isReflectProbeUsingRGBE(s.reflectionProbeId)), fixedR.w);\n }\n #elif CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_PLANAR\n if(s.reflectionProbeId < 0.0){\n vec2 screenUV = GetPlanarReflectScreenUV(s.position, cc_matViewProj, cc_cameraPos.w, V, R);\n probe = fragTextureLod(cc_reflectionProbePlanarMap, screenUV, 1.0);\n }else{\n vec4 plane;\n float planarReflectionDepthScale, mipCount;\n GetPlanarReflectionProbeData(plane, planarReflectionDepthScale, mipCount, s.reflectionProbeId);\n R = normalize(CalculateReflectDirection(N, V, max(abs(dot(N, V)), 0.0)));\n vec3 worldPosOffset = CalculatePlanarReflectPositionOnPlane(N, V, s.position, plane, cc_cameraPos.xyz, planarReflectionDepthScale);\n vec2 screenUV = GetPlanarReflectScreenUV(worldPosOffset, cc_matViewProj, cc_cameraPos.w, V, R);\n probe = fragTextureLod(cc_reflectionProbePlanarMap, screenUV, mipCount);\n }\n env = unpackRGBE(probe);\n #elif CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_BLEND || CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_BLEND_AND_SKYBOX\n if (s.reflectionProbeId < 0.0) {\n env = SampleReflectionProbe(cc_environment, R, s.roughness, cc_ambientGround.w, CC_USE_IBL == 2);\n } else {\n vec3 centerPos, boxHalfSize;\n float mipCount;\n GetCubeReflectionProbeData(centerPos, boxHalfSize, mipCount, s.reflectionProbeId);\n vec4 fixedR = CalculateBoxProjectedDirection(R, s.position, centerPos, boxHalfSize);\n env = SampleReflectionProbe(cc_reflectionProbeCubemap, fixedR.xyz, s.roughness, mipCount, isReflectProbeUsingRGBE(s.reflectionProbeId));\n if (s.reflectionProbeBlendId < 0.0) {\n vec3 skyBoxEnv = SampleReflectionProbe(cc_environment, R, s.roughness, cc_ambientGround.w, CC_USE_IBL == 2) * lightIntensity;\n #if CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_BLEND_AND_SKYBOX\n env = mix(env, skyBoxEnv, s.reflectionProbeBlendFactor);\n #else\n env = mix(skyBoxEnv, env, fixedR.w);\n #endif\n } else {\n vec3 centerPosBlend, boxHalfSizeBlend;\n float mipCountBlend;\n GetBlendCubeReflectionProbeData(centerPosBlend, boxHalfSizeBlend, mipCountBlend, s.reflectionProbeBlendId);\n vec4 fixedRBlend = CalculateBoxProjectedDirection(R, s.position, centerPosBlend, boxHalfSizeBlend);\n vec3 probe1 = SampleReflectionProbe(cc_reflectionProbeBlendCubemap, fixedRBlend.xyz, s.roughness, mipCountBlend, isBlendReflectProbeUsingRGBE(s.reflectionProbeBlendId));\n env = mix(env, probe1, s.reflectionProbeBlendFactor);\n }\n }\n #endif\n #endif\n #if CC_USE_REFLECTION_PROBE\n lightIntensity = s.reflectionProbeId < 0.0 ? lightIntensity : 1.0;\n #endif\n finalColor += env * lightIntensity * specular * s.occlusion;\n #if CC_USE_LIGHT_PROBE\n finalColor += SHEvaluate(N) * diffuse * s.occlusion;\n #endif\n finalColor += ambDiff.rgb * cc_ambientSky.w * diffuse * s.occlusion;\n finalColor += s.emissive;\n return vec4(finalColor, s.albedo.a);\n }\n #if CC_PIPELINE_TYPE == 0\n #define LIGHTS_PER_PASS 1\n #else\n #define LIGHTS_PER_PASS 10\n #endif\n #if CC_ENABLE_CLUSTERED_LIGHT_CULLING == 0\n layout(set = 2, binding = 1) uniform CCForwardLight {\n highp vec4 cc_lightPos[LIGHTS_PER_PASS];\n vec4 cc_lightColor[LIGHTS_PER_PASS];\n vec4 cc_lightSizeRangeAngle[LIGHTS_PER_PASS];\n vec4 cc_lightDir[LIGHTS_PER_PASS];\n vec4 cc_lightBoundingSizeVS[LIGHTS_PER_PASS];\n };\n #endif\n float SmoothDistAtt (float distSqr, float invSqrAttRadius) {\n float factor = distSqr * invSqrAttRadius;\n float smoothFactor = clamp(1.0 - factor * factor, 0.0, 1.0);\n return smoothFactor * smoothFactor;\n }\n float GetDistAtt (float distSqr, float invSqrAttRadius) {\n float attenuation = 1.0 / max(distSqr, 0.01*0.01);\n attenuation *= SmoothDistAtt(distSqr , invSqrAttRadius);\n return attenuation;\n }\n float GetAngleAtt (vec3 L, vec3 litDir, float litAngleScale, float litAngleOffset) {\n float cd = dot(litDir, L);\n float attenuation = clamp(cd * litAngleScale + litAngleOffset, 0.0, 1.0);\n return (attenuation * attenuation);\n }\n float GetOutOfRange (vec3 worldPos, vec3 lightPos, vec3 lookAt, vec3 right, vec3 BoundingHalfSizeVS) {\n vec3 v = vec3(0.0);\n vec3 up = cross(right, lookAt);\n worldPos -= lightPos;\n v.x = dot(worldPos, right);\n v.y = dot(worldPos, up);\n v.z = dot(worldPos, lookAt);\n vec3 result = step(abs(v), BoundingHalfSizeVS);\n return result.x * result.y * result.z;\n }\n #if CC_ENABLE_CLUSTERED_LIGHT_CULLING == 0\n vec4 CCStandardShadingAdditive (StandardSurface s, vec4 shadowPos) {\n vec3 position;\n #if CC_PLATFORM_ANDROID_AND_WEBGL && CC_ENABLE_WEBGL_HIGHP_STRUCT_VALUES\n position = unpackHighpData(s.position, s.position_fract_part);\n #else\n position = s.position;\n #endif\n vec3 diffuse = s.albedo.rgb * (1.0 - s.metallic);\n vec3 specular = mix(vec3(0.04), s.albedo.rgb, s.metallic);\n vec3 diffuseContrib = diffuse / PI;\n vec3 N = normalize(s.normal);\n vec3 V = normalize(cc_cameraPos.xyz - position);\n float NV = max(abs(dot(N, V)), 0.0);\n specular = BRDFApprox(specular, s.roughness, NV);\n vec3 finalColor = vec3(0.0);\n int numLights = CC_PIPELINE_TYPE == 0 ? LIGHTS_PER_PASS : int(cc_lightDir[0].w);\n for (int i = 0; i < LIGHTS_PER_PASS; i++) {\n if (i >= numLights) break;\n vec3 SLU = IS_RANGED_DIRECTIONAL_LIGHT(cc_lightPos[i].w) ? -cc_lightDir[i].xyz : cc_lightPos[i].xyz - position;\n vec3 SL = normalize(SLU);\n vec3 SH = normalize(SL + V);\n float SNL = max(dot(N, SL), 0.0);\n float SNH = max(dot(N, SH), 0.0);\n vec3 lspec = specular * CalcSpecular(s.roughness, SNH, SH, N);\n float illum = 1.0;\n float att = 1.0;\n if (IS_RANGED_DIRECTIONAL_LIGHT(cc_lightPos[i].w)) {\n att = GetOutOfRange(position, cc_lightPos[i].xyz, cc_lightDir[i].xyz, cc_lightSizeRangeAngle[i].xyz, cc_lightBoundingSizeVS[i].xyz);\n } else {\n float distSqr = dot(SLU, SLU);\n float litRadius = cc_lightSizeRangeAngle[i].x;\n float litRadiusSqr = litRadius * litRadius;\n illum = (IS_POINT_LIGHT(cc_lightPos[i].w) || IS_RANGED_DIRECTIONAL_LIGHT(cc_lightPos[i].w)) ? 1.0 : litRadiusSqr / max(litRadiusSqr, distSqr);\n float attRadiusSqrInv = 1.0 / max(cc_lightSizeRangeAngle[i].y, 0.01);\n attRadiusSqrInv *= attRadiusSqrInv;\n att = GetDistAtt(distSqr, attRadiusSqrInv);\n if (IS_SPOT_LIGHT(cc_lightPos[i].w)) {\n float cosInner = max(dot(-cc_lightDir[i].xyz, SL), 0.01);\n float cosOuter = cc_lightSizeRangeAngle[i].z;\n float litAngleScale = 1.0 / max(0.001, cosInner - cosOuter);\n float litAngleOffset = -cosOuter * litAngleScale;\n att *= GetAngleAtt(SL, -cc_lightDir[i].xyz, litAngleScale, litAngleOffset);\n }\n }\n float shadow = 1.0;\n #if CC_RECEIVE_SHADOW && CC_SHADOW_TYPE == 2\n if (IS_SPOT_LIGHT(cc_lightPos[i].w) && cc_lightSizeRangeAngle[i].w > 0.0) {\n shadow = CCSpotShadowFactorBase(shadowPos, position, s.shadowBias);\n }\n #endif\n finalColor += SNL * cc_lightColor[i].rgb * shadow * cc_lightColor[i].w * illum * att * (diffuseContrib + lspec);\n }\n return vec4(finalColor, 0.0);\n }\n #endif\n#if CC_ENABLE_CLUSTERED_LIGHT_CULLING == 1\n layout(std430, set = 1, binding = 4) readonly buffer b_ccLightsBuffer { vec4 b_ccLights[]; };\n layout(std430, set = 1, binding = 5) readonly buffer b_clusterLightIndicesBuffer { uint b_clusterLightIndices[]; };\n layout(std430, set = 1, binding = 6) readonly buffer b_clusterLightGridBuffer { uvec4 b_clusterLightGrid[]; };\n struct CCLight\n {\n vec4 cc_lightPos;\n vec4 cc_lightColor;\n vec4 cc_lightSizeRangeAngle;\n vec4 cc_lightDir;\n vec4 cc_lightBoundingSizeVS;\n };\n struct Cluster\n {\n vec3 minBounds;\n vec3 maxBounds;\n };\n struct LightGrid\n {\n uint offset;\n uint ccLights;\n };\n CCLight getCCLight(uint i)\n {\n CCLight light;\n light.cc_lightPos = b_ccLights[5u * i + 0u];\n light.cc_lightColor = b_ccLights[5u * i + 1u];\n light.cc_lightSizeRangeAngle = b_ccLights[5u * i + 2u];\n light.cc_lightDir = b_ccLights[5u * i + 3u];\n light.cc_lightBoundingSizeVS = b_ccLights[5u * i + 4u];\n return light;\n }\n LightGrid getLightGrid(uint cluster)\n {\n uvec4 gridvec = b_clusterLightGrid[cluster];\n LightGrid grid;\n grid.offset = gridvec.x;\n grid.ccLights = gridvec.y;\n return grid;\n }\n uint getGridLightIndex(uint start, uint offset)\n {\n return b_clusterLightIndices[start + offset];\n }\n uint getClusterZIndex(vec4 worldPos)\n {\n float scale = float(24u) / log(cc_nearFar.y / cc_nearFar.x);\n float bias = -(float(24u) * log(cc_nearFar.x) / log(cc_nearFar.y / cc_nearFar.x));\n float eyeDepth = -(cc_matView * worldPos).z;\n uint zIndex = uint(max(log(eyeDepth) * scale + bias, 0.0));\n return zIndex;\n }\n uint getClusterIndex(vec4 fragCoord, vec4 worldPos)\n {\n uint zIndex = getClusterZIndex(worldPos);\n float clusterSizeX = ceil(cc_viewPort.z / float(16u));\n float clusterSizeY = ceil(cc_viewPort.w / float(8u));\n uvec3 indices = uvec3(uvec2(fragCoord.xy / vec2(clusterSizeX, clusterSizeY)), zIndex);\n uint cluster = (16u * 8u) * indices.z + 16u * indices.y + indices.x;\n return cluster;\n }\n vec4 CCClusterShadingAdditive (StandardSurface s, vec4 shadowPos) {\n vec3 diffuse = s.albedo.rgb * (1.0 - s.metallic);\n vec3 specular = mix(vec3(0.04), s.albedo.rgb, s.metallic);\n vec3 diffuseContrib = diffuse / PI;\n vec3 position;\n #if CC_PLATFORM_ANDROID_AND_WEBGL && CC_ENABLE_WEBGL_HIGHP_STRUCT_VALUES\n position = unpackHighpData(s.position, s.position_fract_part);\n #else\n position = s.position;\n #endif\n vec3 N = normalize(s.normal);\n vec3 V = normalize(cc_cameraPos.xyz - position);\n float NV = max(abs(dot(N, V)), 0.001);\n specular = BRDFApprox(specular, s.roughness, NV);\n vec3 finalColor = vec3(0.0);\n uint cluster = getClusterIndex(gl_FragCoord, vec4(position, 1.0));\n LightGrid grid = getLightGrid(cluster);\n uint numLights = grid.ccLights;\n for (uint i = 0u; i < 200u; i++) {\n if (i >= numLights) break;\n uint lightIndex = getGridLightIndex(grid.offset, i);\n CCLight light = getCCLight(lightIndex);\n vec3 SLU = light.cc_lightPos.xyz - position;\n vec3 SL = normalize(SLU);\n vec3 SH = normalize(SL + V);\n float SNL = max(dot(N, SL), 0.001);\n float SNH = max(dot(N, SH), 0.0);\n float distSqr = dot(SLU, SLU);\n float litRadius = light.cc_lightSizeRangeAngle.x;\n float litRadiusSqr = litRadius * litRadius;\n float illum = PI * (litRadiusSqr / max(litRadiusSqr , distSqr));\n float attRadiusSqrInv = 1.0 / max(light.cc_lightSizeRangeAngle.y, 0.01);\n attRadiusSqrInv *= attRadiusSqrInv;\n float att = GetDistAtt(distSqr, attRadiusSqrInv);\n vec3 lspec = specular * CalcSpecular(s.roughness, SNH, SH, N);\n if (IS_SPOT_LIGHT(light.cc_lightPos.w)) {\n float cosInner = max(dot(-light.cc_lightDir.xyz, SL), 0.01);\n float cosOuter = light.cc_lightSizeRangeAngle.z;\n float litAngleScale = 1.0 / max(0.001, cosInner - cosOuter);\n float litAngleOffset = -cosOuter * litAngleScale;\n att *= GetAngleAtt(SL, -light.cc_lightDir.xyz, litAngleScale, litAngleOffset);\n }\n vec3 lightColor = light.cc_lightColor.rgb;\n float shadow = 1.0;\n #if CC_RECEIVE_SHADOW && CC_SHADOW_TYPE == 2\n if (IS_SPOT_LIGHT(light.cc_lightPos.w) && light.cc_lightSizeRangeAngle.w > 0.0) {\n shadow = CCSpotShadowFactorBase(shadowPos, position, s.shadowBias);\n }\n #endif\n lightColor *= shadow;\n finalColor += SNL * lightColor * light.cc_lightColor.w * illum * att * (diffuseContrib + lspec);\n }\n return vec4(finalColor, 0.0);\n }\n#endif\n vec3 ACESToneMap (vec3 color) {\n color = min(color, vec3(8.0));\n const float A = 2.51;\n const float B = 0.03;\n const float C = 2.43;\n const float D = 0.59;\n const float E = 0.14;\n return (color * (A * color + B)) / (color * (C * color + D) + E);\n }\n vec4 CCFragOutput (vec4 color) {\n #if CC_USE_RGBE_OUTPUT\n color = packRGBE(color.rgb);\n #elif !CC_USE_FLOAT_OUTPUT\n #if CC_USE_HDR && CC_TONE_MAPPING_TYPE == HDR_TONE_MAPPING_ACES\n color.rgb = ACESToneMap(color.rgb);\n #endif\n color.rgb = LinearToSRGB(color.rgb);\n #endif\n return color;\n }\n #if CC_USE_FOG != 4\n float LinearFog(vec4 pos, vec3 cameraPos, float fogStart, float fogEnd) {\n vec4 wPos = pos;\n float cam_dis = distance(cameraPos, wPos.xyz);\n return clamp((fogEnd - cam_dis) / (fogEnd - fogStart), 0., 1.);\n }\n float ExpFog(vec4 pos, vec3 cameraPos, float fogStart, float fogDensity, float fogAtten) {\n vec4 wPos = pos;\n float cam_dis = max(distance(cameraPos, wPos.xyz) - fogStart, 0.0) / fogAtten * 4.;\n float f = exp(-cam_dis * fogDensity);\n return f;\n }\n float ExpSquaredFog(vec4 pos, vec3 cameraPos, float fogStart, float fogDensity, float fogAtten) {\n vec4 wPos = pos;\n float cam_dis = max(distance(cameraPos, wPos.xyz) - fogStart, 0.0) / fogAtten * 4.;\n float f = exp(-cam_dis * cam_dis * fogDensity * fogDensity);\n return f;\n }\n float LayeredFog(vec4 pos, vec3 cameraPos, float fogTop, float fogRange, float fogAtten) {\n vec4 wPos = pos;\n vec3 camWorldProj = cameraPos.xyz;\n camWorldProj.y = 0.;\n vec3 worldPosProj = wPos.xyz;\n worldPosProj.y = 0.;\n float fDeltaD = distance(worldPosProj, camWorldProj) / fogAtten * 2.0;\n float fDeltaY, fDensityIntegral;\n if (cameraPos.y > fogTop) {\n if (wPos.y < fogTop) {\n fDeltaY = (fogTop - wPos.y) / fogRange * 2.0;\n fDensityIntegral = fDeltaY * fDeltaY * 0.5;\n }\n else {\n fDeltaY = 0.;\n fDensityIntegral = 0.;\n }\n }\n else {\n if (wPos.y < fogTop) {\n float fDeltaA = (fogTop - cameraPos.y) / fogRange * 2.;\n float fDeltaB = (fogTop - wPos.y) / fogRange * 2.;\n fDeltaY = abs(fDeltaA - fDeltaB);\n fDensityIntegral = abs((fDeltaA * fDeltaA * 0.5) - (fDeltaB * fDeltaB * 0.5));\n }\n else {\n fDeltaY = abs(fogTop - cameraPos.y) / fogRange * 2.;\n fDensityIntegral = abs(fDeltaY * fDeltaY * 0.5);\n }\n }\n float fDensity;\n if (fDeltaY != 0.) {\n fDensity = (sqrt(1.0 + ((fDeltaD / fDeltaY) * (fDeltaD / fDeltaY)))) * fDensityIntegral;\n }\n else {\n fDensity = 0.;\n }\n float f = exp(-fDensity);\n return f;\n }\n #endif\n void CC_TRANSFER_FOG_BASE(vec4 pos, out float factor)\n {\n #if CC_USE_FOG == 0\n \tfactor = LinearFog(pos, cc_cameraPos.xyz, cc_fogBase.x, cc_fogBase.y);\n #elif CC_USE_FOG == 1\n \tfactor = ExpFog(pos, cc_cameraPos.xyz, cc_fogBase.x, cc_fogBase.z, cc_fogAdd.z);\n #elif CC_USE_FOG == 2\n \tfactor = ExpSquaredFog(pos, cc_cameraPos.xyz, cc_fogBase.x, cc_fogBase.z, cc_fogAdd.z);\n #elif CC_USE_FOG == 3\n \tfactor = LayeredFog(pos, cc_cameraPos.xyz, cc_fogAdd.x, cc_fogAdd.y, cc_fogAdd.z);\n #else\n \tfactor = 1.0;\n #endif\n }\n void CC_APPLY_FOG_BASE(inout vec4 color, float factor) {\n \tcolor = vec4(mix(cc_fogColor.rgb, color.rgb, factor), color.a);\n }\n vec2 signNotZero(vec2 v) {\n return vec2((v.x >= 0.0) ? +1.0 : -1.0, (v.y >= 0.0) ? +1.0 : -1.0);\n }\n vec3 oct_to_float32x3(vec2 e) {\n vec3 v = vec3(e.xy, 1.0 - abs(e.x) - abs(e.y));\n if (v.z < 0.0) v.xy = (1.0 - abs(v.yx)) * signNotZero(v.xy);\n return normalize(v);\n }\n layout(location = 0) in vec2 v_uv;\n layout(set = 1, binding = 0) uniform sampler2D albedoMap;\n layout(set = 1, binding = 1) uniform sampler2D normalMap;\n layout(set = 1, binding = 2) uniform sampler2D emissiveMap;\n layout(set = 1, binding = 3) uniform sampler2D depthStencil;\n layout(location = 0) out vec4 fragColor;\n vec4 screen2WS(vec3 coord) {\n vec3 ndc = vec3(\n 2.0 * (coord.x - cc_viewPort.x) / cc_viewPort.z - 1.0,\n 2.0 * (coord.y - cc_viewPort.y) / cc_viewPort.w - 1.0,\n coord.z);\n CC_HANDLE_SAMPLE_NDC_FLIP_STATIC(ndc.y);\n return GetWorldPosFromNDCPosRH(ndc, cc_matProj, cc_matViewProjInv);\n }\n void main () {\n StandardSurface s;\n vec4 albedo = texture(albedoMap, v_uv);\n vec4 normal = texture(normalMap, v_uv);\n vec4 emissive = texture(emissiveMap, v_uv);\n float depth = texture(depthStencil, v_uv).x;\n s.albedo = albedo;\n vec3 position = screen2WS(vec3(gl_FragCoord.xy, depth)).xyz;\n s.position = position;\n s.roughness = normal.z;\n s.normal = oct_to_float32x3(normal.xy);\n s.specularIntensity = 0.5;\n s.metallic = normal.w;\n s.emissive = emissive.xyz;\n s.occlusion = emissive.w;\n#if CC_RECEIVE_SHADOW\n s.shadowBias = vec2(0, 0);\n#endif\n float fogFactor;\n CC_TRANSFER_FOG_BASE(vec4(position, 1), fogFactor);\n vec4 shadowPos;\n shadowPos = cc_matLightViewProj * vec4(position, 1);\n vec4 color = CCStandardShadingBase(s, shadowPos) +\n#if CC_ENABLE_CLUSTERED_LIGHT_CULLING == 1\n CCClusterShadingAdditive(s, shadowPos);\n#else\n CCStandardShadingAdditive(s, shadowPos);\n#endif\n CC_APPLY_FOG_BASE(color, fogFactor);\n color = CCFragOutput(color);\n#if CC_USE_DEBUG_VIEW == CC_SURFACES_DEBUG_VIEW_SINGLE\n color = vec4(albedoMap.rgb, 1.0);\n#endif\n fragColor = color;\n }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]},{"name":"CCShadow","defines":[]},{"name":"CCCSM","defines":["CC_SUPPORT_CASCADED_SHADOW_MAP"]}],"samplerTextures":[{"name":"cc_shadowMap","defines":["CC_RECEIVE_SHADOW"]},{"name":"cc_spotShadowMap","defines":["CC_RECEIVE_SHADOW"]},{"name":"cc_environment","defines":[]},{"name":"cc_diffuseMap","defines":["CC_USE_IBL","CC_USE_DIFFUSEMAP"]}],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCLocal","defines":["CC_USE_REFLECTION_PROBE"]},{"name":"CCSH","defines":["CC_USE_LIGHT_PROBE","!USE_INSTANCING"]},{"name":"CCForwardLight","defines":["CC_ENABLE_CLUSTERED_LIGHT_CULLING"]}],"samplerTextures":[{"name":"cc_reflectionProbeCubemap","defines":["CC_USE_REFLECTION_PROBE"]},{"name":"cc_reflectionProbePlanarMap","defines":["CC_USE_REFLECTION_PROBE"]},{"name":"cc_reflectionProbeDataMap","defines":["CC_USE_REFLECTION_PROBE"]},{"name":"cc_reflectionProbeBlendCubemap","defines":["CC_USE_REFLECTION_PROBE"]}],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":42,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":120}},"defines":[{"name":"USE_INSTANCING","type":"boolean"},{"name":"CC_USE_SKINNING","type":"boolean"},{"name":"CC_USE_BAKED_ANIMATION","type":"boolean"},{"name":"CC_USE_LIGHTMAP","type":"number","range":[0,3]},{"name":"CC_USE_REFLECTION_PROBE","type":"number","range":[0,3]},{"name":"CC_RECEIVE_SHADOW","type":"boolean"},{"name":"CC_USE_LIGHT_PROBE","type":"boolean","default":0},{"name":"CC_USE_MORPH","type":"boolean"},{"name":"CC_USE_DEBUG_VIEW","type":"number","range":[0,3]},{"name":"CC_SURFACES_ENABLE_DEBUG_VIEW","type":"boolean"},{"name":"CC_SUPPORT_CASCADED_SHADOW_MAP","type":"boolean"},{"name":"CC_SHADOWMAP_FORMAT","type":"number","range":[0,3]},{"name":"CC_SHADOWMAP_USE_LINEAR_DEPTH","type":"boolean"},{"name":"CC_DIR_SHADOW_PCF_TYPE","type":"number","range":[0,3]},{"name":"CC_CASCADED_LAYERS_TRANSITION","type":"boolean"},{"name":"CC_USE_IBL","type":"number","range":[0,2]},{"name":"CC_USE_DIFFUSEMAP","type":"number","range":[0,2]},{"name":"CC_USE_HDR","type":"boolean"},{"name":"USE_REFLECTION_DENOISE","type":"boolean"},{"name":"CC_SHADOW_TYPE","type":"number","range":[0,3]},{"name":"CC_DIR_LIGHT_SHADOW_TYPE","type":"number","range":[0,3]},{"name":"CC_FORWARD_ADD","type":"boolean"},{"name":"CC_DISABLE_DIRECTIONAL_LIGHT","type":"boolean"},{"name":"CC_IBL_CONVOLUTED","type":"boolean"},{"name":"CC_PIPELINE_TYPE","type":"number","range":[0,1]},{"name":"CC_FORCE_FORWARD_SHADING","type":"boolean"},{"name":"CC_ENABLE_CLUSTERED_LIGHT_CULLING","type":"number","range":[0,3]},{"name":"CC_USE_RGBE_OUTPUT","type":"boolean"},{"name":"CC_USE_FLOAT_OUTPUT","type":"boolean"},{"name":"CC_TONE_MAPPING_TYPE","type":"number","range":[0,3]},{"name":"HDR_TONE_MAPPING_ACES","type":"boolean"},{"name":"CC_USE_FOG","type":"number","range":[0,4]}]}],[{"passes":[{"pass":"deferred-lighting","program":"pipeline/deferred-lighting|lighting-vs|lighting-fs","rasterizerState":{"cullMode":0},"depthStencilState":{"depthTest":false,"depthWrite":false}}]}]]],0,0,[],[],[]],[[[3,"for2d/builtin-sprite",[{}],[{"hash":2249878161,"name":"for2d/builtin-sprite|sprite-vs:vert|sprite-fs:frag","blocks":[{"name":"ALPHA_TEST_DATA","stageFlags":16,"binding":0,"members":[{"name":"alphaThreshold","type":13,"count":1}],"defines":["USE_ALPHA_TEST"]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position","format":32,"location":0,"defines":[]},{"name":"a_texCoord","format":21,"location":1,"defines":[]},{"name":"a_color","format":44,"location":2,"defines":[]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["USE_LOCAL"]}],"samplerTextures":[{"name":"cc_spriteTexture","typename":"sampler2D","type":28,"count":1,"stageFlags":16,"tags":{"builtin":"local"},"defines":["USE_TEXTURE"]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[{"name":"ALPHA_TEST_DATA","stageFlags":16,"binding":0,"members":[{"name":"alphaThreshold","type":13,"count":1}],"defines":["USE_ALPHA_TEST"]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":1,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":1,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"vert":"\nprecision highp 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};\n#if USE_LOCAL\n layout(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 };\n#endif\n#if SAMPLE_FROM_RT\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\n#endif\nlayout(location = 0) in vec3 a_position;\nlayout(location = 1) in vec2 a_texCoord;\nlayout(location = 2) in vec4 a_color;\nlayout(location = 0) out vec4 color;\nlayout(location = 1) out vec2 uv0;\nvec4 vert () {\n vec4 pos = vec4(a_position, 1);\n #if USE_LOCAL\n pos = cc_matWorld * pos;\n #endif\n #if USE_PIXEL_ALIGNMENT\n pos = cc_matView * pos;\n pos.xyz = floor(pos.xyz);\n pos = cc_matProj * pos;\n #else\n pos = cc_matViewProj * pos;\n #endif\n uv0 = a_texCoord;\n #if SAMPLE_FROM_RT\n uv0 = cc_cameraPos.w > 1.0 ? vec2(uv0.x, 1.0 - uv0.y) : uv0;\n #endif\n color = a_color;\n return pos;\n}\nvoid main() { gl_Position = vert(); }","frag":"\nprecision highp float;\nvec4 CCSampleWithAlphaSeparated(sampler2D tex, vec2 uv) {\n#if CC_USE_EMBEDDED_ALPHA\n return vec4(texture(tex, uv).rgb, texture(tex, uv + vec2(0.0, 0.5)).r);\n#else\n return texture(tex, uv);\n#endif\n}\n#if USE_ALPHA_TEST\n layout(set = 1, binding = 0) uniform ALPHA_TEST_DATA {\n float alphaThreshold;\n };\n#endif\nvoid ALPHA_TEST (in vec4 color) {\n #if USE_ALPHA_TEST\n if (color.a < alphaThreshold) discard;\n #endif\n}\nvoid ALPHA_TEST (in float alpha) {\n #if USE_ALPHA_TEST\n if (alpha < alphaThreshold) discard;\n #endif\n}\nlayout(location = 0) in vec4 color;\n#if USE_TEXTURE\n layout(location = 1) in vec2 uv0;\n layout(set = 2, binding = 12) uniform sampler2D cc_spriteTexture;\n#endif\nvec4 frag () {\n vec4 o = vec4(1, 1, 1, 1);\n #if USE_TEXTURE\n o *= CCSampleWithAlphaSeparated(cc_spriteTexture, uv0);\n #if IS_GRAY\n float gray = 0.2126 * o.r + 0.7152 * o.g + 0.0722 * o.b;\n o.r = o.g = o.b = gray;\n #endif\n #endif\n o *= color;\n ALPHA_TEST(o);\n return o;\n}\nlayout(location = 0) out vec4 cc_FragColor;\nvoid main() { cc_FragColor = frag(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCLocal","defines":["USE_LOCAL"]}],"samplerTextures":[{"name":"cc_spriteTexture","defines":["USE_TEXTURE"]}],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":56,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":1}},"defines":[{"name":"USE_LOCAL","type":"boolean"},{"name":"SAMPLE_FROM_RT","type":"boolean"},{"name":"USE_PIXEL_ALIGNMENT","type":"boolean"},{"name":"CC_USE_EMBEDDED_ALPHA","type":"boolean"},{"name":"USE_ALPHA_TEST","type":"boolean"},{"name":"USE_TEXTURE","type":"boolean"},{"name":"IS_GRAY","type":"boolean"}]}],[{"passes":[{"program":"for2d/builtin-sprite|sprite-vs:vert|sprite-fs:frag","blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":4,"blendDstAlpha":4}]},"rasterizerState":{"cullMode":0},"depthStencilState":{"depthTest":false,"depthWrite":false},"properties":{"alphaThreshold":{"type":13,"value":[0.5]}}}]}]]],0,0,[],[],[]],[[[1,"particles/builtin-billboard",[{"hash":2281029704,"name":"particles/builtin-billboard|vert:vs_main|tinted-fs:add","blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]},{"name":"builtin","stageFlags":1,"binding":1,"members":[{"name":"cc_size_rotation","type":16,"count":1}],"defines":[]},{"name":"FragConstants","stageFlags":16,"binding":2,"members":[{"name":"tintColor","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":3,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position","format":32,"location":0,"defines":[]},{"name":"a_texCoord","format":21,"location":1,"defines":[]},{"name":"a_color","format":44,"location":2,"defines":[]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]},{"name":"builtin","stageFlags":1,"binding":1,"members":[{"name":"cc_size_rotation","type":16,"count":1}],"defines":[]},{"name":"FragConstants","stageFlags":16,"binding":2,"members":[{"name":"tintColor","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":3,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"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};\nvec4 quaternionFromAxis (vec3 xAxis,vec3 yAxis,vec3 zAxis){\n mat3 m = mat3(xAxis,yAxis,zAxis);\n float trace = m[0][0] + m[1][1] + m[2][2];\n vec4 quat;\n if (trace > 0.) {\n float s = 0.5 / sqrt(trace + 1.0);\n quat.w = 0.25 / s;\n quat.x = (m[2][1] - m[1][2]) * s;\n quat.y = (m[0][2] - m[2][0]) * s;\n quat.z = (m[1][0] - m[0][1]) * s;\n } else if ((m[0][0] > m[1][1]) && (m[0][0] > m[2][2])) {\n float s = 2.0 * sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]);\n quat.w = (m[2][1] - m[1][2]) / s;\n quat.x = 0.25 * s;\n quat.y = (m[0][1] + m[1][0]) / s;\n quat.z = (m[0][2] + m[2][0]) / s;\n } else if (m[1][1] > m[2][2]) {\n float s = 2.0 * sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]);\n quat.w = (m[0][2] - m[2][0]) / s;\n quat.x = (m[0][1] + m[1][0]) / s;\n quat.y = 0.25 * s;\n quat.z = (m[1][2] + m[2][1]) / s;\n } else {\n float s = 2.0 * sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]);\n quat.w = (m[1][0] - m[0][1]) / s;\n quat.x = (m[0][2] + m[2][0]) / s;\n quat.y = (m[1][2] + m[2][1]) / s;\n quat.z = 0.25 * s;\n }\n float len = quat.x * quat.x + quat.y * quat.y + quat.z * quat.z + quat.w * quat.w;\n if (len > 0.) {\n len = 1. / sqrt(len);\n quat.x = quat.x * len;\n quat.y = quat.y * len;\n quat.z = quat.z * len;\n quat.w = quat.w * len;\n }\n return quat;\n}\nvec4 quaternionFromEuler (vec3 angle){\n float x = angle.x / 2.;\n float y = angle.y / 2.;\n float z = angle.z / 2.;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat = vec4(0);\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\nvec4 quatMultiply (vec4 a, vec4 b){\n vec4 quat;\n quat.x = a.x * b.w + a.w * b.x + a.y * b.z - a.z * b.y;\n quat.y = a.y * b.w + a.w * b.y + a.z * b.x - a.x * b.z;\n quat.z = a.z * b.w + a.w * b.z + a.x * b.y - a.y * b.x;\n quat.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z;\n return quat;\n}\nvoid rotateVecFromQuat (inout vec3 v, vec4 q){\n float ix = q.w * v.x + q.y * v.z - q.z * v.y;\n float iy = q.w * v.y + q.z * v.x - q.x * v.z;\n float iz = q.w * v.z + q.x * v.y - q.y * v.x;\n float iw = -q.x * v.x - q.y * v.y - q.z * v.z;\n v.x = ix * q.w + iw * -q.x + iy * -q.z - iz * -q.y;\n v.y = iy * q.w + iw * -q.y + iz * -q.x - ix * -q.z;\n v.z = iz * q.w + iw * -q.z + ix * -q.y - iy * -q.x;\n}\nvec3 rotateInLocalSpace (vec3 pos, vec3 xAxis, vec3 yAxis, vec3 zAxis, vec4 q){\n vec4 viewQuat = quaternionFromAxis(xAxis, yAxis, zAxis);\n vec4 rotQuat = quatMultiply(viewQuat, q);\n rotateVecFromQuat(pos, rotQuat);\n return pos;\n}\nlayout(location = 0) out mediump vec2 uv;\nlayout(location = 1) out mediump vec4 color;\nvoid computeVertPos (inout vec4 pos, vec2 vertOffset, vec4 q, vec3 s\n , mat4 viewInv\n) {\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = normalize(vec3(viewInv[0][0], viewInv[1][0], viewInv[2][0]));\n vec3 camY = normalize(vec3(viewInv[0][1], viewInv[1][1], viewInv[2][1]));\n vec3 camZ = normalize(vec3(viewInv[0][2], viewInv[1][2], viewInv[2][2]));\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, camZ, q);\n}\nlayout(location = 0) in vec3 a_position;\nlayout(location = 1) in vec2 a_texCoord;\nlayout(location = 2) in vec4 a_color;\nlayout(set = 1, binding = 1) uniform builtin {\n vec4 cc_size_rotation;\n};\nvec4 vs_main() {\n vec4 pos = vec4(a_position, 1);\n pos = cc_matWorld * pos;\n vec2 vertOffset = a_texCoord.xy - 0.5;\n computeVertPos(pos, vertOffset, quaternionFromEuler(vec3(0., 0., cc_size_rotation.z)), vec3(cc_size_rotation.xy, 0.), cc_matViewInv);\n pos = cc_matViewProj * pos;\n uv = a_texCoord.xy;\n color = a_color;\n return pos;\n}\nvoid main() { gl_Position = vs_main(); }","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 = 3) uniform sampler2D mainTexture;\nlayout(set = 1, binding = 2) uniform FragConstants {\n vec4 tintColor;\n};\nvec4 add () {\n vec4 col = 2.0 * color * tintColor * texture(mainTexture, uv);\n return CCFragOutput(col);\n}\nlayout(location = 0) out vec4 cc_FragColor;\nvoid main() { cc_FragColor = add(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":61,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":43}},"defines":[]},{"hash":2715866145,"name":"particles/builtin-billboard|vert:vs_main|tinted-fs:multiply","blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]},{"name":"builtin","stageFlags":1,"binding":1,"members":[{"name":"cc_size_rotation","type":16,"count":1}],"defines":[]},{"name":"FragConstants","stageFlags":16,"binding":2,"members":[{"name":"tintColor","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":3,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position","format":32,"location":0,"defines":[]},{"name":"a_texCoord","format":21,"location":1,"defines":[]},{"name":"a_color","format":44,"location":2,"defines":[]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]},{"name":"builtin","stageFlags":1,"binding":1,"members":[{"name":"cc_size_rotation","type":16,"count":1}],"defines":[]},{"name":"FragConstants","stageFlags":16,"binding":2,"members":[{"name":"tintColor","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":3,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"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};\nvec4 quaternionFromAxis (vec3 xAxis,vec3 yAxis,vec3 zAxis){\n mat3 m = mat3(xAxis,yAxis,zAxis);\n float trace = m[0][0] + m[1][1] + m[2][2];\n vec4 quat;\n if (trace > 0.) {\n float s = 0.5 / sqrt(trace + 1.0);\n quat.w = 0.25 / s;\n quat.x = (m[2][1] - m[1][2]) * s;\n quat.y = (m[0][2] - m[2][0]) * s;\n quat.z = (m[1][0] - m[0][1]) * s;\n } else if ((m[0][0] > m[1][1]) && (m[0][0] > m[2][2])) {\n float s = 2.0 * sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]);\n quat.w = (m[2][1] - m[1][2]) / s;\n quat.x = 0.25 * s;\n quat.y = (m[0][1] + m[1][0]) / s;\n quat.z = (m[0][2] + m[2][0]) / s;\n } else if (m[1][1] > m[2][2]) {\n float s = 2.0 * sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]);\n quat.w = (m[0][2] - m[2][0]) / s;\n quat.x = (m[0][1] + m[1][0]) / s;\n quat.y = 0.25 * s;\n quat.z = (m[1][2] + m[2][1]) / s;\n } else {\n float s = 2.0 * sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]);\n quat.w = (m[1][0] - m[0][1]) / s;\n quat.x = (m[0][2] + m[2][0]) / s;\n quat.y = (m[1][2] + m[2][1]) / s;\n quat.z = 0.25 * s;\n }\n float len = quat.x * quat.x + quat.y * quat.y + quat.z * quat.z + quat.w * quat.w;\n if (len > 0.) {\n len = 1. / sqrt(len);\n quat.x = quat.x * len;\n quat.y = quat.y * len;\n quat.z = quat.z * len;\n quat.w = quat.w * len;\n }\n return quat;\n}\nvec4 quaternionFromEuler (vec3 angle){\n float x = angle.x / 2.;\n float y = angle.y / 2.;\n float z = angle.z / 2.;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat = vec4(0);\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\nvec4 quatMultiply (vec4 a, vec4 b){\n vec4 quat;\n quat.x = a.x * b.w + a.w * b.x + a.y * b.z - a.z * b.y;\n quat.y = a.y * b.w + a.w * b.y + a.z * b.x - a.x * b.z;\n quat.z = a.z * b.w + a.w * b.z + a.x * b.y - a.y * b.x;\n quat.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z;\n return quat;\n}\nvoid rotateVecFromQuat (inout vec3 v, vec4 q){\n float ix = q.w * v.x + q.y * v.z - q.z * v.y;\n float iy = q.w * v.y + q.z * v.x - q.x * v.z;\n float iz = q.w * v.z + q.x * v.y - q.y * v.x;\n float iw = -q.x * v.x - q.y * v.y - q.z * v.z;\n v.x = ix * q.w + iw * -q.x + iy * -q.z - iz * -q.y;\n v.y = iy * q.w + iw * -q.y + iz * -q.x - ix * -q.z;\n v.z = iz * q.w + iw * -q.z + ix * -q.y - iy * -q.x;\n}\nvec3 rotateInLocalSpace (vec3 pos, vec3 xAxis, vec3 yAxis, vec3 zAxis, vec4 q){\n vec4 viewQuat = quaternionFromAxis(xAxis, yAxis, zAxis);\n vec4 rotQuat = quatMultiply(viewQuat, q);\n rotateVecFromQuat(pos, rotQuat);\n return pos;\n}\nlayout(location = 0) out mediump vec2 uv;\nlayout(location = 1) out mediump vec4 color;\nvoid computeVertPos (inout vec4 pos, vec2 vertOffset, vec4 q, vec3 s\n , mat4 viewInv\n) {\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = normalize(vec3(viewInv[0][0], viewInv[1][0], viewInv[2][0]));\n vec3 camY = normalize(vec3(viewInv[0][1], viewInv[1][1], viewInv[2][1]));\n vec3 camZ = normalize(vec3(viewInv[0][2], viewInv[1][2], viewInv[2][2]));\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, camZ, q);\n}\nlayout(location = 0) in vec3 a_position;\nlayout(location = 1) in vec2 a_texCoord;\nlayout(location = 2) in vec4 a_color;\nlayout(set = 1, binding = 1) uniform builtin {\n vec4 cc_size_rotation;\n};\nvec4 vs_main() {\n vec4 pos = vec4(a_position, 1);\n pos = cc_matWorld * pos;\n vec2 vertOffset = a_texCoord.xy - 0.5;\n computeVertPos(pos, vertOffset, quaternionFromEuler(vec3(0., 0., cc_size_rotation.z)), vec3(cc_size_rotation.xy, 0.), cc_matViewInv);\n pos = cc_matViewProj * pos;\n uv = a_texCoord.xy;\n color = a_color;\n return pos;\n}\nvoid main() { gl_Position = vs_main(); }","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 = 3) uniform sampler2D mainTexture;\nlayout(set = 1, binding = 2) uniform FragConstants {\n vec4 tintColor;\n};\nvec4 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 return CCFragOutput(col);\n}\nlayout(location = 0) out vec4 cc_FragColor;\nvoid main() { cc_FragColor = multiply(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":61,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":43}},"defines":[]},{"hash":3617975406,"name":"particles/builtin-billboard|vert:vs_main|no-tint-fs:addSmooth","blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]},{"name":"builtin","stageFlags":1,"binding":1,"members":[{"name":"cc_size_rotation","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":2,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position","format":32,"location":0,"defines":[]},{"name":"a_texCoord","format":21,"location":1,"defines":[]},{"name":"a_color","format":44,"location":2,"defines":[]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]},{"name":"builtin","stageFlags":1,"binding":1,"members":[{"name":"cc_size_rotation","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":2,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"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};\nvec4 quaternionFromAxis (vec3 xAxis,vec3 yAxis,vec3 zAxis){\n mat3 m = mat3(xAxis,yAxis,zAxis);\n float trace = m[0][0] + m[1][1] + m[2][2];\n vec4 quat;\n if (trace > 0.) {\n float s = 0.5 / sqrt(trace + 1.0);\n quat.w = 0.25 / s;\n quat.x = (m[2][1] - m[1][2]) * s;\n quat.y = (m[0][2] - m[2][0]) * s;\n quat.z = (m[1][0] - m[0][1]) * s;\n } else if ((m[0][0] > m[1][1]) && (m[0][0] > m[2][2])) {\n float s = 2.0 * sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]);\n quat.w = (m[2][1] - m[1][2]) / s;\n quat.x = 0.25 * s;\n quat.y = (m[0][1] + m[1][0]) / s;\n quat.z = (m[0][2] + m[2][0]) / s;\n } else if (m[1][1] > m[2][2]) {\n float s = 2.0 * sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]);\n quat.w = (m[0][2] - m[2][0]) / s;\n quat.x = (m[0][1] + m[1][0]) / s;\n quat.y = 0.25 * s;\n quat.z = (m[1][2] + m[2][1]) / s;\n } else {\n float s = 2.0 * sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]);\n quat.w = (m[1][0] - m[0][1]) / s;\n quat.x = (m[0][2] + m[2][0]) / s;\n quat.y = (m[1][2] + m[2][1]) / s;\n quat.z = 0.25 * s;\n }\n float len = quat.x * quat.x + quat.y * quat.y + quat.z * quat.z + quat.w * quat.w;\n if (len > 0.) {\n len = 1. / sqrt(len);\n quat.x = quat.x * len;\n quat.y = quat.y * len;\n quat.z = quat.z * len;\n quat.w = quat.w * len;\n }\n return quat;\n}\nvec4 quaternionFromEuler (vec3 angle){\n float x = angle.x / 2.;\n float y = angle.y / 2.;\n float z = angle.z / 2.;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat = vec4(0);\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\nvec4 quatMultiply (vec4 a, vec4 b){\n vec4 quat;\n quat.x = a.x * b.w + a.w * b.x + a.y * b.z - a.z * b.y;\n quat.y = a.y * b.w + a.w * b.y + a.z * b.x - a.x * b.z;\n quat.z = a.z * b.w + a.w * b.z + a.x * b.y - a.y * b.x;\n quat.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z;\n return quat;\n}\nvoid rotateVecFromQuat (inout vec3 v, vec4 q){\n float ix = q.w * v.x + q.y * v.z - q.z * v.y;\n float iy = q.w * v.y + q.z * v.x - q.x * v.z;\n float iz = q.w * v.z + q.x * v.y - q.y * v.x;\n float iw = -q.x * v.x - q.y * v.y - q.z * v.z;\n v.x = ix * q.w + iw * -q.x + iy * -q.z - iz * -q.y;\n v.y = iy * q.w + iw * -q.y + iz * -q.x - ix * -q.z;\n v.z = iz * q.w + iw * -q.z + ix * -q.y - iy * -q.x;\n}\nvec3 rotateInLocalSpace (vec3 pos, vec3 xAxis, vec3 yAxis, vec3 zAxis, vec4 q){\n vec4 viewQuat = quaternionFromAxis(xAxis, yAxis, zAxis);\n vec4 rotQuat = quatMultiply(viewQuat, q);\n rotateVecFromQuat(pos, rotQuat);\n return pos;\n}\nlayout(location = 0) out mediump vec2 uv;\nlayout(location = 1) out mediump vec4 color;\nvoid computeVertPos (inout vec4 pos, vec2 vertOffset, vec4 q, vec3 s\n , mat4 viewInv\n) {\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = normalize(vec3(viewInv[0][0], viewInv[1][0], viewInv[2][0]));\n vec3 camY = normalize(vec3(viewInv[0][1], viewInv[1][1], viewInv[2][1]));\n vec3 camZ = normalize(vec3(viewInv[0][2], viewInv[1][2], viewInv[2][2]));\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, camZ, q);\n}\nlayout(location = 0) in vec3 a_position;\nlayout(location = 1) in vec2 a_texCoord;\nlayout(location = 2) in vec4 a_color;\nlayout(set = 1, binding = 1) uniform builtin {\n vec4 cc_size_rotation;\n};\nvec4 vs_main() {\n vec4 pos = vec4(a_position, 1);\n pos = cc_matWorld * pos;\n vec2 vertOffset = a_texCoord.xy - 0.5;\n computeVertPos(pos, vertOffset, quaternionFromEuler(vec3(0., 0., cc_size_rotation.z)), vec3(cc_size_rotation.xy, 0.), cc_matViewInv);\n pos = cc_matViewProj * pos;\n uv = a_texCoord.xy;\n color = a_color;\n return pos;\n}\nvoid main() { gl_Position = vs_main(); }","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 = 2) 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(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":61,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":42}},"defines":[]},{"hash":3619147658,"name":"particles/builtin-billboard|vert:vs_main|no-tint-fs:premultiplied","blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]},{"name":"builtin","stageFlags":1,"binding":1,"members":[{"name":"cc_size_rotation","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":2,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position","format":32,"location":0,"defines":[]},{"name":"a_texCoord","format":21,"location":1,"defines":[]},{"name":"a_color","format":44,"location":2,"defines":[]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]},{"name":"builtin","stageFlags":1,"binding":1,"members":[{"name":"cc_size_rotation","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":2,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"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};\nvec4 quaternionFromAxis (vec3 xAxis,vec3 yAxis,vec3 zAxis){\n mat3 m = mat3(xAxis,yAxis,zAxis);\n float trace = m[0][0] + m[1][1] + m[2][2];\n vec4 quat;\n if (trace > 0.) {\n float s = 0.5 / sqrt(trace + 1.0);\n quat.w = 0.25 / s;\n quat.x = (m[2][1] - m[1][2]) * s;\n quat.y = (m[0][2] - m[2][0]) * s;\n quat.z = (m[1][0] - m[0][1]) * s;\n } else if ((m[0][0] > m[1][1]) && (m[0][0] > m[2][2])) {\n float s = 2.0 * sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]);\n quat.w = (m[2][1] - m[1][2]) / s;\n quat.x = 0.25 * s;\n quat.y = (m[0][1] + m[1][0]) / s;\n quat.z = (m[0][2] + m[2][0]) / s;\n } else if (m[1][1] > m[2][2]) {\n float s = 2.0 * sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]);\n quat.w = (m[0][2] - m[2][0]) / s;\n quat.x = (m[0][1] + m[1][0]) / s;\n quat.y = 0.25 * s;\n quat.z = (m[1][2] + m[2][1]) / s;\n } else {\n float s = 2.0 * sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]);\n quat.w = (m[1][0] - m[0][1]) / s;\n quat.x = (m[0][2] + m[2][0]) / s;\n quat.y = (m[1][2] + m[2][1]) / s;\n quat.z = 0.25 * s;\n }\n float len = quat.x * quat.x + quat.y * quat.y + quat.z * quat.z + quat.w * quat.w;\n if (len > 0.) {\n len = 1. / sqrt(len);\n quat.x = quat.x * len;\n quat.y = quat.y * len;\n quat.z = quat.z * len;\n quat.w = quat.w * len;\n }\n return quat;\n}\nvec4 quaternionFromEuler (vec3 angle){\n float x = angle.x / 2.;\n float y = angle.y / 2.;\n float z = angle.z / 2.;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat = vec4(0);\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\nvec4 quatMultiply (vec4 a, vec4 b){\n vec4 quat;\n quat.x = a.x * b.w + a.w * b.x + a.y * b.z - a.z * b.y;\n quat.y = a.y * b.w + a.w * b.y + a.z * b.x - a.x * b.z;\n quat.z = a.z * b.w + a.w * b.z + a.x * b.y - a.y * b.x;\n quat.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z;\n return quat;\n}\nvoid rotateVecFromQuat (inout vec3 v, vec4 q){\n float ix = q.w * v.x + q.y * v.z - q.z * v.y;\n float iy = q.w * v.y + q.z * v.x - q.x * v.z;\n float iz = q.w * v.z + q.x * v.y - q.y * v.x;\n float iw = -q.x * v.x - q.y * v.y - q.z * v.z;\n v.x = ix * q.w + iw * -q.x + iy * -q.z - iz * -q.y;\n v.y = iy * q.w + iw * -q.y + iz * -q.x - ix * -q.z;\n v.z = iz * q.w + iw * -q.z + ix * -q.y - iy * -q.x;\n}\nvec3 rotateInLocalSpace (vec3 pos, vec3 xAxis, vec3 yAxis, vec3 zAxis, vec4 q){\n vec4 viewQuat = quaternionFromAxis(xAxis, yAxis, zAxis);\n vec4 rotQuat = quatMultiply(viewQuat, q);\n rotateVecFromQuat(pos, rotQuat);\n return pos;\n}\nlayout(location = 0) out mediump vec2 uv;\nlayout(location = 1) out mediump vec4 color;\nvoid computeVertPos (inout vec4 pos, vec2 vertOffset, vec4 q, vec3 s\n , mat4 viewInv\n) {\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = normalize(vec3(viewInv[0][0], viewInv[1][0], viewInv[2][0]));\n vec3 camY = normalize(vec3(viewInv[0][1], viewInv[1][1], viewInv[2][1]));\n vec3 camZ = normalize(vec3(viewInv[0][2], viewInv[1][2], viewInv[2][2]));\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, camZ, q);\n}\nlayout(location = 0) in vec3 a_position;\nlayout(location = 1) in vec2 a_texCoord;\nlayout(location = 2) in vec4 a_color;\nlayout(set = 1, binding = 1) uniform builtin {\n vec4 cc_size_rotation;\n};\nvec4 vs_main() {\n vec4 pos = vec4(a_position, 1);\n pos = cc_matWorld * pos;\n vec2 vertOffset = a_texCoord.xy - 0.5;\n computeVertPos(pos, vertOffset, quaternionFromEuler(vec3(0., 0., cc_size_rotation.z)), vec3(cc_size_rotation.xy, 0.), cc_matViewInv);\n pos = cc_matViewProj * pos;\n uv = a_texCoord.xy;\n color = a_color;\n return pos;\n}\nvoid main() { gl_Position = vs_main(); }","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 = 2) 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(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":61,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":42}},"defines":[]}],[{"name":"add","passes":[{"program":"particles/builtin-billboard|vert:vs_main|tinted-fs:add","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":1,"blendSrcAlpha":2,"blendDstAlpha":1}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":28},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]},"tintColor":{"type":16,"value":[0.5,0.5,0.5,0.5]}}},{"phase":"deferred-forward","propertyIndex":0,"program":"particles/builtin-billboard|vert:vs_main|tinted-fs:add","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":1,"blendSrcAlpha":2,"blendDstAlpha":1}]},"depthStencilState":{"depthTest":true,"depthWrite":false}}]},{"name":"alpha-blend","passes":[{"program":"particles/builtin-billboard|vert:vs_main|tinted-fs:add","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":1,"blendDst":4,"blendSrcAlpha":1,"blendDstAlpha":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":28},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]},"tintColor":{"type":16,"value":[0.5,0.5,0.5,0.5]}}},{"phase":"deferred-forward","propertyIndex":0,"program":"particles/builtin-billboard|vert:vs_main|tinted-fs:add","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":1,"blendSrcAlpha":2,"blendDstAlpha":1}]},"depthStencilState":{"depthTest":true,"depthWrite":false}}]},{"name":"add-multiply","passes":[{"program":"particles/builtin-billboard|vert:vs_main|tinted-fs:multiply","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":1,"blendDst":4,"blendSrcAlpha":1,"blendDstAlpha":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":28},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]},"tintColor":{"type":16,"value":[0.5,0.5,0.5,0.5]}}},{"phase":"deferred-forward","propertyIndex":0,"program":"particles/builtin-billboard|vert:vs_main|tinted-fs:multiply","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":1,"blendDst":4,"blendSrcAlpha":1,"blendDstAlpha":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false}}]},{"name":"add-smooth","passes":[{"program":"particles/builtin-billboard|vert:vs_main|no-tint-fs:addSmooth","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":1,"blendDst":4,"blendSrcAlpha":1,"blendDstAlpha":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":28},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]}}},{"phase":"deferred-forward","propertyIndex":0,"program":"particles/builtin-billboard|vert:vs_main|no-tint-fs:addSmooth","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":1,"blendDst":4,"blendSrcAlpha":1,"blendDstAlpha":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false}}]},{"name":"premultiply-blend","passes":[{"program":"particles/builtin-billboard|vert:vs_main|no-tint-fs:premultiplied","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":1,"blendDst":4,"blendSrcAlpha":1,"blendDstAlpha":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":28},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]}}},{"phase":"deferred-forward","propertyIndex":0,"program":"particles/builtin-billboard|vert:vs_main|no-tint-fs:premultiplied","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":1,"blendDst":4,"blendSrcAlpha":1,"blendDstAlpha":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false}}]}]]],0,0,[],[],[]],[[[0,"default-billboard-material",[{}],[{"rasterizerState":{},"depthStencilState":{},"blendState":{"targets":[{}]}}],[{}]]],0,0,[0],[0],[4]],[[[3,"internal/builtin-clear-stencil",[{}],[{"hash":3507038093,"name":"internal/builtin-clear-stencil|sprite-vs:vert|sprite-fs:frag","blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position","format":32,"location":0,"defines":[]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"vert":"\nprecision highp float;\nlayout(location = 0) in vec3 a_position;\nvec4 vert () {\n vec4 pos = vec4(a_position, 1);\n return pos;\n}\nvoid main() { gl_Position = vert(); }","frag":"\nprecision highp float;\nvec4 frag () {\n vec4 o = vec4(1.0);\n return o;\n}\nlayout(location = 0) out vec4 cc_FragColor;\nvoid main() { cc_FragColor = frag(); }"},"builtins":{"globals":{"blocks":[],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[],"samplerTextures":[],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":0,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":0}},"defines":[]}],[{"passes":[{"program":"internal/builtin-clear-stencil|sprite-vs:vert|sprite-fs:frag","blendState":{"targets":[{"blend":true}]},"rasterizerState":{"cullMode":0},"depthStencilState":{"depthTest":false,"depthWrite":false}}]}]]],0,0,[],[],[]],[[[1,"util/profiler",[{"hash":394204838,"name":"util/profiler|profiler-vs:vert|profiler-fs:frag","blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"offset","type":16,"count":1}],"defines":[]},{"name":"PerFrameInfo","stageFlags":1,"binding":1,"members":[{"name":"digits","type":16,"count":22}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":2,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position","format":32,"location":0,"defines":[]},{"name":"a_color","format":44,"location":1,"defines":[]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"offset","type":16,"count":1}],"defines":[]},{"name":"PerFrameInfo","stageFlags":1,"binding":1,"members":[{"name":"digits","type":16,"count":22}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":2,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"vert":"\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};\nlayout(location = 0) in vec3 a_position;\nlayout(location = 1) in vec4 a_color;\nlayout(location = 0) out vec2 v_uv;\nlayout(set = 1, binding = 0) uniform Constants {\n vec4 offset;\n};\nlayout(set = 1, binding = 1) uniform PerFrameInfo {\n vec4 digits[8 * 11 / 4];\n};\nfloat getComponent(vec4 v, float i) {\n if (i < 1.0) { return v.x; }\n else if (i < 2.0) { return v.y; }\n else if (i < 3.0) { return v.z; }\n else { return v.w; }\n}\nvec4 vert () {\n mat2 proj = mat2(cc_matProj[0].xy, cc_matProj[1].xy);\n proj /= abs(proj[1].x + proj[1].y);\n vec2 position = proj * a_position.xy + offset.xy;\n v_uv = a_color.xy;\n if (a_color.z >= 0.0) {\n float n = getComponent(digits[int(a_color.z)], a_color.w);\n v_uv += vec2(offset.z * n, 0.0);\n }\n return vec4(position, 0.0, 1.0);\n}\nvoid main() { gl_Position = vert(); }","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 v_uv;\nlayout(set = 1, binding = 2) uniform sampler2D mainTexture;\nvec4 frag () {\n return CCFragOutput(texture(mainTexture, v_uv));\n}\nlayout(location = 0) out vec4 cc_FragColor;\nvoid main() { cc_FragColor = frag(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[],"samplerTextures":[],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":65,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":42}},"defines":[]}],[{"passes":[{"program":"util/profiler|profiler-vs:vert|profiler-fs:frag","priority":255,"blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":4,"blendDstAlpha":4}]},"rasterizerState":{"cullMode":0},"depthStencilState":{"depthTest":false,"depthWrite":false}}]}]]],0,0,[],[],[]],[[[0,"default-clear-stencil",[{}],[{"rasterizerState":{},"depthStencilState":{},"blendState":{"targets":[{}]}}],[{"USE_TEXTURE":false}]]],0,0,[0],[0],[5]],[[[1,"pipeline/planar-shadow",[{"hash":3680218420,"name":"pipeline/planar-shadow|planar-shadow-vs:vert|planar-shadow-fs:frag","blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position","format":32,"location":0,"defines":[]},{"name":"a_normal","format":32,"location":1,"defines":[]},{"name":"a_texCoord","format":21,"location":2,"defines":[]},{"name":"a_tangent","format":44,"location":3,"defines":[]},{"name":"a_joints","location":4,"defines":["CC_USE_SKINNING"]},{"name":"a_weights","format":44,"location":5,"defines":["CC_USE_SKINNING"]},{"name":"a_jointAnimInfo","format":44,"isInstanced":true,"location":6,"defines":["USE_INSTANCING","CC_USE_BAKED_ANIMATION"]},{"name":"a_matWorld0","format":44,"isInstanced":true,"location":7,"defines":["USE_INSTANCING"]},{"name":"a_matWorld1","format":44,"isInstanced":true,"location":8,"defines":["USE_INSTANCING"]},{"name":"a_matWorld2","format":44,"isInstanced":true,"location":9,"defines":["USE_INSTANCING"]},{"name":"a_lightingMapUVParam","format":44,"isInstanced":true,"location":10,"defines":["USE_INSTANCING","CC_USE_LIGHTMAP"]},{"name":"a_localShadowBiasAndProbeId","format":44,"isInstanced":true,"location":11,"defines":["USE_INSTANCING"]},{"name":"a_reflectionProbeData","format":44,"isInstanced":true,"location":12,"defines":["USE_INSTANCING","CC_USE_REFLECTION_PROBE"]},{"name":"a_sh_linear_const_r","format":44,"isInstanced":true,"location":13,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_sh_linear_const_g","format":44,"isInstanced":true,"location":14,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_sh_linear_const_b","format":44,"isInstanced":true,"location":15,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_vertexId","format":11,"location":16,"defines":["CC_USE_MORPH"]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCMorph","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_displacementWeights","typename":"vec4","type":16,"count":15,"isArray":true},{"name":"cc_displacementTextureInfo","typename":"vec4","type":16,"count":1}],"defines":["CC_USE_MORPH"]},{"name":"CCSkinningTexture","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_jointTextureInfo","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinningAnimation","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_jointAnimInfo","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinning","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_joints","typename":"vec4","type":16,"count":0,"precision":"highp ","isArray":true}],"defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","!CC_USE_REAL_TIME_JOINT_TEXTURE"]},{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["!USE_INSTANCING"]}],"samplerTextures":[{"name":"cc_PositionDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_POSITION"]},{"name":"cc_NormalDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_NORMAL"]},{"name":"cc_TangentDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_TANGENT"]},{"name":"cc_jointTexture","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"cc_realtimeJoint","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","CC_USE_REAL_TIME_JOINT_TEXTURE"]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCShadow","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matLightView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matLightViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_shadowInvProjDepthInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowProjDepthInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowProjInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowNFLSInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowWHPBInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowLPNNInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowColor","typename":"vec4","type":16,"count":1,"precision":"lowp "},{"name":"cc_planarNDInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"vert":"#extension GL_EXT_shader_explicit_arithmetic_types_int32: require\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)\nfloat saturate(float value) { return clamp(value, 0.0, 1.0); }\nvec2 saturate(vec2 value) { return clamp(value, vec2(0.0), vec2(1.0)); }\nvec3 saturate(vec3 value) { return clamp(value, vec3(0.0), vec3(1.0)); }\nvec4 saturate(vec4 value) { return clamp(value, vec4(0.0), vec4(1.0)); }\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 int getVertexId() {\n return gl_VertexIndex;\n }\n#endif\nhighp float decode32 (highp vec4 rgba) {\n rgba = rgba * 255.0;\n highp float Sign = 1.0 - (step(128.0, (rgba[3]) + 0.5)) * 2.0;\n highp float Exponent = 2.0 * (mod(float(int((rgba[3]) + 0.5)), 128.0)) + (step(128.0, (rgba[2]) + 0.5)) - 127.0;\n highp float Mantissa = (mod(float(int((rgba[2]) + 0.5)), 128.0)) * 65536.0 + rgba[1] * 256.0 + rgba[0] + 8388608.0;\n return Sign * exp2(Exponent - 23.0) * Mantissa;\n}\n#if CC_USE_MORPH\n layout(set = 2, binding = 4) uniform CCMorph {\n vec4 cc_displacementWeights[15];\n vec4 cc_displacementTextureInfo;\n };\n #if CC_MORPH_TARGET_HAS_POSITION\n layout(set = 2, binding = 8) uniform sampler2D cc_PositionDisplacements;\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n layout(set = 2, binding = 9) uniform sampler2D cc_NormalDisplacements;\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n layout(set = 2, binding = 10) uniform sampler2D cc_TangentDisplacements;\n #endif\n vec2 getPixelLocation(vec2 textureResolution, int pixelIndex) {\n float pixelIndexF = float(pixelIndex);\n float x = mod(pixelIndexF, textureResolution.x);\n float y = floor(pixelIndexF / textureResolution.x);\n return vec2(x, y);\n }\n vec2 getPixelCoordFromLocation(vec2 location, vec2 textureResolution) {\n return (vec2(location.x, location.y) + .5) / textureResolution;\n }\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n vec4 fetchVec3ArrayFromTexture(sampler2D tex, int pixelIndex) {\n ivec2 texSize = textureSize(tex, 0);\n return texelFetch(tex, ivec2(pixelIndex % texSize.x, pixelIndex / texSize.x), 0);\n }\n #else\n vec4 fetchVec3ArrayFromTexture(sampler2D tex, int elementIndex) {\n int pixelIndex = elementIndex * 4;\n vec2 location = getPixelLocation(cc_displacementTextureInfo.xy, pixelIndex);\n vec2 x = getPixelCoordFromLocation(location + vec2(0.0, 0.0), cc_displacementTextureInfo.xy);\n vec2 y = getPixelCoordFromLocation(location + vec2(1.0, 0.0), cc_displacementTextureInfo.xy);\n vec2 z = getPixelCoordFromLocation(location + vec2(2.0, 0.0), cc_displacementTextureInfo.xy);\n return vec4(\n decode32(texture(tex, x)),\n decode32(texture(tex, y)),\n decode32(texture(tex, z)),\n 1.0\n );\n }\n #endif\n float getDisplacementWeight(int index) {\n int quot = index / 4;\n int remainder = index - quot * 4;\n if (remainder == 0) {\n return cc_displacementWeights[quot].x;\n } else if (remainder == 1) {\n return cc_displacementWeights[quot].y;\n } else if (remainder == 2) {\n return cc_displacementWeights[quot].z;\n } else {\n return cc_displacementWeights[quot].w;\n }\n }\n vec3 getVec3DisplacementFromTexture(sampler2D tex, int vertexIndex) {\n #if CC_MORPH_PRECOMPUTED\n return fetchVec3ArrayFromTexture(tex, vertexIndex).rgb;\n #else\n vec3 result = vec3(0, 0, 0);\n int nVertices = int(cc_displacementTextureInfo.z);\n for (int iTarget = 0; iTarget < CC_MORPH_TARGET_COUNT; ++iTarget) {\n result += (fetchVec3ArrayFromTexture(tex, nVertices * iTarget + vertexIndex).rgb * getDisplacementWeight(iTarget));\n }\n return result;\n #endif\n }\n #if CC_MORPH_TARGET_HAS_POSITION\n vec3 getPositionDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_PositionDisplacements, vertexId);\n }\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n vec3 getNormalDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_NormalDisplacements, vertexId);\n }\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n vec3 getTangentDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_TangentDisplacements, vertexId);\n }\n #endif\n void applyMorph (inout vec4 position, inout vec3 normal, inout vec4 tangent) {\n int vertexId = getVertexId();\n #if CC_MORPH_TARGET_HAS_POSITION\n position.xyz = position.xyz + getPositionDisplacement(vertexId);\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n normal.xyz = normal.xyz + getNormalDisplacement(vertexId);\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n tangent.xyz = tangent.xyz + getTangentDisplacement(vertexId);\n #endif\n }\n void applyMorph (inout vec4 position) {\n #if CC_MORPH_TARGET_HAS_POSITION\n position.xyz = position.xyz + getPositionDisplacement(getVertexId());\n #endif\n }\n#endif\n#if CC_USE_SKINNING\n #if CC_USE_BAKED_ANIMATION\n layout(set = 2, binding = 3) uniform CCSkinningTexture {\n highp vec4 cc_jointTextureInfo;\n };\n layout(set = 2, binding = 2) uniform CCSkinningAnimation {\n highp vec4 cc_jointAnimInfo;\n };\n layout(set = 2, binding = 7) uniform highp sampler2D cc_jointTexture;\n void CCGetJointTextureCoords(float pixelsPerJoint, float jointIdx, out highp float x, out highp float y, out highp float invSize)\n {\n #if USE_INSTANCING\n highp float temp = pixelsPerJoint * (a_jointAnimInfo.x * a_jointAnimInfo.y + jointIdx) + a_jointAnimInfo.z;\n #else\n highp float temp = pixelsPerJoint * (cc_jointAnimInfo.x * cc_jointTextureInfo.y + jointIdx) + cc_jointTextureInfo.z;\n #endif\n invSize = cc_jointTextureInfo.w;\n highp float tempY = floor(temp * invSize);\n x = floor(temp - tempY * cc_jointTextureInfo.x);\n y = (tempY + 0.5) * invSize;\n }\n #else\n #if CC_USE_REAL_TIME_JOINT_TEXTURE\n layout(set = 2, binding = 7) uniform highp sampler2D cc_realtimeJoint;\n #else\n layout(set = 2, binding = 3) uniform CCSkinning {\n highp vec4 cc_joints[CC_JOINT_UNIFORM_CAPACITY * 3];\n };\n #endif\n #endif\n #if CC_USE_BAKED_ANIMATION\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n mat4 getJointMatrix (float i) {\n highp float x, y, invSize;\n CCGetJointTextureCoords(3.0, i, x, y, invSize);\n vec4 v1 = texture(cc_jointTexture, vec2((x + 0.5) * invSize, y));\n vec4 v2 = texture(cc_jointTexture, vec2((x + 1.5) * invSize, y));\n vec4 v3 = texture(cc_jointTexture, vec2((x + 2.5) * invSize, y));\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #else\n mat4 getJointMatrix (float i) {\n highp float x, y, invSize;\n CCGetJointTextureCoords(12.0, i, x, y, invSize);\n vec4 v1 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 0.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 1.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 2.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 3.5) * invSize, y)))\n );\n vec4 v2 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 4.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 5.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 6.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 7.5) * invSize, y)))\n );\n vec4 v3 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 8.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 9.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 10.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 11.5) * invSize, y)))\n );\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #else\n #if CC_USE_REAL_TIME_JOINT_TEXTURE\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n mat4 getJointMatrix (float i) {\n float x = i;\n vec4 v1 = texture(cc_realtimeJoint, vec2( x / 256.0, 0.5 / 3.0));\n vec4 v2 = texture(cc_realtimeJoint, vec2( x / 256.0, 1.5 / 3.0));\n vec4 v3 = texture(cc_realtimeJoint, vec2( x / 256.0, 2.5 / 3.0));\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #else\n mat4 getJointMatrix (float i) {\n float x = 4.0 * i;\n vec4 v1 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 0.5 / 3.0)))\n );\n vec4 v2 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 1.5 / 3.0)))\n );\n vec4 v3 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 2.5 / 3.0)))\n );\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #else\n mat4 getJointMatrix (float i) {\n int idx = int(i);\n vec4 v1 = cc_joints[idx * 3];\n vec4 v2 = cc_joints[idx * 3 + 1];\n vec4 v3 = cc_joints[idx * 3 + 2];\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #endif\n mat4 skinMatrix () {\n vec4 joints = vec4(a_joints);\n return getJointMatrix(joints.x) * a_weights.x\n + getJointMatrix(joints.y) * a_weights.y\n + getJointMatrix(joints.z) * a_weights.z\n + getJointMatrix(joints.w) * a_weights.w;\n }\n void CCSkin (inout vec4 position) {\n mat4 m = skinMatrix();\n position = m * position;\n }\n void CCSkin (inout vec4 position, inout vec3 normal, inout vec4 tangent) {\n mat4 m = skinMatrix();\n position = m * position;\n normal = (m * vec4(normal, 0.0)).xyz;\n tangent.xyz = (m * vec4(tangent.xyz, 0.0)).xyz;\n }\n#endif\nvoid CCVertInput(inout vec4 In)\n{\n In = vec4(a_position, 1.0);\n #if CC_USE_MORPH\n applyMorph(In);\n #endif\n #if CC_USE_SKINNING\n CCSkin(In);\n #endif\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};\n#if !USE_INSTANCING\n layout(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 };\n#endif\nvoid CCGetWorldMatrixFull(out mat4 matWorld, out mat4 matWorldIT)\n{\n #if USE_INSTANCING\n matWorld = mat4(\n vec4(a_matWorld0.xyz, 0.0),\n vec4(a_matWorld1.xyz, 0.0),\n vec4(a_matWorld2.xyz, 0.0),\n vec4(a_matWorld0.w, a_matWorld1.w, a_matWorld2.w, 1.0)\n );\n vec3 scale = 1.0 / vec3(length(a_matWorld0.xyz), length(a_matWorld1.xyz), length(a_matWorld2.xyz));\n vec3 scale2 = scale * scale;\n matWorldIT = mat4(\n vec4(a_matWorld0.xyz * scale2.x, 0.0),\n vec4(a_matWorld1.xyz * scale2.y, 0.0),\n vec4(a_matWorld2.xyz * scale2.z, 0.0),\n vec4(0.0, 0.0, 0.0, 1.0)\n );\n #else\n matWorld = cc_matWorld;\n matWorldIT = cc_matWorldIT;\n #endif\n}\nlayout(set = 0, binding = 2) uniform CCShadow {\n highp mat4 cc_matLightView;\n highp mat4 cc_matLightViewProj;\n highp vec4 cc_shadowInvProjDepthInfo;\n highp vec4 cc_shadowProjDepthInfo;\n highp vec4 cc_shadowProjInfo;\n mediump vec4 cc_shadowNFLSInfo;\n mediump vec4 cc_shadowWHPBInfo;\n mediump vec4 cc_shadowLPNNInfo;\n lowp vec4 cc_shadowColor;\n mediump vec4 cc_planarNDInfo;\n};\nvec4 CalculatePlanarShadowPos(vec3 meshWorldPos, vec3 cameraPos, vec3 lightDir, vec4 plane) {\n vec3 P = meshWorldPos;\n vec3 L = lightDir;\n vec3 N = plane.xyz;\n float d = plane.w + EPSILON_LOWP;\n float dist = (-d - dot(P, N)) / (dot(L, N) + EPSILON_LOWP);\n vec3 shadowPos = P + L * dist;\n return vec4(shadowPos, dist);\n}\nvec4 CalculatePlanarShadowClipPos(vec4 shadowPos, vec3 cameraPos, mat4 matView, mat4 matProj, vec4 nearFar, float bias) {\n vec4 camPos = matView * vec4(shadowPos.xyz, 1.0);\n float lerpCoef = saturate((nearFar.z < 0.0 ? -camPos.z : camPos.z) / (nearFar.y - nearFar.x));\n camPos.z += mix(nearFar.x * 0.01, nearFar.y * EPSILON_LOWP * bias, lerpCoef);\n return matProj * camPos;\n}\nlayout(location = 0) out float v_dist;\nvec4 vert () {\n vec4 position;\n CCVertInput(position);\n mat4 matWorld, matWorldIT;\n CCGetWorldMatrixFull(matWorld, matWorldIT);\n vec3 worldPos = (matWorld * position).xyz;\n vec4 shadowPos = CalculatePlanarShadowPos(worldPos, cc_cameraPos.xyz, cc_mainLitDir.xyz, cc_planarNDInfo);\n position = CalculatePlanarShadowClipPos(shadowPos, cc_cameraPos.xyz, cc_matView, cc_matProj, cc_nearFar, cc_shadowWHPBInfo.w);\n v_dist = shadowPos.w;\n return position;\n}\nvoid main() { gl_Position = vert(); }","frag":"\nprecision highp float;\nlayout(set = 0, binding = 2) uniform CCShadow {\n highp mat4 cc_matLightView;\n highp mat4 cc_matLightViewProj;\n highp vec4 cc_shadowInvProjDepthInfo;\n highp vec4 cc_shadowProjDepthInfo;\n highp vec4 cc_shadowProjInfo;\n mediump vec4 cc_shadowNFLSInfo;\n mediump vec4 cc_shadowWHPBInfo;\n mediump vec4 cc_shadowLPNNInfo;\n lowp vec4 cc_shadowColor;\n mediump vec4 cc_planarNDInfo;\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};\nvec4 CCFragOutput (vec4 color) {\n return color;\n}\nlayout(location = 0) in float v_dist;\nvec4 frag () {\n if(v_dist < 0.0)\n discard;\n return CCFragOutput(cc_shadowColor);\n}\nlayout(location = 0) out vec4 cc_FragColor;\nvoid main() { cc_FragColor = frag(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]},{"name":"CCShadow","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCMorph","defines":["CC_USE_MORPH"]},{"name":"CCSkinningTexture","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinningAnimation","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinning","defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","!CC_USE_REAL_TIME_JOINT_TEXTURE"]},{"name":"CCLocal","defines":["!USE_INSTANCING"]}],"samplerTextures":[{"name":"cc_PositionDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_POSITION"]},{"name":"cc_NormalDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_NORMAL"]},{"name":"cc_TangentDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_TANGENT"]},{"name":"cc_jointTexture","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"cc_realtimeJoint","defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","CC_USE_REAL_TIME_JOINT_TEXTURE"]}],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":90,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":58}},"defines":[{"name":"USE_INSTANCING","type":"boolean"},{"name":"CC_USE_SKINNING","type":"boolean"},{"name":"CC_USE_BAKED_ANIMATION","type":"boolean"},{"name":"CC_USE_LIGHTMAP","type":"boolean"},{"name":"CC_USE_REFLECTION_PROBE","type":"boolean"},{"name":"CC_RECEIVE_SHADOW","type":"boolean"},{"name":"CC_USE_LIGHT_PROBE","type":"boolean"},{"name":"CC_USE_MORPH","type":"boolean"},{"name":"CC_MORPH_TARGET_COUNT","type":"number","range":[2,8]},{"name":"CC_MORPH_TARGET_HAS_POSITION","type":"boolean"},{"name":"CC_MORPH_TARGET_HAS_NORMAL","type":"boolean"},{"name":"CC_MORPH_TARGET_HAS_TANGENT","type":"boolean"},{"name":"CC_MORPH_PRECOMPUTED","type":"boolean"},{"name":"CC_USE_REAL_TIME_JOINT_TEXTURE","type":"boolean"}]}],[{"passes":[{"phase":"planarShadow","program":"pipeline/planar-shadow|planar-shadow-vs:vert|planar-shadow-fs:frag","blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":4,"blendDstAlpha":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false,"stencilTestFront":true,"stencilFuncFront":5,"stencilPassOpFront":2,"stencilRefBack":128,"stencilRefFront":128,"stencilReadMaskBack":128,"stencilReadMaskFront":128,"stencilWriteMaskBack":128,"stencilWriteMaskFront":128}}]}]]],0,0,[],[],[]],[[[1,"util/splash-screen",[{"hash":3189094080,"name":"util/splash-screen|splash-screen-vs:vert|splash-screen-fs:frag","blocks":[{"name":"Constant","stageFlags":1,"binding":0,"members":[{"name":"u_buffer0","type":16,"count":1},{"name":"u_buffer1","type":16,"count":1},{"name":"u_projection","type":25,"count":1}],"defines":[]},{"name":"Factor","stageFlags":16,"binding":1,"members":[{"name":"u_percent","type":13,"count":1}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":2,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position","format":21,"location":0,"defines":[]},{"name":"a_texCoord","format":21,"location":1,"defines":[]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[{"name":"Constant","stageFlags":1,"binding":0,"members":[{"name":"u_buffer0","type":16,"count":1},{"name":"u_buffer1","type":16,"count":1},{"name":"u_projection","type":25,"count":1}],"defines":[]},{"name":"Factor","stageFlags":16,"binding":1,"members":[{"name":"u_percent","type":13,"count":1}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":2,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"vert":"\nprecision mediump float;\nlayout(location = 0) in vec2 a_position;\nlayout(location = 1) in vec2 a_texCoord;\nlayout(location = 0) out vec2 v_uv;\nlayout(set = 1, binding = 0) uniform Constant {\n vec4 u_buffer0;\n vec4 u_buffer1;\n mat4 u_projection;\n};\nvec4 vert () {\n vec2 worldPos = a_position * u_buffer1.xy + u_buffer1.zw;\n vec2 clipSpace = worldPos / u_buffer0.xy * 2.0 - 1.0;\n vec4 screenPos = u_projection * vec4(clipSpace, 0.0, 1.0);\n v_uv = a_texCoord;\n return screenPos;\n}\nvoid main() { gl_Position = vert(); }","frag":"\nprecision mediump float;\nlayout(location = 0) in vec2 v_uv;\nlayout(set = 1, binding = 1) uniform Factor {\n float u_percent;\n};\nlayout(set = 1, binding = 2) uniform sampler2D mainTexture;\nvec4 frag () {\n vec4 color = texture(mainTexture, v_uv);\n float percent = clamp(u_percent, 0.0, 1.0);\n color.xyz *= percent;\n return color;\n}\nlayout(location = 0) out vec4 cc_FragColor;\nvoid main() { cc_FragColor = frag(); }"},"builtins":{"globals":{"blocks":[],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[],"samplerTextures":[],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":6,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":1}},"defines":[]}],[{"name":"default","passes":[{"program":"util/splash-screen|splash-screen-vs:vert|splash-screen-fs:frag","blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":4,"blendDstAlpha":4}]},"rasterizerState":{"cullMode":0},"depthStencilState":{"depthTest":false,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":28},"resolution":{"type":14,"value":[640,960],"handleInfo":["u_buffer0",0,14]},"percent":{"type":13,"value":[0.5],"handleInfo":["u_percent",0,13]},"scale":{"type":14,"value":[200,500],"handleInfo":["u_buffer1",0,14]},"translate":{"type":14,"value":[320,480],"handleInfo":["u_buffer1",2,14]},"u_buffer0":{"type":16,"value":[640,960,0,0]},"u_percent":{"type":13,"value":[0.5]},"u_buffer1":{"type":16,"value":[200,500,320,480]}}}]}]]],0,0,[],[],[]],[[[1,"particles/builtin-particle-gpu",[{"hash":2859307513,"name":"particles/builtin-particle-gpu|builtin/internal/particle-vs-gpu:gpvs_main|tinted-fs:add","blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]},{"name":"SampleConstants","stageFlags":1,"binding":1,"members":[{"name":"u_sampleInfo","type":16,"count":1}],"defines":[]},{"name":"TickConstants","stageFlags":1,"binding":2,"members":[{"name":"u_worldRot","type":16,"count":1},{"name":"u_timeDelta","type":16,"count":1}],"defines":[]},{"name":"ColorConstant","stageFlags":1,"binding":3,"members":[{"name":"u_color_mode","type":5,"count":1}],"defines":["COLOR_OVER_TIME_MODULE_ENABLE"]},{"name":"RotationConstant","stageFlags":1,"binding":4,"members":[{"name":"u_rotation_mode","type":5,"count":1}],"defines":["ROTATION_OVER_TIME_MODULE_ENABLE"]},{"name":"SizeConstant","stageFlags":1,"binding":5,"members":[{"name":"u_size_mode","type":5,"count":1}],"defines":["SIZE_OVER_TIME_MODULE_ENABLE"]},{"name":"ForceConstant","stageFlags":1,"binding":6,"members":[{"name":"u_force_mode","type":5,"count":1},{"name":"u_force_space","type":5,"count":1}],"defines":["FORCE_OVER_TIME_MODULE_ENABLE"]},{"name":"VelocityConstant","stageFlags":1,"binding":7,"members":[{"name":"u_velocity_mode","type":5,"count":1},{"name":"u_velocity_space","type":5,"count":1}],"defines":["VELOCITY_OVER_TIME_MODULE_ENABLE"]},{"name":"AnimationConstant","stageFlags":1,"binding":8,"members":[{"name":"u_anim_info","type":16,"count":1}],"defines":["TEXTURE_ANIMATION_MODULE_ENABLE"]},{"name":"FragConstants","stageFlags":16,"binding":9,"members":[{"name":"tintColor","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"color_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":10,"defines":["COLOR_OVER_TIME_MODULE_ENABLE"]},{"name":"rotation_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":11,"defines":["ROTATION_OVER_TIME_MODULE_ENABLE"]},{"name":"size_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":12,"defines":["SIZE_OVER_TIME_MODULE_ENABLE"]},{"name":"force_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":13,"defines":["FORCE_OVER_TIME_MODULE_ENABLE"]},{"name":"velocity_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":14,"defines":["VELOCITY_OVER_TIME_MODULE_ENABLE"]},{"name":"texture_animation_tex0","type":28,"count":1,"stageFlags":1,"binding":15,"defines":["TEXTURE_ANIMATION_MODULE_ENABLE"]},{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":16,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position_starttime","format":44,"location":0,"defines":[]},{"name":"a_color","format":44,"location":1,"defines":[]},{"name":"a_dir_life","format":44,"location":2,"defines":[]},{"name":"a_rndSeed","format":11,"location":3,"defines":[]},{"name":"a_size_uv","format":44,"location":4,"defines":["!CC_INSTANCE_PARTICLE"]},{"name":"a_rotation_uv","format":44,"location":5,"defines":["!CC_INSTANCE_PARTICLE"]},{"name":"a_size_fid","format":44,"location":6,"defines":["CC_INSTANCE_PARTICLE"]},{"name":"a_rotation","format":32,"location":7,"defines":["CC_INSTANCE_PARTICLE"]},{"name":"a_uv","format":32,"location":8,"defines":["CC_INSTANCE_PARTICLE"]},{"name":"a_texCoord","format":32,"location":9,"defines":["CC_RENDER_MODE"]},{"name":"a_texCoord3","format":32,"location":10,"defines":["CC_RENDER_MODE"]},{"name":"a_normal","format":32,"location":11,"defines":["CC_RENDER_MODE"]},{"name":"a_color1","format":44,"location":12,"defines":["CC_RENDER_MODE"]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]},{"name":"SampleConstants","stageFlags":1,"binding":1,"members":[{"name":"u_sampleInfo","type":16,"count":1}],"defines":[]},{"name":"TickConstants","stageFlags":1,"binding":2,"members":[{"name":"u_worldRot","type":16,"count":1},{"name":"u_timeDelta","type":16,"count":1}],"defines":[]},{"name":"ColorConstant","stageFlags":1,"binding":3,"members":[{"name":"u_color_mode","type":5,"count":1}],"defines":["COLOR_OVER_TIME_MODULE_ENABLE"]},{"name":"RotationConstant","stageFlags":1,"binding":4,"members":[{"name":"u_rotation_mode","type":5,"count":1}],"defines":["ROTATION_OVER_TIME_MODULE_ENABLE"]},{"name":"SizeConstant","stageFlags":1,"binding":5,"members":[{"name":"u_size_mode","type":5,"count":1}],"defines":["SIZE_OVER_TIME_MODULE_ENABLE"]},{"name":"ForceConstant","stageFlags":1,"binding":6,"members":[{"name":"u_force_mode","type":5,"count":1},{"name":"u_force_space","type":5,"count":1}],"defines":["FORCE_OVER_TIME_MODULE_ENABLE"]},{"name":"VelocityConstant","stageFlags":1,"binding":7,"members":[{"name":"u_velocity_mode","type":5,"count":1},{"name":"u_velocity_space","type":5,"count":1}],"defines":["VELOCITY_OVER_TIME_MODULE_ENABLE"]},{"name":"AnimationConstant","stageFlags":1,"binding":8,"members":[{"name":"u_anim_info","type":16,"count":1}],"defines":["TEXTURE_ANIMATION_MODULE_ENABLE"]},{"name":"FragConstants","stageFlags":16,"binding":9,"members":[{"name":"tintColor","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"color_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":10,"defines":["COLOR_OVER_TIME_MODULE_ENABLE"]},{"name":"rotation_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":11,"defines":["ROTATION_OVER_TIME_MODULE_ENABLE"]},{"name":"size_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":12,"defines":["SIZE_OVER_TIME_MODULE_ENABLE"]},{"name":"force_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":13,"defines":["FORCE_OVER_TIME_MODULE_ENABLE"]},{"name":"velocity_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":14,"defines":["VELOCITY_OVER_TIME_MODULE_ENABLE"]},{"name":"texture_animation_tex0","type":28,"count":1,"stageFlags":1,"binding":15,"defines":["TEXTURE_ANIMATION_MODULE_ENABLE"]},{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":16,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"vert":"\nprecision mediump float;\nvec4 quaternionFromAxis (vec3 xAxis,vec3 yAxis,vec3 zAxis){\n mat3 m = mat3(xAxis,yAxis,zAxis);\n float trace = m[0][0] + m[1][1] + m[2][2];\n vec4 quat;\n if (trace > 0.) {\n float s = 0.5 / sqrt(trace + 1.0);\n quat.w = 0.25 / s;\n quat.x = (m[2][1] - m[1][2]) * s;\n quat.y = (m[0][2] - m[2][0]) * s;\n quat.z = (m[1][0] - m[0][1]) * s;\n } else if ((m[0][0] > m[1][1]) && (m[0][0] > m[2][2])) {\n float s = 2.0 * sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]);\n quat.w = (m[2][1] - m[1][2]) / s;\n quat.x = 0.25 * s;\n quat.y = (m[0][1] + m[1][0]) / s;\n quat.z = (m[0][2] + m[2][0]) / s;\n } else if (m[1][1] > m[2][2]) {\n float s = 2.0 * sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]);\n quat.w = (m[0][2] - m[2][0]) / s;\n quat.x = (m[0][1] + m[1][0]) / s;\n quat.y = 0.25 * s;\n quat.z = (m[1][2] + m[2][1]) / s;\n } else {\n float s = 2.0 * sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]);\n quat.w = (m[1][0] - m[0][1]) / s;\n quat.x = (m[0][2] + m[2][0]) / s;\n quat.y = (m[1][2] + m[2][1]) / s;\n quat.z = 0.25 * s;\n }\n float len = quat.x * quat.x + quat.y * quat.y + quat.z * quat.z + quat.w * quat.w;\n if (len > 0.) {\n len = 1. / sqrt(len);\n quat.x = quat.x * len;\n quat.y = quat.y * len;\n quat.z = quat.z * len;\n quat.w = quat.w * len;\n }\n return quat;\n}\nvec4 quaternionFromEuler (vec3 angle){\n float x = angle.x / 2.;\n float y = angle.y / 2.;\n float z = angle.z / 2.;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat = vec4(0);\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\nmat4 matrixFromRT (vec4 q, vec3 p){\n float x2 = q.x + q.x;\n float y2 = q.y + q.y;\n float z2 = q.z + q.z;\n float xx = q.x * x2;\n float xy = q.x * y2;\n float xz = q.x * z2;\n float yy = q.y * y2;\n float yz = q.y * z2;\n float zz = q.z * z2;\n float wx = q.w * x2;\n float wy = q.w * y2;\n float wz = q.w * z2;\n return mat4(\n 1. - (yy + zz), xy + wz, xz - wy, 0,\n xy - wz, 1. - (xx + zz), yz + wx, 0,\n xz + wy, yz - wx, 1. - (xx + yy), 0,\n p.x, p.y, p.z, 1\n );\n}\nmat4 matFromRTS (vec4 q, vec3 t, vec3 s){\n float x = q.x, y = q.y, z = q.z, w = q.w;\n float x2 = x + x;\n float y2 = y + y;\n float z2 = z + z;\n float xx = x * x2;\n float xy = x * y2;\n float xz = x * z2;\n float yy = y * y2;\n float yz = y * z2;\n float zz = z * z2;\n float wx = w * x2;\n float wy = w * y2;\n float wz = w * z2;\n float sx = s.x;\n float sy = s.y;\n float sz = s.z;\n return mat4((1. - (yy + zz)) * sx, (xy + wz) * sx, (xz - wy) * sx, 0,\n (xy - wz) * sy, (1. - (xx + zz)) * sy, (yz + wx) * sy, 0,\n (xz + wy) * sz, (yz - wx) * sz, (1. - (xx + yy)) * sz, 0,\n t.x, t.y, t.z, 1);\n}\nvec4 quatMultiply (vec4 a, vec4 b){\n vec4 quat;\n quat.x = a.x * b.w + a.w * b.x + a.y * b.z - a.z * b.y;\n quat.y = a.y * b.w + a.w * b.y + a.z * b.x - a.x * b.z;\n quat.z = a.z * b.w + a.w * b.z + a.x * b.y - a.y * b.x;\n quat.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z;\n return quat;\n}\nvoid rotateVecFromQuat (inout vec3 v, vec4 q){\n float ix = q.w * v.x + q.y * v.z - q.z * v.y;\n float iy = q.w * v.y + q.z * v.x - q.x * v.z;\n float iz = q.w * v.z + q.x * v.y - q.y * v.x;\n float iw = -q.x * v.x - q.y * v.y - q.z * v.z;\n v.x = ix * q.w + iw * -q.x + iy * -q.z - iz * -q.y;\n v.y = iy * q.w + iw * -q.y + iz * -q.x - ix * -q.z;\n v.z = iz * q.w + iw * -q.z + ix * -q.y - iy * -q.x;\n}\nvec3 rotateInLocalSpace (vec3 pos, vec3 xAxis, vec3 yAxis, vec3 zAxis, vec4 q){\n vec4 viewQuat = quaternionFromAxis(xAxis, yAxis, zAxis);\n vec4 rotQuat = quatMultiply(viewQuat, q);\n rotateVecFromQuat(pos, rotQuat);\n return pos;\n}\nmat3 quatToMat3(vec4 q) {\n vec3 m0 = vec3(\n 1.0 - 2.0 * q.y * q.y - 2.0 * q.z * q.z,\n 2.0 * q.x * q.y + 2.0 * q.w * q.z,\n 2.0 * q.x * q.z - 2.0 * q.w * q.y);\n\tvec3 m1 = vec3(\n 2.0 * q.x * q.y - 2.0 * q.w * q.z,\n 1.0 - 2.0 * q.x * q.x - 2.0 * q.z * q.z,\n 2.0 * q.y * q.z + 2.0 * q.w * q.x);\n\tvec3 m2 = vec3(\n 2.0 * q.x * q.z + 2.0 * q.w * q.y,\n 2.0 * q.y * q.z - 2.0 * q.w * q.x,\n 1.0 - 2.0 * q.x * q.x - 2.0 * q.y * q.y);\n return mat3(m0, m1, m2);\n}\nvec4 mat3ToQuat(mat3 mat) {\n float tr = mat[0][0] + mat[1][1] + mat[2][2];\n\tfloat qw, qx, qy, qz;\n if (tr > 0.0) {\n float S = sqrt(tr + 1.0) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = 0.25 * S;\n\t qx = (mat[1][2] - mat[2][1]) * invS;\n\t qy = (mat[2][0] - mat[0][2]) * invS;\n\t qz = (mat[0][1] - mat[1][0]) * invS;\n } else if ((mat[0][0] > mat[1][1])&&(mat[0][0] > mat[2][2])) {\n float S = sqrt(1.0 + mat[0][0] - mat[1][1] - mat[2][2]) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = (mat[1][2] - mat[2][1]) * invS;\n\t qx = 0.25 * S;\n\t qy = (mat[1][0] + mat[0][1]) * invS;\n\t qz = (mat[2][0] + mat[0][2]) * invS;\n } else if (mat[1][1] > mat[2][2]) {\n\t float S = sqrt(1.0 + mat[1][1] - mat[0][0] - mat[2][2]) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = (mat[2][0] - mat[0][2]) * invS;\n\t qx = (mat[1][0] + mat[0][1]) * invS;\n\t qy = 0.25 * S;\n\t qz = (mat[2][1] + mat[1][2]) * invS;\n } else {\n\t float S = sqrt(1.0 + mat[2][2] - mat[0][0] - mat[1][1]) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = (mat[0][1] - mat[1][0]) * invS;\n\t qx = (mat[2][0] + mat[0][2]) * invS;\n\t qy = (mat[2][1] + mat[1][2]) * invS;\n\t qz = 0.25 * S;\n }\n return vec4(qx, qy, qz, qw);\n}\nvec4 eulerToQuat(vec3 euler) {\n vec3 er = euler * 0.5;\n float x = er.x, y = er.y, z = er.z;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat;\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\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;\nvoid computeVertPos (inout vec4 pos, vec2 vertOffset, vec4 q, vec3 s\n#if CC_RENDER_MODE == 0 || CC_RENDER_MODE == 3\n , mat4 viewInv\n#endif\n#if CC_RENDER_MODE == 1\n , vec3 eye\n , vec4 velocity\n , float velocityScale\n , float lengthScale\n , float xIndex\n#endif\n) {\n#if CC_RENDER_MODE == 0\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = normalize(vec3(viewInv[0][0], viewInv[1][0], viewInv[2][0]));\n vec3 camY = normalize(vec3(viewInv[0][1], viewInv[1][1], viewInv[2][1]));\n vec3 camZ = normalize(vec3(viewInv[0][2], viewInv[1][2], viewInv[2][2]));\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, camZ, q);\n#elif CC_RENDER_MODE == 1\n vec3 camRight = normalize(cross(pos.xyz - eye, velocity.xyz)) * s.x;\n vec3 camUp = velocity.xyz * velocityScale + normalize(velocity.xyz) * lengthScale * s.y;\n pos.xyz += (camRight * abs(vertOffset.x) * sign(vertOffset.y)) - camUp * xIndex;\n#elif CC_RENDER_MODE == 2\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = vec3(1, 0, 0);\n vec3 camY = vec3(0, 0, -1);\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, cross(camX, camY), q);\n#elif CC_RENDER_MODE == 3\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n rotateVecFromQuat(viewSpaceVert, q);\n vec3 camX = normalize(vec3(cc_matView[0][0], cc_matView[1][0], cc_matView[2][0]));\n vec3 camY = vec3(0, 1, 0);\n vec3 offset = camX * viewSpaceVert.x + camY * viewSpaceVert.y;\n pos.xyz += offset;\n#else\n pos.x += vertOffset.x;\n pos.y += vertOffset.y;\n#endif\n}\nvec2 computeUV (float frameIndex, vec2 vertIndex, vec2 frameTile){\n vec2 aniUV = vec2(0, floor(frameIndex * frameTile.y));\n aniUV.x = floor(frameIndex * frameTile.x * frameTile.y - aniUV.y * frameTile.x);\n#if CC_RENDER_MODE != 4\n vertIndex.y = 1. - vertIndex.y;\n#endif\n return (aniUV.xy + vertIndex) / vec2(frameTile.x, frameTile.y);\n}\nlayout(set = 1, binding = 1) uniform SampleConstants {\n vec4 u_sampleInfo;\n};\nlayout(set = 1, binding = 2) uniform TickConstants {\n vec4 u_worldRot;\n vec4 u_timeDelta;\n};\nlayout(location = 0) in vec4 a_position_starttime;\nlayout(location = 1) in vec4 a_color;\nlayout(location = 2) in vec4 a_dir_life;\nlayout(location = 3) in float a_rndSeed;\n#if !CC_INSTANCE_PARTICLE\n layout(location = 4) in vec4 a_size_uv;\n layout(location = 5) in vec4 a_rotation_uv;\n#endif\n#if CC_INSTANCE_PARTICLE\n layout(location = 6) in vec4 a_size_fid;\n layout(location = 7) in vec3 a_rotation;\n layout(location = 8) in vec3 a_uv;\n#endif\n#if CC_RENDER_MODE == 4\n layout(location = 9) in vec3 a_texCoord;\n layout(location = 10) in vec3 a_texCoord3;\n layout(location = 11) in vec3 a_normal;\n layout(location = 12) in vec4 a_color1;\n#endif\nvec3 unpackCurveData (sampler2D tex, vec2 coord) {\n vec4 a = texture(tex, coord);\n vec4 b = texture(tex, coord + u_sampleInfo.y);\n float c = fract(coord.x * u_sampleInfo.x);\n return mix(a.xyz, b.xyz, c);\n}\nvec3 unpackCurveData (sampler2D tex, vec2 coord, out float w) {\n vec4 a = texture(tex, coord);\n vec4 b = texture(tex, coord + u_sampleInfo.y);\n float c = fract(coord.x * u_sampleInfo.x);\n w = mix(a.w, b.w, c);\n return mix(a.xyz, b.xyz, c);\n}\nfloat pseudoRandom(float x) {\n#if USE_VK_SHADER\n float o = x;\n x = mod(x - 1.0, 2.0) - 1.0;\n float freqVar = 10.16640753482;\n float y = sin(freqVar * floor(o * 0.5 - 0.5));\n float v = max(0.0, 1.0-abs(x));\n v *= 0.7071067812;\n v = y < 0.0 ? -v : v;\n return v;\n#endif\n#if !USE_VK_SHADER\n float seed = mod(x, 233280.);\n float q = (seed * 9301. + 49297.) / 233280.;\n return fract(q);\n#endif\n}\n#if COLOR_OVER_TIME_MODULE_ENABLE\n layout(set = 1, binding = 10) uniform sampler2D color_over_time_tex0;\n layout(set = 1, binding = 3) uniform ColorConstant {\n int u_color_mode;\n };\n#endif\n#if ROTATION_OVER_TIME_MODULE_ENABLE\n layout(set = 1, binding = 11) uniform sampler2D rotation_over_time_tex0;\n layout(set = 1, binding = 4) uniform RotationConstant {\n int u_rotation_mode;\n };\n#endif\n#if SIZE_OVER_TIME_MODULE_ENABLE\n layout(set = 1, binding = 12) uniform sampler2D size_over_time_tex0;\n layout(set = 1, binding = 5) uniform SizeConstant {\n int u_size_mode;\n };\n#endif\n#if FORCE_OVER_TIME_MODULE_ENABLE\n layout(set = 1, binding = 13) uniform sampler2D force_over_time_tex0;\n layout(set = 1, binding = 6) uniform ForceConstant {\n int u_force_mode;\n int u_force_space;\n };\n#endif\n#if VELOCITY_OVER_TIME_MODULE_ENABLE\n layout(set = 1, binding = 14) uniform sampler2D velocity_over_time_tex0;\n layout(set = 1, binding = 7) uniform VelocityConstant {\n int u_velocity_mode;\n int u_velocity_space;\n };\n#endif\n#if TEXTURE_ANIMATION_MODULE_ENABLE\n layout(set = 1, binding = 15) uniform sampler2D texture_animation_tex0;\n layout(set = 1, binding = 8) uniform AnimationConstant {\n vec4 u_anim_info;\n };\n#endif\nfloat repeat (float t, float length) {\n return t - floor(t / length) * length;\n}\nvec4 rotateQuat (vec4 p, vec4 q) {\n vec3 iv = cross(q.xyz, p.xyz) + q.w * p.xyz;\n vec3 res = p.xyz + 2.0 * cross(q.xyz, iv);\n return vec4(res.xyz, p.w);\n}\nvec4 gpvs_main () {\n float activeTime = u_timeDelta.x - a_position_starttime.w;\n float normalizedTime = clamp(activeTime / a_dir_life.w, 0.0, 1.0);\n vec2 timeCoord0 = vec2(normalizedTime, 0.);\n vec2 timeCoord1 = vec2(normalizedTime, 1.);\n #if CC_RENDER_MODE == 4\n vec2 vertIdx = vec2(a_texCoord.x, a_texCoord.y);\n #endif\n #if CC_RENDER_MODE != 4\n #if !CC_INSTANCE_PARTICLE\n vec2 vertIdx = vec2(a_size_uv.w, a_rotation_uv.w);\n #endif\n #if CC_INSTANCE_PARTICLE\n vec2 vertIdx = a_uv.xy;\n #endif\n #endif\n vec4 velocity = vec4(a_dir_life.xyz, 0.);\n vec4 pos = vec4(a_position_starttime.xyz, 1.);\n #if !CC_INSTANCE_PARTICLE\n vec3 size = a_size_uv.xyz;\n #endif\n #if CC_INSTANCE_PARTICLE\n vec3 size = a_size_fid.xyz;\n #endif\n #if SIZE_OVER_TIME_MODULE_ENABLE\n if (u_size_mode == 1) {\n size *= unpackCurveData(size_over_time_tex0, timeCoord0);\n } else {\n vec3 size_0 = unpackCurveData(size_over_time_tex0, timeCoord0);\n vec3 size_1 = unpackCurveData(size_over_time_tex0, timeCoord1);\n float factor_s = pseudoRandom(a_rndSeed + 39825.);\n size *= mix(size_0, size_1, factor_s);\n }\n #endif\n vec3 compScale = scale.xyz * size;\n #if FORCE_OVER_TIME_MODULE_ENABLE\n vec3 forceAnim = vec3(0.);\n if (u_force_mode == 1) {\n forceAnim = unpackCurveData(force_over_time_tex0, timeCoord0);\n } else {\n vec3 force_0 = unpackCurveData(force_over_time_tex0, timeCoord0);\n vec3 force_1 = unpackCurveData(force_over_time_tex0, timeCoord1);\n float factor_f = pseudoRandom(a_rndSeed + 212165.);\n forceAnim = mix(force_0, force_1, factor_f);\n }\n vec4 forceTrack = vec4(forceAnim, 0.);\n if (u_force_space == 0) {\n forceTrack = rotateQuat(forceTrack, u_worldRot);\n }\n velocity.xyz += forceTrack.xyz;\n #endif\n #if VELOCITY_OVER_TIME_MODULE_ENABLE\n float speedModifier0 = 1.;\n float speedModifier1 = 1.;\n vec3 velocityAnim = vec3(0.);\n if (u_velocity_mode == 1) {\n velocityAnim = unpackCurveData(velocity_over_time_tex0, timeCoord0, speedModifier0);\n } else {\n vec3 vectory_0 = unpackCurveData(velocity_over_time_tex0, timeCoord0, speedModifier0);\n vec3 vectory_1 = unpackCurveData(velocity_over_time_tex0, timeCoord1, speedModifier1);\n float factor_v = pseudoRandom(a_rndSeed + 197866.);\n velocityAnim = mix(vectory_0, vectory_1, factor_v);\n speedModifier0 = mix(speedModifier0, speedModifier1, factor_v);\n }\n vec4 velocityTrack = vec4(velocityAnim, 0.);\n if (u_velocity_space == 0) {\n velocityTrack = rotateQuat(velocityTrack, u_worldRot);\n }\n velocity.xyz += velocityTrack.xyz;\n velocity.xyz *= speedModifier0;\n #endif\n pos.xyz += velocity.xyz * normalizedTime * a_dir_life.w;\n #if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n #if CC_RENDER_MODE == 1\n velocity = rotateQuat(velocity, u_worldRot);\n #endif\n #endif\n #if !CC_INSTANCE_PARTICLE\n vec3 startRotation = a_rotation_uv.xyz;\n #endif\n #if CC_INSTANCE_PARTICLE\n vec3 startRotation = a_rotation;\n #endif\n #if CC_RENDER_MODE != 4\n #if CC_RENDER_MODE == 0\n vec3 rotEuler = startRotation.xyz;\n #elif CC_RENDER_MODE == 1\n vec3 rotEuler = vec3(0.);\n #endif\n #if CC_RENDER_MODE != 0 && CC_RENDER_MODE != 1\n vec3 rotEuler = vec3(0., 0., startRotation.z);\n #endif\n vec4 rot = quaternionFromEuler(rotEuler);\n #endif\n #if CC_RENDER_MODE == 4\n vec4 rot = quaternionFromEuler(startRotation);\n #endif\n #if ROTATION_OVER_TIME_MODULE_ENABLE\n if (u_rotation_mode == 1) {\n vec3 euler = unpackCurveData(rotation_over_time_tex0, timeCoord0) * normalizedTime * a_dir_life.w;\n vec4 quat = eulerToQuat(euler);\n mat3 mLocal = quatToMat3(quat);\n mat3 mStart = quatToMat3(rot);\n rot = mat3ToQuat(mStart * mLocal);\n } else {\n vec3 rotation_0 = unpackCurveData(rotation_over_time_tex0, timeCoord0);\n vec3 rotation_1 = unpackCurveData(rotation_over_time_tex0, timeCoord1);\n float factor_r = pseudoRandom(a_rndSeed + 125292.);\n vec3 euler = mix(rotation_0, rotation_1, factor_r) * normalizedTime * a_dir_life.w;\n #if CC_RENDER_MODE == 3 || CC_RENDER_MODE == 2\n euler = vec3(0.0, 0.0, euler.z);\n #endif\n vec4 quat = eulerToQuat(euler);\n mat3 mLocal = quatToMat3(quat);\n mat3 mStart = quatToMat3(rot);\n rot = mat3ToQuat(mStart * mLocal);\n }\n #endif\n #if COLOR_OVER_TIME_MODULE_ENABLE\n if (u_color_mode == 1) {\n color = a_color * texture(color_over_time_tex0, timeCoord0);\n } else {\n vec4 color_0 = texture(color_over_time_tex0, timeCoord0);\n vec4 color_1 = texture(color_over_time_tex0, timeCoord1);\n float factor_c = pseudoRandom(a_rndSeed + 91041.);\n color = a_color * mix(color_0, color_1, factor_c);\n }\n #endif\n #if !COLOR_OVER_TIME_MODULE_ENABLE\n color = a_color;\n #endif\n #if CC_RENDER_MODE != 4\n vec2 cornerOffset = vec2((vertIdx - 0.5));\n #if CC_RENDER_MODE == 1\n rot = vec4(0.0, 0.0, 0.0, 1.0);\n #endif\n computeVertPos(pos, cornerOffset, rot, compScale\n #if CC_RENDER_MODE == 0 || CC_RENDER_MODE == 3\n , cc_matViewInv\n #endif\n #if CC_RENDER_MODE == 1\n , cc_cameraPos.xyz\n , velocity\n , frameTile_velLenScale.z\n , frameTile_velLenScale.w\n #if !CC_INSTANCE_PARTICLE\n , a_size_uv.w\n #endif\n #if CC_INSTANCE_PARTICLE\n , a_uv.x\n #endif\n #endif\n );\n #endif\n #if CC_RENDER_MODE == 4\n mat3 rotMat = quatToMat3(rot);\n mat3 nodeMat = quatToMat3(nodeRotation);\n rotMat = nodeMat * rotMat;\n rot = mat3ToQuat(rotMat);\n mat4 xformNoScale = matrixFromRT(rot, pos.xyz);\n mat4 xform = matFromRTS(rot, pos.xyz, compScale);\n pos = xform * vec4(a_texCoord3, 1);\n vec4 normal = xformNoScale * vec4(a_normal, 0);\n color *= a_color1;\n #endif\n pos = cc_matViewProj * pos;\n float frameIndex = 0.;\n #if TEXTURE_ANIMATION_MODULE_ENABLE\n float startFrame = 0.;\n vec3 frameInfo = vec3(0.);\n if (int(u_anim_info.x) == 1) {\n frameInfo = unpackCurveData(texture_animation_tex0, timeCoord0);\n } else {\n vec3 frameInfo0 = unpackCurveData(texture_animation_tex0, timeCoord0);\n vec3 frameInfo1 = unpackCurveData(texture_animation_tex0, timeCoord1);\n float factor_t = pseudoRandom(a_rndSeed + 90794.);\n frameInfo = mix(frameInfo0, frameInfo1, factor_t);\n }\n startFrame = frameInfo.x / u_anim_info.y;\n float EPSILON = 1e-6;\n frameIndex = repeat(u_anim_info.z * (frameInfo.y + startFrame), 1. + EPSILON);\n #endif\n uv = computeUV(frameIndex, vertIdx, frameTile_velLenScale.xy) * mainTiling_Offset.xy + mainTiling_Offset.zw;\n return pos;\n}\nvoid main() { gl_Position = gpvs_main(); }","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 = 16) uniform sampler2D mainTexture;\nlayout(set = 1, binding = 9) uniform FragConstants {\n vec4 tintColor;\n};\nvec4 add () {\n vec4 col = 2.0 * color * tintColor * texture(mainTexture, uv);\n return CCFragOutput(col);\n}\nlayout(location = 0) out vec4 cc_FragColor;\nvoid main() { cc_FragColor = add(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":71,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":43}},"defines":[{"name":"CC_RENDER_MODE","type":"number","range":[0,4]},{"name":"CC_INSTANCE_PARTICLE","type":"boolean"},{"name":"USE_VK_SHADER","type":"boolean"},{"name":"COLOR_OVER_TIME_MODULE_ENABLE","type":"boolean"},{"name":"ROTATION_OVER_TIME_MODULE_ENABLE","type":"boolean"},{"name":"SIZE_OVER_TIME_MODULE_ENABLE","type":"boolean"},{"name":"FORCE_OVER_TIME_MODULE_ENABLE","type":"boolean"},{"name":"VELOCITY_OVER_TIME_MODULE_ENABLE","type":"boolean"},{"name":"TEXTURE_ANIMATION_MODULE_ENABLE","type":"boolean"},{"name":"CC_USE_WORLD_SPACE","type":"boolean"}]},{"hash":2330235135,"name":"particles/builtin-particle-gpu|builtin/internal/particle-vs-gpu:gpvs_main|tinted-fs:multiply","blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]},{"name":"SampleConstants","stageFlags":1,"binding":1,"members":[{"name":"u_sampleInfo","type":16,"count":1}],"defines":[]},{"name":"TickConstants","stageFlags":1,"binding":2,"members":[{"name":"u_worldRot","type":16,"count":1},{"name":"u_timeDelta","type":16,"count":1}],"defines":[]},{"name":"ColorConstant","stageFlags":1,"binding":3,"members":[{"name":"u_color_mode","type":5,"count":1}],"defines":["COLOR_OVER_TIME_MODULE_ENABLE"]},{"name":"RotationConstant","stageFlags":1,"binding":4,"members":[{"name":"u_rotation_mode","type":5,"count":1}],"defines":["ROTATION_OVER_TIME_MODULE_ENABLE"]},{"name":"SizeConstant","stageFlags":1,"binding":5,"members":[{"name":"u_size_mode","type":5,"count":1}],"defines":["SIZE_OVER_TIME_MODULE_ENABLE"]},{"name":"ForceConstant","stageFlags":1,"binding":6,"members":[{"name":"u_force_mode","type":5,"count":1},{"name":"u_force_space","type":5,"count":1}],"defines":["FORCE_OVER_TIME_MODULE_ENABLE"]},{"name":"VelocityConstant","stageFlags":1,"binding":7,"members":[{"name":"u_velocity_mode","type":5,"count":1},{"name":"u_velocity_space","type":5,"count":1}],"defines":["VELOCITY_OVER_TIME_MODULE_ENABLE"]},{"name":"AnimationConstant","stageFlags":1,"binding":8,"members":[{"name":"u_anim_info","type":16,"count":1}],"defines":["TEXTURE_ANIMATION_MODULE_ENABLE"]},{"name":"FragConstants","stageFlags":16,"binding":9,"members":[{"name":"tintColor","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"color_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":10,"defines":["COLOR_OVER_TIME_MODULE_ENABLE"]},{"name":"rotation_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":11,"defines":["ROTATION_OVER_TIME_MODULE_ENABLE"]},{"name":"size_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":12,"defines":["SIZE_OVER_TIME_MODULE_ENABLE"]},{"name":"force_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":13,"defines":["FORCE_OVER_TIME_MODULE_ENABLE"]},{"name":"velocity_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":14,"defines":["VELOCITY_OVER_TIME_MODULE_ENABLE"]},{"name":"texture_animation_tex0","type":28,"count":1,"stageFlags":1,"binding":15,"defines":["TEXTURE_ANIMATION_MODULE_ENABLE"]},{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":16,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position_starttime","format":44,"location":0,"defines":[]},{"name":"a_color","format":44,"location":1,"defines":[]},{"name":"a_dir_life","format":44,"location":2,"defines":[]},{"name":"a_rndSeed","format":11,"location":3,"defines":[]},{"name":"a_size_uv","format":44,"location":4,"defines":["!CC_INSTANCE_PARTICLE"]},{"name":"a_rotation_uv","format":44,"location":5,"defines":["!CC_INSTANCE_PARTICLE"]},{"name":"a_size_fid","format":44,"location":6,"defines":["CC_INSTANCE_PARTICLE"]},{"name":"a_rotation","format":32,"location":7,"defines":["CC_INSTANCE_PARTICLE"]},{"name":"a_uv","format":32,"location":8,"defines":["CC_INSTANCE_PARTICLE"]},{"name":"a_texCoord","format":32,"location":9,"defines":["CC_RENDER_MODE"]},{"name":"a_texCoord3","format":32,"location":10,"defines":["CC_RENDER_MODE"]},{"name":"a_normal","format":32,"location":11,"defines":["CC_RENDER_MODE"]},{"name":"a_color1","format":44,"location":12,"defines":["CC_RENDER_MODE"]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]},{"name":"SampleConstants","stageFlags":1,"binding":1,"members":[{"name":"u_sampleInfo","type":16,"count":1}],"defines":[]},{"name":"TickConstants","stageFlags":1,"binding":2,"members":[{"name":"u_worldRot","type":16,"count":1},{"name":"u_timeDelta","type":16,"count":1}],"defines":[]},{"name":"ColorConstant","stageFlags":1,"binding":3,"members":[{"name":"u_color_mode","type":5,"count":1}],"defines":["COLOR_OVER_TIME_MODULE_ENABLE"]},{"name":"RotationConstant","stageFlags":1,"binding":4,"members":[{"name":"u_rotation_mode","type":5,"count":1}],"defines":["ROTATION_OVER_TIME_MODULE_ENABLE"]},{"name":"SizeConstant","stageFlags":1,"binding":5,"members":[{"name":"u_size_mode","type":5,"count":1}],"defines":["SIZE_OVER_TIME_MODULE_ENABLE"]},{"name":"ForceConstant","stageFlags":1,"binding":6,"members":[{"name":"u_force_mode","type":5,"count":1},{"name":"u_force_space","type":5,"count":1}],"defines":["FORCE_OVER_TIME_MODULE_ENABLE"]},{"name":"VelocityConstant","stageFlags":1,"binding":7,"members":[{"name":"u_velocity_mode","type":5,"count":1},{"name":"u_velocity_space","type":5,"count":1}],"defines":["VELOCITY_OVER_TIME_MODULE_ENABLE"]},{"name":"AnimationConstant","stageFlags":1,"binding":8,"members":[{"name":"u_anim_info","type":16,"count":1}],"defines":["TEXTURE_ANIMATION_MODULE_ENABLE"]},{"name":"FragConstants","stageFlags":16,"binding":9,"members":[{"name":"tintColor","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"color_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":10,"defines":["COLOR_OVER_TIME_MODULE_ENABLE"]},{"name":"rotation_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":11,"defines":["ROTATION_OVER_TIME_MODULE_ENABLE"]},{"name":"size_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":12,"defines":["SIZE_OVER_TIME_MODULE_ENABLE"]},{"name":"force_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":13,"defines":["FORCE_OVER_TIME_MODULE_ENABLE"]},{"name":"velocity_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":14,"defines":["VELOCITY_OVER_TIME_MODULE_ENABLE"]},{"name":"texture_animation_tex0","type":28,"count":1,"stageFlags":1,"binding":15,"defines":["TEXTURE_ANIMATION_MODULE_ENABLE"]},{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":16,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"vert":"\nprecision mediump float;\nvec4 quaternionFromAxis (vec3 xAxis,vec3 yAxis,vec3 zAxis){\n mat3 m = mat3(xAxis,yAxis,zAxis);\n float trace = m[0][0] + m[1][1] + m[2][2];\n vec4 quat;\n if (trace > 0.) {\n float s = 0.5 / sqrt(trace + 1.0);\n quat.w = 0.25 / s;\n quat.x = (m[2][1] - m[1][2]) * s;\n quat.y = (m[0][2] - m[2][0]) * s;\n quat.z = (m[1][0] - m[0][1]) * s;\n } else if ((m[0][0] > m[1][1]) && (m[0][0] > m[2][2])) {\n float s = 2.0 * sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]);\n quat.w = (m[2][1] - m[1][2]) / s;\n quat.x = 0.25 * s;\n quat.y = (m[0][1] + m[1][0]) / s;\n quat.z = (m[0][2] + m[2][0]) / s;\n } else if (m[1][1] > m[2][2]) {\n float s = 2.0 * sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]);\n quat.w = (m[0][2] - m[2][0]) / s;\n quat.x = (m[0][1] + m[1][0]) / s;\n quat.y = 0.25 * s;\n quat.z = (m[1][2] + m[2][1]) / s;\n } else {\n float s = 2.0 * sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]);\n quat.w = (m[1][0] - m[0][1]) / s;\n quat.x = (m[0][2] + m[2][0]) / s;\n quat.y = (m[1][2] + m[2][1]) / s;\n quat.z = 0.25 * s;\n }\n float len = quat.x * quat.x + quat.y * quat.y + quat.z * quat.z + quat.w * quat.w;\n if (len > 0.) {\n len = 1. / sqrt(len);\n quat.x = quat.x * len;\n quat.y = quat.y * len;\n quat.z = quat.z * len;\n quat.w = quat.w * len;\n }\n return quat;\n}\nvec4 quaternionFromEuler (vec3 angle){\n float x = angle.x / 2.;\n float y = angle.y / 2.;\n float z = angle.z / 2.;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat = vec4(0);\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\nmat4 matrixFromRT (vec4 q, vec3 p){\n float x2 = q.x + q.x;\n float y2 = q.y + q.y;\n float z2 = q.z + q.z;\n float xx = q.x * x2;\n float xy = q.x * y2;\n float xz = q.x * z2;\n float yy = q.y * y2;\n float yz = q.y * z2;\n float zz = q.z * z2;\n float wx = q.w * x2;\n float wy = q.w * y2;\n float wz = q.w * z2;\n return mat4(\n 1. - (yy + zz), xy + wz, xz - wy, 0,\n xy - wz, 1. - (xx + zz), yz + wx, 0,\n xz + wy, yz - wx, 1. - (xx + yy), 0,\n p.x, p.y, p.z, 1\n );\n}\nmat4 matFromRTS (vec4 q, vec3 t, vec3 s){\n float x = q.x, y = q.y, z = q.z, w = q.w;\n float x2 = x + x;\n float y2 = y + y;\n float z2 = z + z;\n float xx = x * x2;\n float xy = x * y2;\n float xz = x * z2;\n float yy = y * y2;\n float yz = y * z2;\n float zz = z * z2;\n float wx = w * x2;\n float wy = w * y2;\n float wz = w * z2;\n float sx = s.x;\n float sy = s.y;\n float sz = s.z;\n return mat4((1. - (yy + zz)) * sx, (xy + wz) * sx, (xz - wy) * sx, 0,\n (xy - wz) * sy, (1. - (xx + zz)) * sy, (yz + wx) * sy, 0,\n (xz + wy) * sz, (yz - wx) * sz, (1. - (xx + yy)) * sz, 0,\n t.x, t.y, t.z, 1);\n}\nvec4 quatMultiply (vec4 a, vec4 b){\n vec4 quat;\n quat.x = a.x * b.w + a.w * b.x + a.y * b.z - a.z * b.y;\n quat.y = a.y * b.w + a.w * b.y + a.z * b.x - a.x * b.z;\n quat.z = a.z * b.w + a.w * b.z + a.x * b.y - a.y * b.x;\n quat.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z;\n return quat;\n}\nvoid rotateVecFromQuat (inout vec3 v, vec4 q){\n float ix = q.w * v.x + q.y * v.z - q.z * v.y;\n float iy = q.w * v.y + q.z * v.x - q.x * v.z;\n float iz = q.w * v.z + q.x * v.y - q.y * v.x;\n float iw = -q.x * v.x - q.y * v.y - q.z * v.z;\n v.x = ix * q.w + iw * -q.x + iy * -q.z - iz * -q.y;\n v.y = iy * q.w + iw * -q.y + iz * -q.x - ix * -q.z;\n v.z = iz * q.w + iw * -q.z + ix * -q.y - iy * -q.x;\n}\nvec3 rotateInLocalSpace (vec3 pos, vec3 xAxis, vec3 yAxis, vec3 zAxis, vec4 q){\n vec4 viewQuat = quaternionFromAxis(xAxis, yAxis, zAxis);\n vec4 rotQuat = quatMultiply(viewQuat, q);\n rotateVecFromQuat(pos, rotQuat);\n return pos;\n}\nmat3 quatToMat3(vec4 q) {\n vec3 m0 = vec3(\n 1.0 - 2.0 * q.y * q.y - 2.0 * q.z * q.z,\n 2.0 * q.x * q.y + 2.0 * q.w * q.z,\n 2.0 * q.x * q.z - 2.0 * q.w * q.y);\n\tvec3 m1 = vec3(\n 2.0 * q.x * q.y - 2.0 * q.w * q.z,\n 1.0 - 2.0 * q.x * q.x - 2.0 * q.z * q.z,\n 2.0 * q.y * q.z + 2.0 * q.w * q.x);\n\tvec3 m2 = vec3(\n 2.0 * q.x * q.z + 2.0 * q.w * q.y,\n 2.0 * q.y * q.z - 2.0 * q.w * q.x,\n 1.0 - 2.0 * q.x * q.x - 2.0 * q.y * q.y);\n return mat3(m0, m1, m2);\n}\nvec4 mat3ToQuat(mat3 mat) {\n float tr = mat[0][0] + mat[1][1] + mat[2][2];\n\tfloat qw, qx, qy, qz;\n if (tr > 0.0) {\n float S = sqrt(tr + 1.0) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = 0.25 * S;\n\t qx = (mat[1][2] - mat[2][1]) * invS;\n\t qy = (mat[2][0] - mat[0][2]) * invS;\n\t qz = (mat[0][1] - mat[1][0]) * invS;\n } else if ((mat[0][0] > mat[1][1])&&(mat[0][0] > mat[2][2])) {\n float S = sqrt(1.0 + mat[0][0] - mat[1][1] - mat[2][2]) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = (mat[1][2] - mat[2][1]) * invS;\n\t qx = 0.25 * S;\n\t qy = (mat[1][0] + mat[0][1]) * invS;\n\t qz = (mat[2][0] + mat[0][2]) * invS;\n } else if (mat[1][1] > mat[2][2]) {\n\t float S = sqrt(1.0 + mat[1][1] - mat[0][0] - mat[2][2]) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = (mat[2][0] - mat[0][2]) * invS;\n\t qx = (mat[1][0] + mat[0][1]) * invS;\n\t qy = 0.25 * S;\n\t qz = (mat[2][1] + mat[1][2]) * invS;\n } else {\n\t float S = sqrt(1.0 + mat[2][2] - mat[0][0] - mat[1][1]) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = (mat[0][1] - mat[1][0]) * invS;\n\t qx = (mat[2][0] + mat[0][2]) * invS;\n\t qy = (mat[2][1] + mat[1][2]) * invS;\n\t qz = 0.25 * S;\n }\n return vec4(qx, qy, qz, qw);\n}\nvec4 eulerToQuat(vec3 euler) {\n vec3 er = euler * 0.5;\n float x = er.x, y = er.y, z = er.z;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat;\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\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;\nvoid computeVertPos (inout vec4 pos, vec2 vertOffset, vec4 q, vec3 s\n#if CC_RENDER_MODE == 0 || CC_RENDER_MODE == 3\n , mat4 viewInv\n#endif\n#if CC_RENDER_MODE == 1\n , vec3 eye\n , vec4 velocity\n , float velocityScale\n , float lengthScale\n , float xIndex\n#endif\n) {\n#if CC_RENDER_MODE == 0\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = normalize(vec3(viewInv[0][0], viewInv[1][0], viewInv[2][0]));\n vec3 camY = normalize(vec3(viewInv[0][1], viewInv[1][1], viewInv[2][1]));\n vec3 camZ = normalize(vec3(viewInv[0][2], viewInv[1][2], viewInv[2][2]));\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, camZ, q);\n#elif CC_RENDER_MODE == 1\n vec3 camRight = normalize(cross(pos.xyz - eye, velocity.xyz)) * s.x;\n vec3 camUp = velocity.xyz * velocityScale + normalize(velocity.xyz) * lengthScale * s.y;\n pos.xyz += (camRight * abs(vertOffset.x) * sign(vertOffset.y)) - camUp * xIndex;\n#elif CC_RENDER_MODE == 2\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = vec3(1, 0, 0);\n vec3 camY = vec3(0, 0, -1);\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, cross(camX, camY), q);\n#elif CC_RENDER_MODE == 3\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n rotateVecFromQuat(viewSpaceVert, q);\n vec3 camX = normalize(vec3(cc_matView[0][0], cc_matView[1][0], cc_matView[2][0]));\n vec3 camY = vec3(0, 1, 0);\n vec3 offset = camX * viewSpaceVert.x + camY * viewSpaceVert.y;\n pos.xyz += offset;\n#else\n pos.x += vertOffset.x;\n pos.y += vertOffset.y;\n#endif\n}\nvec2 computeUV (float frameIndex, vec2 vertIndex, vec2 frameTile){\n vec2 aniUV = vec2(0, floor(frameIndex * frameTile.y));\n aniUV.x = floor(frameIndex * frameTile.x * frameTile.y - aniUV.y * frameTile.x);\n#if CC_RENDER_MODE != 4\n vertIndex.y = 1. - vertIndex.y;\n#endif\n return (aniUV.xy + vertIndex) / vec2(frameTile.x, frameTile.y);\n}\nlayout(set = 1, binding = 1) uniform SampleConstants {\n vec4 u_sampleInfo;\n};\nlayout(set = 1, binding = 2) uniform TickConstants {\n vec4 u_worldRot;\n vec4 u_timeDelta;\n};\nlayout(location = 0) in vec4 a_position_starttime;\nlayout(location = 1) in vec4 a_color;\nlayout(location = 2) in vec4 a_dir_life;\nlayout(location = 3) in float a_rndSeed;\n#if !CC_INSTANCE_PARTICLE\n layout(location = 4) in vec4 a_size_uv;\n layout(location = 5) in vec4 a_rotation_uv;\n#endif\n#if CC_INSTANCE_PARTICLE\n layout(location = 6) in vec4 a_size_fid;\n layout(location = 7) in vec3 a_rotation;\n layout(location = 8) in vec3 a_uv;\n#endif\n#if CC_RENDER_MODE == 4\n layout(location = 9) in vec3 a_texCoord;\n layout(location = 10) in vec3 a_texCoord3;\n layout(location = 11) in vec3 a_normal;\n layout(location = 12) in vec4 a_color1;\n#endif\nvec3 unpackCurveData (sampler2D tex, vec2 coord) {\n vec4 a = texture(tex, coord);\n vec4 b = texture(tex, coord + u_sampleInfo.y);\n float c = fract(coord.x * u_sampleInfo.x);\n return mix(a.xyz, b.xyz, c);\n}\nvec3 unpackCurveData (sampler2D tex, vec2 coord, out float w) {\n vec4 a = texture(tex, coord);\n vec4 b = texture(tex, coord + u_sampleInfo.y);\n float c = fract(coord.x * u_sampleInfo.x);\n w = mix(a.w, b.w, c);\n return mix(a.xyz, b.xyz, c);\n}\nfloat pseudoRandom(float x) {\n#if USE_VK_SHADER\n float o = x;\n x = mod(x - 1.0, 2.0) - 1.0;\n float freqVar = 10.16640753482;\n float y = sin(freqVar * floor(o * 0.5 - 0.5));\n float v = max(0.0, 1.0-abs(x));\n v *= 0.7071067812;\n v = y < 0.0 ? -v : v;\n return v;\n#endif\n#if !USE_VK_SHADER\n float seed = mod(x, 233280.);\n float q = (seed * 9301. + 49297.) / 233280.;\n return fract(q);\n#endif\n}\n#if COLOR_OVER_TIME_MODULE_ENABLE\n layout(set = 1, binding = 10) uniform sampler2D color_over_time_tex0;\n layout(set = 1, binding = 3) uniform ColorConstant {\n int u_color_mode;\n };\n#endif\n#if ROTATION_OVER_TIME_MODULE_ENABLE\n layout(set = 1, binding = 11) uniform sampler2D rotation_over_time_tex0;\n layout(set = 1, binding = 4) uniform RotationConstant {\n int u_rotation_mode;\n };\n#endif\n#if SIZE_OVER_TIME_MODULE_ENABLE\n layout(set = 1, binding = 12) uniform sampler2D size_over_time_tex0;\n layout(set = 1, binding = 5) uniform SizeConstant {\n int u_size_mode;\n };\n#endif\n#if FORCE_OVER_TIME_MODULE_ENABLE\n layout(set = 1, binding = 13) uniform sampler2D force_over_time_tex0;\n layout(set = 1, binding = 6) uniform ForceConstant {\n int u_force_mode;\n int u_force_space;\n };\n#endif\n#if VELOCITY_OVER_TIME_MODULE_ENABLE\n layout(set = 1, binding = 14) uniform sampler2D velocity_over_time_tex0;\n layout(set = 1, binding = 7) uniform VelocityConstant {\n int u_velocity_mode;\n int u_velocity_space;\n };\n#endif\n#if TEXTURE_ANIMATION_MODULE_ENABLE\n layout(set = 1, binding = 15) uniform sampler2D texture_animation_tex0;\n layout(set = 1, binding = 8) uniform AnimationConstant {\n vec4 u_anim_info;\n };\n#endif\nfloat repeat (float t, float length) {\n return t - floor(t / length) * length;\n}\nvec4 rotateQuat (vec4 p, vec4 q) {\n vec3 iv = cross(q.xyz, p.xyz) + q.w * p.xyz;\n vec3 res = p.xyz + 2.0 * cross(q.xyz, iv);\n return vec4(res.xyz, p.w);\n}\nvec4 gpvs_main () {\n float activeTime = u_timeDelta.x - a_position_starttime.w;\n float normalizedTime = clamp(activeTime / a_dir_life.w, 0.0, 1.0);\n vec2 timeCoord0 = vec2(normalizedTime, 0.);\n vec2 timeCoord1 = vec2(normalizedTime, 1.);\n #if CC_RENDER_MODE == 4\n vec2 vertIdx = vec2(a_texCoord.x, a_texCoord.y);\n #endif\n #if CC_RENDER_MODE != 4\n #if !CC_INSTANCE_PARTICLE\n vec2 vertIdx = vec2(a_size_uv.w, a_rotation_uv.w);\n #endif\n #if CC_INSTANCE_PARTICLE\n vec2 vertIdx = a_uv.xy;\n #endif\n #endif\n vec4 velocity = vec4(a_dir_life.xyz, 0.);\n vec4 pos = vec4(a_position_starttime.xyz, 1.);\n #if !CC_INSTANCE_PARTICLE\n vec3 size = a_size_uv.xyz;\n #endif\n #if CC_INSTANCE_PARTICLE\n vec3 size = a_size_fid.xyz;\n #endif\n #if SIZE_OVER_TIME_MODULE_ENABLE\n if (u_size_mode == 1) {\n size *= unpackCurveData(size_over_time_tex0, timeCoord0);\n } else {\n vec3 size_0 = unpackCurveData(size_over_time_tex0, timeCoord0);\n vec3 size_1 = unpackCurveData(size_over_time_tex0, timeCoord1);\n float factor_s = pseudoRandom(a_rndSeed + 39825.);\n size *= mix(size_0, size_1, factor_s);\n }\n #endif\n vec3 compScale = scale.xyz * size;\n #if FORCE_OVER_TIME_MODULE_ENABLE\n vec3 forceAnim = vec3(0.);\n if (u_force_mode == 1) {\n forceAnim = unpackCurveData(force_over_time_tex0, timeCoord0);\n } else {\n vec3 force_0 = unpackCurveData(force_over_time_tex0, timeCoord0);\n vec3 force_1 = unpackCurveData(force_over_time_tex0, timeCoord1);\n float factor_f = pseudoRandom(a_rndSeed + 212165.);\n forceAnim = mix(force_0, force_1, factor_f);\n }\n vec4 forceTrack = vec4(forceAnim, 0.);\n if (u_force_space == 0) {\n forceTrack = rotateQuat(forceTrack, u_worldRot);\n }\n velocity.xyz += forceTrack.xyz;\n #endif\n #if VELOCITY_OVER_TIME_MODULE_ENABLE\n float speedModifier0 = 1.;\n float speedModifier1 = 1.;\n vec3 velocityAnim = vec3(0.);\n if (u_velocity_mode == 1) {\n velocityAnim = unpackCurveData(velocity_over_time_tex0, timeCoord0, speedModifier0);\n } else {\n vec3 vectory_0 = unpackCurveData(velocity_over_time_tex0, timeCoord0, speedModifier0);\n vec3 vectory_1 = unpackCurveData(velocity_over_time_tex0, timeCoord1, speedModifier1);\n float factor_v = pseudoRandom(a_rndSeed + 197866.);\n velocityAnim = mix(vectory_0, vectory_1, factor_v);\n speedModifier0 = mix(speedModifier0, speedModifier1, factor_v);\n }\n vec4 velocityTrack = vec4(velocityAnim, 0.);\n if (u_velocity_space == 0) {\n velocityTrack = rotateQuat(velocityTrack, u_worldRot);\n }\n velocity.xyz += velocityTrack.xyz;\n velocity.xyz *= speedModifier0;\n #endif\n pos.xyz += velocity.xyz * normalizedTime * a_dir_life.w;\n #if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n #if CC_RENDER_MODE == 1\n velocity = rotateQuat(velocity, u_worldRot);\n #endif\n #endif\n #if !CC_INSTANCE_PARTICLE\n vec3 startRotation = a_rotation_uv.xyz;\n #endif\n #if CC_INSTANCE_PARTICLE\n vec3 startRotation = a_rotation;\n #endif\n #if CC_RENDER_MODE != 4\n #if CC_RENDER_MODE == 0\n vec3 rotEuler = startRotation.xyz;\n #elif CC_RENDER_MODE == 1\n vec3 rotEuler = vec3(0.);\n #endif\n #if CC_RENDER_MODE != 0 && CC_RENDER_MODE != 1\n vec3 rotEuler = vec3(0., 0., startRotation.z);\n #endif\n vec4 rot = quaternionFromEuler(rotEuler);\n #endif\n #if CC_RENDER_MODE == 4\n vec4 rot = quaternionFromEuler(startRotation);\n #endif\n #if ROTATION_OVER_TIME_MODULE_ENABLE\n if (u_rotation_mode == 1) {\n vec3 euler = unpackCurveData(rotation_over_time_tex0, timeCoord0) * normalizedTime * a_dir_life.w;\n vec4 quat = eulerToQuat(euler);\n mat3 mLocal = quatToMat3(quat);\n mat3 mStart = quatToMat3(rot);\n rot = mat3ToQuat(mStart * mLocal);\n } else {\n vec3 rotation_0 = unpackCurveData(rotation_over_time_tex0, timeCoord0);\n vec3 rotation_1 = unpackCurveData(rotation_over_time_tex0, timeCoord1);\n float factor_r = pseudoRandom(a_rndSeed + 125292.);\n vec3 euler = mix(rotation_0, rotation_1, factor_r) * normalizedTime * a_dir_life.w;\n #if CC_RENDER_MODE == 3 || CC_RENDER_MODE == 2\n euler = vec3(0.0, 0.0, euler.z);\n #endif\n vec4 quat = eulerToQuat(euler);\n mat3 mLocal = quatToMat3(quat);\n mat3 mStart = quatToMat3(rot);\n rot = mat3ToQuat(mStart * mLocal);\n }\n #endif\n #if COLOR_OVER_TIME_MODULE_ENABLE\n if (u_color_mode == 1) {\n color = a_color * texture(color_over_time_tex0, timeCoord0);\n } else {\n vec4 color_0 = texture(color_over_time_tex0, timeCoord0);\n vec4 color_1 = texture(color_over_time_tex0, timeCoord1);\n float factor_c = pseudoRandom(a_rndSeed + 91041.);\n color = a_color * mix(color_0, color_1, factor_c);\n }\n #endif\n #if !COLOR_OVER_TIME_MODULE_ENABLE\n color = a_color;\n #endif\n #if CC_RENDER_MODE != 4\n vec2 cornerOffset = vec2((vertIdx - 0.5));\n #if CC_RENDER_MODE == 1\n rot = vec4(0.0, 0.0, 0.0, 1.0);\n #endif\n computeVertPos(pos, cornerOffset, rot, compScale\n #if CC_RENDER_MODE == 0 || CC_RENDER_MODE == 3\n , cc_matViewInv\n #endif\n #if CC_RENDER_MODE == 1\n , cc_cameraPos.xyz\n , velocity\n , frameTile_velLenScale.z\n , frameTile_velLenScale.w\n #if !CC_INSTANCE_PARTICLE\n , a_size_uv.w\n #endif\n #if CC_INSTANCE_PARTICLE\n , a_uv.x\n #endif\n #endif\n );\n #endif\n #if CC_RENDER_MODE == 4\n mat3 rotMat = quatToMat3(rot);\n mat3 nodeMat = quatToMat3(nodeRotation);\n rotMat = nodeMat * rotMat;\n rot = mat3ToQuat(rotMat);\n mat4 xformNoScale = matrixFromRT(rot, pos.xyz);\n mat4 xform = matFromRTS(rot, pos.xyz, compScale);\n pos = xform * vec4(a_texCoord3, 1);\n vec4 normal = xformNoScale * vec4(a_normal, 0);\n color *= a_color1;\n #endif\n pos = cc_matViewProj * pos;\n float frameIndex = 0.;\n #if TEXTURE_ANIMATION_MODULE_ENABLE\n float startFrame = 0.;\n vec3 frameInfo = vec3(0.);\n if (int(u_anim_info.x) == 1) {\n frameInfo = unpackCurveData(texture_animation_tex0, timeCoord0);\n } else {\n vec3 frameInfo0 = unpackCurveData(texture_animation_tex0, timeCoord0);\n vec3 frameInfo1 = unpackCurveData(texture_animation_tex0, timeCoord1);\n float factor_t = pseudoRandom(a_rndSeed + 90794.);\n frameInfo = mix(frameInfo0, frameInfo1, factor_t);\n }\n startFrame = frameInfo.x / u_anim_info.y;\n float EPSILON = 1e-6;\n frameIndex = repeat(u_anim_info.z * (frameInfo.y + startFrame), 1. + EPSILON);\n #endif\n uv = computeUV(frameIndex, vertIdx, frameTile_velLenScale.xy) * mainTiling_Offset.xy + mainTiling_Offset.zw;\n return pos;\n}\nvoid main() { gl_Position = gpvs_main(); }","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 = 16) uniform sampler2D mainTexture;\nlayout(set = 1, binding = 9) uniform FragConstants {\n vec4 tintColor;\n};\nvec4 multiply () {\n vec4 col;\n vec4 texColor = texture(mainTexture, uv);\n col.rgb = tintColor.rgb * texColor.rgb * color.rgb * vec3(2.0);\n return CCFragOutput(col);\n}\nlayout(location = 0) out vec4 cc_FragColor;\nvoid main() { cc_FragColor = multiply(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":71,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":43}},"defines":[{"name":"CC_RENDER_MODE","type":"number","range":[0,4]},{"name":"CC_INSTANCE_PARTICLE","type":"boolean"},{"name":"USE_VK_SHADER","type":"boolean"},{"name":"COLOR_OVER_TIME_MODULE_ENABLE","type":"boolean"},{"name":"ROTATION_OVER_TIME_MODULE_ENABLE","type":"boolean"},{"name":"SIZE_OVER_TIME_MODULE_ENABLE","type":"boolean"},{"name":"FORCE_OVER_TIME_MODULE_ENABLE","type":"boolean"},{"name":"VELOCITY_OVER_TIME_MODULE_ENABLE","type":"boolean"},{"name":"TEXTURE_ANIMATION_MODULE_ENABLE","type":"boolean"},{"name":"CC_USE_WORLD_SPACE","type":"boolean"}]},{"hash":1067163463,"name":"particles/builtin-particle-gpu|builtin/internal/particle-vs-gpu:gpvs_main|no-tint-fs:addSmooth","blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]},{"name":"SampleConstants","stageFlags":1,"binding":1,"members":[{"name":"u_sampleInfo","type":16,"count":1}],"defines":[]},{"name":"TickConstants","stageFlags":1,"binding":2,"members":[{"name":"u_worldRot","type":16,"count":1},{"name":"u_timeDelta","type":16,"count":1}],"defines":[]},{"name":"ColorConstant","stageFlags":1,"binding":3,"members":[{"name":"u_color_mode","type":5,"count":1}],"defines":["COLOR_OVER_TIME_MODULE_ENABLE"]},{"name":"RotationConstant","stageFlags":1,"binding":4,"members":[{"name":"u_rotation_mode","type":5,"count":1}],"defines":["ROTATION_OVER_TIME_MODULE_ENABLE"]},{"name":"SizeConstant","stageFlags":1,"binding":5,"members":[{"name":"u_size_mode","type":5,"count":1}],"defines":["SIZE_OVER_TIME_MODULE_ENABLE"]},{"name":"ForceConstant","stageFlags":1,"binding":6,"members":[{"name":"u_force_mode","type":5,"count":1},{"name":"u_force_space","type":5,"count":1}],"defines":["FORCE_OVER_TIME_MODULE_ENABLE"]},{"name":"VelocityConstant","stageFlags":1,"binding":7,"members":[{"name":"u_velocity_mode","type":5,"count":1},{"name":"u_velocity_space","type":5,"count":1}],"defines":["VELOCITY_OVER_TIME_MODULE_ENABLE"]},{"name":"AnimationConstant","stageFlags":1,"binding":8,"members":[{"name":"u_anim_info","type":16,"count":1}],"defines":["TEXTURE_ANIMATION_MODULE_ENABLE"]}],"samplerTextures":[{"name":"color_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":9,"defines":["COLOR_OVER_TIME_MODULE_ENABLE"]},{"name":"rotation_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":10,"defines":["ROTATION_OVER_TIME_MODULE_ENABLE"]},{"name":"size_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":11,"defines":["SIZE_OVER_TIME_MODULE_ENABLE"]},{"name":"force_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":12,"defines":["FORCE_OVER_TIME_MODULE_ENABLE"]},{"name":"velocity_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":13,"defines":["VELOCITY_OVER_TIME_MODULE_ENABLE"]},{"name":"texture_animation_tex0","type":28,"count":1,"stageFlags":1,"binding":14,"defines":["TEXTURE_ANIMATION_MODULE_ENABLE"]},{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":15,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position_starttime","format":44,"location":0,"defines":[]},{"name":"a_color","format":44,"location":1,"defines":[]},{"name":"a_dir_life","format":44,"location":2,"defines":[]},{"name":"a_rndSeed","format":11,"location":3,"defines":[]},{"name":"a_size_uv","format":44,"location":4,"defines":["!CC_INSTANCE_PARTICLE"]},{"name":"a_rotation_uv","format":44,"location":5,"defines":["!CC_INSTANCE_PARTICLE"]},{"name":"a_size_fid","format":44,"location":6,"defines":["CC_INSTANCE_PARTICLE"]},{"name":"a_rotation","format":32,"location":7,"defines":["CC_INSTANCE_PARTICLE"]},{"name":"a_uv","format":32,"location":8,"defines":["CC_INSTANCE_PARTICLE"]},{"name":"a_texCoord","format":32,"location":9,"defines":["CC_RENDER_MODE"]},{"name":"a_texCoord3","format":32,"location":10,"defines":["CC_RENDER_MODE"]},{"name":"a_normal","format":32,"location":11,"defines":["CC_RENDER_MODE"]},{"name":"a_color1","format":44,"location":12,"defines":["CC_RENDER_MODE"]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]},{"name":"SampleConstants","stageFlags":1,"binding":1,"members":[{"name":"u_sampleInfo","type":16,"count":1}],"defines":[]},{"name":"TickConstants","stageFlags":1,"binding":2,"members":[{"name":"u_worldRot","type":16,"count":1},{"name":"u_timeDelta","type":16,"count":1}],"defines":[]},{"name":"ColorConstant","stageFlags":1,"binding":3,"members":[{"name":"u_color_mode","type":5,"count":1}],"defines":["COLOR_OVER_TIME_MODULE_ENABLE"]},{"name":"RotationConstant","stageFlags":1,"binding":4,"members":[{"name":"u_rotation_mode","type":5,"count":1}],"defines":["ROTATION_OVER_TIME_MODULE_ENABLE"]},{"name":"SizeConstant","stageFlags":1,"binding":5,"members":[{"name":"u_size_mode","type":5,"count":1}],"defines":["SIZE_OVER_TIME_MODULE_ENABLE"]},{"name":"ForceConstant","stageFlags":1,"binding":6,"members":[{"name":"u_force_mode","type":5,"count":1},{"name":"u_force_space","type":5,"count":1}],"defines":["FORCE_OVER_TIME_MODULE_ENABLE"]},{"name":"VelocityConstant","stageFlags":1,"binding":7,"members":[{"name":"u_velocity_mode","type":5,"count":1},{"name":"u_velocity_space","type":5,"count":1}],"defines":["VELOCITY_OVER_TIME_MODULE_ENABLE"]},{"name":"AnimationConstant","stageFlags":1,"binding":8,"members":[{"name":"u_anim_info","type":16,"count":1}],"defines":["TEXTURE_ANIMATION_MODULE_ENABLE"]}],"samplerTextures":[{"name":"color_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":9,"defines":["COLOR_OVER_TIME_MODULE_ENABLE"]},{"name":"rotation_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":10,"defines":["ROTATION_OVER_TIME_MODULE_ENABLE"]},{"name":"size_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":11,"defines":["SIZE_OVER_TIME_MODULE_ENABLE"]},{"name":"force_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":12,"defines":["FORCE_OVER_TIME_MODULE_ENABLE"]},{"name":"velocity_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":13,"defines":["VELOCITY_OVER_TIME_MODULE_ENABLE"]},{"name":"texture_animation_tex0","type":28,"count":1,"stageFlags":1,"binding":14,"defines":["TEXTURE_ANIMATION_MODULE_ENABLE"]},{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":15,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"vert":"\nprecision mediump float;\nvec4 quaternionFromAxis (vec3 xAxis,vec3 yAxis,vec3 zAxis){\n mat3 m = mat3(xAxis,yAxis,zAxis);\n float trace = m[0][0] + m[1][1] + m[2][2];\n vec4 quat;\n if (trace > 0.) {\n float s = 0.5 / sqrt(trace + 1.0);\n quat.w = 0.25 / s;\n quat.x = (m[2][1] - m[1][2]) * s;\n quat.y = (m[0][2] - m[2][0]) * s;\n quat.z = (m[1][0] - m[0][1]) * s;\n } else if ((m[0][0] > m[1][1]) && (m[0][0] > m[2][2])) {\n float s = 2.0 * sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]);\n quat.w = (m[2][1] - m[1][2]) / s;\n quat.x = 0.25 * s;\n quat.y = (m[0][1] + m[1][0]) / s;\n quat.z = (m[0][2] + m[2][0]) / s;\n } else if (m[1][1] > m[2][2]) {\n float s = 2.0 * sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]);\n quat.w = (m[0][2] - m[2][0]) / s;\n quat.x = (m[0][1] + m[1][0]) / s;\n quat.y = 0.25 * s;\n quat.z = (m[1][2] + m[2][1]) / s;\n } else {\n float s = 2.0 * sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]);\n quat.w = (m[1][0] - m[0][1]) / s;\n quat.x = (m[0][2] + m[2][0]) / s;\n quat.y = (m[1][2] + m[2][1]) / s;\n quat.z = 0.25 * s;\n }\n float len = quat.x * quat.x + quat.y * quat.y + quat.z * quat.z + quat.w * quat.w;\n if (len > 0.) {\n len = 1. / sqrt(len);\n quat.x = quat.x * len;\n quat.y = quat.y * len;\n quat.z = quat.z * len;\n quat.w = quat.w * len;\n }\n return quat;\n}\nvec4 quaternionFromEuler (vec3 angle){\n float x = angle.x / 2.;\n float y = angle.y / 2.;\n float z = angle.z / 2.;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat = vec4(0);\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\nmat4 matrixFromRT (vec4 q, vec3 p){\n float x2 = q.x + q.x;\n float y2 = q.y + q.y;\n float z2 = q.z + q.z;\n float xx = q.x * x2;\n float xy = q.x * y2;\n float xz = q.x * z2;\n float yy = q.y * y2;\n float yz = q.y * z2;\n float zz = q.z * z2;\n float wx = q.w * x2;\n float wy = q.w * y2;\n float wz = q.w * z2;\n return mat4(\n 1. - (yy + zz), xy + wz, xz - wy, 0,\n xy - wz, 1. - (xx + zz), yz + wx, 0,\n xz + wy, yz - wx, 1. - (xx + yy), 0,\n p.x, p.y, p.z, 1\n );\n}\nmat4 matFromRTS (vec4 q, vec3 t, vec3 s){\n float x = q.x, y = q.y, z = q.z, w = q.w;\n float x2 = x + x;\n float y2 = y + y;\n float z2 = z + z;\n float xx = x * x2;\n float xy = x * y2;\n float xz = x * z2;\n float yy = y * y2;\n float yz = y * z2;\n float zz = z * z2;\n float wx = w * x2;\n float wy = w * y2;\n float wz = w * z2;\n float sx = s.x;\n float sy = s.y;\n float sz = s.z;\n return mat4((1. - (yy + zz)) * sx, (xy + wz) * sx, (xz - wy) * sx, 0,\n (xy - wz) * sy, (1. - (xx + zz)) * sy, (yz + wx) * sy, 0,\n (xz + wy) * sz, (yz - wx) * sz, (1. - (xx + yy)) * sz, 0,\n t.x, t.y, t.z, 1);\n}\nvec4 quatMultiply (vec4 a, vec4 b){\n vec4 quat;\n quat.x = a.x * b.w + a.w * b.x + a.y * b.z - a.z * b.y;\n quat.y = a.y * b.w + a.w * b.y + a.z * b.x - a.x * b.z;\n quat.z = a.z * b.w + a.w * b.z + a.x * b.y - a.y * b.x;\n quat.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z;\n return quat;\n}\nvoid rotateVecFromQuat (inout vec3 v, vec4 q){\n float ix = q.w * v.x + q.y * v.z - q.z * v.y;\n float iy = q.w * v.y + q.z * v.x - q.x * v.z;\n float iz = q.w * v.z + q.x * v.y - q.y * v.x;\n float iw = -q.x * v.x - q.y * v.y - q.z * v.z;\n v.x = ix * q.w + iw * -q.x + iy * -q.z - iz * -q.y;\n v.y = iy * q.w + iw * -q.y + iz * -q.x - ix * -q.z;\n v.z = iz * q.w + iw * -q.z + ix * -q.y - iy * -q.x;\n}\nvec3 rotateInLocalSpace (vec3 pos, vec3 xAxis, vec3 yAxis, vec3 zAxis, vec4 q){\n vec4 viewQuat = quaternionFromAxis(xAxis, yAxis, zAxis);\n vec4 rotQuat = quatMultiply(viewQuat, q);\n rotateVecFromQuat(pos, rotQuat);\n return pos;\n}\nmat3 quatToMat3(vec4 q) {\n vec3 m0 = vec3(\n 1.0 - 2.0 * q.y * q.y - 2.0 * q.z * q.z,\n 2.0 * q.x * q.y + 2.0 * q.w * q.z,\n 2.0 * q.x * q.z - 2.0 * q.w * q.y);\n\tvec3 m1 = vec3(\n 2.0 * q.x * q.y - 2.0 * q.w * q.z,\n 1.0 - 2.0 * q.x * q.x - 2.0 * q.z * q.z,\n 2.0 * q.y * q.z + 2.0 * q.w * q.x);\n\tvec3 m2 = vec3(\n 2.0 * q.x * q.z + 2.0 * q.w * q.y,\n 2.0 * q.y * q.z - 2.0 * q.w * q.x,\n 1.0 - 2.0 * q.x * q.x - 2.0 * q.y * q.y);\n return mat3(m0, m1, m2);\n}\nvec4 mat3ToQuat(mat3 mat) {\n float tr = mat[0][0] + mat[1][1] + mat[2][2];\n\tfloat qw, qx, qy, qz;\n if (tr > 0.0) {\n float S = sqrt(tr + 1.0) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = 0.25 * S;\n\t qx = (mat[1][2] - mat[2][1]) * invS;\n\t qy = (mat[2][0] - mat[0][2]) * invS;\n\t qz = (mat[0][1] - mat[1][0]) * invS;\n } else if ((mat[0][0] > mat[1][1])&&(mat[0][0] > mat[2][2])) {\n float S = sqrt(1.0 + mat[0][0] - mat[1][1] - mat[2][2]) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = (mat[1][2] - mat[2][1]) * invS;\n\t qx = 0.25 * S;\n\t qy = (mat[1][0] + mat[0][1]) * invS;\n\t qz = (mat[2][0] + mat[0][2]) * invS;\n } else if (mat[1][1] > mat[2][2]) {\n\t float S = sqrt(1.0 + mat[1][1] - mat[0][0] - mat[2][2]) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = (mat[2][0] - mat[0][2]) * invS;\n\t qx = (mat[1][0] + mat[0][1]) * invS;\n\t qy = 0.25 * S;\n\t qz = (mat[2][1] + mat[1][2]) * invS;\n } else {\n\t float S = sqrt(1.0 + mat[2][2] - mat[0][0] - mat[1][1]) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = (mat[0][1] - mat[1][0]) * invS;\n\t qx = (mat[2][0] + mat[0][2]) * invS;\n\t qy = (mat[2][1] + mat[1][2]) * invS;\n\t qz = 0.25 * S;\n }\n return vec4(qx, qy, qz, qw);\n}\nvec4 eulerToQuat(vec3 euler) {\n vec3 er = euler * 0.5;\n float x = er.x, y = er.y, z = er.z;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat;\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\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;\nvoid computeVertPos (inout vec4 pos, vec2 vertOffset, vec4 q, vec3 s\n#if CC_RENDER_MODE == 0 || CC_RENDER_MODE == 3\n , mat4 viewInv\n#endif\n#if CC_RENDER_MODE == 1\n , vec3 eye\n , vec4 velocity\n , float velocityScale\n , float lengthScale\n , float xIndex\n#endif\n) {\n#if CC_RENDER_MODE == 0\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = normalize(vec3(viewInv[0][0], viewInv[1][0], viewInv[2][0]));\n vec3 camY = normalize(vec3(viewInv[0][1], viewInv[1][1], viewInv[2][1]));\n vec3 camZ = normalize(vec3(viewInv[0][2], viewInv[1][2], viewInv[2][2]));\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, camZ, q);\n#elif CC_RENDER_MODE == 1\n vec3 camRight = normalize(cross(pos.xyz - eye, velocity.xyz)) * s.x;\n vec3 camUp = velocity.xyz * velocityScale + normalize(velocity.xyz) * lengthScale * s.y;\n pos.xyz += (camRight * abs(vertOffset.x) * sign(vertOffset.y)) - camUp * xIndex;\n#elif CC_RENDER_MODE == 2\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = vec3(1, 0, 0);\n vec3 camY = vec3(0, 0, -1);\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, cross(camX, camY), q);\n#elif CC_RENDER_MODE == 3\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n rotateVecFromQuat(viewSpaceVert, q);\n vec3 camX = normalize(vec3(cc_matView[0][0], cc_matView[1][0], cc_matView[2][0]));\n vec3 camY = vec3(0, 1, 0);\n vec3 offset = camX * viewSpaceVert.x + camY * viewSpaceVert.y;\n pos.xyz += offset;\n#else\n pos.x += vertOffset.x;\n pos.y += vertOffset.y;\n#endif\n}\nvec2 computeUV (float frameIndex, vec2 vertIndex, vec2 frameTile){\n vec2 aniUV = vec2(0, floor(frameIndex * frameTile.y));\n aniUV.x = floor(frameIndex * frameTile.x * frameTile.y - aniUV.y * frameTile.x);\n#if CC_RENDER_MODE != 4\n vertIndex.y = 1. - vertIndex.y;\n#endif\n return (aniUV.xy + vertIndex) / vec2(frameTile.x, frameTile.y);\n}\nlayout(set = 1, binding = 1) uniform SampleConstants {\n vec4 u_sampleInfo;\n};\nlayout(set = 1, binding = 2) uniform TickConstants {\n vec4 u_worldRot;\n vec4 u_timeDelta;\n};\nlayout(location = 0) in vec4 a_position_starttime;\nlayout(location = 1) in vec4 a_color;\nlayout(location = 2) in vec4 a_dir_life;\nlayout(location = 3) in float a_rndSeed;\n#if !CC_INSTANCE_PARTICLE\n layout(location = 4) in vec4 a_size_uv;\n layout(location = 5) in vec4 a_rotation_uv;\n#endif\n#if CC_INSTANCE_PARTICLE\n layout(location = 6) in vec4 a_size_fid;\n layout(location = 7) in vec3 a_rotation;\n layout(location = 8) in vec3 a_uv;\n#endif\n#if CC_RENDER_MODE == 4\n layout(location = 9) in vec3 a_texCoord;\n layout(location = 10) in vec3 a_texCoord3;\n layout(location = 11) in vec3 a_normal;\n layout(location = 12) in vec4 a_color1;\n#endif\nvec3 unpackCurveData (sampler2D tex, vec2 coord) {\n vec4 a = texture(tex, coord);\n vec4 b = texture(tex, coord + u_sampleInfo.y);\n float c = fract(coord.x * u_sampleInfo.x);\n return mix(a.xyz, b.xyz, c);\n}\nvec3 unpackCurveData (sampler2D tex, vec2 coord, out float w) {\n vec4 a = texture(tex, coord);\n vec4 b = texture(tex, coord + u_sampleInfo.y);\n float c = fract(coord.x * u_sampleInfo.x);\n w = mix(a.w, b.w, c);\n return mix(a.xyz, b.xyz, c);\n}\nfloat pseudoRandom(float x) {\n#if USE_VK_SHADER\n float o = x;\n x = mod(x - 1.0, 2.0) - 1.0;\n float freqVar = 10.16640753482;\n float y = sin(freqVar * floor(o * 0.5 - 0.5));\n float v = max(0.0, 1.0-abs(x));\n v *= 0.7071067812;\n v = y < 0.0 ? -v : v;\n return v;\n#endif\n#if !USE_VK_SHADER\n float seed = mod(x, 233280.);\n float q = (seed * 9301. + 49297.) / 233280.;\n return fract(q);\n#endif\n}\n#if COLOR_OVER_TIME_MODULE_ENABLE\n layout(set = 1, binding = 9) uniform sampler2D color_over_time_tex0;\n layout(set = 1, binding = 3) uniform ColorConstant {\n int u_color_mode;\n };\n#endif\n#if ROTATION_OVER_TIME_MODULE_ENABLE\n layout(set = 1, binding = 10) uniform sampler2D rotation_over_time_tex0;\n layout(set = 1, binding = 4) uniform RotationConstant {\n int u_rotation_mode;\n };\n#endif\n#if SIZE_OVER_TIME_MODULE_ENABLE\n layout(set = 1, binding = 11) uniform sampler2D size_over_time_tex0;\n layout(set = 1, binding = 5) uniform SizeConstant {\n int u_size_mode;\n };\n#endif\n#if FORCE_OVER_TIME_MODULE_ENABLE\n layout(set = 1, binding = 12) uniform sampler2D force_over_time_tex0;\n layout(set = 1, binding = 6) uniform ForceConstant {\n int u_force_mode;\n int u_force_space;\n };\n#endif\n#if VELOCITY_OVER_TIME_MODULE_ENABLE\n layout(set = 1, binding = 13) uniform sampler2D velocity_over_time_tex0;\n layout(set = 1, binding = 7) uniform VelocityConstant {\n int u_velocity_mode;\n int u_velocity_space;\n };\n#endif\n#if TEXTURE_ANIMATION_MODULE_ENABLE\n layout(set = 1, binding = 14) uniform sampler2D texture_animation_tex0;\n layout(set = 1, binding = 8) uniform AnimationConstant {\n vec4 u_anim_info;\n };\n#endif\nfloat repeat (float t, float length) {\n return t - floor(t / length) * length;\n}\nvec4 rotateQuat (vec4 p, vec4 q) {\n vec3 iv = cross(q.xyz, p.xyz) + q.w * p.xyz;\n vec3 res = p.xyz + 2.0 * cross(q.xyz, iv);\n return vec4(res.xyz, p.w);\n}\nvec4 gpvs_main () {\n float activeTime = u_timeDelta.x - a_position_starttime.w;\n float normalizedTime = clamp(activeTime / a_dir_life.w, 0.0, 1.0);\n vec2 timeCoord0 = vec2(normalizedTime, 0.);\n vec2 timeCoord1 = vec2(normalizedTime, 1.);\n #if CC_RENDER_MODE == 4\n vec2 vertIdx = vec2(a_texCoord.x, a_texCoord.y);\n #endif\n #if CC_RENDER_MODE != 4\n #if !CC_INSTANCE_PARTICLE\n vec2 vertIdx = vec2(a_size_uv.w, a_rotation_uv.w);\n #endif\n #if CC_INSTANCE_PARTICLE\n vec2 vertIdx = a_uv.xy;\n #endif\n #endif\n vec4 velocity = vec4(a_dir_life.xyz, 0.);\n vec4 pos = vec4(a_position_starttime.xyz, 1.);\n #if !CC_INSTANCE_PARTICLE\n vec3 size = a_size_uv.xyz;\n #endif\n #if CC_INSTANCE_PARTICLE\n vec3 size = a_size_fid.xyz;\n #endif\n #if SIZE_OVER_TIME_MODULE_ENABLE\n if (u_size_mode == 1) {\n size *= unpackCurveData(size_over_time_tex0, timeCoord0);\n } else {\n vec3 size_0 = unpackCurveData(size_over_time_tex0, timeCoord0);\n vec3 size_1 = unpackCurveData(size_over_time_tex0, timeCoord1);\n float factor_s = pseudoRandom(a_rndSeed + 39825.);\n size *= mix(size_0, size_1, factor_s);\n }\n #endif\n vec3 compScale = scale.xyz * size;\n #if FORCE_OVER_TIME_MODULE_ENABLE\n vec3 forceAnim = vec3(0.);\n if (u_force_mode == 1) {\n forceAnim = unpackCurveData(force_over_time_tex0, timeCoord0);\n } else {\n vec3 force_0 = unpackCurveData(force_over_time_tex0, timeCoord0);\n vec3 force_1 = unpackCurveData(force_over_time_tex0, timeCoord1);\n float factor_f = pseudoRandom(a_rndSeed + 212165.);\n forceAnim = mix(force_0, force_1, factor_f);\n }\n vec4 forceTrack = vec4(forceAnim, 0.);\n if (u_force_space == 0) {\n forceTrack = rotateQuat(forceTrack, u_worldRot);\n }\n velocity.xyz += forceTrack.xyz;\n #endif\n #if VELOCITY_OVER_TIME_MODULE_ENABLE\n float speedModifier0 = 1.;\n float speedModifier1 = 1.;\n vec3 velocityAnim = vec3(0.);\n if (u_velocity_mode == 1) {\n velocityAnim = unpackCurveData(velocity_over_time_tex0, timeCoord0, speedModifier0);\n } else {\n vec3 vectory_0 = unpackCurveData(velocity_over_time_tex0, timeCoord0, speedModifier0);\n vec3 vectory_1 = unpackCurveData(velocity_over_time_tex0, timeCoord1, speedModifier1);\n float factor_v = pseudoRandom(a_rndSeed + 197866.);\n velocityAnim = mix(vectory_0, vectory_1, factor_v);\n speedModifier0 = mix(speedModifier0, speedModifier1, factor_v);\n }\n vec4 velocityTrack = vec4(velocityAnim, 0.);\n if (u_velocity_space == 0) {\n velocityTrack = rotateQuat(velocityTrack, u_worldRot);\n }\n velocity.xyz += velocityTrack.xyz;\n velocity.xyz *= speedModifier0;\n #endif\n pos.xyz += velocity.xyz * normalizedTime * a_dir_life.w;\n #if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n #if CC_RENDER_MODE == 1\n velocity = rotateQuat(velocity, u_worldRot);\n #endif\n #endif\n #if !CC_INSTANCE_PARTICLE\n vec3 startRotation = a_rotation_uv.xyz;\n #endif\n #if CC_INSTANCE_PARTICLE\n vec3 startRotation = a_rotation;\n #endif\n #if CC_RENDER_MODE != 4\n #if CC_RENDER_MODE == 0\n vec3 rotEuler = startRotation.xyz;\n #elif CC_RENDER_MODE == 1\n vec3 rotEuler = vec3(0.);\n #endif\n #if CC_RENDER_MODE != 0 && CC_RENDER_MODE != 1\n vec3 rotEuler = vec3(0., 0., startRotation.z);\n #endif\n vec4 rot = quaternionFromEuler(rotEuler);\n #endif\n #if CC_RENDER_MODE == 4\n vec4 rot = quaternionFromEuler(startRotation);\n #endif\n #if ROTATION_OVER_TIME_MODULE_ENABLE\n if (u_rotation_mode == 1) {\n vec3 euler = unpackCurveData(rotation_over_time_tex0, timeCoord0) * normalizedTime * a_dir_life.w;\n vec4 quat = eulerToQuat(euler);\n mat3 mLocal = quatToMat3(quat);\n mat3 mStart = quatToMat3(rot);\n rot = mat3ToQuat(mStart * mLocal);\n } else {\n vec3 rotation_0 = unpackCurveData(rotation_over_time_tex0, timeCoord0);\n vec3 rotation_1 = unpackCurveData(rotation_over_time_tex0, timeCoord1);\n float factor_r = pseudoRandom(a_rndSeed + 125292.);\n vec3 euler = mix(rotation_0, rotation_1, factor_r) * normalizedTime * a_dir_life.w;\n #if CC_RENDER_MODE == 3 || CC_RENDER_MODE == 2\n euler = vec3(0.0, 0.0, euler.z);\n #endif\n vec4 quat = eulerToQuat(euler);\n mat3 mLocal = quatToMat3(quat);\n mat3 mStart = quatToMat3(rot);\n rot = mat3ToQuat(mStart * mLocal);\n }\n #endif\n #if COLOR_OVER_TIME_MODULE_ENABLE\n if (u_color_mode == 1) {\n color = a_color * texture(color_over_time_tex0, timeCoord0);\n } else {\n vec4 color_0 = texture(color_over_time_tex0, timeCoord0);\n vec4 color_1 = texture(color_over_time_tex0, timeCoord1);\n float factor_c = pseudoRandom(a_rndSeed + 91041.);\n color = a_color * mix(color_0, color_1, factor_c);\n }\n #endif\n #if !COLOR_OVER_TIME_MODULE_ENABLE\n color = a_color;\n #endif\n #if CC_RENDER_MODE != 4\n vec2 cornerOffset = vec2((vertIdx - 0.5));\n #if CC_RENDER_MODE == 1\n rot = vec4(0.0, 0.0, 0.0, 1.0);\n #endif\n computeVertPos(pos, cornerOffset, rot, compScale\n #if CC_RENDER_MODE == 0 || CC_RENDER_MODE == 3\n , cc_matViewInv\n #endif\n #if CC_RENDER_MODE == 1\n , cc_cameraPos.xyz\n , velocity\n , frameTile_velLenScale.z\n , frameTile_velLenScale.w\n #if !CC_INSTANCE_PARTICLE\n , a_size_uv.w\n #endif\n #if CC_INSTANCE_PARTICLE\n , a_uv.x\n #endif\n #endif\n );\n #endif\n #if CC_RENDER_MODE == 4\n mat3 rotMat = quatToMat3(rot);\n mat3 nodeMat = quatToMat3(nodeRotation);\n rotMat = nodeMat * rotMat;\n rot = mat3ToQuat(rotMat);\n mat4 xformNoScale = matrixFromRT(rot, pos.xyz);\n mat4 xform = matFromRTS(rot, pos.xyz, compScale);\n pos = xform * vec4(a_texCoord3, 1);\n vec4 normal = xformNoScale * vec4(a_normal, 0);\n color *= a_color1;\n #endif\n pos = cc_matViewProj * pos;\n float frameIndex = 0.;\n #if TEXTURE_ANIMATION_MODULE_ENABLE\n float startFrame = 0.;\n vec3 frameInfo = vec3(0.);\n if (int(u_anim_info.x) == 1) {\n frameInfo = unpackCurveData(texture_animation_tex0, timeCoord0);\n } else {\n vec3 frameInfo0 = unpackCurveData(texture_animation_tex0, timeCoord0);\n vec3 frameInfo1 = unpackCurveData(texture_animation_tex0, timeCoord1);\n float factor_t = pseudoRandom(a_rndSeed + 90794.);\n frameInfo = mix(frameInfo0, frameInfo1, factor_t);\n }\n startFrame = frameInfo.x / u_anim_info.y;\n float EPSILON = 1e-6;\n frameIndex = repeat(u_anim_info.z * (frameInfo.y + startFrame), 1. + EPSILON);\n #endif\n uv = computeUV(frameIndex, vertIdx, frameTile_velLenScale.xy) * mainTiling_Offset.xy + mainTiling_Offset.zw;\n return pos;\n}\nvoid main() { gl_Position = gpvs_main(); }","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 = 15) 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(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":71,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":42}},"defines":[{"name":"CC_RENDER_MODE","type":"number","range":[0,4]},{"name":"CC_INSTANCE_PARTICLE","type":"boolean"},{"name":"USE_VK_SHADER","type":"boolean"},{"name":"COLOR_OVER_TIME_MODULE_ENABLE","type":"boolean"},{"name":"ROTATION_OVER_TIME_MODULE_ENABLE","type":"boolean"},{"name":"SIZE_OVER_TIME_MODULE_ENABLE","type":"boolean"},{"name":"FORCE_OVER_TIME_MODULE_ENABLE","type":"boolean"},{"name":"VELOCITY_OVER_TIME_MODULE_ENABLE","type":"boolean"},{"name":"TEXTURE_ANIMATION_MODULE_ENABLE","type":"boolean"},{"name":"CC_USE_WORLD_SPACE","type":"boolean"}]},{"hash":3967087977,"name":"particles/builtin-particle-gpu|builtin/internal/particle-vs-gpu:gpvs_main|no-tint-fs:premultiplied","blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]},{"name":"SampleConstants","stageFlags":1,"binding":1,"members":[{"name":"u_sampleInfo","type":16,"count":1}],"defines":[]},{"name":"TickConstants","stageFlags":1,"binding":2,"members":[{"name":"u_worldRot","type":16,"count":1},{"name":"u_timeDelta","type":16,"count":1}],"defines":[]},{"name":"ColorConstant","stageFlags":1,"binding":3,"members":[{"name":"u_color_mode","type":5,"count":1}],"defines":["COLOR_OVER_TIME_MODULE_ENABLE"]},{"name":"RotationConstant","stageFlags":1,"binding":4,"members":[{"name":"u_rotation_mode","type":5,"count":1}],"defines":["ROTATION_OVER_TIME_MODULE_ENABLE"]},{"name":"SizeConstant","stageFlags":1,"binding":5,"members":[{"name":"u_size_mode","type":5,"count":1}],"defines":["SIZE_OVER_TIME_MODULE_ENABLE"]},{"name":"ForceConstant","stageFlags":1,"binding":6,"members":[{"name":"u_force_mode","type":5,"count":1},{"name":"u_force_space","type":5,"count":1}],"defines":["FORCE_OVER_TIME_MODULE_ENABLE"]},{"name":"VelocityConstant","stageFlags":1,"binding":7,"members":[{"name":"u_velocity_mode","type":5,"count":1},{"name":"u_velocity_space","type":5,"count":1}],"defines":["VELOCITY_OVER_TIME_MODULE_ENABLE"]},{"name":"AnimationConstant","stageFlags":1,"binding":8,"members":[{"name":"u_anim_info","type":16,"count":1}],"defines":["TEXTURE_ANIMATION_MODULE_ENABLE"]}],"samplerTextures":[{"name":"color_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":9,"defines":["COLOR_OVER_TIME_MODULE_ENABLE"]},{"name":"rotation_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":10,"defines":["ROTATION_OVER_TIME_MODULE_ENABLE"]},{"name":"size_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":11,"defines":["SIZE_OVER_TIME_MODULE_ENABLE"]},{"name":"force_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":12,"defines":["FORCE_OVER_TIME_MODULE_ENABLE"]},{"name":"velocity_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":13,"defines":["VELOCITY_OVER_TIME_MODULE_ENABLE"]},{"name":"texture_animation_tex0","type":28,"count":1,"stageFlags":1,"binding":14,"defines":["TEXTURE_ANIMATION_MODULE_ENABLE"]},{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":15,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position_starttime","format":44,"location":0,"defines":[]},{"name":"a_color","format":44,"location":1,"defines":[]},{"name":"a_dir_life","format":44,"location":2,"defines":[]},{"name":"a_rndSeed","format":11,"location":3,"defines":[]},{"name":"a_size_uv","format":44,"location":4,"defines":["!CC_INSTANCE_PARTICLE"]},{"name":"a_rotation_uv","format":44,"location":5,"defines":["!CC_INSTANCE_PARTICLE"]},{"name":"a_size_fid","format":44,"location":6,"defines":["CC_INSTANCE_PARTICLE"]},{"name":"a_rotation","format":32,"location":7,"defines":["CC_INSTANCE_PARTICLE"]},{"name":"a_uv","format":32,"location":8,"defines":["CC_INSTANCE_PARTICLE"]},{"name":"a_texCoord","format":32,"location":9,"defines":["CC_RENDER_MODE"]},{"name":"a_texCoord3","format":32,"location":10,"defines":["CC_RENDER_MODE"]},{"name":"a_normal","format":32,"location":11,"defines":["CC_RENDER_MODE"]},{"name":"a_color1","format":44,"location":12,"defines":["CC_RENDER_MODE"]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]},{"name":"SampleConstants","stageFlags":1,"binding":1,"members":[{"name":"u_sampleInfo","type":16,"count":1}],"defines":[]},{"name":"TickConstants","stageFlags":1,"binding":2,"members":[{"name":"u_worldRot","type":16,"count":1},{"name":"u_timeDelta","type":16,"count":1}],"defines":[]},{"name":"ColorConstant","stageFlags":1,"binding":3,"members":[{"name":"u_color_mode","type":5,"count":1}],"defines":["COLOR_OVER_TIME_MODULE_ENABLE"]},{"name":"RotationConstant","stageFlags":1,"binding":4,"members":[{"name":"u_rotation_mode","type":5,"count":1}],"defines":["ROTATION_OVER_TIME_MODULE_ENABLE"]},{"name":"SizeConstant","stageFlags":1,"binding":5,"members":[{"name":"u_size_mode","type":5,"count":1}],"defines":["SIZE_OVER_TIME_MODULE_ENABLE"]},{"name":"ForceConstant","stageFlags":1,"binding":6,"members":[{"name":"u_force_mode","type":5,"count":1},{"name":"u_force_space","type":5,"count":1}],"defines":["FORCE_OVER_TIME_MODULE_ENABLE"]},{"name":"VelocityConstant","stageFlags":1,"binding":7,"members":[{"name":"u_velocity_mode","type":5,"count":1},{"name":"u_velocity_space","type":5,"count":1}],"defines":["VELOCITY_OVER_TIME_MODULE_ENABLE"]},{"name":"AnimationConstant","stageFlags":1,"binding":8,"members":[{"name":"u_anim_info","type":16,"count":1}],"defines":["TEXTURE_ANIMATION_MODULE_ENABLE"]}],"samplerTextures":[{"name":"color_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":9,"defines":["COLOR_OVER_TIME_MODULE_ENABLE"]},{"name":"rotation_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":10,"defines":["ROTATION_OVER_TIME_MODULE_ENABLE"]},{"name":"size_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":11,"defines":["SIZE_OVER_TIME_MODULE_ENABLE"]},{"name":"force_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":12,"defines":["FORCE_OVER_TIME_MODULE_ENABLE"]},{"name":"velocity_over_time_tex0","type":28,"count":1,"stageFlags":1,"binding":13,"defines":["VELOCITY_OVER_TIME_MODULE_ENABLE"]},{"name":"texture_animation_tex0","type":28,"count":1,"stageFlags":1,"binding":14,"defines":["TEXTURE_ANIMATION_MODULE_ENABLE"]},{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":15,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"vert":"\nprecision mediump float;\nvec4 quaternionFromAxis (vec3 xAxis,vec3 yAxis,vec3 zAxis){\n mat3 m = mat3(xAxis,yAxis,zAxis);\n float trace = m[0][0] + m[1][1] + m[2][2];\n vec4 quat;\n if (trace > 0.) {\n float s = 0.5 / sqrt(trace + 1.0);\n quat.w = 0.25 / s;\n quat.x = (m[2][1] - m[1][2]) * s;\n quat.y = (m[0][2] - m[2][0]) * s;\n quat.z = (m[1][0] - m[0][1]) * s;\n } else if ((m[0][0] > m[1][1]) && (m[0][0] > m[2][2])) {\n float s = 2.0 * sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]);\n quat.w = (m[2][1] - m[1][2]) / s;\n quat.x = 0.25 * s;\n quat.y = (m[0][1] + m[1][0]) / s;\n quat.z = (m[0][2] + m[2][0]) / s;\n } else if (m[1][1] > m[2][2]) {\n float s = 2.0 * sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]);\n quat.w = (m[0][2] - m[2][0]) / s;\n quat.x = (m[0][1] + m[1][0]) / s;\n quat.y = 0.25 * s;\n quat.z = (m[1][2] + m[2][1]) / s;\n } else {\n float s = 2.0 * sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]);\n quat.w = (m[1][0] - m[0][1]) / s;\n quat.x = (m[0][2] + m[2][0]) / s;\n quat.y = (m[1][2] + m[2][1]) / s;\n quat.z = 0.25 * s;\n }\n float len = quat.x * quat.x + quat.y * quat.y + quat.z * quat.z + quat.w * quat.w;\n if (len > 0.) {\n len = 1. / sqrt(len);\n quat.x = quat.x * len;\n quat.y = quat.y * len;\n quat.z = quat.z * len;\n quat.w = quat.w * len;\n }\n return quat;\n}\nvec4 quaternionFromEuler (vec3 angle){\n float x = angle.x / 2.;\n float y = angle.y / 2.;\n float z = angle.z / 2.;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat = vec4(0);\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\nmat4 matrixFromRT (vec4 q, vec3 p){\n float x2 = q.x + q.x;\n float y2 = q.y + q.y;\n float z2 = q.z + q.z;\n float xx = q.x * x2;\n float xy = q.x * y2;\n float xz = q.x * z2;\n float yy = q.y * y2;\n float yz = q.y * z2;\n float zz = q.z * z2;\n float wx = q.w * x2;\n float wy = q.w * y2;\n float wz = q.w * z2;\n return mat4(\n 1. - (yy + zz), xy + wz, xz - wy, 0,\n xy - wz, 1. - (xx + zz), yz + wx, 0,\n xz + wy, yz - wx, 1. - (xx + yy), 0,\n p.x, p.y, p.z, 1\n );\n}\nmat4 matFromRTS (vec4 q, vec3 t, vec3 s){\n float x = q.x, y = q.y, z = q.z, w = q.w;\n float x2 = x + x;\n float y2 = y + y;\n float z2 = z + z;\n float xx = x * x2;\n float xy = x * y2;\n float xz = x * z2;\n float yy = y * y2;\n float yz = y * z2;\n float zz = z * z2;\n float wx = w * x2;\n float wy = w * y2;\n float wz = w * z2;\n float sx = s.x;\n float sy = s.y;\n float sz = s.z;\n return mat4((1. - (yy + zz)) * sx, (xy + wz) * sx, (xz - wy) * sx, 0,\n (xy - wz) * sy, (1. - (xx + zz)) * sy, (yz + wx) * sy, 0,\n (xz + wy) * sz, (yz - wx) * sz, (1. - (xx + yy)) * sz, 0,\n t.x, t.y, t.z, 1);\n}\nvec4 quatMultiply (vec4 a, vec4 b){\n vec4 quat;\n quat.x = a.x * b.w + a.w * b.x + a.y * b.z - a.z * b.y;\n quat.y = a.y * b.w + a.w * b.y + a.z * b.x - a.x * b.z;\n quat.z = a.z * b.w + a.w * b.z + a.x * b.y - a.y * b.x;\n quat.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z;\n return quat;\n}\nvoid rotateVecFromQuat (inout vec3 v, vec4 q){\n float ix = q.w * v.x + q.y * v.z - q.z * v.y;\n float iy = q.w * v.y + q.z * v.x - q.x * v.z;\n float iz = q.w * v.z + q.x * v.y - q.y * v.x;\n float iw = -q.x * v.x - q.y * v.y - q.z * v.z;\n v.x = ix * q.w + iw * -q.x + iy * -q.z - iz * -q.y;\n v.y = iy * q.w + iw * -q.y + iz * -q.x - ix * -q.z;\n v.z = iz * q.w + iw * -q.z + ix * -q.y - iy * -q.x;\n}\nvec3 rotateInLocalSpace (vec3 pos, vec3 xAxis, vec3 yAxis, vec3 zAxis, vec4 q){\n vec4 viewQuat = quaternionFromAxis(xAxis, yAxis, zAxis);\n vec4 rotQuat = quatMultiply(viewQuat, q);\n rotateVecFromQuat(pos, rotQuat);\n return pos;\n}\nmat3 quatToMat3(vec4 q) {\n vec3 m0 = vec3(\n 1.0 - 2.0 * q.y * q.y - 2.0 * q.z * q.z,\n 2.0 * q.x * q.y + 2.0 * q.w * q.z,\n 2.0 * q.x * q.z - 2.0 * q.w * q.y);\n\tvec3 m1 = vec3(\n 2.0 * q.x * q.y - 2.0 * q.w * q.z,\n 1.0 - 2.0 * q.x * q.x - 2.0 * q.z * q.z,\n 2.0 * q.y * q.z + 2.0 * q.w * q.x);\n\tvec3 m2 = vec3(\n 2.0 * q.x * q.z + 2.0 * q.w * q.y,\n 2.0 * q.y * q.z - 2.0 * q.w * q.x,\n 1.0 - 2.0 * q.x * q.x - 2.0 * q.y * q.y);\n return mat3(m0, m1, m2);\n}\nvec4 mat3ToQuat(mat3 mat) {\n float tr = mat[0][0] + mat[1][1] + mat[2][2];\n\tfloat qw, qx, qy, qz;\n if (tr > 0.0) {\n float S = sqrt(tr + 1.0) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = 0.25 * S;\n\t qx = (mat[1][2] - mat[2][1]) * invS;\n\t qy = (mat[2][0] - mat[0][2]) * invS;\n\t qz = (mat[0][1] - mat[1][0]) * invS;\n } else if ((mat[0][0] > mat[1][1])&&(mat[0][0] > mat[2][2])) {\n float S = sqrt(1.0 + mat[0][0] - mat[1][1] - mat[2][2]) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = (mat[1][2] - mat[2][1]) * invS;\n\t qx = 0.25 * S;\n\t qy = (mat[1][0] + mat[0][1]) * invS;\n\t qz = (mat[2][0] + mat[0][2]) * invS;\n } else if (mat[1][1] > mat[2][2]) {\n\t float S = sqrt(1.0 + mat[1][1] - mat[0][0] - mat[2][2]) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = (mat[2][0] - mat[0][2]) * invS;\n\t qx = (mat[1][0] + mat[0][1]) * invS;\n\t qy = 0.25 * S;\n\t qz = (mat[2][1] + mat[1][2]) * invS;\n } else {\n\t float S = sqrt(1.0 + mat[2][2] - mat[0][0] - mat[1][1]) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = (mat[0][1] - mat[1][0]) * invS;\n\t qx = (mat[2][0] + mat[0][2]) * invS;\n\t qy = (mat[2][1] + mat[1][2]) * invS;\n\t qz = 0.25 * S;\n }\n return vec4(qx, qy, qz, qw);\n}\nvec4 eulerToQuat(vec3 euler) {\n vec3 er = euler * 0.5;\n float x = er.x, y = er.y, z = er.z;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat;\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\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;\nvoid computeVertPos (inout vec4 pos, vec2 vertOffset, vec4 q, vec3 s\n#if CC_RENDER_MODE == 0 || CC_RENDER_MODE == 3\n , mat4 viewInv\n#endif\n#if CC_RENDER_MODE == 1\n , vec3 eye\n , vec4 velocity\n , float velocityScale\n , float lengthScale\n , float xIndex\n#endif\n) {\n#if CC_RENDER_MODE == 0\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = normalize(vec3(viewInv[0][0], viewInv[1][0], viewInv[2][0]));\n vec3 camY = normalize(vec3(viewInv[0][1], viewInv[1][1], viewInv[2][1]));\n vec3 camZ = normalize(vec3(viewInv[0][2], viewInv[1][2], viewInv[2][2]));\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, camZ, q);\n#elif CC_RENDER_MODE == 1\n vec3 camRight = normalize(cross(pos.xyz - eye, velocity.xyz)) * s.x;\n vec3 camUp = velocity.xyz * velocityScale + normalize(velocity.xyz) * lengthScale * s.y;\n pos.xyz += (camRight * abs(vertOffset.x) * sign(vertOffset.y)) - camUp * xIndex;\n#elif CC_RENDER_MODE == 2\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = vec3(1, 0, 0);\n vec3 camY = vec3(0, 0, -1);\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, cross(camX, camY), q);\n#elif CC_RENDER_MODE == 3\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n rotateVecFromQuat(viewSpaceVert, q);\n vec3 camX = normalize(vec3(cc_matView[0][0], cc_matView[1][0], cc_matView[2][0]));\n vec3 camY = vec3(0, 1, 0);\n vec3 offset = camX * viewSpaceVert.x + camY * viewSpaceVert.y;\n pos.xyz += offset;\n#else\n pos.x += vertOffset.x;\n pos.y += vertOffset.y;\n#endif\n}\nvec2 computeUV (float frameIndex, vec2 vertIndex, vec2 frameTile){\n vec2 aniUV = vec2(0, floor(frameIndex * frameTile.y));\n aniUV.x = floor(frameIndex * frameTile.x * frameTile.y - aniUV.y * frameTile.x);\n#if CC_RENDER_MODE != 4\n vertIndex.y = 1. - vertIndex.y;\n#endif\n return (aniUV.xy + vertIndex) / vec2(frameTile.x, frameTile.y);\n}\nlayout(set = 1, binding = 1) uniform SampleConstants {\n vec4 u_sampleInfo;\n};\nlayout(set = 1, binding = 2) uniform TickConstants {\n vec4 u_worldRot;\n vec4 u_timeDelta;\n};\nlayout(location = 0) in vec4 a_position_starttime;\nlayout(location = 1) in vec4 a_color;\nlayout(location = 2) in vec4 a_dir_life;\nlayout(location = 3) in float a_rndSeed;\n#if !CC_INSTANCE_PARTICLE\n layout(location = 4) in vec4 a_size_uv;\n layout(location = 5) in vec4 a_rotation_uv;\n#endif\n#if CC_INSTANCE_PARTICLE\n layout(location = 6) in vec4 a_size_fid;\n layout(location = 7) in vec3 a_rotation;\n layout(location = 8) in vec3 a_uv;\n#endif\n#if CC_RENDER_MODE == 4\n layout(location = 9) in vec3 a_texCoord;\n layout(location = 10) in vec3 a_texCoord3;\n layout(location = 11) in vec3 a_normal;\n layout(location = 12) in vec4 a_color1;\n#endif\nvec3 unpackCurveData (sampler2D tex, vec2 coord) {\n vec4 a = texture(tex, coord);\n vec4 b = texture(tex, coord + u_sampleInfo.y);\n float c = fract(coord.x * u_sampleInfo.x);\n return mix(a.xyz, b.xyz, c);\n}\nvec3 unpackCurveData (sampler2D tex, vec2 coord, out float w) {\n vec4 a = texture(tex, coord);\n vec4 b = texture(tex, coord + u_sampleInfo.y);\n float c = fract(coord.x * u_sampleInfo.x);\n w = mix(a.w, b.w, c);\n return mix(a.xyz, b.xyz, c);\n}\nfloat pseudoRandom(float x) {\n#if USE_VK_SHADER\n float o = x;\n x = mod(x - 1.0, 2.0) - 1.0;\n float freqVar = 10.16640753482;\n float y = sin(freqVar * floor(o * 0.5 - 0.5));\n float v = max(0.0, 1.0-abs(x));\n v *= 0.7071067812;\n v = y < 0.0 ? -v : v;\n return v;\n#endif\n#if !USE_VK_SHADER\n float seed = mod(x, 233280.);\n float q = (seed * 9301. + 49297.) / 233280.;\n return fract(q);\n#endif\n}\n#if COLOR_OVER_TIME_MODULE_ENABLE\n layout(set = 1, binding = 9) uniform sampler2D color_over_time_tex0;\n layout(set = 1, binding = 3) uniform ColorConstant {\n int u_color_mode;\n };\n#endif\n#if ROTATION_OVER_TIME_MODULE_ENABLE\n layout(set = 1, binding = 10) uniform sampler2D rotation_over_time_tex0;\n layout(set = 1, binding = 4) uniform RotationConstant {\n int u_rotation_mode;\n };\n#endif\n#if SIZE_OVER_TIME_MODULE_ENABLE\n layout(set = 1, binding = 11) uniform sampler2D size_over_time_tex0;\n layout(set = 1, binding = 5) uniform SizeConstant {\n int u_size_mode;\n };\n#endif\n#if FORCE_OVER_TIME_MODULE_ENABLE\n layout(set = 1, binding = 12) uniform sampler2D force_over_time_tex0;\n layout(set = 1, binding = 6) uniform ForceConstant {\n int u_force_mode;\n int u_force_space;\n };\n#endif\n#if VELOCITY_OVER_TIME_MODULE_ENABLE\n layout(set = 1, binding = 13) uniform sampler2D velocity_over_time_tex0;\n layout(set = 1, binding = 7) uniform VelocityConstant {\n int u_velocity_mode;\n int u_velocity_space;\n };\n#endif\n#if TEXTURE_ANIMATION_MODULE_ENABLE\n layout(set = 1, binding = 14) uniform sampler2D texture_animation_tex0;\n layout(set = 1, binding = 8) uniform AnimationConstant {\n vec4 u_anim_info;\n };\n#endif\nfloat repeat (float t, float length) {\n return t - floor(t / length) * length;\n}\nvec4 rotateQuat (vec4 p, vec4 q) {\n vec3 iv = cross(q.xyz, p.xyz) + q.w * p.xyz;\n vec3 res = p.xyz + 2.0 * cross(q.xyz, iv);\n return vec4(res.xyz, p.w);\n}\nvec4 gpvs_main () {\n float activeTime = u_timeDelta.x - a_position_starttime.w;\n float normalizedTime = clamp(activeTime / a_dir_life.w, 0.0, 1.0);\n vec2 timeCoord0 = vec2(normalizedTime, 0.);\n vec2 timeCoord1 = vec2(normalizedTime, 1.);\n #if CC_RENDER_MODE == 4\n vec2 vertIdx = vec2(a_texCoord.x, a_texCoord.y);\n #endif\n #if CC_RENDER_MODE != 4\n #if !CC_INSTANCE_PARTICLE\n vec2 vertIdx = vec2(a_size_uv.w, a_rotation_uv.w);\n #endif\n #if CC_INSTANCE_PARTICLE\n vec2 vertIdx = a_uv.xy;\n #endif\n #endif\n vec4 velocity = vec4(a_dir_life.xyz, 0.);\n vec4 pos = vec4(a_position_starttime.xyz, 1.);\n #if !CC_INSTANCE_PARTICLE\n vec3 size = a_size_uv.xyz;\n #endif\n #if CC_INSTANCE_PARTICLE\n vec3 size = a_size_fid.xyz;\n #endif\n #if SIZE_OVER_TIME_MODULE_ENABLE\n if (u_size_mode == 1) {\n size *= unpackCurveData(size_over_time_tex0, timeCoord0);\n } else {\n vec3 size_0 = unpackCurveData(size_over_time_tex0, timeCoord0);\n vec3 size_1 = unpackCurveData(size_over_time_tex0, timeCoord1);\n float factor_s = pseudoRandom(a_rndSeed + 39825.);\n size *= mix(size_0, size_1, factor_s);\n }\n #endif\n vec3 compScale = scale.xyz * size;\n #if FORCE_OVER_TIME_MODULE_ENABLE\n vec3 forceAnim = vec3(0.);\n if (u_force_mode == 1) {\n forceAnim = unpackCurveData(force_over_time_tex0, timeCoord0);\n } else {\n vec3 force_0 = unpackCurveData(force_over_time_tex0, timeCoord0);\n vec3 force_1 = unpackCurveData(force_over_time_tex0, timeCoord1);\n float factor_f = pseudoRandom(a_rndSeed + 212165.);\n forceAnim = mix(force_0, force_1, factor_f);\n }\n vec4 forceTrack = vec4(forceAnim, 0.);\n if (u_force_space == 0) {\n forceTrack = rotateQuat(forceTrack, u_worldRot);\n }\n velocity.xyz += forceTrack.xyz;\n #endif\n #if VELOCITY_OVER_TIME_MODULE_ENABLE\n float speedModifier0 = 1.;\n float speedModifier1 = 1.;\n vec3 velocityAnim = vec3(0.);\n if (u_velocity_mode == 1) {\n velocityAnim = unpackCurveData(velocity_over_time_tex0, timeCoord0, speedModifier0);\n } else {\n vec3 vectory_0 = unpackCurveData(velocity_over_time_tex0, timeCoord0, speedModifier0);\n vec3 vectory_1 = unpackCurveData(velocity_over_time_tex0, timeCoord1, speedModifier1);\n float factor_v = pseudoRandom(a_rndSeed + 197866.);\n velocityAnim = mix(vectory_0, vectory_1, factor_v);\n speedModifier0 = mix(speedModifier0, speedModifier1, factor_v);\n }\n vec4 velocityTrack = vec4(velocityAnim, 0.);\n if (u_velocity_space == 0) {\n velocityTrack = rotateQuat(velocityTrack, u_worldRot);\n }\n velocity.xyz += velocityTrack.xyz;\n velocity.xyz *= speedModifier0;\n #endif\n pos.xyz += velocity.xyz * normalizedTime * a_dir_life.w;\n #if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n #if CC_RENDER_MODE == 1\n velocity = rotateQuat(velocity, u_worldRot);\n #endif\n #endif\n #if !CC_INSTANCE_PARTICLE\n vec3 startRotation = a_rotation_uv.xyz;\n #endif\n #if CC_INSTANCE_PARTICLE\n vec3 startRotation = a_rotation;\n #endif\n #if CC_RENDER_MODE != 4\n #if CC_RENDER_MODE == 0\n vec3 rotEuler = startRotation.xyz;\n #elif CC_RENDER_MODE == 1\n vec3 rotEuler = vec3(0.);\n #endif\n #if CC_RENDER_MODE != 0 && CC_RENDER_MODE != 1\n vec3 rotEuler = vec3(0., 0., startRotation.z);\n #endif\n vec4 rot = quaternionFromEuler(rotEuler);\n #endif\n #if CC_RENDER_MODE == 4\n vec4 rot = quaternionFromEuler(startRotation);\n #endif\n #if ROTATION_OVER_TIME_MODULE_ENABLE\n if (u_rotation_mode == 1) {\n vec3 euler = unpackCurveData(rotation_over_time_tex0, timeCoord0) * normalizedTime * a_dir_life.w;\n vec4 quat = eulerToQuat(euler);\n mat3 mLocal = quatToMat3(quat);\n mat3 mStart = quatToMat3(rot);\n rot = mat3ToQuat(mStart * mLocal);\n } else {\n vec3 rotation_0 = unpackCurveData(rotation_over_time_tex0, timeCoord0);\n vec3 rotation_1 = unpackCurveData(rotation_over_time_tex0, timeCoord1);\n float factor_r = pseudoRandom(a_rndSeed + 125292.);\n vec3 euler = mix(rotation_0, rotation_1, factor_r) * normalizedTime * a_dir_life.w;\n #if CC_RENDER_MODE == 3 || CC_RENDER_MODE == 2\n euler = vec3(0.0, 0.0, euler.z);\n #endif\n vec4 quat = eulerToQuat(euler);\n mat3 mLocal = quatToMat3(quat);\n mat3 mStart = quatToMat3(rot);\n rot = mat3ToQuat(mStart * mLocal);\n }\n #endif\n #if COLOR_OVER_TIME_MODULE_ENABLE\n if (u_color_mode == 1) {\n color = a_color * texture(color_over_time_tex0, timeCoord0);\n } else {\n vec4 color_0 = texture(color_over_time_tex0, timeCoord0);\n vec4 color_1 = texture(color_over_time_tex0, timeCoord1);\n float factor_c = pseudoRandom(a_rndSeed + 91041.);\n color = a_color * mix(color_0, color_1, factor_c);\n }\n #endif\n #if !COLOR_OVER_TIME_MODULE_ENABLE\n color = a_color;\n #endif\n #if CC_RENDER_MODE != 4\n vec2 cornerOffset = vec2((vertIdx - 0.5));\n #if CC_RENDER_MODE == 1\n rot = vec4(0.0, 0.0, 0.0, 1.0);\n #endif\n computeVertPos(pos, cornerOffset, rot, compScale\n #if CC_RENDER_MODE == 0 || CC_RENDER_MODE == 3\n , cc_matViewInv\n #endif\n #if CC_RENDER_MODE == 1\n , cc_cameraPos.xyz\n , velocity\n , frameTile_velLenScale.z\n , frameTile_velLenScale.w\n #if !CC_INSTANCE_PARTICLE\n , a_size_uv.w\n #endif\n #if CC_INSTANCE_PARTICLE\n , a_uv.x\n #endif\n #endif\n );\n #endif\n #if CC_RENDER_MODE == 4\n mat3 rotMat = quatToMat3(rot);\n mat3 nodeMat = quatToMat3(nodeRotation);\n rotMat = nodeMat * rotMat;\n rot = mat3ToQuat(rotMat);\n mat4 xformNoScale = matrixFromRT(rot, pos.xyz);\n mat4 xform = matFromRTS(rot, pos.xyz, compScale);\n pos = xform * vec4(a_texCoord3, 1);\n vec4 normal = xformNoScale * vec4(a_normal, 0);\n color *= a_color1;\n #endif\n pos = cc_matViewProj * pos;\n float frameIndex = 0.;\n #if TEXTURE_ANIMATION_MODULE_ENABLE\n float startFrame = 0.;\n vec3 frameInfo = vec3(0.);\n if (int(u_anim_info.x) == 1) {\n frameInfo = unpackCurveData(texture_animation_tex0, timeCoord0);\n } else {\n vec3 frameInfo0 = unpackCurveData(texture_animation_tex0, timeCoord0);\n vec3 frameInfo1 = unpackCurveData(texture_animation_tex0, timeCoord1);\n float factor_t = pseudoRandom(a_rndSeed + 90794.);\n frameInfo = mix(frameInfo0, frameInfo1, factor_t);\n }\n startFrame = frameInfo.x / u_anim_info.y;\n float EPSILON = 1e-6;\n frameIndex = repeat(u_anim_info.z * (frameInfo.y + startFrame), 1. + EPSILON);\n #endif\n uv = computeUV(frameIndex, vertIdx, frameTile_velLenScale.xy) * mainTiling_Offset.xy + mainTiling_Offset.zw;\n return pos;\n}\nvoid main() { gl_Position = gpvs_main(); }","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 = 15) 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(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":71,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":42}},"defines":[{"name":"CC_RENDER_MODE","type":"number","range":[0,4]},{"name":"CC_INSTANCE_PARTICLE","type":"boolean"},{"name":"USE_VK_SHADER","type":"boolean"},{"name":"COLOR_OVER_TIME_MODULE_ENABLE","type":"boolean"},{"name":"ROTATION_OVER_TIME_MODULE_ENABLE","type":"boolean"},{"name":"SIZE_OVER_TIME_MODULE_ENABLE","type":"boolean"},{"name":"FORCE_OVER_TIME_MODULE_ENABLE","type":"boolean"},{"name":"VELOCITY_OVER_TIME_MODULE_ENABLE","type":"boolean"},{"name":"TEXTURE_ANIMATION_MODULE_ENABLE","type":"boolean"},{"name":"CC_USE_WORLD_SPACE","type":"boolean"}]}],[{"name":"add","passes":[{"program":"particles/builtin-particle-gpu|builtin/internal/particle-vs-gpu:gpvs_main|tinted-fs:add","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":1,"blendSrcAlpha":2,"blendDstAlpha":1}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":28},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]},"tintColor":{"type":16,"value":[0.5,0.5,0.5,0.5]}}},{"phase":"deferred-forward","propertyIndex":0,"program":"particles/builtin-particle-gpu|builtin/internal/particle-vs-gpu:gpvs_main|tinted-fs:add","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":1,"blendSrcAlpha":2,"blendDstAlpha":1}]},"depthStencilState":{"depthTest":true,"depthWrite":false}}]},{"name":"alpha-blend","passes":[{"program":"particles/builtin-particle-gpu|builtin/internal/particle-vs-gpu:gpvs_main|tinted-fs:add","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":4,"blendSrcAlpha":0,"blendDstAlpha":1,"blendAlphaEq":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":28},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]},"tintColor":{"type":16,"value":[0.5,0.5,0.5,0.5]}}},{"phase":"deferred-forward","propertyIndex":0,"program":"particles/builtin-particle-gpu|builtin/internal/particle-vs-gpu:gpvs_main|tinted-fs:add","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":4,"blendSrcAlpha":0,"blendDstAlpha":1,"blendAlphaEq":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false}}]},{"name":"add-multiply","passes":[{"program":"particles/builtin-particle-gpu|builtin/internal/particle-vs-gpu:gpvs_main|tinted-fs:multiply","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":7,"blendDst":1,"blendSrcAlpha":0,"blendDstAlpha":3}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":28},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]},"tintColor":{"type":16,"value":[0.5,0.5,0.5,0.5]}}},{"phase":"deferred-forward","propertyIndex":0,"program":"particles/builtin-particle-gpu|builtin/internal/particle-vs-gpu:gpvs_main|tinted-fs:multiply","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":7,"blendDst":1,"blendSrcAlpha":0,"blendDstAlpha":3}]},"depthStencilState":{"depthTest":true,"depthWrite":false}}]},{"name":"add-smooth","passes":[{"program":"particles/builtin-particle-gpu|builtin/internal/particle-vs-gpu:gpvs_main|no-tint-fs:addSmooth","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":1,"blendSrcAlpha":2,"blendDstAlpha":1}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":28},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]}}},{"phase":"deferred-forward","propertyIndex":0,"program":"particles/builtin-particle-gpu|builtin/internal/particle-vs-gpu:gpvs_main|no-tint-fs:addSmooth","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":1,"blendSrcAlpha":2,"blendDstAlpha":1}]},"depthStencilState":{"depthTest":true,"depthWrite":false}}]},{"name":"premultiply-blend","passes":[{"program":"particles/builtin-particle-gpu|builtin/internal/particle-vs-gpu:gpvs_main|no-tint-fs:premultiplied","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":4,"blendSrcAlpha":0,"blendDstAlpha":1,"blendAlphaEq":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":28},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]}}},{"phase":"deferred-forward","propertyIndex":0,"program":"particles/builtin-particle-gpu|builtin/internal/particle-vs-gpu:gpvs_main|no-tint-fs:premultiplied","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":4,"blendSrcAlpha":0,"blendDstAlpha":1,"blendAlphaEq":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false}}]}]]],0,0,[],[],[]],[[[1,"builtin-unlit",[{"hash":340555192,"name":"builtin-unlit|unlit-vs:vert|unlit-fs:frag","blocks":[{"name":"TexCoords","stageFlags":1,"binding":0,"members":[{"name":"tilingOffset","type":16,"count":1}],"defines":["USE_TEXTURE"]},{"name":"Constant","stageFlags":16,"binding":1,"members":[{"name":"mainColor","type":16,"count":1},{"name":"colorScaleAndCutoff","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":2,"defines":["USE_TEXTURE"]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position","format":32,"location":0,"defines":[]},{"name":"a_normal","format":32,"location":1,"defines":[]},{"name":"a_texCoord","format":21,"location":2,"defines":[]},{"name":"a_tangent","format":44,"location":3,"defines":[]},{"name":"a_joints","location":4,"defines":["CC_USE_SKINNING"]},{"name":"a_weights","format":44,"location":5,"defines":["CC_USE_SKINNING"]},{"name":"a_jointAnimInfo","format":44,"isInstanced":true,"location":6,"defines":["USE_INSTANCING","CC_USE_BAKED_ANIMATION"]},{"name":"a_matWorld0","format":44,"isInstanced":true,"location":7,"defines":["USE_INSTANCING"]},{"name":"a_matWorld1","format":44,"isInstanced":true,"location":8,"defines":["USE_INSTANCING"]},{"name":"a_matWorld2","format":44,"isInstanced":true,"location":9,"defines":["USE_INSTANCING"]},{"name":"a_lightingMapUVParam","format":44,"isInstanced":true,"location":10,"defines":["USE_INSTANCING","CC_USE_LIGHTMAP"]},{"name":"a_localShadowBiasAndProbeId","format":44,"isInstanced":true,"location":11,"defines":["USE_INSTANCING"]},{"name":"a_reflectionProbeData","format":44,"isInstanced":true,"location":12,"defines":["USE_INSTANCING","CC_USE_REFLECTION_PROBE"]},{"name":"a_sh_linear_const_r","format":44,"isInstanced":true,"location":13,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_sh_linear_const_g","format":44,"isInstanced":true,"location":14,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_sh_linear_const_b","format":44,"isInstanced":true,"location":15,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_vertexId","format":11,"location":16,"defines":["CC_USE_MORPH"]},{"name":"a_color","format":44,"location":17,"defines":["USE_VERTEX_COLOR"]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCMorph","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_displacementWeights","typename":"vec4","type":16,"count":15,"isArray":true},{"name":"cc_displacementTextureInfo","typename":"vec4","type":16,"count":1}],"defines":["CC_USE_MORPH"]},{"name":"CCSkinningTexture","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_jointTextureInfo","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinningAnimation","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_jointAnimInfo","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinning","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_joints","typename":"vec4","type":16,"count":0,"precision":"highp ","isArray":true}],"defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","!CC_USE_REAL_TIME_JOINT_TEXTURE"]},{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["!USE_INSTANCING"]}],"samplerTextures":[{"name":"cc_PositionDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_POSITION"]},{"name":"cc_NormalDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_NORMAL"]},{"name":"cc_TangentDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_TANGENT"]},{"name":"cc_jointTexture","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"cc_realtimeJoint","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","CC_USE_REAL_TIME_JOINT_TEXTURE"]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[{"name":"TexCoords","stageFlags":1,"binding":0,"members":[{"name":"tilingOffset","type":16,"count":1}],"defines":["USE_TEXTURE"]},{"name":"Constant","stageFlags":16,"binding":1,"members":[{"name":"mainColor","type":16,"count":1},{"name":"colorScaleAndCutoff","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":2,"defines":["USE_TEXTURE"]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"vert":"#extension GL_EXT_shader_explicit_arithmetic_types_int32: require\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 int getVertexId() {\n return gl_VertexIndex;\n }\n#endif\nhighp float decode32 (highp vec4 rgba) {\n rgba = rgba * 255.0;\n highp float Sign = 1.0 - (step(128.0, (rgba[3]) + 0.5)) * 2.0;\n highp float Exponent = 2.0 * (mod(float(int((rgba[3]) + 0.5)), 128.0)) + (step(128.0, (rgba[2]) + 0.5)) - 127.0;\n highp float Mantissa = (mod(float(int((rgba[2]) + 0.5)), 128.0)) * 65536.0 + rgba[1] * 256.0 + rgba[0] + 8388608.0;\n return Sign * exp2(Exponent - 23.0) * Mantissa;\n}\n#if CC_USE_MORPH\n layout(set = 2, binding = 4) uniform CCMorph {\n vec4 cc_displacementWeights[15];\n vec4 cc_displacementTextureInfo;\n };\n #if CC_MORPH_TARGET_HAS_POSITION\n layout(set = 2, binding = 8) uniform sampler2D cc_PositionDisplacements;\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n layout(set = 2, binding = 9) uniform sampler2D cc_NormalDisplacements;\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n layout(set = 2, binding = 10) uniform sampler2D cc_TangentDisplacements;\n #endif\n vec2 getPixelLocation(vec2 textureResolution, int pixelIndex) {\n float pixelIndexF = float(pixelIndex);\n float x = mod(pixelIndexF, textureResolution.x);\n float y = floor(pixelIndexF / textureResolution.x);\n return vec2(x, y);\n }\n vec2 getPixelCoordFromLocation(vec2 location, vec2 textureResolution) {\n return (vec2(location.x, location.y) + .5) / textureResolution;\n }\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n vec4 fetchVec3ArrayFromTexture(sampler2D tex, int pixelIndex) {\n ivec2 texSize = textureSize(tex, 0);\n return texelFetch(tex, ivec2(pixelIndex % texSize.x, pixelIndex / texSize.x), 0);\n }\n #else\n vec4 fetchVec3ArrayFromTexture(sampler2D tex, int elementIndex) {\n int pixelIndex = elementIndex * 4;\n vec2 location = getPixelLocation(cc_displacementTextureInfo.xy, pixelIndex);\n vec2 x = getPixelCoordFromLocation(location + vec2(0.0, 0.0), cc_displacementTextureInfo.xy);\n vec2 y = getPixelCoordFromLocation(location + vec2(1.0, 0.0), cc_displacementTextureInfo.xy);\n vec2 z = getPixelCoordFromLocation(location + vec2(2.0, 0.0), cc_displacementTextureInfo.xy);\n return vec4(\n decode32(texture(tex, x)),\n decode32(texture(tex, y)),\n decode32(texture(tex, z)),\n 1.0\n );\n }\n #endif\n float getDisplacementWeight(int index) {\n int quot = index / 4;\n int remainder = index - quot * 4;\n if (remainder == 0) {\n return cc_displacementWeights[quot].x;\n } else if (remainder == 1) {\n return cc_displacementWeights[quot].y;\n } else if (remainder == 2) {\n return cc_displacementWeights[quot].z;\n } else {\n return cc_displacementWeights[quot].w;\n }\n }\n vec3 getVec3DisplacementFromTexture(sampler2D tex, int vertexIndex) {\n #if CC_MORPH_PRECOMPUTED\n return fetchVec3ArrayFromTexture(tex, vertexIndex).rgb;\n #else\n vec3 result = vec3(0, 0, 0);\n int nVertices = int(cc_displacementTextureInfo.z);\n for (int iTarget = 0; iTarget < CC_MORPH_TARGET_COUNT; ++iTarget) {\n result += (fetchVec3ArrayFromTexture(tex, nVertices * iTarget + vertexIndex).rgb * getDisplacementWeight(iTarget));\n }\n return result;\n #endif\n }\n #if CC_MORPH_TARGET_HAS_POSITION\n vec3 getPositionDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_PositionDisplacements, vertexId);\n }\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n vec3 getNormalDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_NormalDisplacements, vertexId);\n }\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n vec3 getTangentDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_TangentDisplacements, vertexId);\n }\n #endif\n void applyMorph (inout vec4 position, inout vec3 normal, inout vec4 tangent) {\n int vertexId = getVertexId();\n #if CC_MORPH_TARGET_HAS_POSITION\n position.xyz = position.xyz + getPositionDisplacement(vertexId);\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n normal.xyz = normal.xyz + getNormalDisplacement(vertexId);\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n tangent.xyz = tangent.xyz + getTangentDisplacement(vertexId);\n #endif\n }\n void applyMorph (inout vec4 position) {\n #if CC_MORPH_TARGET_HAS_POSITION\n position.xyz = position.xyz + getPositionDisplacement(getVertexId());\n #endif\n }\n#endif\n#if CC_USE_SKINNING\n #if CC_USE_BAKED_ANIMATION\n layout(set = 2, binding = 3) uniform CCSkinningTexture {\n highp vec4 cc_jointTextureInfo;\n };\n layout(set = 2, binding = 2) uniform CCSkinningAnimation {\n highp vec4 cc_jointAnimInfo;\n };\n layout(set = 2, binding = 7) uniform highp sampler2D cc_jointTexture;\n void CCGetJointTextureCoords(float pixelsPerJoint, float jointIdx, out highp float x, out highp float y, out highp float invSize)\n {\n #if USE_INSTANCING\n highp float temp = pixelsPerJoint * (a_jointAnimInfo.x * a_jointAnimInfo.y + jointIdx) + a_jointAnimInfo.z;\n #else\n highp float temp = pixelsPerJoint * (cc_jointAnimInfo.x * cc_jointTextureInfo.y + jointIdx) + cc_jointTextureInfo.z;\n #endif\n invSize = cc_jointTextureInfo.w;\n highp float tempY = floor(temp * invSize);\n x = floor(temp - tempY * cc_jointTextureInfo.x);\n y = (tempY + 0.5) * invSize;\n }\n #else\n #if CC_USE_REAL_TIME_JOINT_TEXTURE\n layout(set = 2, binding = 7) uniform highp sampler2D cc_realtimeJoint;\n #else\n layout(set = 2, binding = 3) uniform CCSkinning {\n highp vec4 cc_joints[CC_JOINT_UNIFORM_CAPACITY * 3];\n };\n #endif\n #endif\n #if CC_USE_BAKED_ANIMATION\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n mat4 getJointMatrix (float i) {\n highp float x, y, invSize;\n CCGetJointTextureCoords(3.0, i, x, y, invSize);\n vec4 v1 = texture(cc_jointTexture, vec2((x + 0.5) * invSize, y));\n vec4 v2 = texture(cc_jointTexture, vec2((x + 1.5) * invSize, y));\n vec4 v3 = texture(cc_jointTexture, vec2((x + 2.5) * invSize, y));\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #else\n mat4 getJointMatrix (float i) {\n highp float x, y, invSize;\n CCGetJointTextureCoords(12.0, i, x, y, invSize);\n vec4 v1 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 0.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 1.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 2.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 3.5) * invSize, y)))\n );\n vec4 v2 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 4.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 5.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 6.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 7.5) * invSize, y)))\n );\n vec4 v3 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 8.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 9.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 10.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 11.5) * invSize, y)))\n );\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #else\n #if CC_USE_REAL_TIME_JOINT_TEXTURE\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n mat4 getJointMatrix (float i) {\n float x = i;\n vec4 v1 = texture(cc_realtimeJoint, vec2( x / 256.0, 0.5 / 3.0));\n vec4 v2 = texture(cc_realtimeJoint, vec2( x / 256.0, 1.5 / 3.0));\n vec4 v3 = texture(cc_realtimeJoint, vec2( x / 256.0, 2.5 / 3.0));\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #else\n mat4 getJointMatrix (float i) {\n float x = 4.0 * i;\n vec4 v1 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 0.5 / 3.0)))\n );\n vec4 v2 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 1.5 / 3.0)))\n );\n vec4 v3 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 2.5 / 3.0)))\n );\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #else\n mat4 getJointMatrix (float i) {\n int idx = int(i);\n vec4 v1 = cc_joints[idx * 3];\n vec4 v2 = cc_joints[idx * 3 + 1];\n vec4 v3 = cc_joints[idx * 3 + 2];\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #endif\n mat4 skinMatrix () {\n vec4 joints = vec4(a_joints);\n return getJointMatrix(joints.x) * a_weights.x\n + getJointMatrix(joints.y) * a_weights.y\n + getJointMatrix(joints.z) * a_weights.z\n + getJointMatrix(joints.w) * a_weights.w;\n }\n void CCSkin (inout vec4 position) {\n mat4 m = skinMatrix();\n position = m * position;\n }\n void CCSkin (inout vec4 position, inout vec3 normal, inout vec4 tangent) {\n mat4 m = skinMatrix();\n position = m * position;\n normal = (m * vec4(normal, 0.0)).xyz;\n tangent.xyz = (m * vec4(tangent.xyz, 0.0)).xyz;\n }\n#endif\nvoid CCVertInput(inout vec4 In)\n{\n In = vec4(a_position, 1.0);\n #if CC_USE_MORPH\n applyMorph(In);\n #endif\n #if CC_USE_SKINNING\n CCSkin(In);\n #endif\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};\n#if !USE_INSTANCING\n layout(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 };\n#endif\nvoid CCGetWorldMatrix(out mat4 matWorld)\n{\n #if USE_INSTANCING\n matWorld = mat4(\n vec4(a_matWorld0.xyz, 0.0),\n vec4(a_matWorld1.xyz, 0.0),\n vec4(a_matWorld2.xyz, 0.0),\n vec4(a_matWorld0.w, a_matWorld1.w, a_matWorld2.w, 1.0)\n );\n #else\n matWorld = cc_matWorld;\n #endif\n}\n#if CC_USE_FOG != 4\n float LinearFog(vec4 pos, vec3 cameraPos, float fogStart, float fogEnd) {\n vec4 wPos = pos;\n float cam_dis = distance(cameraPos, wPos.xyz);\n return clamp((fogEnd - cam_dis) / (fogEnd - fogStart), 0., 1.);\n }\n float ExpFog(vec4 pos, vec3 cameraPos, float fogStart, float fogDensity, float fogAtten) {\n vec4 wPos = pos;\n float cam_dis = max(distance(cameraPos, wPos.xyz) - fogStart, 0.0) / fogAtten * 4.;\n float f = exp(-cam_dis * fogDensity);\n return f;\n }\n float ExpSquaredFog(vec4 pos, vec3 cameraPos, float fogStart, float fogDensity, float fogAtten) {\n vec4 wPos = pos;\n float cam_dis = max(distance(cameraPos, wPos.xyz) - fogStart, 0.0) / fogAtten * 4.;\n float f = exp(-cam_dis * cam_dis * fogDensity * fogDensity);\n return f;\n }\n float LayeredFog(vec4 pos, vec3 cameraPos, float fogTop, float fogRange, float fogAtten) {\n vec4 wPos = pos;\n vec3 camWorldProj = cameraPos.xyz;\n camWorldProj.y = 0.;\n vec3 worldPosProj = wPos.xyz;\n worldPosProj.y = 0.;\n float fDeltaD = distance(worldPosProj, camWorldProj) / fogAtten * 2.0;\n float fDeltaY, fDensityIntegral;\n if (cameraPos.y > fogTop) {\n if (wPos.y < fogTop) {\n fDeltaY = (fogTop - wPos.y) / fogRange * 2.0;\n fDensityIntegral = fDeltaY * fDeltaY * 0.5;\n }\n else {\n fDeltaY = 0.;\n fDensityIntegral = 0.;\n }\n }\n else {\n if (wPos.y < fogTop) {\n float fDeltaA = (fogTop - cameraPos.y) / fogRange * 2.;\n float fDeltaB = (fogTop - wPos.y) / fogRange * 2.;\n fDeltaY = abs(fDeltaA - fDeltaB);\n fDensityIntegral = abs((fDeltaA * fDeltaA * 0.5) - (fDeltaB * fDeltaB * 0.5));\n }\n else {\n fDeltaY = abs(fogTop - cameraPos.y) / fogRange * 2.;\n fDensityIntegral = abs(fDeltaY * fDeltaY * 0.5);\n }\n }\n float fDensity;\n if (fDeltaY != 0.) {\n fDensity = (sqrt(1.0 + ((fDeltaD / fDeltaY) * (fDeltaD / fDeltaY)))) * fDensityIntegral;\n }\n else {\n fDensity = 0.;\n }\n float f = exp(-fDensity);\n return f;\n }\n#endif\nvoid CC_TRANSFER_FOG_BASE(vec4 pos, out float factor)\n{\n#if CC_USE_FOG == 0\n\tfactor = LinearFog(pos, cc_cameraPos.xyz, cc_fogBase.x, cc_fogBase.y);\n#elif CC_USE_FOG == 1\n\tfactor = ExpFog(pos, cc_cameraPos.xyz, cc_fogBase.x, cc_fogBase.z, cc_fogAdd.z);\n#elif CC_USE_FOG == 2\n\tfactor = ExpSquaredFog(pos, cc_cameraPos.xyz, cc_fogBase.x, cc_fogBase.z, cc_fogAdd.z);\n#elif CC_USE_FOG == 3\n\tfactor = LayeredFog(pos, cc_cameraPos.xyz, cc_fogAdd.x, cc_fogAdd.y, cc_fogAdd.z);\n#else\n\tfactor = 1.0;\n#endif\n}\n#if !CC_USE_ACCURATE_FOG\nlayout(location = 0) out mediump float v_fog_factor;\n#endif\nvoid CC_TRANSFER_FOG(vec4 pos) {\n#if !CC_USE_ACCURATE_FOG\n CC_TRANSFER_FOG_BASE(pos, v_fog_factor);\n#endif\n}\n#if USE_VERTEX_COLOR\n layout(location = 17) in lowp vec4 a_color;\n layout(location = 1) out lowp vec4 v_color;\n#endif\n#if USE_TEXTURE\n layout(location = 2) out vec2 v_uv;\n layout(set = 1, binding = 0) uniform TexCoords {\n vec4 tilingOffset;\n };\n#endif\nvec4 vert () {\n vec4 position;\n CCVertInput(position);\n mat4 matWorld;\n CCGetWorldMatrix(matWorld);\n #if USE_TEXTURE\n v_uv = a_texCoord * tilingOffset.xy + tilingOffset.zw;\n #if SAMPLE_FROM_RT\n v_uv = cc_cameraPos.w > 1.0 ? vec2(v_uv.x, 1.0 - v_uv.y) : v_uv;\n #endif\n #endif\n #if USE_VERTEX_COLOR\n v_color = a_color;\n #endif\n CC_TRANSFER_FOG(matWorld * position);\n return cc_matProj * (cc_matView * matWorld) * position;\n}\nvoid main() { gl_Position = vert(); }","frag":"\nprecision highp float;\nvec3 ACESToneMap (vec3 color) {\n color = min(color, vec3(8.0));\n const float A = 2.51;\n const float B = 0.03;\n const float C = 2.43;\n const float D = 0.59;\n const float E = 0.14;\n return (color * (A * color + B)) / (color * (C * color + D) + E);\n}\nvec3 SRGBToLinear (vec3 gamma) {\n#ifdef CC_USE_SURFACE_SHADER\n #if CC_USE_DEBUG_VIEW == CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC && CC_SURFACES_ENABLE_DEBUG_VIEW\n if (!IS_DEBUG_VIEW_COMPOSITE_ENABLE_GAMMA_CORRECTION) {\n return gamma;\n }\n #endif\n#endif\n return gamma * gamma;\n}\nvec3 LinearToSRGB(vec3 linear) {\n#ifdef CC_USE_SURFACE_SHADER\n #if CC_USE_DEBUG_VIEW == CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC && CC_SURFACES_ENABLE_DEBUG_VIEW\n if (!IS_DEBUG_VIEW_COMPOSITE_ENABLE_GAMMA_CORRECTION) {\n return linear;\n }\n #endif\n#endif\n return sqrt(linear);\n}\nvec4 packRGBE (vec3 rgb) {\n highp float maxComp = max(max(rgb.r, rgb.g), rgb.b);\n highp float e = 128.0;\n if (maxComp > 0.0001) {\n e = log(maxComp) / log(1.1);\n e = ceil(e);\n e = clamp(e + 128.0, 0.0, 255.0);\n }\n highp float sc = 1.0 / pow(1.1, e - 128.0);\n vec3 encode = clamp(rgb * sc, vec3(0.0), vec3(1.0)) * 255.0;\n vec3 encode_rounded = floor(encode) + step(encode - floor(encode), vec3(0.5));\n return vec4(encode_rounded, e) / 255.0;\n}\nvec4 CCFragOutput (vec4 color) {\n #if CC_USE_RGBE_OUTPUT\n color = packRGBE(color.rgb);\n #elif !CC_USE_FLOAT_OUTPUT\n #if CC_USE_HDR && CC_TONE_MAPPING_TYPE == HDR_TONE_MAPPING_ACES\n color.rgb = ACESToneMap(color.rgb);\n #endif\n color.rgb = LinearToSRGB(color.rgb);\n #endif\n return color;\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};\n#if CC_USE_FOG != 4\n float LinearFog(vec4 pos, vec3 cameraPos, float fogStart, float fogEnd) {\n vec4 wPos = pos;\n float cam_dis = distance(cameraPos, wPos.xyz);\n return clamp((fogEnd - cam_dis) / (fogEnd - fogStart), 0., 1.);\n }\n float ExpFog(vec4 pos, vec3 cameraPos, float fogStart, float fogDensity, float fogAtten) {\n vec4 wPos = pos;\n float cam_dis = max(distance(cameraPos, wPos.xyz) - fogStart, 0.0) / fogAtten * 4.;\n float f = exp(-cam_dis * fogDensity);\n return f;\n }\n float ExpSquaredFog(vec4 pos, vec3 cameraPos, float fogStart, float fogDensity, float fogAtten) {\n vec4 wPos = pos;\n float cam_dis = max(distance(cameraPos, wPos.xyz) - fogStart, 0.0) / fogAtten * 4.;\n float f = exp(-cam_dis * cam_dis * fogDensity * fogDensity);\n return f;\n }\n float LayeredFog(vec4 pos, vec3 cameraPos, float fogTop, float fogRange, float fogAtten) {\n vec4 wPos = pos;\n vec3 camWorldProj = cameraPos.xyz;\n camWorldProj.y = 0.;\n vec3 worldPosProj = wPos.xyz;\n worldPosProj.y = 0.;\n float fDeltaD = distance(worldPosProj, camWorldProj) / fogAtten * 2.0;\n float fDeltaY, fDensityIntegral;\n if (cameraPos.y > fogTop) {\n if (wPos.y < fogTop) {\n fDeltaY = (fogTop - wPos.y) / fogRange * 2.0;\n fDensityIntegral = fDeltaY * fDeltaY * 0.5;\n }\n else {\n fDeltaY = 0.;\n fDensityIntegral = 0.;\n }\n }\n else {\n if (wPos.y < fogTop) {\n float fDeltaA = (fogTop - cameraPos.y) / fogRange * 2.;\n float fDeltaB = (fogTop - wPos.y) / fogRange * 2.;\n fDeltaY = abs(fDeltaA - fDeltaB);\n fDensityIntegral = abs((fDeltaA * fDeltaA * 0.5) - (fDeltaB * fDeltaB * 0.5));\n }\n else {\n fDeltaY = abs(fogTop - cameraPos.y) / fogRange * 2.;\n fDensityIntegral = abs(fDeltaY * fDeltaY * 0.5);\n }\n }\n float fDensity;\n if (fDeltaY != 0.) {\n fDensity = (sqrt(1.0 + ((fDeltaD / fDeltaY) * (fDeltaD / fDeltaY)))) * fDensityIntegral;\n }\n else {\n fDensity = 0.;\n }\n float f = exp(-fDensity);\n return f;\n }\n#endif\nvoid CC_TRANSFER_FOG_BASE(vec4 pos, out float factor)\n{\n#if CC_USE_FOG == 0\n\tfactor = LinearFog(pos, cc_cameraPos.xyz, cc_fogBase.x, cc_fogBase.y);\n#elif CC_USE_FOG == 1\n\tfactor = ExpFog(pos, cc_cameraPos.xyz, cc_fogBase.x, cc_fogBase.z, cc_fogAdd.z);\n#elif CC_USE_FOG == 2\n\tfactor = ExpSquaredFog(pos, cc_cameraPos.xyz, cc_fogBase.x, cc_fogBase.z, cc_fogAdd.z);\n#elif CC_USE_FOG == 3\n\tfactor = LayeredFog(pos, cc_cameraPos.xyz, cc_fogAdd.x, cc_fogAdd.y, cc_fogAdd.z);\n#else\n\tfactor = 1.0;\n#endif\n}\nvoid CC_APPLY_FOG_BASE(inout vec4 color, float factor) {\n\tcolor = vec4(mix(cc_fogColor.rgb, color.rgb, factor), color.a);\n}\n#if !CC_USE_ACCURATE_FOG\nlayout(location = 0) in mediump float v_fog_factor;\n#endif\nvoid CC_APPLY_FOG(inout vec4 color) {\n#if !CC_USE_ACCURATE_FOG\n CC_APPLY_FOG_BASE(color, v_fog_factor);\n#endif\n}\nvoid CC_APPLY_FOG(inout vec4 color, vec3 worldPos) {\n#if CC_USE_ACCURATE_FOG\n float factor;\n CC_TRANSFER_FOG_BASE(vec4(worldPos, 1.0), factor);\n#else\n float factor = v_fog_factor;\n#endif\n CC_APPLY_FOG_BASE(color, factor);\n}\n#if USE_ALPHA_TEST\n#endif\n#if USE_TEXTURE\n layout(location = 2) in vec2 v_uv;\n layout(set = 1, binding = 2) uniform sampler2D mainTexture;\n#endif\nlayout(set = 1, binding = 1) uniform Constant {\n vec4 mainColor;\n vec4 colorScaleAndCutoff;\n};\n#if USE_VERTEX_COLOR\n layout(location = 1) in lowp vec4 v_color;\n#endif\nvec4 frag () {\n vec4 o = mainColor;\n o.rgb *= colorScaleAndCutoff.xyz;\n #if USE_VERTEX_COLOR\n o.rgb *= SRGBToLinear(v_color.rgb);\n o.a *= v_color.a;\n #endif\n #if USE_TEXTURE\n vec4 texColor = texture(mainTexture, v_uv);\n texColor.rgb = SRGBToLinear(texColor.rgb);\n o *= texColor;\n #endif\n #if USE_ALPHA_TEST\n if (o.ALPHA_TEST_CHANNEL < colorScaleAndCutoff.w) discard;\n #endif\n CC_APPLY_FOG(o);\n return CCFragOutput(o);\n}\nlayout(location = 0) out vec4 cc_FragColor;\nvoid main() { cc_FragColor = frag(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCMorph","defines":["CC_USE_MORPH"]},{"name":"CCSkinningTexture","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinningAnimation","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinning","defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","!CC_USE_REAL_TIME_JOINT_TEXTURE"]},{"name":"CCLocal","defines":["!USE_INSTANCING"]}],"samplerTextures":[{"name":"cc_PositionDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_POSITION"]},{"name":"cc_NormalDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_NORMAL"]},{"name":"cc_TangentDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_TANGENT"]},{"name":"cc_jointTexture","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"cc_realtimeJoint","defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","CC_USE_REAL_TIME_JOINT_TEXTURE"]}],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":75,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":44}},"defines":[{"name":"USE_INSTANCING","type":"boolean"},{"name":"CC_USE_SKINNING","type":"boolean"},{"name":"CC_USE_BAKED_ANIMATION","type":"boolean"},{"name":"CC_USE_LIGHTMAP","type":"boolean"},{"name":"CC_USE_REFLECTION_PROBE","type":"boolean"},{"name":"CC_RECEIVE_SHADOW","type":"boolean"},{"name":"CC_USE_LIGHT_PROBE","type":"boolean"},{"name":"CC_USE_MORPH","type":"boolean"},{"name":"CC_MORPH_TARGET_COUNT","type":"number","range":[2,8]},{"name":"CC_MORPH_TARGET_HAS_POSITION","type":"boolean"},{"name":"CC_MORPH_TARGET_HAS_NORMAL","type":"boolean"},{"name":"CC_MORPH_TARGET_HAS_TANGENT","type":"boolean"},{"name":"CC_MORPH_PRECOMPUTED","type":"boolean"},{"name":"CC_USE_REAL_TIME_JOINT_TEXTURE","type":"boolean"},{"name":"CC_USE_FOG","type":"number","range":[0,4]},{"name":"CC_USE_ACCURATE_FOG","type":"boolean"},{"name":"USE_VERTEX_COLOR","type":"boolean"},{"name":"USE_TEXTURE","type":"boolean"},{"name":"SAMPLE_FROM_RT","type":"boolean"},{"name":"CC_USE_DEBUG_VIEW","type":"number","range":[0,3]},{"name":"CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC","type":"boolean"},{"name":"CC_SURFACES_ENABLE_DEBUG_VIEW","type":"boolean"},{"name":"CC_USE_RGBE_OUTPUT","type":"boolean"},{"name":"CC_USE_FLOAT_OUTPUT","type":"boolean"},{"name":"CC_USE_HDR","type":"boolean"},{"name":"CC_TONE_MAPPING_TYPE","type":"number","range":[0,3]},{"name":"HDR_TONE_MAPPING_ACES","type":"boolean"},{"name":"USE_ALPHA_TEST","type":"boolean"},{"name":"ALPHA_TEST_CHANNEL","type":"string","options":["a","r","g","b"]}]},{"hash":3680218420,"name":"builtin-unlit|planar-shadow-vs:vert|planar-shadow-fs:frag","blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position","format":32,"location":0,"defines":[]},{"name":"a_normal","format":32,"location":1,"defines":[]},{"name":"a_texCoord","format":21,"location":2,"defines":[]},{"name":"a_tangent","format":44,"location":3,"defines":[]},{"name":"a_joints","location":4,"defines":["CC_USE_SKINNING"]},{"name":"a_weights","format":44,"location":5,"defines":["CC_USE_SKINNING"]},{"name":"a_jointAnimInfo","format":44,"isInstanced":true,"location":6,"defines":["USE_INSTANCING","CC_USE_BAKED_ANIMATION"]},{"name":"a_matWorld0","format":44,"isInstanced":true,"location":7,"defines":["USE_INSTANCING"]},{"name":"a_matWorld1","format":44,"isInstanced":true,"location":8,"defines":["USE_INSTANCING"]},{"name":"a_matWorld2","format":44,"isInstanced":true,"location":9,"defines":["USE_INSTANCING"]},{"name":"a_lightingMapUVParam","format":44,"isInstanced":true,"location":10,"defines":["USE_INSTANCING","CC_USE_LIGHTMAP"]},{"name":"a_localShadowBiasAndProbeId","format":44,"isInstanced":true,"location":11,"defines":["USE_INSTANCING"]},{"name":"a_reflectionProbeData","format":44,"isInstanced":true,"location":12,"defines":["USE_INSTANCING","CC_USE_REFLECTION_PROBE"]},{"name":"a_sh_linear_const_r","format":44,"isInstanced":true,"location":13,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_sh_linear_const_g","format":44,"isInstanced":true,"location":14,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_sh_linear_const_b","format":44,"isInstanced":true,"location":15,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_vertexId","format":11,"location":16,"defines":["CC_USE_MORPH"]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCMorph","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_displacementWeights","typename":"vec4","type":16,"count":15,"isArray":true},{"name":"cc_displacementTextureInfo","typename":"vec4","type":16,"count":1}],"defines":["CC_USE_MORPH"]},{"name":"CCSkinningTexture","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_jointTextureInfo","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinningAnimation","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_jointAnimInfo","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinning","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_joints","typename":"vec4","type":16,"count":0,"precision":"highp ","isArray":true}],"defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","!CC_USE_REAL_TIME_JOINT_TEXTURE"]},{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["!USE_INSTANCING"]}],"samplerTextures":[{"name":"cc_PositionDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_POSITION"]},{"name":"cc_NormalDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_NORMAL"]},{"name":"cc_TangentDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_TANGENT"]},{"name":"cc_jointTexture","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"cc_realtimeJoint","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","CC_USE_REAL_TIME_JOINT_TEXTURE"]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCShadow","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matLightView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matLightViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_shadowInvProjDepthInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowProjDepthInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowProjInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowNFLSInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowWHPBInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowLPNNInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowColor","typename":"vec4","type":16,"count":1,"precision":"lowp "},{"name":"cc_planarNDInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"vert":"#extension GL_EXT_shader_explicit_arithmetic_types_int32: require\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)\nfloat saturate(float value) { return clamp(value, 0.0, 1.0); }\nvec2 saturate(vec2 value) { return clamp(value, vec2(0.0), vec2(1.0)); }\nvec3 saturate(vec3 value) { return clamp(value, vec3(0.0), vec3(1.0)); }\nvec4 saturate(vec4 value) { return clamp(value, vec4(0.0), vec4(1.0)); }\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 int getVertexId() {\n return gl_VertexIndex;\n }\n#endif\nhighp float decode32 (highp vec4 rgba) {\n rgba = rgba * 255.0;\n highp float Sign = 1.0 - (step(128.0, (rgba[3]) + 0.5)) * 2.0;\n highp float Exponent = 2.0 * (mod(float(int((rgba[3]) + 0.5)), 128.0)) + (step(128.0, (rgba[2]) + 0.5)) - 127.0;\n highp float Mantissa = (mod(float(int((rgba[2]) + 0.5)), 128.0)) * 65536.0 + rgba[1] * 256.0 + rgba[0] + 8388608.0;\n return Sign * exp2(Exponent - 23.0) * Mantissa;\n}\n#if CC_USE_MORPH\n layout(set = 2, binding = 4) uniform CCMorph {\n vec4 cc_displacementWeights[15];\n vec4 cc_displacementTextureInfo;\n };\n #if CC_MORPH_TARGET_HAS_POSITION\n layout(set = 2, binding = 8) uniform sampler2D cc_PositionDisplacements;\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n layout(set = 2, binding = 9) uniform sampler2D cc_NormalDisplacements;\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n layout(set = 2, binding = 10) uniform sampler2D cc_TangentDisplacements;\n #endif\n vec2 getPixelLocation(vec2 textureResolution, int pixelIndex) {\n float pixelIndexF = float(pixelIndex);\n float x = mod(pixelIndexF, textureResolution.x);\n float y = floor(pixelIndexF / textureResolution.x);\n return vec2(x, y);\n }\n vec2 getPixelCoordFromLocation(vec2 location, vec2 textureResolution) {\n return (vec2(location.x, location.y) + .5) / textureResolution;\n }\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n vec4 fetchVec3ArrayFromTexture(sampler2D tex, int pixelIndex) {\n ivec2 texSize = textureSize(tex, 0);\n return texelFetch(tex, ivec2(pixelIndex % texSize.x, pixelIndex / texSize.x), 0);\n }\n #else\n vec4 fetchVec3ArrayFromTexture(sampler2D tex, int elementIndex) {\n int pixelIndex = elementIndex * 4;\n vec2 location = getPixelLocation(cc_displacementTextureInfo.xy, pixelIndex);\n vec2 x = getPixelCoordFromLocation(location + vec2(0.0, 0.0), cc_displacementTextureInfo.xy);\n vec2 y = getPixelCoordFromLocation(location + vec2(1.0, 0.0), cc_displacementTextureInfo.xy);\n vec2 z = getPixelCoordFromLocation(location + vec2(2.0, 0.0), cc_displacementTextureInfo.xy);\n return vec4(\n decode32(texture(tex, x)),\n decode32(texture(tex, y)),\n decode32(texture(tex, z)),\n 1.0\n );\n }\n #endif\n float getDisplacementWeight(int index) {\n int quot = index / 4;\n int remainder = index - quot * 4;\n if (remainder == 0) {\n return cc_displacementWeights[quot].x;\n } else if (remainder == 1) {\n return cc_displacementWeights[quot].y;\n } else if (remainder == 2) {\n return cc_displacementWeights[quot].z;\n } else {\n return cc_displacementWeights[quot].w;\n }\n }\n vec3 getVec3DisplacementFromTexture(sampler2D tex, int vertexIndex) {\n #if CC_MORPH_PRECOMPUTED\n return fetchVec3ArrayFromTexture(tex, vertexIndex).rgb;\n #else\n vec3 result = vec3(0, 0, 0);\n int nVertices = int(cc_displacementTextureInfo.z);\n for (int iTarget = 0; iTarget < CC_MORPH_TARGET_COUNT; ++iTarget) {\n result += (fetchVec3ArrayFromTexture(tex, nVertices * iTarget + vertexIndex).rgb * getDisplacementWeight(iTarget));\n }\n return result;\n #endif\n }\n #if CC_MORPH_TARGET_HAS_POSITION\n vec3 getPositionDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_PositionDisplacements, vertexId);\n }\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n vec3 getNormalDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_NormalDisplacements, vertexId);\n }\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n vec3 getTangentDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_TangentDisplacements, vertexId);\n }\n #endif\n void applyMorph (inout vec4 position, inout vec3 normal, inout vec4 tangent) {\n int vertexId = getVertexId();\n #if CC_MORPH_TARGET_HAS_POSITION\n position.xyz = position.xyz + getPositionDisplacement(vertexId);\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n normal.xyz = normal.xyz + getNormalDisplacement(vertexId);\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n tangent.xyz = tangent.xyz + getTangentDisplacement(vertexId);\n #endif\n }\n void applyMorph (inout vec4 position) {\n #if CC_MORPH_TARGET_HAS_POSITION\n position.xyz = position.xyz + getPositionDisplacement(getVertexId());\n #endif\n }\n#endif\n#if CC_USE_SKINNING\n #if CC_USE_BAKED_ANIMATION\n layout(set = 2, binding = 3) uniform CCSkinningTexture {\n highp vec4 cc_jointTextureInfo;\n };\n layout(set = 2, binding = 2) uniform CCSkinningAnimation {\n highp vec4 cc_jointAnimInfo;\n };\n layout(set = 2, binding = 7) uniform highp sampler2D cc_jointTexture;\n void CCGetJointTextureCoords(float pixelsPerJoint, float jointIdx, out highp float x, out highp float y, out highp float invSize)\n {\n #if USE_INSTANCING\n highp float temp = pixelsPerJoint * (a_jointAnimInfo.x * a_jointAnimInfo.y + jointIdx) + a_jointAnimInfo.z;\n #else\n highp float temp = pixelsPerJoint * (cc_jointAnimInfo.x * cc_jointTextureInfo.y + jointIdx) + cc_jointTextureInfo.z;\n #endif\n invSize = cc_jointTextureInfo.w;\n highp float tempY = floor(temp * invSize);\n x = floor(temp - tempY * cc_jointTextureInfo.x);\n y = (tempY + 0.5) * invSize;\n }\n #else\n #if CC_USE_REAL_TIME_JOINT_TEXTURE\n layout(set = 2, binding = 7) uniform highp sampler2D cc_realtimeJoint;\n #else\n layout(set = 2, binding = 3) uniform CCSkinning {\n highp vec4 cc_joints[CC_JOINT_UNIFORM_CAPACITY * 3];\n };\n #endif\n #endif\n #if CC_USE_BAKED_ANIMATION\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n mat4 getJointMatrix (float i) {\n highp float x, y, invSize;\n CCGetJointTextureCoords(3.0, i, x, y, invSize);\n vec4 v1 = texture(cc_jointTexture, vec2((x + 0.5) * invSize, y));\n vec4 v2 = texture(cc_jointTexture, vec2((x + 1.5) * invSize, y));\n vec4 v3 = texture(cc_jointTexture, vec2((x + 2.5) * invSize, y));\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #else\n mat4 getJointMatrix (float i) {\n highp float x, y, invSize;\n CCGetJointTextureCoords(12.0, i, x, y, invSize);\n vec4 v1 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 0.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 1.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 2.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 3.5) * invSize, y)))\n );\n vec4 v2 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 4.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 5.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 6.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 7.5) * invSize, y)))\n );\n vec4 v3 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 8.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 9.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 10.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 11.5) * invSize, y)))\n );\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #else\n #if CC_USE_REAL_TIME_JOINT_TEXTURE\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n mat4 getJointMatrix (float i) {\n float x = i;\n vec4 v1 = texture(cc_realtimeJoint, vec2( x / 256.0, 0.5 / 3.0));\n vec4 v2 = texture(cc_realtimeJoint, vec2( x / 256.0, 1.5 / 3.0));\n vec4 v3 = texture(cc_realtimeJoint, vec2( x / 256.0, 2.5 / 3.0));\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #else\n mat4 getJointMatrix (float i) {\n float x = 4.0 * i;\n vec4 v1 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 0.5 / 3.0)))\n );\n vec4 v2 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 1.5 / 3.0)))\n );\n vec4 v3 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 2.5 / 3.0)))\n );\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #else\n mat4 getJointMatrix (float i) {\n int idx = int(i);\n vec4 v1 = cc_joints[idx * 3];\n vec4 v2 = cc_joints[idx * 3 + 1];\n vec4 v3 = cc_joints[idx * 3 + 2];\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #endif\n mat4 skinMatrix () {\n vec4 joints = vec4(a_joints);\n return getJointMatrix(joints.x) * a_weights.x\n + getJointMatrix(joints.y) * a_weights.y\n + getJointMatrix(joints.z) * a_weights.z\n + getJointMatrix(joints.w) * a_weights.w;\n }\n void CCSkin (inout vec4 position) {\n mat4 m = skinMatrix();\n position = m * position;\n }\n void CCSkin (inout vec4 position, inout vec3 normal, inout vec4 tangent) {\n mat4 m = skinMatrix();\n position = m * position;\n normal = (m * vec4(normal, 0.0)).xyz;\n tangent.xyz = (m * vec4(tangent.xyz, 0.0)).xyz;\n }\n#endif\nvoid CCVertInput(inout vec4 In)\n{\n In = vec4(a_position, 1.0);\n #if CC_USE_MORPH\n applyMorph(In);\n #endif\n #if CC_USE_SKINNING\n CCSkin(In);\n #endif\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};\n#if !USE_INSTANCING\n layout(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 };\n#endif\nvoid CCGetWorldMatrixFull(out mat4 matWorld, out mat4 matWorldIT)\n{\n #if USE_INSTANCING\n matWorld = mat4(\n vec4(a_matWorld0.xyz, 0.0),\n vec4(a_matWorld1.xyz, 0.0),\n vec4(a_matWorld2.xyz, 0.0),\n vec4(a_matWorld0.w, a_matWorld1.w, a_matWorld2.w, 1.0)\n );\n vec3 scale = 1.0 / vec3(length(a_matWorld0.xyz), length(a_matWorld1.xyz), length(a_matWorld2.xyz));\n vec3 scale2 = scale * scale;\n matWorldIT = mat4(\n vec4(a_matWorld0.xyz * scale2.x, 0.0),\n vec4(a_matWorld1.xyz * scale2.y, 0.0),\n vec4(a_matWorld2.xyz * scale2.z, 0.0),\n vec4(0.0, 0.0, 0.0, 1.0)\n );\n #else\n matWorld = cc_matWorld;\n matWorldIT = cc_matWorldIT;\n #endif\n}\nlayout(set = 0, binding = 2) uniform CCShadow {\n highp mat4 cc_matLightView;\n highp mat4 cc_matLightViewProj;\n highp vec4 cc_shadowInvProjDepthInfo;\n highp vec4 cc_shadowProjDepthInfo;\n highp vec4 cc_shadowProjInfo;\n mediump vec4 cc_shadowNFLSInfo;\n mediump vec4 cc_shadowWHPBInfo;\n mediump vec4 cc_shadowLPNNInfo;\n lowp vec4 cc_shadowColor;\n mediump vec4 cc_planarNDInfo;\n};\nvec4 CalculatePlanarShadowPos(vec3 meshWorldPos, vec3 cameraPos, vec3 lightDir, vec4 plane) {\n vec3 P = meshWorldPos;\n vec3 L = lightDir;\n vec3 N = plane.xyz;\n float d = plane.w + EPSILON_LOWP;\n float dist = (-d - dot(P, N)) / (dot(L, N) + EPSILON_LOWP);\n vec3 shadowPos = P + L * dist;\n return vec4(shadowPos, dist);\n}\nvec4 CalculatePlanarShadowClipPos(vec4 shadowPos, vec3 cameraPos, mat4 matView, mat4 matProj, vec4 nearFar, float bias) {\n vec4 camPos = matView * vec4(shadowPos.xyz, 1.0);\n float lerpCoef = saturate((nearFar.z < 0.0 ? -camPos.z : camPos.z) / (nearFar.y - nearFar.x));\n camPos.z += mix(nearFar.x * 0.01, nearFar.y * EPSILON_LOWP * bias, lerpCoef);\n return matProj * camPos;\n}\nlayout(location = 0) out float v_dist;\nvec4 vert () {\n vec4 position;\n CCVertInput(position);\n mat4 matWorld, matWorldIT;\n CCGetWorldMatrixFull(matWorld, matWorldIT);\n vec3 worldPos = (matWorld * position).xyz;\n vec4 shadowPos = CalculatePlanarShadowPos(worldPos, cc_cameraPos.xyz, cc_mainLitDir.xyz, cc_planarNDInfo);\n position = CalculatePlanarShadowClipPos(shadowPos, cc_cameraPos.xyz, cc_matView, cc_matProj, cc_nearFar, cc_shadowWHPBInfo.w);\n v_dist = shadowPos.w;\n return position;\n}\nvoid main() { gl_Position = vert(); }","frag":"\nprecision highp float;\nlayout(set = 0, binding = 2) uniform CCShadow {\n highp mat4 cc_matLightView;\n highp mat4 cc_matLightViewProj;\n highp vec4 cc_shadowInvProjDepthInfo;\n highp vec4 cc_shadowProjDepthInfo;\n highp vec4 cc_shadowProjInfo;\n mediump vec4 cc_shadowNFLSInfo;\n mediump vec4 cc_shadowWHPBInfo;\n mediump vec4 cc_shadowLPNNInfo;\n lowp vec4 cc_shadowColor;\n mediump vec4 cc_planarNDInfo;\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};\nvec4 CCFragOutput (vec4 color) {\n return color;\n}\nlayout(location = 0) in float v_dist;\nvec4 frag () {\n if(v_dist < 0.0)\n discard;\n return CCFragOutput(cc_shadowColor);\n}\nlayout(location = 0) out vec4 cc_FragColor;\nvoid main() { cc_FragColor = frag(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]},{"name":"CCShadow","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCMorph","defines":["CC_USE_MORPH"]},{"name":"CCSkinningTexture","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinningAnimation","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinning","defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","!CC_USE_REAL_TIME_JOINT_TEXTURE"]},{"name":"CCLocal","defines":["!USE_INSTANCING"]}],"samplerTextures":[{"name":"cc_PositionDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_POSITION"]},{"name":"cc_NormalDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_NORMAL"]},{"name":"cc_TangentDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_TANGENT"]},{"name":"cc_jointTexture","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"cc_realtimeJoint","defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","CC_USE_REAL_TIME_JOINT_TEXTURE"]}],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":90,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":58}},"defines":[{"name":"USE_INSTANCING","type":"boolean"},{"name":"CC_USE_SKINNING","type":"boolean"},{"name":"CC_USE_BAKED_ANIMATION","type":"boolean"},{"name":"CC_USE_LIGHTMAP","type":"boolean"},{"name":"CC_USE_REFLECTION_PROBE","type":"boolean"},{"name":"CC_RECEIVE_SHADOW","type":"boolean"},{"name":"CC_USE_LIGHT_PROBE","type":"boolean"},{"name":"CC_USE_MORPH","type":"boolean"},{"name":"CC_MORPH_TARGET_COUNT","type":"number","range":[2,8]},{"name":"CC_MORPH_TARGET_HAS_POSITION","type":"boolean"},{"name":"CC_MORPH_TARGET_HAS_NORMAL","type":"boolean"},{"name":"CC_MORPH_TARGET_HAS_TANGENT","type":"boolean"},{"name":"CC_MORPH_PRECOMPUTED","type":"boolean"},{"name":"CC_USE_REAL_TIME_JOINT_TEXTURE","type":"boolean"}]}],[{"name":"opaque","passes":[{"program":"builtin-unlit|unlit-vs:vert|unlit-fs:frag","properties":{"mainTexture":{"value":"grey","type":28},"tilingOffset":{"type":16,"value":[1,1,0,0]},"mainColor":{"linear":true,"type":16,"value":[1,1,1,1]},"colorScale":{"type":15,"value":[1,1,1],"handleInfo":["colorScaleAndCutoff",0,15]},"alphaThreshold":{"type":13,"value":[0.5],"handleInfo":["colorScaleAndCutoff",3,13]},"color":{"linear":true,"type":16,"handleInfo":["mainColor",0,16]},"colorScaleAndCutoff":{"type":16,"value":[1,1,1,0.5]}}},{"phase":"planar-shadow","propertyIndex":0,"program":"builtin-unlit|planar-shadow-vs:vert|planar-shadow-fs:frag","blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":4,"blendDstAlpha":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false,"stencilTestFront":true,"stencilFuncFront":5,"stencilPassOpFront":2,"stencilRefBack":128,"stencilRefFront":128,"stencilReadMaskBack":128,"stencilReadMaskFront":128,"stencilWriteMaskBack":128,"stencilWriteMaskFront":128}},{"phase":"deferred-forward","propertyIndex":0,"program":"builtin-unlit|unlit-vs:vert|unlit-fs:frag"}]},{"name":"transparent","passes":[{"program":"builtin-unlit|unlit-vs:vert|unlit-fs:frag","blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":4,"blendDstAlpha":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":28},"tilingOffset":{"type":16,"value":[1,1,0,0]},"mainColor":{"linear":true,"type":16,"value":[1,1,1,1]},"colorScale":{"type":15,"value":[1,1,1],"handleInfo":["colorScaleAndCutoff",0,15]},"alphaThreshold":{"type":13,"value":[0.5],"handleInfo":["colorScaleAndCutoff",3,13]},"color":{"linear":true,"type":16,"handleInfo":["mainColor",0,16]},"colorScaleAndCutoff":{"type":16,"value":[1,1,1,0.5]}}},{"phase":"planar-shadow","propertyIndex":0,"program":"builtin-unlit|planar-shadow-vs:vert|planar-shadow-fs:frag","blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":4,"blendDstAlpha":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false,"stencilTestFront":true,"stencilFuncFront":5,"stencilPassOpFront":2,"stencilRefBack":128,"stencilRefFront":128,"stencilReadMaskBack":128,"stencilReadMaskFront":128,"stencilWriteMaskBack":128,"stencilWriteMaskFront":128}},{"phase":"deferred-forward","propertyIndex":0,"program":"builtin-unlit|unlit-vs:vert|unlit-fs:frag","blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":4,"blendDstAlpha":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false}}]},{"name":"add","passes":[{"program":"builtin-unlit|unlit-vs:vert|unlit-fs:frag","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":1,"blendSrcAlpha":2,"blendDstAlpha":1}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":28},"tilingOffset":{"type":16,"value":[1,1,0,0]},"mainColor":{"linear":true,"type":16,"value":[1,1,1,1]},"colorScale":{"type":15,"value":[1,1,1],"handleInfo":["colorScaleAndCutoff",0,15]},"alphaThreshold":{"type":13,"value":[0.5],"handleInfo":["colorScaleAndCutoff",3,13]},"color":{"linear":true,"type":16,"handleInfo":["mainColor",0,16]},"colorScaleAndCutoff":{"type":16,"value":[1,1,1,0.5]}}},{"phase":"deferred-forward","propertyIndex":0,"program":"builtin-unlit|unlit-vs:vert|unlit-fs:frag","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":1,"blendSrcAlpha":2,"blendDstAlpha":1}]},"depthStencilState":{"depthTest":true,"depthWrite":false}}]},{"name":"alpha-blend","passes":[{"program":"builtin-unlit|unlit-vs:vert|unlit-fs:frag","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":4,"blendSrcAlpha":2,"blendDstAlpha":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":28},"tilingOffset":{"type":16,"value":[1,1,0,0]},"mainColor":{"linear":true,"type":16,"value":[1,1,1,1]},"colorScale":{"type":15,"value":[1,1,1],"handleInfo":["colorScaleAndCutoff",0,15]},"alphaThreshold":{"type":13,"value":[0.5],"handleInfo":["colorScaleAndCutoff",3,13]},"color":{"linear":true,"type":16,"handleInfo":["mainColor",0,16]},"colorScaleAndCutoff":{"type":16,"value":[1,1,1,0.5]}}},{"phase":"deferred-forward","propertyIndex":0,"program":"builtin-unlit|unlit-vs:vert|unlit-fs:frag","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":4,"blendSrcAlpha":2,"blendDstAlpha":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false}}]}]]],0,0,[],[],[]],[[[0,"default-spine-material",[{}],[{"rasterizerState":{},"depthStencilState":{},"blendState":{"targets":[{}]}}],[{"USE_TEXTURE":true,"CC_USE_EMBEDDED_ALPHA":false,"IS_GRAY":false}]]],0,0,[0],[0],[6]],[[[4,"default-physics-material",0.8,0.1,0.1,0.1]],0,0,[],[],[]],[[[2,"missing-effect-material",[{"rasterizerState":{},"depthStencilState":{},"blendState":{"targets":[{}]}}],[{"USE_COLOR":true}],[[[{},"mainColor",8,[4,4278255615]]],11]]],0,0,[0],[0],[1]],[[[0,"default-particle-material",[{}],[{"rasterizerState":{},"depthStencilState":{},"blendState":{"targets":[{}]}}],[{}]]],0,0,[0],[0],[7]],[[[1,"for2d/builtin-spine",[{"hash":3152403458,"name":"for2d/builtin-spine|sprite-vs:vert|sprite-fs:frag","blocks":[{"name":"ALPHA_TEST_DATA","stageFlags":16,"binding":0,"members":[{"name":"alphaThreshold","type":13,"count":1}],"defines":["USE_ALPHA_TEST"]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position","format":32,"location":0,"defines":[]},{"name":"a_texCoord","format":21,"location":1,"defines":[]},{"name":"a_color","format":44,"location":2,"defines":[]},{"name":"a_color2","format":44,"location":3,"defines":["TWO_COLORED"]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["USE_LOCAL"]}],"samplerTextures":[{"name":"cc_spriteTexture","typename":"sampler2D","type":28,"count":1,"stageFlags":16,"tags":{"builtin":"local"},"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[{"name":"ALPHA_TEST_DATA","stageFlags":16,"binding":0,"members":[{"name":"alphaThreshold","type":13,"count":1}],"defines":["USE_ALPHA_TEST"]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":1,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":1,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"vert":"\nprecision highp 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};\n#if USE_LOCAL\n layout(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 };\n#endif\nlayout(location = 0) in vec3 a_position;\nlayout(location = 1) in vec2 a_texCoord;\nlayout(location = 2) in vec4 a_color;\nlayout(location = 0) out vec4 v_light;\nlayout(location = 1) out vec2 uv0;\n#if TWO_COLORED\n layout(location = 3) in vec4 a_color2;\n layout(location = 2) out vec4 v_dark;\n#endif\nvec4 vert () {\n vec4 pos = vec4(a_position, 1);\n #if USE_LOCAL\n pos = cc_matWorld * pos;\n #endif\n pos = cc_matViewProj * pos;\n uv0 = a_texCoord;\n v_light = a_color;\n #if TWO_COLORED\n v_dark = a_color2;\n #endif\n return pos;\n}\nvoid main() { gl_Position = vert(); }","frag":"\nprecision highp float;\n#if USE_ALPHA_TEST\n layout(set = 1, binding = 0) uniform ALPHA_TEST_DATA {\n float alphaThreshold;\n };\n#endif\nvoid ALPHA_TEST (in vec4 color) {\n #if USE_ALPHA_TEST\n if (color.a < alphaThreshold) discard;\n #endif\n}\nvoid ALPHA_TEST (in float alpha) {\n #if USE_ALPHA_TEST\n if (alpha < alphaThreshold) discard;\n #endif\n}\nlayout(location = 0) in vec4 v_light;\n#if TWO_COLORED\n layout(location = 2) in vec4 v_dark;\n#endif\nlayout(location = 1) in vec2 uv0;\nlayout(set = 2, binding = 12) uniform sampler2D cc_spriteTexture;\nvec4 frag () {\n vec4 o = vec4(1, 1, 1, 1);\n #if TWO_COLORED\n vec4 texColor = vec4(1, 1, 1, 1);\n texColor *= texture(cc_spriteTexture, uv0);\n o.a = texColor.a * v_light.a;\n o.rgb = ((texColor.a - 1.0) * v_dark.a + 1.0 - texColor.rgb) * v_dark.rgb + texColor.rgb * v_light.rgb;\n #else\n o *= texture(cc_spriteTexture, uv0);\n o *= v_light;\n #endif\n ALPHA_TEST(o);\n return o;\n}\nlayout(location = 0) out vec4 cc_FragColor;\nvoid main() { cc_FragColor = frag(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCLocal","defines":["USE_LOCAL"]}],"samplerTextures":[{"name":"cc_spriteTexture","defines":[]}],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":56,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":1}},"defines":[{"name":"USE_LOCAL","type":"boolean"},{"name":"TWO_COLORED","type":"boolean"},{"name":"USE_ALPHA_TEST","type":"boolean"}]}],[{"passes":[{"program":"for2d/builtin-spine|sprite-vs:vert|sprite-fs:frag","blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":4,"blendDstAlpha":4}]},"rasterizerState":{"cullMode":0},"depthStencilState":{"depthTest":false,"depthWrite":false},"properties":{"alphaThreshold":{"type":13,"value":[0.5]}}}]}]]],0,0,[],[],[]],[[[1,"particles/builtin-particle",[{"hash":3958058022,"name":"particles/builtin-particle|builtin/internal/particle-vs-legacy:lpvs_main|tinted-fs:add","blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]},{"name":"FragConstants","stageFlags":16,"binding":1,"members":[{"name":"tintColor","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":2,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_texCoord1","format":32,"location":0,"defines":[]},{"name":"a_texCoord2","format":32,"location":1,"defines":[]},{"name":"a_color","format":44,"location":2,"defines":[]},{"name":"a_texCoord","format":32,"location":3,"defines":[]},{"name":"a_position","format":32,"location":4,"defines":["!CC_INSTANCE_PARTICLE"]},{"name":"a_texCoord4","format":44,"location":5,"defines":["CC_INSTANCE_PARTICLE"]},{"name":"a_color1","format":32,"location":9,"defines":["CC_RENDER_MODE"]},{"name":"a_texCoord3","format":32,"location":7,"defines":["CC_RENDER_MODE"]},{"name":"a_normal","format":32,"location":8,"defines":["CC_RENDER_MODE"]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]},{"name":"FragConstants","stageFlags":16,"binding":1,"members":[{"name":"tintColor","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":2,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"vert":"\nprecision highp float;\nvec4 quaternionFromAxis (vec3 xAxis,vec3 yAxis,vec3 zAxis){\n mat3 m = mat3(xAxis,yAxis,zAxis);\n float trace = m[0][0] + m[1][1] + m[2][2];\n vec4 quat;\n if (trace > 0.) {\n float s = 0.5 / sqrt(trace + 1.0);\n quat.w = 0.25 / s;\n quat.x = (m[2][1] - m[1][2]) * s;\n quat.y = (m[0][2] - m[2][0]) * s;\n quat.z = (m[1][0] - m[0][1]) * s;\n } else if ((m[0][0] > m[1][1]) && (m[0][0] > m[2][2])) {\n float s = 2.0 * sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]);\n quat.w = (m[2][1] - m[1][2]) / s;\n quat.x = 0.25 * s;\n quat.y = (m[0][1] + m[1][0]) / s;\n quat.z = (m[0][2] + m[2][0]) / s;\n } else if (m[1][1] > m[2][2]) {\n float s = 2.0 * sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]);\n quat.w = (m[0][2] - m[2][0]) / s;\n quat.x = (m[0][1] + m[1][0]) / s;\n quat.y = 0.25 * s;\n quat.z = (m[1][2] + m[2][1]) / s;\n } else {\n float s = 2.0 * sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]);\n quat.w = (m[1][0] - m[0][1]) / s;\n quat.x = (m[0][2] + m[2][0]) / s;\n quat.y = (m[1][2] + m[2][1]) / s;\n quat.z = 0.25 * s;\n }\n float len = quat.x * quat.x + quat.y * quat.y + quat.z * quat.z + quat.w * quat.w;\n if (len > 0.) {\n len = 1. / sqrt(len);\n quat.x = quat.x * len;\n quat.y = quat.y * len;\n quat.z = quat.z * len;\n quat.w = quat.w * len;\n }\n return quat;\n}\nvec4 quaternionFromEuler (vec3 angle){\n float x = angle.x / 2.;\n float y = angle.y / 2.;\n float z = angle.z / 2.;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat = vec4(0);\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\nmat4 matrixFromRT (vec4 q, vec3 p){\n float x2 = q.x + q.x;\n float y2 = q.y + q.y;\n float z2 = q.z + q.z;\n float xx = q.x * x2;\n float xy = q.x * y2;\n float xz = q.x * z2;\n float yy = q.y * y2;\n float yz = q.y * z2;\n float zz = q.z * z2;\n float wx = q.w * x2;\n float wy = q.w * y2;\n float wz = q.w * z2;\n return mat4(\n 1. - (yy + zz), xy + wz, xz - wy, 0,\n xy - wz, 1. - (xx + zz), yz + wx, 0,\n xz + wy, yz - wx, 1. - (xx + yy), 0,\n p.x, p.y, p.z, 1\n );\n}\nmat4 matFromRTS (vec4 q, vec3 t, vec3 s){\n float x = q.x, y = q.y, z = q.z, w = q.w;\n float x2 = x + x;\n float y2 = y + y;\n float z2 = z + z;\n float xx = x * x2;\n float xy = x * y2;\n float xz = x * z2;\n float yy = y * y2;\n float yz = y * z2;\n float zz = z * z2;\n float wx = w * x2;\n float wy = w * y2;\n float wz = w * z2;\n float sx = s.x;\n float sy = s.y;\n float sz = s.z;\n return mat4((1. - (yy + zz)) * sx, (xy + wz) * sx, (xz - wy) * sx, 0,\n (xy - wz) * sy, (1. - (xx + zz)) * sy, (yz + wx) * sy, 0,\n (xz + wy) * sz, (yz - wx) * sz, (1. - (xx + yy)) * sz, 0,\n t.x, t.y, t.z, 1);\n}\nvec4 quatMultiply (vec4 a, vec4 b){\n vec4 quat;\n quat.x = a.x * b.w + a.w * b.x + a.y * b.z - a.z * b.y;\n quat.y = a.y * b.w + a.w * b.y + a.z * b.x - a.x * b.z;\n quat.z = a.z * b.w + a.w * b.z + a.x * b.y - a.y * b.x;\n quat.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z;\n return quat;\n}\nvoid rotateVecFromQuat (inout vec3 v, vec4 q){\n float ix = q.w * v.x + q.y * v.z - q.z * v.y;\n float iy = q.w * v.y + q.z * v.x - q.x * v.z;\n float iz = q.w * v.z + q.x * v.y - q.y * v.x;\n float iw = -q.x * v.x - q.y * v.y - q.z * v.z;\n v.x = ix * q.w + iw * -q.x + iy * -q.z - iz * -q.y;\n v.y = iy * q.w + iw * -q.y + iz * -q.x - ix * -q.z;\n v.z = iz * q.w + iw * -q.z + ix * -q.y - iy * -q.x;\n}\nvec3 rotateInLocalSpace (vec3 pos, vec3 xAxis, vec3 yAxis, vec3 zAxis, vec4 q){\n vec4 viewQuat = quaternionFromAxis(xAxis, yAxis, zAxis);\n vec4 rotQuat = quatMultiply(viewQuat, q);\n rotateVecFromQuat(pos, rotQuat);\n return pos;\n}\nmat3 quatToMat3(vec4 q) {\n vec3 m0 = vec3(\n 1.0 - 2.0 * q.y * q.y - 2.0 * q.z * q.z,\n 2.0 * q.x * q.y + 2.0 * q.w * q.z,\n 2.0 * q.x * q.z - 2.0 * q.w * q.y);\n\tvec3 m1 = vec3(\n 2.0 * q.x * q.y - 2.0 * q.w * q.z,\n 1.0 - 2.0 * q.x * q.x - 2.0 * q.z * q.z,\n 2.0 * q.y * q.z + 2.0 * q.w * q.x);\n\tvec3 m2 = vec3(\n 2.0 * q.x * q.z + 2.0 * q.w * q.y,\n 2.0 * q.y * q.z - 2.0 * q.w * q.x,\n 1.0 - 2.0 * q.x * q.x - 2.0 * q.y * q.y);\n return mat3(m0, m1, m2);\n}\nvec4 mat3ToQuat(mat3 mat) {\n float tr = mat[0][0] + mat[1][1] + mat[2][2];\n\tfloat qw, qx, qy, qz;\n if (tr > 0.0) {\n float S = sqrt(tr + 1.0) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = 0.25 * S;\n\t qx = (mat[1][2] - mat[2][1]) * invS;\n\t qy = (mat[2][0] - mat[0][2]) * invS;\n\t qz = (mat[0][1] - mat[1][0]) * invS;\n } else if ((mat[0][0] > mat[1][1])&&(mat[0][0] > mat[2][2])) {\n float S = sqrt(1.0 + mat[0][0] - mat[1][1] - mat[2][2]) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = (mat[1][2] - mat[2][1]) * invS;\n\t qx = 0.25 * S;\n\t qy = (mat[1][0] + mat[0][1]) * invS;\n\t qz = (mat[2][0] + mat[0][2]) * invS;\n } else if (mat[1][1] > mat[2][2]) {\n\t float S = sqrt(1.0 + mat[1][1] - mat[0][0] - mat[2][2]) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = (mat[2][0] - mat[0][2]) * invS;\n\t qx = (mat[1][0] + mat[0][1]) * invS;\n\t qy = 0.25 * S;\n\t qz = (mat[2][1] + mat[1][2]) * invS;\n } else {\n\t float S = sqrt(1.0 + mat[2][2] - mat[0][0] - mat[1][1]) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = (mat[0][1] - mat[1][0]) * invS;\n\t qx = (mat[2][0] + mat[0][2]) * invS;\n\t qy = (mat[2][1] + mat[1][2]) * invS;\n\t qz = 0.25 * S;\n }\n return vec4(qx, qy, qz, qw);\n}\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;\nvoid computeVertPos (inout vec4 pos, vec2 vertOffset, vec4 q, vec3 s\n#if CC_RENDER_MODE == 0 || CC_RENDER_MODE == 3\n , mat4 viewInv\n#endif\n#if CC_RENDER_MODE == 1\n , vec3 eye\n , vec4 velocity\n , float velocityScale\n , float lengthScale\n , float xIndex\n#endif\n) {\n#if CC_RENDER_MODE == 0\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = normalize(vec3(viewInv[0][0], viewInv[1][0], viewInv[2][0]));\n vec3 camY = normalize(vec3(viewInv[0][1], viewInv[1][1], viewInv[2][1]));\n vec3 camZ = normalize(vec3(viewInv[0][2], viewInv[1][2], viewInv[2][2]));\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, camZ, q);\n#elif CC_RENDER_MODE == 1\n vec3 camRight = normalize(cross(pos.xyz - eye, velocity.xyz)) * s.x;\n vec3 camUp = velocity.xyz * velocityScale + normalize(velocity.xyz) * lengthScale * s.y;\n pos.xyz += (camRight * abs(vertOffset.x) * sign(vertOffset.y)) - camUp * xIndex;\n#elif CC_RENDER_MODE == 2\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = vec3(1, 0, 0);\n vec3 camY = vec3(0, 0, -1);\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, cross(camX, camY), q);\n#elif CC_RENDER_MODE == 3\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n rotateVecFromQuat(viewSpaceVert, q);\n vec3 camX = normalize(vec3(cc_matView[0][0], cc_matView[1][0], cc_matView[2][0]));\n vec3 camY = vec3(0, 1, 0);\n vec3 offset = camX * viewSpaceVert.x + camY * viewSpaceVert.y;\n pos.xyz += offset;\n#else\n pos.x += vertOffset.x;\n pos.y += vertOffset.y;\n#endif\n}\nvec2 computeUV (float frameIndex, vec2 vertIndex, vec2 frameTile){\n vec2 aniUV = vec2(0, floor(frameIndex * frameTile.y));\n aniUV.x = floor(frameIndex * frameTile.x * frameTile.y - aniUV.y * frameTile.x);\n#if CC_RENDER_MODE != 4\n vertIndex.y = 1. - vertIndex.y;\n#endif\n return (aniUV.xy + vertIndex) / vec2(frameTile.x, frameTile.y);\n}\nlayout(location = 0) in vec3 a_texCoord1;\nlayout(location = 1) in vec3 a_texCoord2;\nlayout(location = 2) in vec4 a_color;\nlayout(location = 3) in vec3 a_texCoord;\n#if !CC_INSTANCE_PARTICLE\n layout(location = 4) in vec3 a_position;\n#endif\n#if CC_INSTANCE_PARTICLE\n layout(location = 5) in vec4 a_texCoord4;\n#endif\n#if CC_RENDER_MODE == 1\n layout(location = 9) in vec3 a_color1;\n#endif\n#if CC_RENDER_MODE == 4\n layout(location = 7) in vec3 a_texCoord3;\n layout(location = 8) in vec3 a_normal;\n layout(location = 9) in vec4 a_color1;\n#endif\nvec4 lpvs_main () {\n vec3 compScale = scale.xyz * a_texCoord1;\n #if !CC_INSTANCE_PARTICLE\n vec4 pos = vec4(a_position.xyz, 1);\n #endif\n #if CC_INSTANCE_PARTICLE\n vec4 pos = vec4(a_texCoord4.xyz, 1);\n #endif\n #if CC_RENDER_MODE == 1\n vec4 velocity = vec4(a_color1.xyz, 0);\n #endif\n #if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n #if CC_RENDER_MODE == 1\n velocity = cc_matWorld * velocity;\n #endif\n #endif\n #if ROTATION_OVER_TIME_MODULE_ENABLE\n vec3 rotTmp = a_texCoord2;\n float mulFactor = 1.0;\n if (rotTmp.x > 10.0 * 0.5) {\n rotTmp.x -= 10.0;\n mulFactor = -1.0;\n }\n vec4 rot = vec4(rotTmp, 0.0);\n rot.w = mulFactor * sqrt(abs(1.0 - rot.x * rot.x - rot.y * rot.y - rot.z * rot.z));\n #endif\n #if !ROTATION_OVER_TIME_MODULE_ENABLE\n #if CC_RENDER_MODE != 4\n #if CC_RENDER_MODE == 0\n vec3 rotEuler = a_texCoord2;\n #elif CC_RENDER_MODE == 1\n vec3 rotEuler = vec3(0.);\n #endif\n #if CC_RENDER_MODE != 0 && CC_RENDER_MODE != 1\n vec3 rotEuler = vec3(0., 0., a_texCoord2.z);\n #endif\n vec4 rot = quaternionFromEuler(rotEuler);\n #endif\n #if CC_RENDER_MODE == 4\n vec4 rot = quaternionFromEuler(a_texCoord2);\n #endif\n #endif\n #if CC_RENDER_MODE != 4\n vec2 cornerOffset = vec2((a_texCoord.xy - 0.5));\n #if CC_RENDER_MODE == 0 || CC_RENDER_MODE == 3\n computeVertPos(pos, cornerOffset, rot, compScale, cc_matViewInv);\n #elif CC_RENDER_MODE == 1\n computeVertPos(pos, cornerOffset, rot, compScale, cc_cameraPos.xyz, velocity, frameTile_velLenScale.z, frameTile_velLenScale.w, a_texCoord.x);\n #elif 2\n computeVertPos(pos, cornerOffset, rot, compScale);\n #endif\n color = a_color;\n #endif\n #if CC_RENDER_MODE == 4\n mat3 rotMat = quatToMat3(rot);\n mat3 nodeMat = quatToMat3(nodeRotation);\n rotMat = nodeMat * rotMat;\n rot = mat3ToQuat(rotMat);\n mat4 xformNoScale = matrixFromRT(rot, pos.xyz);\n mat4 xform = matFromRTS(rot, pos.xyz, compScale);\n pos = xform * vec4(a_texCoord3, 1);\n vec4 normal = xformNoScale * vec4(a_normal, 0);\n color = a_color * a_color1;\n #endif\n #if !CC_INSTANCE_PARTICLE\n uv = computeUV(a_texCoord.z, a_texCoord.xy, frameTile_velLenScale.xy) * mainTiling_Offset.xy + mainTiling_Offset.zw;\n #endif\n #if CC_INSTANCE_PARTICLE\n uv = computeUV(a_texCoord4.w, a_texCoord.xy, frameTile_velLenScale.xy) * mainTiling_Offset.xy + mainTiling_Offset.zw;\n #endif\n pos = cc_matViewProj * pos;\n return pos;\n}\nvoid main() { gl_Position = lpvs_main(); }","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 = 2) uniform sampler2D mainTexture;\nlayout(set = 1, binding = 1) uniform FragConstants {\n vec4 tintColor;\n};\nvec4 add () {\n vec4 col = 2.0 * color * tintColor * texture(mainTexture, uv);\n return CCFragOutput(col);\n}\nlayout(location = 0) out vec4 cc_FragColor;\nvoid main() { cc_FragColor = add(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":60,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":43}},"defines":[{"name":"CC_RENDER_MODE","type":"number","range":[0,4]},{"name":"CC_INSTANCE_PARTICLE","type":"boolean"},{"name":"CC_USE_WORLD_SPACE","type":"boolean"},{"name":"ROTATION_OVER_TIME_MODULE_ENABLE","type":"boolean"}]},{"hash":3441772896,"name":"particles/builtin-particle|builtin/internal/particle-vs-legacy:lpvs_main|tinted-fs:multiply","blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]},{"name":"FragConstants","stageFlags":16,"binding":1,"members":[{"name":"tintColor","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":2,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_texCoord1","format":32,"location":0,"defines":[]},{"name":"a_texCoord2","format":32,"location":1,"defines":[]},{"name":"a_color","format":44,"location":2,"defines":[]},{"name":"a_texCoord","format":32,"location":3,"defines":[]},{"name":"a_position","format":32,"location":4,"defines":["!CC_INSTANCE_PARTICLE"]},{"name":"a_texCoord4","format":44,"location":5,"defines":["CC_INSTANCE_PARTICLE"]},{"name":"a_color1","format":32,"location":9,"defines":["CC_RENDER_MODE"]},{"name":"a_texCoord3","format":32,"location":7,"defines":["CC_RENDER_MODE"]},{"name":"a_normal","format":32,"location":8,"defines":["CC_RENDER_MODE"]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]},{"name":"FragConstants","stageFlags":16,"binding":1,"members":[{"name":"tintColor","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":2,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"vert":"\nprecision highp float;\nvec4 quaternionFromAxis (vec3 xAxis,vec3 yAxis,vec3 zAxis){\n mat3 m = mat3(xAxis,yAxis,zAxis);\n float trace = m[0][0] + m[1][1] + m[2][2];\n vec4 quat;\n if (trace > 0.) {\n float s = 0.5 / sqrt(trace + 1.0);\n quat.w = 0.25 / s;\n quat.x = (m[2][1] - m[1][2]) * s;\n quat.y = (m[0][2] - m[2][0]) * s;\n quat.z = (m[1][0] - m[0][1]) * s;\n } else if ((m[0][0] > m[1][1]) && (m[0][0] > m[2][2])) {\n float s = 2.0 * sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]);\n quat.w = (m[2][1] - m[1][2]) / s;\n quat.x = 0.25 * s;\n quat.y = (m[0][1] + m[1][0]) / s;\n quat.z = (m[0][2] + m[2][0]) / s;\n } else if (m[1][1] > m[2][2]) {\n float s = 2.0 * sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]);\n quat.w = (m[0][2] - m[2][0]) / s;\n quat.x = (m[0][1] + m[1][0]) / s;\n quat.y = 0.25 * s;\n quat.z = (m[1][2] + m[2][1]) / s;\n } else {\n float s = 2.0 * sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]);\n quat.w = (m[1][0] - m[0][1]) / s;\n quat.x = (m[0][2] + m[2][0]) / s;\n quat.y = (m[1][2] + m[2][1]) / s;\n quat.z = 0.25 * s;\n }\n float len = quat.x * quat.x + quat.y * quat.y + quat.z * quat.z + quat.w * quat.w;\n if (len > 0.) {\n len = 1. / sqrt(len);\n quat.x = quat.x * len;\n quat.y = quat.y * len;\n quat.z = quat.z * len;\n quat.w = quat.w * len;\n }\n return quat;\n}\nvec4 quaternionFromEuler (vec3 angle){\n float x = angle.x / 2.;\n float y = angle.y / 2.;\n float z = angle.z / 2.;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat = vec4(0);\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\nmat4 matrixFromRT (vec4 q, vec3 p){\n float x2 = q.x + q.x;\n float y2 = q.y + q.y;\n float z2 = q.z + q.z;\n float xx = q.x * x2;\n float xy = q.x * y2;\n float xz = q.x * z2;\n float yy = q.y * y2;\n float yz = q.y * z2;\n float zz = q.z * z2;\n float wx = q.w * x2;\n float wy = q.w * y2;\n float wz = q.w * z2;\n return mat4(\n 1. - (yy + zz), xy + wz, xz - wy, 0,\n xy - wz, 1. - (xx + zz), yz + wx, 0,\n xz + wy, yz - wx, 1. - (xx + yy), 0,\n p.x, p.y, p.z, 1\n );\n}\nmat4 matFromRTS (vec4 q, vec3 t, vec3 s){\n float x = q.x, y = q.y, z = q.z, w = q.w;\n float x2 = x + x;\n float y2 = y + y;\n float z2 = z + z;\n float xx = x * x2;\n float xy = x * y2;\n float xz = x * z2;\n float yy = y * y2;\n float yz = y * z2;\n float zz = z * z2;\n float wx = w * x2;\n float wy = w * y2;\n float wz = w * z2;\n float sx = s.x;\n float sy = s.y;\n float sz = s.z;\n return mat4((1. - (yy + zz)) * sx, (xy + wz) * sx, (xz - wy) * sx, 0,\n (xy - wz) * sy, (1. - (xx + zz)) * sy, (yz + wx) * sy, 0,\n (xz + wy) * sz, (yz - wx) * sz, (1. - (xx + yy)) * sz, 0,\n t.x, t.y, t.z, 1);\n}\nvec4 quatMultiply (vec4 a, vec4 b){\n vec4 quat;\n quat.x = a.x * b.w + a.w * b.x + a.y * b.z - a.z * b.y;\n quat.y = a.y * b.w + a.w * b.y + a.z * b.x - a.x * b.z;\n quat.z = a.z * b.w + a.w * b.z + a.x * b.y - a.y * b.x;\n quat.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z;\n return quat;\n}\nvoid rotateVecFromQuat (inout vec3 v, vec4 q){\n float ix = q.w * v.x + q.y * v.z - q.z * v.y;\n float iy = q.w * v.y + q.z * v.x - q.x * v.z;\n float iz = q.w * v.z + q.x * v.y - q.y * v.x;\n float iw = -q.x * v.x - q.y * v.y - q.z * v.z;\n v.x = ix * q.w + iw * -q.x + iy * -q.z - iz * -q.y;\n v.y = iy * q.w + iw * -q.y + iz * -q.x - ix * -q.z;\n v.z = iz * q.w + iw * -q.z + ix * -q.y - iy * -q.x;\n}\nvec3 rotateInLocalSpace (vec3 pos, vec3 xAxis, vec3 yAxis, vec3 zAxis, vec4 q){\n vec4 viewQuat = quaternionFromAxis(xAxis, yAxis, zAxis);\n vec4 rotQuat = quatMultiply(viewQuat, q);\n rotateVecFromQuat(pos, rotQuat);\n return pos;\n}\nmat3 quatToMat3(vec4 q) {\n vec3 m0 = vec3(\n 1.0 - 2.0 * q.y * q.y - 2.0 * q.z * q.z,\n 2.0 * q.x * q.y + 2.0 * q.w * q.z,\n 2.0 * q.x * q.z - 2.0 * q.w * q.y);\n\tvec3 m1 = vec3(\n 2.0 * q.x * q.y - 2.0 * q.w * q.z,\n 1.0 - 2.0 * q.x * q.x - 2.0 * q.z * q.z,\n 2.0 * q.y * q.z + 2.0 * q.w * q.x);\n\tvec3 m2 = vec3(\n 2.0 * q.x * q.z + 2.0 * q.w * q.y,\n 2.0 * q.y * q.z - 2.0 * q.w * q.x,\n 1.0 - 2.0 * q.x * q.x - 2.0 * q.y * q.y);\n return mat3(m0, m1, m2);\n}\nvec4 mat3ToQuat(mat3 mat) {\n float tr = mat[0][0] + mat[1][1] + mat[2][2];\n\tfloat qw, qx, qy, qz;\n if (tr > 0.0) {\n float S = sqrt(tr + 1.0) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = 0.25 * S;\n\t qx = (mat[1][2] - mat[2][1]) * invS;\n\t qy = (mat[2][0] - mat[0][2]) * invS;\n\t qz = (mat[0][1] - mat[1][0]) * invS;\n } else if ((mat[0][0] > mat[1][1])&&(mat[0][0] > mat[2][2])) {\n float S = sqrt(1.0 + mat[0][0] - mat[1][1] - mat[2][2]) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = (mat[1][2] - mat[2][1]) * invS;\n\t qx = 0.25 * S;\n\t qy = (mat[1][0] + mat[0][1]) * invS;\n\t qz = (mat[2][0] + mat[0][2]) * invS;\n } else if (mat[1][1] > mat[2][2]) {\n\t float S = sqrt(1.0 + mat[1][1] - mat[0][0] - mat[2][2]) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = (mat[2][0] - mat[0][2]) * invS;\n\t qx = (mat[1][0] + mat[0][1]) * invS;\n\t qy = 0.25 * S;\n\t qz = (mat[2][1] + mat[1][2]) * invS;\n } else {\n\t float S = sqrt(1.0 + mat[2][2] - mat[0][0] - mat[1][1]) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = (mat[0][1] - mat[1][0]) * invS;\n\t qx = (mat[2][0] + mat[0][2]) * invS;\n\t qy = (mat[2][1] + mat[1][2]) * invS;\n\t qz = 0.25 * S;\n }\n return vec4(qx, qy, qz, qw);\n}\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;\nvoid computeVertPos (inout vec4 pos, vec2 vertOffset, vec4 q, vec3 s\n#if CC_RENDER_MODE == 0 || CC_RENDER_MODE == 3\n , mat4 viewInv\n#endif\n#if CC_RENDER_MODE == 1\n , vec3 eye\n , vec4 velocity\n , float velocityScale\n , float lengthScale\n , float xIndex\n#endif\n) {\n#if CC_RENDER_MODE == 0\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = normalize(vec3(viewInv[0][0], viewInv[1][0], viewInv[2][0]));\n vec3 camY = normalize(vec3(viewInv[0][1], viewInv[1][1], viewInv[2][1]));\n vec3 camZ = normalize(vec3(viewInv[0][2], viewInv[1][2], viewInv[2][2]));\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, camZ, q);\n#elif CC_RENDER_MODE == 1\n vec3 camRight = normalize(cross(pos.xyz - eye, velocity.xyz)) * s.x;\n vec3 camUp = velocity.xyz * velocityScale + normalize(velocity.xyz) * lengthScale * s.y;\n pos.xyz += (camRight * abs(vertOffset.x) * sign(vertOffset.y)) - camUp * xIndex;\n#elif CC_RENDER_MODE == 2\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = vec3(1, 0, 0);\n vec3 camY = vec3(0, 0, -1);\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, cross(camX, camY), q);\n#elif CC_RENDER_MODE == 3\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n rotateVecFromQuat(viewSpaceVert, q);\n vec3 camX = normalize(vec3(cc_matView[0][0], cc_matView[1][0], cc_matView[2][0]));\n vec3 camY = vec3(0, 1, 0);\n vec3 offset = camX * viewSpaceVert.x + camY * viewSpaceVert.y;\n pos.xyz += offset;\n#else\n pos.x += vertOffset.x;\n pos.y += vertOffset.y;\n#endif\n}\nvec2 computeUV (float frameIndex, vec2 vertIndex, vec2 frameTile){\n vec2 aniUV = vec2(0, floor(frameIndex * frameTile.y));\n aniUV.x = floor(frameIndex * frameTile.x * frameTile.y - aniUV.y * frameTile.x);\n#if CC_RENDER_MODE != 4\n vertIndex.y = 1. - vertIndex.y;\n#endif\n return (aniUV.xy + vertIndex) / vec2(frameTile.x, frameTile.y);\n}\nlayout(location = 0) in vec3 a_texCoord1;\nlayout(location = 1) in vec3 a_texCoord2;\nlayout(location = 2) in vec4 a_color;\nlayout(location = 3) in vec3 a_texCoord;\n#if !CC_INSTANCE_PARTICLE\n layout(location = 4) in vec3 a_position;\n#endif\n#if CC_INSTANCE_PARTICLE\n layout(location = 5) in vec4 a_texCoord4;\n#endif\n#if CC_RENDER_MODE == 1\n layout(location = 9) in vec3 a_color1;\n#endif\n#if CC_RENDER_MODE == 4\n layout(location = 7) in vec3 a_texCoord3;\n layout(location = 8) in vec3 a_normal;\n layout(location = 9) in vec4 a_color1;\n#endif\nvec4 lpvs_main () {\n vec3 compScale = scale.xyz * a_texCoord1;\n #if !CC_INSTANCE_PARTICLE\n vec4 pos = vec4(a_position.xyz, 1);\n #endif\n #if CC_INSTANCE_PARTICLE\n vec4 pos = vec4(a_texCoord4.xyz, 1);\n #endif\n #if CC_RENDER_MODE == 1\n vec4 velocity = vec4(a_color1.xyz, 0);\n #endif\n #if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n #if CC_RENDER_MODE == 1\n velocity = cc_matWorld * velocity;\n #endif\n #endif\n #if ROTATION_OVER_TIME_MODULE_ENABLE\n vec3 rotTmp = a_texCoord2;\n float mulFactor = 1.0;\n if (rotTmp.x > 10.0 * 0.5) {\n rotTmp.x -= 10.0;\n mulFactor = -1.0;\n }\n vec4 rot = vec4(rotTmp, 0.0);\n rot.w = mulFactor * sqrt(abs(1.0 - rot.x * rot.x - rot.y * rot.y - rot.z * rot.z));\n #endif\n #if !ROTATION_OVER_TIME_MODULE_ENABLE\n #if CC_RENDER_MODE != 4\n #if CC_RENDER_MODE == 0\n vec3 rotEuler = a_texCoord2;\n #elif CC_RENDER_MODE == 1\n vec3 rotEuler = vec3(0.);\n #endif\n #if CC_RENDER_MODE != 0 && CC_RENDER_MODE != 1\n vec3 rotEuler = vec3(0., 0., a_texCoord2.z);\n #endif\n vec4 rot = quaternionFromEuler(rotEuler);\n #endif\n #if CC_RENDER_MODE == 4\n vec4 rot = quaternionFromEuler(a_texCoord2);\n #endif\n #endif\n #if CC_RENDER_MODE != 4\n vec2 cornerOffset = vec2((a_texCoord.xy - 0.5));\n #if CC_RENDER_MODE == 0 || CC_RENDER_MODE == 3\n computeVertPos(pos, cornerOffset, rot, compScale, cc_matViewInv);\n #elif CC_RENDER_MODE == 1\n computeVertPos(pos, cornerOffset, rot, compScale, cc_cameraPos.xyz, velocity, frameTile_velLenScale.z, frameTile_velLenScale.w, a_texCoord.x);\n #elif 2\n computeVertPos(pos, cornerOffset, rot, compScale);\n #endif\n color = a_color;\n #endif\n #if CC_RENDER_MODE == 4\n mat3 rotMat = quatToMat3(rot);\n mat3 nodeMat = quatToMat3(nodeRotation);\n rotMat = nodeMat * rotMat;\n rot = mat3ToQuat(rotMat);\n mat4 xformNoScale = matrixFromRT(rot, pos.xyz);\n mat4 xform = matFromRTS(rot, pos.xyz, compScale);\n pos = xform * vec4(a_texCoord3, 1);\n vec4 normal = xformNoScale * vec4(a_normal, 0);\n color = a_color * a_color1;\n #endif\n #if !CC_INSTANCE_PARTICLE\n uv = computeUV(a_texCoord.z, a_texCoord.xy, frameTile_velLenScale.xy) * mainTiling_Offset.xy + mainTiling_Offset.zw;\n #endif\n #if CC_INSTANCE_PARTICLE\n uv = computeUV(a_texCoord4.w, a_texCoord.xy, frameTile_velLenScale.xy) * mainTiling_Offset.xy + mainTiling_Offset.zw;\n #endif\n pos = cc_matViewProj * pos;\n return pos;\n}\nvoid main() { gl_Position = lpvs_main(); }","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 = 2) uniform sampler2D mainTexture;\nlayout(set = 1, binding = 1) uniform FragConstants {\n vec4 tintColor;\n};\nvec4 multiply () {\n vec4 col;\n vec4 texColor = texture(mainTexture, uv);\n col.rgb = tintColor.rgb * texColor.rgb * color.rgb * vec3(2.0);\n return CCFragOutput(col);\n}\nlayout(location = 0) out vec4 cc_FragColor;\nvoid main() { cc_FragColor = multiply(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":60,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":43}},"defines":[{"name":"CC_RENDER_MODE","type":"number","range":[0,4]},{"name":"CC_INSTANCE_PARTICLE","type":"boolean"},{"name":"CC_USE_WORLD_SPACE","type":"boolean"},{"name":"ROTATION_OVER_TIME_MODULE_ENABLE","type":"boolean"}]},{"hash":868591613,"name":"particles/builtin-particle|builtin/internal/particle-vs-legacy:lpvs_main|no-tint-fs:addSmooth","blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":1,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_texCoord1","format":32,"location":0,"defines":[]},{"name":"a_texCoord2","format":32,"location":1,"defines":[]},{"name":"a_color","format":44,"location":2,"defines":[]},{"name":"a_texCoord","format":32,"location":3,"defines":[]},{"name":"a_position","format":32,"location":4,"defines":["!CC_INSTANCE_PARTICLE"]},{"name":"a_texCoord4","format":44,"location":5,"defines":["CC_INSTANCE_PARTICLE"]},{"name":"a_color1","format":32,"location":9,"defines":["CC_RENDER_MODE"]},{"name":"a_texCoord3","format":32,"location":7,"defines":["CC_RENDER_MODE"]},{"name":"a_normal","format":32,"location":8,"defines":["CC_RENDER_MODE"]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":1,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"vert":"\nprecision highp float;\nvec4 quaternionFromAxis (vec3 xAxis,vec3 yAxis,vec3 zAxis){\n mat3 m = mat3(xAxis,yAxis,zAxis);\n float trace = m[0][0] + m[1][1] + m[2][2];\n vec4 quat;\n if (trace > 0.) {\n float s = 0.5 / sqrt(trace + 1.0);\n quat.w = 0.25 / s;\n quat.x = (m[2][1] - m[1][2]) * s;\n quat.y = (m[0][2] - m[2][0]) * s;\n quat.z = (m[1][0] - m[0][1]) * s;\n } else if ((m[0][0] > m[1][1]) && (m[0][0] > m[2][2])) {\n float s = 2.0 * sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]);\n quat.w = (m[2][1] - m[1][2]) / s;\n quat.x = 0.25 * s;\n quat.y = (m[0][1] + m[1][0]) / s;\n quat.z = (m[0][2] + m[2][0]) / s;\n } else if (m[1][1] > m[2][2]) {\n float s = 2.0 * sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]);\n quat.w = (m[0][2] - m[2][0]) / s;\n quat.x = (m[0][1] + m[1][0]) / s;\n quat.y = 0.25 * s;\n quat.z = (m[1][2] + m[2][1]) / s;\n } else {\n float s = 2.0 * sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]);\n quat.w = (m[1][0] - m[0][1]) / s;\n quat.x = (m[0][2] + m[2][0]) / s;\n quat.y = (m[1][2] + m[2][1]) / s;\n quat.z = 0.25 * s;\n }\n float len = quat.x * quat.x + quat.y * quat.y + quat.z * quat.z + quat.w * quat.w;\n if (len > 0.) {\n len = 1. / sqrt(len);\n quat.x = quat.x * len;\n quat.y = quat.y * len;\n quat.z = quat.z * len;\n quat.w = quat.w * len;\n }\n return quat;\n}\nvec4 quaternionFromEuler (vec3 angle){\n float x = angle.x / 2.;\n float y = angle.y / 2.;\n float z = angle.z / 2.;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat = vec4(0);\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\nmat4 matrixFromRT (vec4 q, vec3 p){\n float x2 = q.x + q.x;\n float y2 = q.y + q.y;\n float z2 = q.z + q.z;\n float xx = q.x * x2;\n float xy = q.x * y2;\n float xz = q.x * z2;\n float yy = q.y * y2;\n float yz = q.y * z2;\n float zz = q.z * z2;\n float wx = q.w * x2;\n float wy = q.w * y2;\n float wz = q.w * z2;\n return mat4(\n 1. - (yy + zz), xy + wz, xz - wy, 0,\n xy - wz, 1. - (xx + zz), yz + wx, 0,\n xz + wy, yz - wx, 1. - (xx + yy), 0,\n p.x, p.y, p.z, 1\n );\n}\nmat4 matFromRTS (vec4 q, vec3 t, vec3 s){\n float x = q.x, y = q.y, z = q.z, w = q.w;\n float x2 = x + x;\n float y2 = y + y;\n float z2 = z + z;\n float xx = x * x2;\n float xy = x * y2;\n float xz = x * z2;\n float yy = y * y2;\n float yz = y * z2;\n float zz = z * z2;\n float wx = w * x2;\n float wy = w * y2;\n float wz = w * z2;\n float sx = s.x;\n float sy = s.y;\n float sz = s.z;\n return mat4((1. - (yy + zz)) * sx, (xy + wz) * sx, (xz - wy) * sx, 0,\n (xy - wz) * sy, (1. - (xx + zz)) * sy, (yz + wx) * sy, 0,\n (xz + wy) * sz, (yz - wx) * sz, (1. - (xx + yy)) * sz, 0,\n t.x, t.y, t.z, 1);\n}\nvec4 quatMultiply (vec4 a, vec4 b){\n vec4 quat;\n quat.x = a.x * b.w + a.w * b.x + a.y * b.z - a.z * b.y;\n quat.y = a.y * b.w + a.w * b.y + a.z * b.x - a.x * b.z;\n quat.z = a.z * b.w + a.w * b.z + a.x * b.y - a.y * b.x;\n quat.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z;\n return quat;\n}\nvoid rotateVecFromQuat (inout vec3 v, vec4 q){\n float ix = q.w * v.x + q.y * v.z - q.z * v.y;\n float iy = q.w * v.y + q.z * v.x - q.x * v.z;\n float iz = q.w * v.z + q.x * v.y - q.y * v.x;\n float iw = -q.x * v.x - q.y * v.y - q.z * v.z;\n v.x = ix * q.w + iw * -q.x + iy * -q.z - iz * -q.y;\n v.y = iy * q.w + iw * -q.y + iz * -q.x - ix * -q.z;\n v.z = iz * q.w + iw * -q.z + ix * -q.y - iy * -q.x;\n}\nvec3 rotateInLocalSpace (vec3 pos, vec3 xAxis, vec3 yAxis, vec3 zAxis, vec4 q){\n vec4 viewQuat = quaternionFromAxis(xAxis, yAxis, zAxis);\n vec4 rotQuat = quatMultiply(viewQuat, q);\n rotateVecFromQuat(pos, rotQuat);\n return pos;\n}\nmat3 quatToMat3(vec4 q) {\n vec3 m0 = vec3(\n 1.0 - 2.0 * q.y * q.y - 2.0 * q.z * q.z,\n 2.0 * q.x * q.y + 2.0 * q.w * q.z,\n 2.0 * q.x * q.z - 2.0 * q.w * q.y);\n\tvec3 m1 = vec3(\n 2.0 * q.x * q.y - 2.0 * q.w * q.z,\n 1.0 - 2.0 * q.x * q.x - 2.0 * q.z * q.z,\n 2.0 * q.y * q.z + 2.0 * q.w * q.x);\n\tvec3 m2 = vec3(\n 2.0 * q.x * q.z + 2.0 * q.w * q.y,\n 2.0 * q.y * q.z - 2.0 * q.w * q.x,\n 1.0 - 2.0 * q.x * q.x - 2.0 * q.y * q.y);\n return mat3(m0, m1, m2);\n}\nvec4 mat3ToQuat(mat3 mat) {\n float tr = mat[0][0] + mat[1][1] + mat[2][2];\n\tfloat qw, qx, qy, qz;\n if (tr > 0.0) {\n float S = sqrt(tr + 1.0) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = 0.25 * S;\n\t qx = (mat[1][2] - mat[2][1]) * invS;\n\t qy = (mat[2][0] - mat[0][2]) * invS;\n\t qz = (mat[0][1] - mat[1][0]) * invS;\n } else if ((mat[0][0] > mat[1][1])&&(mat[0][0] > mat[2][2])) {\n float S = sqrt(1.0 + mat[0][0] - mat[1][1] - mat[2][2]) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = (mat[1][2] - mat[2][1]) * invS;\n\t qx = 0.25 * S;\n\t qy = (mat[1][0] + mat[0][1]) * invS;\n\t qz = (mat[2][0] + mat[0][2]) * invS;\n } else if (mat[1][1] > mat[2][2]) {\n\t float S = sqrt(1.0 + mat[1][1] - mat[0][0] - mat[2][2]) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = (mat[2][0] - mat[0][2]) * invS;\n\t qx = (mat[1][0] + mat[0][1]) * invS;\n\t qy = 0.25 * S;\n\t qz = (mat[2][1] + mat[1][2]) * invS;\n } else {\n\t float S = sqrt(1.0 + mat[2][2] - mat[0][0] - mat[1][1]) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = (mat[0][1] - mat[1][0]) * invS;\n\t qx = (mat[2][0] + mat[0][2]) * invS;\n\t qy = (mat[2][1] + mat[1][2]) * invS;\n\t qz = 0.25 * S;\n }\n return vec4(qx, qy, qz, qw);\n}\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;\nvoid computeVertPos (inout vec4 pos, vec2 vertOffset, vec4 q, vec3 s\n#if CC_RENDER_MODE == 0 || CC_RENDER_MODE == 3\n , mat4 viewInv\n#endif\n#if CC_RENDER_MODE == 1\n , vec3 eye\n , vec4 velocity\n , float velocityScale\n , float lengthScale\n , float xIndex\n#endif\n) {\n#if CC_RENDER_MODE == 0\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = normalize(vec3(viewInv[0][0], viewInv[1][0], viewInv[2][0]));\n vec3 camY = normalize(vec3(viewInv[0][1], viewInv[1][1], viewInv[2][1]));\n vec3 camZ = normalize(vec3(viewInv[0][2], viewInv[1][2], viewInv[2][2]));\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, camZ, q);\n#elif CC_RENDER_MODE == 1\n vec3 camRight = normalize(cross(pos.xyz - eye, velocity.xyz)) * s.x;\n vec3 camUp = velocity.xyz * velocityScale + normalize(velocity.xyz) * lengthScale * s.y;\n pos.xyz += (camRight * abs(vertOffset.x) * sign(vertOffset.y)) - camUp * xIndex;\n#elif CC_RENDER_MODE == 2\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = vec3(1, 0, 0);\n vec3 camY = vec3(0, 0, -1);\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, cross(camX, camY), q);\n#elif CC_RENDER_MODE == 3\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n rotateVecFromQuat(viewSpaceVert, q);\n vec3 camX = normalize(vec3(cc_matView[0][0], cc_matView[1][0], cc_matView[2][0]));\n vec3 camY = vec3(0, 1, 0);\n vec3 offset = camX * viewSpaceVert.x + camY * viewSpaceVert.y;\n pos.xyz += offset;\n#else\n pos.x += vertOffset.x;\n pos.y += vertOffset.y;\n#endif\n}\nvec2 computeUV (float frameIndex, vec2 vertIndex, vec2 frameTile){\n vec2 aniUV = vec2(0, floor(frameIndex * frameTile.y));\n aniUV.x = floor(frameIndex * frameTile.x * frameTile.y - aniUV.y * frameTile.x);\n#if CC_RENDER_MODE != 4\n vertIndex.y = 1. - vertIndex.y;\n#endif\n return (aniUV.xy + vertIndex) / vec2(frameTile.x, frameTile.y);\n}\nlayout(location = 0) in vec3 a_texCoord1;\nlayout(location = 1) in vec3 a_texCoord2;\nlayout(location = 2) in vec4 a_color;\nlayout(location = 3) in vec3 a_texCoord;\n#if !CC_INSTANCE_PARTICLE\n layout(location = 4) in vec3 a_position;\n#endif\n#if CC_INSTANCE_PARTICLE\n layout(location = 5) in vec4 a_texCoord4;\n#endif\n#if CC_RENDER_MODE == 1\n layout(location = 9) in vec3 a_color1;\n#endif\n#if CC_RENDER_MODE == 4\n layout(location = 7) in vec3 a_texCoord3;\n layout(location = 8) in vec3 a_normal;\n layout(location = 9) in vec4 a_color1;\n#endif\nvec4 lpvs_main () {\n vec3 compScale = scale.xyz * a_texCoord1;\n #if !CC_INSTANCE_PARTICLE\n vec4 pos = vec4(a_position.xyz, 1);\n #endif\n #if CC_INSTANCE_PARTICLE\n vec4 pos = vec4(a_texCoord4.xyz, 1);\n #endif\n #if CC_RENDER_MODE == 1\n vec4 velocity = vec4(a_color1.xyz, 0);\n #endif\n #if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n #if CC_RENDER_MODE == 1\n velocity = cc_matWorld * velocity;\n #endif\n #endif\n #if ROTATION_OVER_TIME_MODULE_ENABLE\n vec3 rotTmp = a_texCoord2;\n float mulFactor = 1.0;\n if (rotTmp.x > 10.0 * 0.5) {\n rotTmp.x -= 10.0;\n mulFactor = -1.0;\n }\n vec4 rot = vec4(rotTmp, 0.0);\n rot.w = mulFactor * sqrt(abs(1.0 - rot.x * rot.x - rot.y * rot.y - rot.z * rot.z));\n #endif\n #if !ROTATION_OVER_TIME_MODULE_ENABLE\n #if CC_RENDER_MODE != 4\n #if CC_RENDER_MODE == 0\n vec3 rotEuler = a_texCoord2;\n #elif CC_RENDER_MODE == 1\n vec3 rotEuler = vec3(0.);\n #endif\n #if CC_RENDER_MODE != 0 && CC_RENDER_MODE != 1\n vec3 rotEuler = vec3(0., 0., a_texCoord2.z);\n #endif\n vec4 rot = quaternionFromEuler(rotEuler);\n #endif\n #if CC_RENDER_MODE == 4\n vec4 rot = quaternionFromEuler(a_texCoord2);\n #endif\n #endif\n #if CC_RENDER_MODE != 4\n vec2 cornerOffset = vec2((a_texCoord.xy - 0.5));\n #if CC_RENDER_MODE == 0 || CC_RENDER_MODE == 3\n computeVertPos(pos, cornerOffset, rot, compScale, cc_matViewInv);\n #elif CC_RENDER_MODE == 1\n computeVertPos(pos, cornerOffset, rot, compScale, cc_cameraPos.xyz, velocity, frameTile_velLenScale.z, frameTile_velLenScale.w, a_texCoord.x);\n #elif 2\n computeVertPos(pos, cornerOffset, rot, compScale);\n #endif\n color = a_color;\n #endif\n #if CC_RENDER_MODE == 4\n mat3 rotMat = quatToMat3(rot);\n mat3 nodeMat = quatToMat3(nodeRotation);\n rotMat = nodeMat * rotMat;\n rot = mat3ToQuat(rotMat);\n mat4 xformNoScale = matrixFromRT(rot, pos.xyz);\n mat4 xform = matFromRTS(rot, pos.xyz, compScale);\n pos = xform * vec4(a_texCoord3, 1);\n vec4 normal = xformNoScale * vec4(a_normal, 0);\n color = a_color * a_color1;\n #endif\n #if !CC_INSTANCE_PARTICLE\n uv = computeUV(a_texCoord.z, a_texCoord.xy, frameTile_velLenScale.xy) * mainTiling_Offset.xy + mainTiling_Offset.zw;\n #endif\n #if CC_INSTANCE_PARTICLE\n uv = computeUV(a_texCoord4.w, a_texCoord.xy, frameTile_velLenScale.xy) * mainTiling_Offset.xy + mainTiling_Offset.zw;\n #endif\n pos = cc_matViewProj * pos;\n return pos;\n}\nvoid main() { gl_Position = lpvs_main(); }","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(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":60,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":42}},"defines":[{"name":"CC_RENDER_MODE","type":"number","range":[0,4]},{"name":"CC_INSTANCE_PARTICLE","type":"boolean"},{"name":"CC_USE_WORLD_SPACE","type":"boolean"},{"name":"ROTATION_OVER_TIME_MODULE_ENABLE","type":"boolean"}]},{"hash":2411109044,"name":"particles/builtin-particle|builtin/internal/particle-vs-legacy:lpvs_main|no-tint-fs:premultiplied","blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":1,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_texCoord1","format":32,"location":0,"defines":[]},{"name":"a_texCoord2","format":32,"location":1,"defines":[]},{"name":"a_color","format":44,"location":2,"defines":[]},{"name":"a_texCoord","format":32,"location":3,"defines":[]},{"name":"a_position","format":32,"location":4,"defines":["!CC_INSTANCE_PARTICLE"]},{"name":"a_texCoord4","format":44,"location":5,"defines":["CC_INSTANCE_PARTICLE"]},{"name":"a_color1","format":32,"location":9,"defines":["CC_RENDER_MODE"]},{"name":"a_texCoord3","format":32,"location":7,"defines":["CC_RENDER_MODE"]},{"name":"a_normal","format":32,"location":8,"defines":["CC_RENDER_MODE"]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[{"name":"Constants","stageFlags":1,"binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1},{"name":"nodeRotation","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"mainTexture","type":28,"count":1,"stageFlags":16,"binding":1,"defines":[]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"vert":"\nprecision highp float;\nvec4 quaternionFromAxis (vec3 xAxis,vec3 yAxis,vec3 zAxis){\n mat3 m = mat3(xAxis,yAxis,zAxis);\n float trace = m[0][0] + m[1][1] + m[2][2];\n vec4 quat;\n if (trace > 0.) {\n float s = 0.5 / sqrt(trace + 1.0);\n quat.w = 0.25 / s;\n quat.x = (m[2][1] - m[1][2]) * s;\n quat.y = (m[0][2] - m[2][0]) * s;\n quat.z = (m[1][0] - m[0][1]) * s;\n } else if ((m[0][0] > m[1][1]) && (m[0][0] > m[2][2])) {\n float s = 2.0 * sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]);\n quat.w = (m[2][1] - m[1][2]) / s;\n quat.x = 0.25 * s;\n quat.y = (m[0][1] + m[1][0]) / s;\n quat.z = (m[0][2] + m[2][0]) / s;\n } else if (m[1][1] > m[2][2]) {\n float s = 2.0 * sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]);\n quat.w = (m[0][2] - m[2][0]) / s;\n quat.x = (m[0][1] + m[1][0]) / s;\n quat.y = 0.25 * s;\n quat.z = (m[1][2] + m[2][1]) / s;\n } else {\n float s = 2.0 * sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]);\n quat.w = (m[1][0] - m[0][1]) / s;\n quat.x = (m[0][2] + m[2][0]) / s;\n quat.y = (m[1][2] + m[2][1]) / s;\n quat.z = 0.25 * s;\n }\n float len = quat.x * quat.x + quat.y * quat.y + quat.z * quat.z + quat.w * quat.w;\n if (len > 0.) {\n len = 1. / sqrt(len);\n quat.x = quat.x * len;\n quat.y = quat.y * len;\n quat.z = quat.z * len;\n quat.w = quat.w * len;\n }\n return quat;\n}\nvec4 quaternionFromEuler (vec3 angle){\n float x = angle.x / 2.;\n float y = angle.y / 2.;\n float z = angle.z / 2.;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat = vec4(0);\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\nmat4 matrixFromRT (vec4 q, vec3 p){\n float x2 = q.x + q.x;\n float y2 = q.y + q.y;\n float z2 = q.z + q.z;\n float xx = q.x * x2;\n float xy = q.x * y2;\n float xz = q.x * z2;\n float yy = q.y * y2;\n float yz = q.y * z2;\n float zz = q.z * z2;\n float wx = q.w * x2;\n float wy = q.w * y2;\n float wz = q.w * z2;\n return mat4(\n 1. - (yy + zz), xy + wz, xz - wy, 0,\n xy - wz, 1. - (xx + zz), yz + wx, 0,\n xz + wy, yz - wx, 1. - (xx + yy), 0,\n p.x, p.y, p.z, 1\n );\n}\nmat4 matFromRTS (vec4 q, vec3 t, vec3 s){\n float x = q.x, y = q.y, z = q.z, w = q.w;\n float x2 = x + x;\n float y2 = y + y;\n float z2 = z + z;\n float xx = x * x2;\n float xy = x * y2;\n float xz = x * z2;\n float yy = y * y2;\n float yz = y * z2;\n float zz = z * z2;\n float wx = w * x2;\n float wy = w * y2;\n float wz = w * z2;\n float sx = s.x;\n float sy = s.y;\n float sz = s.z;\n return mat4((1. - (yy + zz)) * sx, (xy + wz) * sx, (xz - wy) * sx, 0,\n (xy - wz) * sy, (1. - (xx + zz)) * sy, (yz + wx) * sy, 0,\n (xz + wy) * sz, (yz - wx) * sz, (1. - (xx + yy)) * sz, 0,\n t.x, t.y, t.z, 1);\n}\nvec4 quatMultiply (vec4 a, vec4 b){\n vec4 quat;\n quat.x = a.x * b.w + a.w * b.x + a.y * b.z - a.z * b.y;\n quat.y = a.y * b.w + a.w * b.y + a.z * b.x - a.x * b.z;\n quat.z = a.z * b.w + a.w * b.z + a.x * b.y - a.y * b.x;\n quat.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z;\n return quat;\n}\nvoid rotateVecFromQuat (inout vec3 v, vec4 q){\n float ix = q.w * v.x + q.y * v.z - q.z * v.y;\n float iy = q.w * v.y + q.z * v.x - q.x * v.z;\n float iz = q.w * v.z + q.x * v.y - q.y * v.x;\n float iw = -q.x * v.x - q.y * v.y - q.z * v.z;\n v.x = ix * q.w + iw * -q.x + iy * -q.z - iz * -q.y;\n v.y = iy * q.w + iw * -q.y + iz * -q.x - ix * -q.z;\n v.z = iz * q.w + iw * -q.z + ix * -q.y - iy * -q.x;\n}\nvec3 rotateInLocalSpace (vec3 pos, vec3 xAxis, vec3 yAxis, vec3 zAxis, vec4 q){\n vec4 viewQuat = quaternionFromAxis(xAxis, yAxis, zAxis);\n vec4 rotQuat = quatMultiply(viewQuat, q);\n rotateVecFromQuat(pos, rotQuat);\n return pos;\n}\nmat3 quatToMat3(vec4 q) {\n vec3 m0 = vec3(\n 1.0 - 2.0 * q.y * q.y - 2.0 * q.z * q.z,\n 2.0 * q.x * q.y + 2.0 * q.w * q.z,\n 2.0 * q.x * q.z - 2.0 * q.w * q.y);\n\tvec3 m1 = vec3(\n 2.0 * q.x * q.y - 2.0 * q.w * q.z,\n 1.0 - 2.0 * q.x * q.x - 2.0 * q.z * q.z,\n 2.0 * q.y * q.z + 2.0 * q.w * q.x);\n\tvec3 m2 = vec3(\n 2.0 * q.x * q.z + 2.0 * q.w * q.y,\n 2.0 * q.y * q.z - 2.0 * q.w * q.x,\n 1.0 - 2.0 * q.x * q.x - 2.0 * q.y * q.y);\n return mat3(m0, m1, m2);\n}\nvec4 mat3ToQuat(mat3 mat) {\n float tr = mat[0][0] + mat[1][1] + mat[2][2];\n\tfloat qw, qx, qy, qz;\n if (tr > 0.0) {\n float S = sqrt(tr + 1.0) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = 0.25 * S;\n\t qx = (mat[1][2] - mat[2][1]) * invS;\n\t qy = (mat[2][0] - mat[0][2]) * invS;\n\t qz = (mat[0][1] - mat[1][0]) * invS;\n } else if ((mat[0][0] > mat[1][1])&&(mat[0][0] > mat[2][2])) {\n float S = sqrt(1.0 + mat[0][0] - mat[1][1] - mat[2][2]) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = (mat[1][2] - mat[2][1]) * invS;\n\t qx = 0.25 * S;\n\t qy = (mat[1][0] + mat[0][1]) * invS;\n\t qz = (mat[2][0] + mat[0][2]) * invS;\n } else if (mat[1][1] > mat[2][2]) {\n\t float S = sqrt(1.0 + mat[1][1] - mat[0][0] - mat[2][2]) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = (mat[2][0] - mat[0][2]) * invS;\n\t qx = (mat[1][0] + mat[0][1]) * invS;\n\t qy = 0.25 * S;\n\t qz = (mat[2][1] + mat[1][2]) * invS;\n } else {\n\t float S = sqrt(1.0 + mat[2][2] - mat[0][0] - mat[1][1]) * 2.0;\n\t float invS = 1.0 / S;\n\t qw = (mat[0][1] - mat[1][0]) * invS;\n\t qx = (mat[2][0] + mat[0][2]) * invS;\n\t qy = (mat[2][1] + mat[1][2]) * invS;\n\t qz = 0.25 * S;\n }\n return vec4(qx, qy, qz, qw);\n}\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;\nvoid computeVertPos (inout vec4 pos, vec2 vertOffset, vec4 q, vec3 s\n#if CC_RENDER_MODE == 0 || CC_RENDER_MODE == 3\n , mat4 viewInv\n#endif\n#if CC_RENDER_MODE == 1\n , vec3 eye\n , vec4 velocity\n , float velocityScale\n , float lengthScale\n , float xIndex\n#endif\n) {\n#if CC_RENDER_MODE == 0\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = normalize(vec3(viewInv[0][0], viewInv[1][0], viewInv[2][0]));\n vec3 camY = normalize(vec3(viewInv[0][1], viewInv[1][1], viewInv[2][1]));\n vec3 camZ = normalize(vec3(viewInv[0][2], viewInv[1][2], viewInv[2][2]));\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, camZ, q);\n#elif CC_RENDER_MODE == 1\n vec3 camRight = normalize(cross(pos.xyz - eye, velocity.xyz)) * s.x;\n vec3 camUp = velocity.xyz * velocityScale + normalize(velocity.xyz) * lengthScale * s.y;\n pos.xyz += (camRight * abs(vertOffset.x) * sign(vertOffset.y)) - camUp * xIndex;\n#elif CC_RENDER_MODE == 2\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = vec3(1, 0, 0);\n vec3 camY = vec3(0, 0, -1);\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, cross(camX, camY), q);\n#elif CC_RENDER_MODE == 3\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n rotateVecFromQuat(viewSpaceVert, q);\n vec3 camX = normalize(vec3(cc_matView[0][0], cc_matView[1][0], cc_matView[2][0]));\n vec3 camY = vec3(0, 1, 0);\n vec3 offset = camX * viewSpaceVert.x + camY * viewSpaceVert.y;\n pos.xyz += offset;\n#else\n pos.x += vertOffset.x;\n pos.y += vertOffset.y;\n#endif\n}\nvec2 computeUV (float frameIndex, vec2 vertIndex, vec2 frameTile){\n vec2 aniUV = vec2(0, floor(frameIndex * frameTile.y));\n aniUV.x = floor(frameIndex * frameTile.x * frameTile.y - aniUV.y * frameTile.x);\n#if CC_RENDER_MODE != 4\n vertIndex.y = 1. - vertIndex.y;\n#endif\n return (aniUV.xy + vertIndex) / vec2(frameTile.x, frameTile.y);\n}\nlayout(location = 0) in vec3 a_texCoord1;\nlayout(location = 1) in vec3 a_texCoord2;\nlayout(location = 2) in vec4 a_color;\nlayout(location = 3) in vec3 a_texCoord;\n#if !CC_INSTANCE_PARTICLE\n layout(location = 4) in vec3 a_position;\n#endif\n#if CC_INSTANCE_PARTICLE\n layout(location = 5) in vec4 a_texCoord4;\n#endif\n#if CC_RENDER_MODE == 1\n layout(location = 9) in vec3 a_color1;\n#endif\n#if CC_RENDER_MODE == 4\n layout(location = 7) in vec3 a_texCoord3;\n layout(location = 8) in vec3 a_normal;\n layout(location = 9) in vec4 a_color1;\n#endif\nvec4 lpvs_main () {\n vec3 compScale = scale.xyz * a_texCoord1;\n #if !CC_INSTANCE_PARTICLE\n vec4 pos = vec4(a_position.xyz, 1);\n #endif\n #if CC_INSTANCE_PARTICLE\n vec4 pos = vec4(a_texCoord4.xyz, 1);\n #endif\n #if CC_RENDER_MODE == 1\n vec4 velocity = vec4(a_color1.xyz, 0);\n #endif\n #if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n #if CC_RENDER_MODE == 1\n velocity = cc_matWorld * velocity;\n #endif\n #endif\n #if ROTATION_OVER_TIME_MODULE_ENABLE\n vec3 rotTmp = a_texCoord2;\n float mulFactor = 1.0;\n if (rotTmp.x > 10.0 * 0.5) {\n rotTmp.x -= 10.0;\n mulFactor = -1.0;\n }\n vec4 rot = vec4(rotTmp, 0.0);\n rot.w = mulFactor * sqrt(abs(1.0 - rot.x * rot.x - rot.y * rot.y - rot.z * rot.z));\n #endif\n #if !ROTATION_OVER_TIME_MODULE_ENABLE\n #if CC_RENDER_MODE != 4\n #if CC_RENDER_MODE == 0\n vec3 rotEuler = a_texCoord2;\n #elif CC_RENDER_MODE == 1\n vec3 rotEuler = vec3(0.);\n #endif\n #if CC_RENDER_MODE != 0 && CC_RENDER_MODE != 1\n vec3 rotEuler = vec3(0., 0., a_texCoord2.z);\n #endif\n vec4 rot = quaternionFromEuler(rotEuler);\n #endif\n #if CC_RENDER_MODE == 4\n vec4 rot = quaternionFromEuler(a_texCoord2);\n #endif\n #endif\n #if CC_RENDER_MODE != 4\n vec2 cornerOffset = vec2((a_texCoord.xy - 0.5));\n #if CC_RENDER_MODE == 0 || CC_RENDER_MODE == 3\n computeVertPos(pos, cornerOffset, rot, compScale, cc_matViewInv);\n #elif CC_RENDER_MODE == 1\n computeVertPos(pos, cornerOffset, rot, compScale, cc_cameraPos.xyz, velocity, frameTile_velLenScale.z, frameTile_velLenScale.w, a_texCoord.x);\n #elif 2\n computeVertPos(pos, cornerOffset, rot, compScale);\n #endif\n color = a_color;\n #endif\n #if CC_RENDER_MODE == 4\n mat3 rotMat = quatToMat3(rot);\n mat3 nodeMat = quatToMat3(nodeRotation);\n rotMat = nodeMat * rotMat;\n rot = mat3ToQuat(rotMat);\n mat4 xformNoScale = matrixFromRT(rot, pos.xyz);\n mat4 xform = matFromRTS(rot, pos.xyz, compScale);\n pos = xform * vec4(a_texCoord3, 1);\n vec4 normal = xformNoScale * vec4(a_normal, 0);\n color = a_color * a_color1;\n #endif\n #if !CC_INSTANCE_PARTICLE\n uv = computeUV(a_texCoord.z, a_texCoord.xy, frameTile_velLenScale.xy) * mainTiling_Offset.xy + mainTiling_Offset.zw;\n #endif\n #if CC_INSTANCE_PARTICLE\n uv = computeUV(a_texCoord4.w, a_texCoord.xy, frameTile_velLenScale.xy) * mainTiling_Offset.xy + mainTiling_Offset.zw;\n #endif\n pos = cc_matViewProj * pos;\n return pos;\n}\nvoid main() { gl_Position = lpvs_main(); }","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(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":60,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":42}},"defines":[{"name":"CC_RENDER_MODE","type":"number","range":[0,4]},{"name":"CC_INSTANCE_PARTICLE","type":"boolean"},{"name":"CC_USE_WORLD_SPACE","type":"boolean"},{"name":"ROTATION_OVER_TIME_MODULE_ENABLE","type":"boolean"}]}],[{"name":"add","passes":[{"program":"particles/builtin-particle|builtin/internal/particle-vs-legacy:lpvs_main|tinted-fs:add","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":1,"blendSrcAlpha":2,"blendDstAlpha":1}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":28},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]},"tintColor":{"type":16,"value":[0.5,0.5,0.5,0.5]}}},{"phase":"deferred-forward","propertyIndex":0,"program":"particles/builtin-particle|builtin/internal/particle-vs-legacy:lpvs_main|tinted-fs:add","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":1,"blendSrcAlpha":2,"blendDstAlpha":1}]},"depthStencilState":{"depthTest":true,"depthWrite":false}}]},{"name":"alpha-blend","passes":[{"program":"particles/builtin-particle|builtin/internal/particle-vs-legacy:lpvs_main|tinted-fs:add","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":4,"blendSrcAlpha":0,"blendDstAlpha":1,"blendAlphaEq":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":28},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]},"tintColor":{"type":16,"value":[0.5,0.5,0.5,0.5]}}},{"phase":"deferred-forward","propertyIndex":0,"program":"particles/builtin-particle|builtin/internal/particle-vs-legacy:lpvs_main|tinted-fs:add","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":4,"blendSrcAlpha":0,"blendDstAlpha":1,"blendAlphaEq":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false}}]},{"name":"add-multiply","passes":[{"program":"particles/builtin-particle|builtin/internal/particle-vs-legacy:lpvs_main|tinted-fs:multiply","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":7,"blendDst":1,"blendSrcAlpha":0,"blendDstAlpha":3}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":28},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]},"tintColor":{"type":16,"value":[0.5,0.5,0.5,0.5]}}},{"phase":"deferred-forward","propertyIndex":0,"program":"particles/builtin-particle|builtin/internal/particle-vs-legacy:lpvs_main|tinted-fs:multiply","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":7,"blendDst":1,"blendSrcAlpha":0,"blendDstAlpha":3}]},"depthStencilState":{"depthTest":true,"depthWrite":false}}]},{"name":"add-smooth","passes":[{"program":"particles/builtin-particle|builtin/internal/particle-vs-legacy:lpvs_main|no-tint-fs:addSmooth","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":1,"blendSrcAlpha":2,"blendDstAlpha":1}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":28},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]}}},{"phase":"deferred-forward","propertyIndex":0,"program":"particles/builtin-particle|builtin/internal/particle-vs-legacy:lpvs_main|no-tint-fs:addSmooth","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":1,"blendSrcAlpha":2,"blendDstAlpha":1}]},"depthStencilState":{"depthTest":true,"depthWrite":false}}]},{"name":"premultiply-blend","passes":[{"program":"particles/builtin-particle|builtin/internal/particle-vs-legacy:lpvs_main|no-tint-fs:premultiplied","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":4,"blendSrcAlpha":0,"blendDstAlpha":1,"blendAlphaEq":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":28},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]}}},{"phase":"deferred-forward","propertyIndex":0,"program":"particles/builtin-particle|builtin/internal/particle-vs-legacy:lpvs_main|no-tint-fs:premultiplied","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":4,"blendSrcAlpha":0,"blendDstAlpha":1,"blendAlphaEq":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false}}]}]]],0,0,[],[],[]],[[[2,"missing-material",[{"rasterizerState":{},"depthStencilState":{},"blendState":{"targets":[{}]}}],[{"USE_COLOR":true}],[[[{},"mainColor",8,[4,4294902015]]],11]]],0,0,[0],[0],[1]],[[[0,"ui-sprite-gray-alpha-sep-material",[{}],[{"rasterizerState":{},"depthStencilState":{},"blendState":{"targets":[{}]}}],[{"USE_TEXTURE":true,"CC_USE_EMBEDDED_ALPHA":true,"IS_GRAY":true}]]],0,0,[0],[0],[0]],[[[0,"ui-base-material",[{}],[{"rasterizerState":{},"depthStencilState":{},"blendState":{"targets":[{}]}}],[{"USE_TEXTURE":false}]]],0,0,[0],[0],[0]],[[[0,"ui-sprite-gray-material",[{}],[{"rasterizerState":{},"depthStencilState":{},"blendState":{"targets":[{}]}}],[{"USE_TEXTURE":true,"CC_USE_EMBEDDED_ALPHA":false,"IS_GRAY":true}]]],0,0,[0],[0],[0]],[[[0,"ui-graphics-material",[{}],[{"rasterizerState":{},"depthStencilState":{},"blendState":{"targets":[{}]}}],[{}]]],0,0,[0],[0],[8]],[[[0,"ui-sprite-alpha-sep-material",[{}],[{"rasterizerState":{},"depthStencilState":{},"blendState":{"targets":[{}]}}],[{"USE_TEXTURE":true,"CC_USE_EMBEDDED_ALPHA":true,"IS_GRAY":false}]]],0,0,[0],[0],[0]],[[[0,"ui-sprite-material",[{}],[{"rasterizerState":{},"depthStencilState":{},"blendState":{"targets":[{}]}}],[{"USE_TEXTURE":true,"IS_GRAY":false,"CC_USE_EMBEDDED_ALPHA":false}]]],0,0,[0],[0],[0]]]] diff --git a/cocos_view_pod/Assets/assets/internal/index.js b/cocos_view_pod/Assets/assets/internal/index.js new file mode 100644 index 0000000..757337a --- /dev/null +++ b/cocos_view_pod/Assets/assets/internal/index.js @@ -0,0 +1,20 @@ +System.register("chunks:///_virtual/internal",[],(function(){return{execute:function(){}}})); + +(function(r) { + r('virtual:///prerequisite-imports/internal', 'chunks:///_virtual/internal'); +})(function(mid, cid) { + System.register(mid, [cid], function (_export, _context) { + return { + setters: [function(_m) { + var _exportObj = {}; + + for (var _key in _m) { + if (_key !== "default" && _key !== "__esModule") _exportObj[_key] = _m[_key]; + } + + _export(_exportObj); + }], + execute: function () { } + }; + }); +}); \ No newline at end of file diff --git a/cocos_view_pod/Assets/assets/main/cc.config.json b/cocos_view_pod/Assets/assets/main/cc.config.json new file mode 100644 index 0000000..8fed333 --- /dev/null +++ b/cocos_view_pod/Assets/assets/main/cc.config.json @@ -0,0 +1 @@ +{"importBase":"import","nativeBase":"native","name":"main","deps":["internal"],"uuids":["010d3a23c","04b964e93","070e260c2","07GNmWOb9KtLtjSWZm/vRn","7cPn+rex5IZbqEPPgbSLn7","baIUdvKGZPgZxNbjWTFuRI","07GNmWOb9KtLtjSWZm/vRn@6c48a","0a40fbfd0","0a9f2beb8","0asxQqaWhAc5WvAmvDsjYj@0e750","0asxQqaWhAc5WvAmvDsjYj@1332c","0asxQqaWhAc5WvAmvDsjYj@2b0a8","0asxQqaWhAc5WvAmvDsjYj@2df3a","0asxQqaWhAc5WvAmvDsjYj@426f2","0asxQqaWhAc5WvAmvDsjYj@4a7d8","0asxQqaWhAc5WvAmvDsjYj@4d16f","0asxQqaWhAc5WvAmvDsjYj@71919","0asxQqaWhAc5WvAmvDsjYj@754a2","0asxQqaWhAc5WvAmvDsjYj@ef86b","0asxQqaWhAc5WvAmvDsjYj@efe84","0d0d3c8df","1brw/JvvpFnIvdrxpFCgMZ","4fTEo0LQhKTZFpg0186Czu","5a8gG1WVFOLKgfrEqtkTLL@b47c0","5a8gG1WVFOLKgfrEqtkTLL@b47c0@40c10","5a8gG1WVFOLKgfrEqtkTLL@b47c0@74afd","5a8gG1WVFOLKgfrEqtkTLL@b47c0@7d38f","5a8gG1WVFOLKgfrEqtkTLL@b47c0@8fd34","5a8gG1WVFOLKgfrEqtkTLL@b47c0@bb97f","5a8gG1WVFOLKgfrEqtkTLL@b47c0@e9a6d","5eTUjEDjRFr6JoiUhRl+i8","6fiRp7WghI5phB3bNkrIax","6fiRp7WghI5phB3bNkrIax@6c48a","700zdYHB5CTbCr6sdBBVm/","7b+d9AS8lOJYywmlAPlJEC","8aWN3s9DdAuY7AH8h96X+1","8eBHF49hxDIqL20a2yi2ri","955bAq4zhCPL27F0htsdnr","955bAq4zhCPL27F0htsdnr@6c48a","a1Vfk7d2lMpLdfsT5SGThZ","a3zQCfCrBCDZJ4uf2rk5u8","a7YStUNeNCOKGpSntUY1g5","aa3gnuj51BPKnojGhupeFg@438fe","aa3gnuj51BPKnojGhupeFg@73b7f","aa3gnuj51BPKnojGhupeFg@ef5e1","aeGN7qxuBKPb9w7lUz+bqH","aeGN7qxuBKPb9w7lUz+bqH@6c48a","b6mOVasAtJh6i0r4PN3Fn3","c5CD51rS5OqYsz3udImVsA","c5CD51rS5OqYsz3udImVsA@6c48a","ccw6dVfT1DBKo7ykeS152f","cfxTxOeVZIK668P7Hc027v","e3VTytLxVCk4Waj0PHgPKJ@18751","e3VTytLxVCk4Waj0PHgPKJ@30732","e3VTytLxVCk4Waj0PHgPKJ@39f7b","e3VTytLxVCk4Waj0PHgPKJ@4b929","e3VTytLxVCk4Waj0PHgPKJ@73b7f","e3VTytLxVCk4Waj0PHgPKJ@75ee4","e3VTytLxVCk4Waj0PHgPKJ@a72ab","e3VTytLxVCk4Waj0PHgPKJ@da6f3","e3VTytLxVCk4Waj0PHgPKJ@f1394","fdjsU2o1RKF5x0TziDw3jI"],"paths":{"4":["db:/assets/scene/main",0],"5":["db:/internal/physics/default-physics-material",2],"61":["db:/internal/default_renderpipeline/builtin-forward",1]},"scenes":{"db://assets/scene/main.scene":4},"packs":{"010d3a23c":[34,41],"04b964e93":[9,10,11,13,14,15,16,17,18,19,4,35,36,39,50,51,52,53,54,55,57,58,59,60],"070e260c2":[30,42,44,47],"0a40fbfd0":[12,32,38,6,46,49],"0a9f2beb8":[21,33],"0d0d3c8df":[23,24,25,26,27,28,29]},"versions":{"import":[],"native":[]},"redirect":[40,"0",5,"0"],"debug":false,"extensionMap":{".ccon":[43,56]},"hasPreloadScript":true,"dependencyRelationships":{},"types":["cc.SceneAsset","cc.RenderPipeline","cc.PhysicsMaterial"]} \ No newline at end of file diff --git a/cocos_view_pod/Assets/assets/main/import/01/010d3a23c.json b/cocos_view_pod/Assets/assets/main/import/01/010d3a23c.json new file mode 100644 index 0000000..72d5df6 --- /dev/null +++ b/cocos_view_pod/Assets/assets/main/import/01/010d3a23c.json @@ -0,0 +1 @@ +[1,["c5CD51rS5OqYsz3udImVsA@6c48a","a7YStUNeNCOKGpSntUY1g5"],["mainTexture","_effectAsset"],[["cc.Material",["_name","_states","_defines","_props"],0,12],["cc.EffectAsset",["_name","shaders","techniques"],0]],[[0,0,1,2,3,4],[1,0,1,2,4]],[[[[0,"tree",[{"blendState":{"targets":[{}]},"depthStencilState":{},"rasterizerState":{}},{"blendState":{"targets":[{}]},"depthStencilState":{},"rasterizerState":{}},{"blendState":{"targets":[{}]},"depthStencilState":{},"rasterizerState":{}},{"blendState":{"targets":[{}]},"depthStencilState":{},"rasterizerState":{}}],[{"USE_OUTLINE_PASS":true},{"USE_BASE_COLOR_MAP":true,"BASE_COLOR_MAP_AS_SHADE_MAP_1":true,"BASE_COLOR_MAP_AS_SHADE_MAP_2":true},{"USE_BASE_COLOR_MAP":true,"BASE_COLOR_MAP_AS_SHADE_MAP_1":true,"BASE_COLOR_MAP_AS_SHADE_MAP_2":true},{"USE_BASE_COLOR_MAP":true}],[[{},[{},"specular",8,[4,16777215],"mainTexture",6,0],{},{}],0,11,0,0]]],0,0,[0,0],[0,1],[0,1]],[[[1,"legacy/toon",[{"hash":2832630087,"name":"legacy/toon|legacy/main-functions/outline-vs:vert|legacy/main-functions/outline-fs:frag","blocks":[{"name":"OutlineVert","stageFlags":1,"binding":0,"members":[{"name":"outlineParams","type":16,"count":1}],"defines":[]},{"name":"OutlineFrag","stageFlags":16,"binding":1,"members":[{"name":"baseColor","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"baseColorMap","type":28,"count":1,"stageFlags":16,"binding":2,"defines":["USE_BASE_COLOR_MAP"]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position","format":32,"location":0,"defines":[]},{"name":"a_normal","format":32,"location":1,"defines":[]},{"name":"a_texCoord","format":21,"location":2,"defines":[]},{"name":"a_tangent","format":44,"location":3,"defines":[]},{"name":"a_joints","location":4,"defines":["CC_USE_SKINNING"]},{"name":"a_weights","format":44,"location":5,"defines":["CC_USE_SKINNING"]},{"name":"a_jointAnimInfo","format":44,"isInstanced":true,"location":6,"defines":["USE_INSTANCING","CC_USE_BAKED_ANIMATION"]},{"name":"a_matWorld0","format":44,"isInstanced":true,"location":7,"defines":["USE_INSTANCING"]},{"name":"a_matWorld1","format":44,"isInstanced":true,"location":8,"defines":["USE_INSTANCING"]},{"name":"a_matWorld2","format":44,"isInstanced":true,"location":9,"defines":["USE_INSTANCING"]},{"name":"a_lightingMapUVParam","format":44,"isInstanced":true,"location":10,"defines":["USE_INSTANCING","CC_USE_LIGHTMAP"]},{"name":"a_localShadowBiasAndProbeId","format":44,"isInstanced":true,"location":11,"defines":["USE_INSTANCING"]},{"name":"a_reflectionProbeData","format":44,"isInstanced":true,"location":12,"defines":["USE_INSTANCING","CC_USE_REFLECTION_PROBE"]},{"name":"a_sh_linear_const_r","format":44,"isInstanced":true,"location":13,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_sh_linear_const_g","format":44,"isInstanced":true,"location":14,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_sh_linear_const_b","format":44,"isInstanced":true,"location":15,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_vertexId","format":11,"location":16,"defines":["CC_USE_MORPH"]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCMorph","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_displacementWeights","typename":"vec4","type":16,"count":15,"isArray":true},{"name":"cc_displacementTextureInfo","typename":"vec4","type":16,"count":1}],"defines":["CC_USE_MORPH"]},{"name":"CCSkinningTexture","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_jointTextureInfo","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinningAnimation","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_jointAnimInfo","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinning","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_joints","typename":"vec4","type":16,"count":0,"precision":"highp ","isArray":true}],"defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","!CC_USE_REAL_TIME_JOINT_TEXTURE"]},{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["!USE_INSTANCING"]}],"samplerTextures":[{"name":"cc_PositionDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_POSITION"]},{"name":"cc_NormalDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_NORMAL"]},{"name":"cc_TangentDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_TANGENT"]},{"name":"cc_jointTexture","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"cc_realtimeJoint","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","CC_USE_REAL_TIME_JOINT_TEXTURE"]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[{"name":"OutlineVert","stageFlags":1,"binding":0,"members":[{"name":"outlineParams","type":16,"count":1}],"defines":[]},{"name":"OutlineFrag","stageFlags":16,"binding":1,"members":[{"name":"baseColor","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"baseColorMap","type":28,"count":1,"stageFlags":16,"binding":2,"defines":["USE_BASE_COLOR_MAP"]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"vert":"#extension GL_EXT_shader_explicit_arithmetic_types_int32: require\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 int getVertexId() {\n return gl_VertexIndex;\n }\n#endif\nhighp float decode32 (highp vec4 rgba) {\n rgba = rgba * 255.0;\n highp float Sign = 1.0 - (step(128.0, (rgba[3]) + 0.5)) * 2.0;\n highp float Exponent = 2.0 * (mod(float(int((rgba[3]) + 0.5)), 128.0)) + (step(128.0, (rgba[2]) + 0.5)) - 127.0;\n highp float Mantissa = (mod(float(int((rgba[2]) + 0.5)), 128.0)) * 65536.0 + rgba[1] * 256.0 + rgba[0] + 8388608.0;\n return Sign * exp2(Exponent - 23.0) * Mantissa;\n}\n#if CC_USE_MORPH\n layout(set = 2, binding = 4) uniform CCMorph {\n vec4 cc_displacementWeights[15];\n vec4 cc_displacementTextureInfo;\n };\n #if CC_MORPH_TARGET_HAS_POSITION\n layout(set = 2, binding = 8) uniform sampler2D cc_PositionDisplacements;\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n layout(set = 2, binding = 9) uniform sampler2D cc_NormalDisplacements;\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n layout(set = 2, binding = 10) uniform sampler2D cc_TangentDisplacements;\n #endif\n vec2 getPixelLocation(vec2 textureResolution, int pixelIndex) {\n float pixelIndexF = float(pixelIndex);\n float x = mod(pixelIndexF, textureResolution.x);\n float y = floor(pixelIndexF / textureResolution.x);\n return vec2(x, y);\n }\n vec2 getPixelCoordFromLocation(vec2 location, vec2 textureResolution) {\n return (vec2(location.x, location.y) + .5) / textureResolution;\n }\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n vec4 fetchVec3ArrayFromTexture(sampler2D tex, int pixelIndex) {\n ivec2 texSize = textureSize(tex, 0);\n return texelFetch(tex, ivec2(pixelIndex % texSize.x, pixelIndex / texSize.x), 0);\n }\n #else\n vec4 fetchVec3ArrayFromTexture(sampler2D tex, int elementIndex) {\n int pixelIndex = elementIndex * 4;\n vec2 location = getPixelLocation(cc_displacementTextureInfo.xy, pixelIndex);\n vec2 x = getPixelCoordFromLocation(location + vec2(0.0, 0.0), cc_displacementTextureInfo.xy);\n vec2 y = getPixelCoordFromLocation(location + vec2(1.0, 0.0), cc_displacementTextureInfo.xy);\n vec2 z = getPixelCoordFromLocation(location + vec2(2.0, 0.0), cc_displacementTextureInfo.xy);\n return vec4(\n decode32(texture(tex, x)),\n decode32(texture(tex, y)),\n decode32(texture(tex, z)),\n 1.0\n );\n }\n #endif\n float getDisplacementWeight(int index) {\n int quot = index / 4;\n int remainder = index - quot * 4;\n if (remainder == 0) {\n return cc_displacementWeights[quot].x;\n } else if (remainder == 1) {\n return cc_displacementWeights[quot].y;\n } else if (remainder == 2) {\n return cc_displacementWeights[quot].z;\n } else {\n return cc_displacementWeights[quot].w;\n }\n }\n vec3 getVec3DisplacementFromTexture(sampler2D tex, int vertexIndex) {\n #if CC_MORPH_PRECOMPUTED\n return fetchVec3ArrayFromTexture(tex, vertexIndex).rgb;\n #else\n vec3 result = vec3(0, 0, 0);\n int nVertices = int(cc_displacementTextureInfo.z);\n for (int iTarget = 0; iTarget < CC_MORPH_TARGET_COUNT; ++iTarget) {\n result += (fetchVec3ArrayFromTexture(tex, nVertices * iTarget + vertexIndex).rgb * getDisplacementWeight(iTarget));\n }\n return result;\n #endif\n }\n #if CC_MORPH_TARGET_HAS_POSITION\n vec3 getPositionDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_PositionDisplacements, vertexId);\n }\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n vec3 getNormalDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_NormalDisplacements, vertexId);\n }\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n vec3 getTangentDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_TangentDisplacements, vertexId);\n }\n #endif\n void applyMorph (inout vec4 position, inout vec3 normal, inout vec4 tangent) {\n int vertexId = getVertexId();\n #if CC_MORPH_TARGET_HAS_POSITION\n position.xyz = position.xyz + getPositionDisplacement(vertexId);\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n normal.xyz = normal.xyz + getNormalDisplacement(vertexId);\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n tangent.xyz = tangent.xyz + getTangentDisplacement(vertexId);\n #endif\n }\n void applyMorph (inout vec4 position) {\n #if CC_MORPH_TARGET_HAS_POSITION\n position.xyz = position.xyz + getPositionDisplacement(getVertexId());\n #endif\n }\n#endif\n#if CC_USE_SKINNING\n #if CC_USE_BAKED_ANIMATION\n layout(set = 2, binding = 3) uniform CCSkinningTexture {\n highp vec4 cc_jointTextureInfo;\n };\n layout(set = 2, binding = 2) uniform CCSkinningAnimation {\n highp vec4 cc_jointAnimInfo;\n };\n layout(set = 2, binding = 7) uniform highp sampler2D cc_jointTexture;\n void CCGetJointTextureCoords(float pixelsPerJoint, float jointIdx, out highp float x, out highp float y, out highp float invSize)\n {\n #if USE_INSTANCING\n highp float temp = pixelsPerJoint * (a_jointAnimInfo.x * a_jointAnimInfo.y + jointIdx) + a_jointAnimInfo.z;\n #else\n highp float temp = pixelsPerJoint * (cc_jointAnimInfo.x * cc_jointTextureInfo.y + jointIdx) + cc_jointTextureInfo.z;\n #endif\n invSize = cc_jointTextureInfo.w;\n highp float tempY = floor(temp * invSize);\n x = floor(temp - tempY * cc_jointTextureInfo.x);\n y = (tempY + 0.5) * invSize;\n }\n #else\n #if CC_USE_REAL_TIME_JOINT_TEXTURE\n layout(set = 2, binding = 7) uniform highp sampler2D cc_realtimeJoint;\n #else\n layout(set = 2, binding = 3) uniform CCSkinning {\n highp vec4 cc_joints[CC_JOINT_UNIFORM_CAPACITY * 3];\n };\n #endif\n #endif\n #if CC_USE_BAKED_ANIMATION\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n mat4 getJointMatrix (float i) {\n highp float x, y, invSize;\n CCGetJointTextureCoords(3.0, i, x, y, invSize);\n vec4 v1 = texture(cc_jointTexture, vec2((x + 0.5) * invSize, y));\n vec4 v2 = texture(cc_jointTexture, vec2((x + 1.5) * invSize, y));\n vec4 v3 = texture(cc_jointTexture, vec2((x + 2.5) * invSize, y));\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #else\n mat4 getJointMatrix (float i) {\n highp float x, y, invSize;\n CCGetJointTextureCoords(12.0, i, x, y, invSize);\n vec4 v1 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 0.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 1.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 2.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 3.5) * invSize, y)))\n );\n vec4 v2 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 4.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 5.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 6.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 7.5) * invSize, y)))\n );\n vec4 v3 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 8.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 9.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 10.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 11.5) * invSize, y)))\n );\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #else\n #if CC_USE_REAL_TIME_JOINT_TEXTURE\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n mat4 getJointMatrix (float i) {\n float x = i;\n vec4 v1 = texture(cc_realtimeJoint, vec2( x / 256.0, 0.5 / 3.0));\n vec4 v2 = texture(cc_realtimeJoint, vec2( x / 256.0, 1.5 / 3.0));\n vec4 v3 = texture(cc_realtimeJoint, vec2( x / 256.0, 2.5 / 3.0));\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #else\n mat4 getJointMatrix (float i) {\n float x = 4.0 * i;\n vec4 v1 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 0.5 / 3.0)))\n );\n vec4 v2 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 1.5 / 3.0)))\n );\n vec4 v3 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 2.5 / 3.0)))\n );\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #else\n mat4 getJointMatrix (float i) {\n int idx = int(i);\n vec4 v1 = cc_joints[idx * 3];\n vec4 v2 = cc_joints[idx * 3 + 1];\n vec4 v3 = cc_joints[idx * 3 + 2];\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #endif\n mat4 skinMatrix () {\n vec4 joints = vec4(a_joints);\n return getJointMatrix(joints.x) * a_weights.x\n + getJointMatrix(joints.y) * a_weights.y\n + getJointMatrix(joints.z) * a_weights.z\n + getJointMatrix(joints.w) * a_weights.w;\n }\n void CCSkin (inout vec4 position) {\n mat4 m = skinMatrix();\n position = m * position;\n }\n void CCSkin (inout vec4 position, inout vec3 normal, inout vec4 tangent) {\n mat4 m = skinMatrix();\n position = m * position;\n normal = (m * vec4(normal, 0.0)).xyz;\n tangent.xyz = (m * vec4(tangent.xyz, 0.0)).xyz;\n }\n#endif\nvoid CCVertInput(inout StandardVertInput In)\n{\n In.position = vec4(a_position, 1.0);\n In.normal = a_normal;\n In.tangent = a_tangent;\n #if CC_USE_MORPH\n applyMorph(In.position, In.normal, In.tangent);\n #endif\n #if CC_USE_SKINNING\n CCSkin(In.position, In.normal, In.tangent);\n #endif\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};\n#if !USE_INSTANCING\n layout(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 };\n#endif\nvoid CCGetWorldMatrix(out mat4 matWorld)\n{\n #if USE_INSTANCING\n matWorld = mat4(\n vec4(a_matWorld0.xyz, 0.0),\n vec4(a_matWorld1.xyz, 0.0),\n vec4(a_matWorld2.xyz, 0.0),\n vec4(a_matWorld0.w, a_matWorld1.w, a_matWorld2.w, 1.0)\n );\n #else\n matWorld = cc_matWorld;\n #endif\n}\nlayout(location = 0) out vec2 v_uv;\nlayout(set = 1, binding = 0) uniform OutlineVert {\n vec4 outlineParams;\n};\nvec4 vert () {\n StandardVertInput In;\n CCVertInput(In);\n mat4 matWorld;\n CCGetWorldMatrix(matWorld);\n float width = outlineParams.x * 0.001;\n #if USE_POSITION_SCALING\n vec3 dir = normalize(In.position.xyz);\n float flip = dot(dir, normalize(In.normal)) < 0.0 ? -1.0 : 1.0;\n In.position.xyz += flip * dir * width * 2.0;\n vec4 pos = cc_matProj * (cc_matView * matWorld) * In.position;\n #else\n In.position.xyz += normalize(In.normal) * width;\n vec4 pos = cc_matProj * (cc_matView * matWorld) * In.position;\n #endif\n float scaleZ = cc_nearFar.z == 0.0 ? 0.5 : 1.0;\n pos.z -= outlineParams.y * 0.002 * scaleZ;\n v_uv = a_texCoord;\n return pos;\n}\nvoid main() { gl_Position = vert(); }","frag":"\nprecision highp 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};\nvec3 SRGBToLinear (vec3 gamma) {\n#ifdef CC_USE_SURFACE_SHADER\n #if CC_USE_DEBUG_VIEW == CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC && CC_SURFACES_ENABLE_DEBUG_VIEW\n if (!IS_DEBUG_VIEW_COMPOSITE_ENABLE_GAMMA_CORRECTION) {\n return gamma;\n }\n #endif\n#endif\n return gamma * gamma;\n}\nvec4 CCFragOutput (vec4 color) {\n return color;\n}\nlayout(location = 0) in vec2 v_uv;\nlayout(set = 1, binding = 1) uniform OutlineFrag {\n vec4 baseColor;\n};\n#if USE_BASE_COLOR_MAP\n layout(set = 1, binding = 2) uniform sampler2D baseColorMap;\n#endif\nvec4 frag () {\n vec4 color = baseColor * cc_mainLitColor;\n #if USE_BASE_COLOR_MAP\n vec4 texColor = texture(baseColorMap, v_uv);\n texColor.rgb = SRGBToLinear(texColor.rgb);\n color *= texColor;\n #endif\n return CCFragOutput(vec4(color.rgb, 1.0));\n}\nlayout(location = 0) out vec4 cc_FragColor;\nvoid main() { cc_FragColor = frag(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCMorph","defines":["CC_USE_MORPH"]},{"name":"CCSkinningTexture","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinningAnimation","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinning","defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","!CC_USE_REAL_TIME_JOINT_TEXTURE"]},{"name":"CCLocal","defines":["!USE_INSTANCING"]}],"samplerTextures":[{"name":"cc_PositionDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_POSITION"]},{"name":"cc_NormalDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_NORMAL"]},{"name":"cc_TangentDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_TANGENT"]},{"name":"cc_jointTexture","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"cc_realtimeJoint","defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","CC_USE_REAL_TIME_JOINT_TEXTURE"]}],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":75,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":43}},"defines":[{"name":"USE_INSTANCING","type":"boolean"},{"name":"CC_USE_SKINNING","type":"boolean"},{"name":"CC_USE_BAKED_ANIMATION","type":"boolean"},{"name":"CC_USE_LIGHTMAP","type":"boolean"},{"name":"CC_USE_REFLECTION_PROBE","type":"boolean"},{"name":"CC_RECEIVE_SHADOW","type":"boolean"},{"name":"CC_USE_LIGHT_PROBE","type":"boolean"},{"name":"CC_USE_MORPH","type":"boolean"},{"name":"CC_MORPH_TARGET_COUNT","type":"number","range":[2,8]},{"name":"CC_MORPH_TARGET_HAS_POSITION","type":"boolean"},{"name":"CC_MORPH_TARGET_HAS_NORMAL","type":"boolean"},{"name":"CC_MORPH_TARGET_HAS_TANGENT","type":"boolean"},{"name":"CC_MORPH_PRECOMPUTED","type":"boolean"},{"name":"CC_USE_REAL_TIME_JOINT_TEXTURE","type":"boolean"},{"name":"USE_POSITION_SCALING","type":"boolean"},{"name":"CC_USE_DEBUG_VIEW","type":"number","range":[0,3]},{"name":"CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC","type":"boolean"},{"name":"CC_SURFACES_ENABLE_DEBUG_VIEW","type":"boolean"},{"name":"USE_BASE_COLOR_MAP","type":"boolean"}]},{"hash":3633044401,"name":"legacy/toon|toon-vs:vert|toon-fs:frag","blocks":[{"name":"Constants","stageFlags":17,"binding":0,"members":[{"name":"tilingOffset","type":16,"count":1},{"name":"baseColor","type":16,"count":1},{"name":"colorScaleAndCutoff","type":16,"count":1},{"name":"shadeColor1","type":16,"count":1},{"name":"shadeColor2","type":16,"count":1},{"name":"specular","type":16,"count":1},{"name":"shadeParams","type":16,"count":1},{"name":"miscParams","type":16,"count":1},{"name":"emissive","type":16,"count":1},{"name":"emissiveScaleAndStrenth","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"baseColorMap","type":28,"count":1,"stageFlags":16,"binding":1,"defines":["USE_BASE_COLOR_MAP"]},{"name":"normalMap","type":28,"count":1,"stageFlags":16,"binding":2,"defines":["USE_NORMAL_MAP"]},{"name":"shadeMap1","type":28,"count":1,"stageFlags":16,"binding":3,"defines":["USE_1ST_SHADE_MAP"]},{"name":"shadeMap2","type":28,"count":1,"stageFlags":16,"binding":4,"defines":["USE_2ND_SHADE_MAP"]},{"name":"specularMap","type":28,"count":1,"stageFlags":16,"binding":5,"defines":["USE_SPECULAR_MAP"]},{"name":"emissiveMap","type":28,"count":1,"stageFlags":16,"binding":6,"defines":["USE_EMISSIVE_MAP"]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position","format":32,"location":0,"defines":[]},{"name":"a_normal","format":32,"location":1,"defines":[]},{"name":"a_texCoord","format":21,"location":2,"defines":[]},{"name":"a_tangent","format":44,"location":3,"defines":[]},{"name":"a_joints","location":4,"defines":["CC_USE_SKINNING"]},{"name":"a_weights","format":44,"location":5,"defines":["CC_USE_SKINNING"]},{"name":"a_jointAnimInfo","format":44,"isInstanced":true,"location":6,"defines":["USE_INSTANCING","CC_USE_BAKED_ANIMATION"]},{"name":"a_matWorld0","format":44,"isInstanced":true,"location":7,"defines":["USE_INSTANCING"]},{"name":"a_matWorld1","format":44,"isInstanced":true,"location":8,"defines":["USE_INSTANCING"]},{"name":"a_matWorld2","format":44,"isInstanced":true,"location":9,"defines":["USE_INSTANCING"]},{"name":"a_lightingMapUVParam","format":44,"isInstanced":true,"location":10,"defines":["USE_INSTANCING","CC_USE_LIGHTMAP"]},{"name":"a_localShadowBiasAndProbeId","format":44,"isInstanced":true,"location":11,"defines":["USE_INSTANCING"]},{"name":"a_reflectionProbeData","format":44,"isInstanced":true,"location":12,"defines":["USE_INSTANCING","CC_USE_REFLECTION_PROBE"]},{"name":"a_sh_linear_const_r","format":44,"isInstanced":true,"location":13,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_sh_linear_const_g","format":44,"isInstanced":true,"location":14,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_sh_linear_const_b","format":44,"isInstanced":true,"location":15,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_vertexId","format":11,"location":16,"defines":["CC_USE_MORPH"]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCMorph","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_displacementWeights","typename":"vec4","type":16,"count":15,"isArray":true},{"name":"cc_displacementTextureInfo","typename":"vec4","type":16,"count":1}],"defines":["CC_USE_MORPH"]},{"name":"CCSkinningTexture","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_jointTextureInfo","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinningAnimation","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_jointAnimInfo","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinning","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_joints","typename":"vec4","type":16,"count":0,"precision":"highp ","isArray":true}],"defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","!CC_USE_REAL_TIME_JOINT_TEXTURE"]},{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["!USE_INSTANCING"]},{"name":"CCForwardLight","stageFlags":16,"tags":{"builtin":"local"},"members":[{"name":"cc_lightPos","typename":"vec4","type":16,"count":0,"precision":"highp ","isArray":true},{"name":"cc_lightColor","typename":"vec4","type":16,"count":0,"isArray":true},{"name":"cc_lightSizeRangeAngle","typename":"vec4","type":16,"count":0,"isArray":true},{"name":"cc_lightDir","typename":"vec4","type":16,"count":0,"isArray":true},{"name":"cc_lightBoundingSizeVS","typename":"vec4","type":16,"count":0,"isArray":true}],"defines":["CC_FORWARD_ADD","CC_ENABLE_CLUSTERED_LIGHT_CULLING"]}],"samplerTextures":[{"name":"cc_PositionDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_POSITION"]},{"name":"cc_NormalDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_NORMAL"]},{"name":"cc_TangentDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_TANGENT"]},{"name":"cc_jointTexture","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"cc_realtimeJoint","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","CC_USE_REAL_TIME_JOINT_TEXTURE"]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[{"name":"Constants","stageFlags":17,"binding":0,"members":[{"name":"tilingOffset","type":16,"count":1},{"name":"baseColor","type":16,"count":1},{"name":"colorScaleAndCutoff","type":16,"count":1},{"name":"shadeColor1","type":16,"count":1},{"name":"shadeColor2","type":16,"count":1},{"name":"specular","type":16,"count":1},{"name":"shadeParams","type":16,"count":1},{"name":"miscParams","type":16,"count":1},{"name":"emissive","type":16,"count":1},{"name":"emissiveScaleAndStrenth","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"baseColorMap","type":28,"count":1,"stageFlags":16,"binding":1,"defines":["USE_BASE_COLOR_MAP"]},{"name":"normalMap","type":28,"count":1,"stageFlags":16,"binding":2,"defines":["USE_NORMAL_MAP"]},{"name":"shadeMap1","type":28,"count":1,"stageFlags":16,"binding":3,"defines":["USE_1ST_SHADE_MAP"]},{"name":"shadeMap2","type":28,"count":1,"stageFlags":16,"binding":4,"defines":["USE_2ND_SHADE_MAP"]},{"name":"specularMap","type":28,"count":1,"stageFlags":16,"binding":5,"defines":["USE_SPECULAR_MAP"]},{"name":"emissiveMap","type":28,"count":1,"stageFlags":16,"binding":6,"defines":["USE_EMISSIVE_MAP"]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCShadow","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matLightView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matLightViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_shadowInvProjDepthInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowProjDepthInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowProjInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowNFLSInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowWHPBInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowLPNNInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowColor","typename":"vec4","type":16,"count":1,"precision":"lowp "},{"name":"cc_planarNDInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCSM","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_csmViewDir0","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmViewDir1","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmViewDir2","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmAtlas","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_matCSMViewProj","typename":"mat4","type":25,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmProjDepthInfo","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmProjInfo","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmSplitsInfo","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["CC_SUPPORT_CASCADED_SHADOW_MAP"]}],"samplerTextures":[{"name":"cc_shadowMap","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":17,"tags":{"builtin":"global"},"defines":["CC_RECEIVE_SHADOW"]},{"name":"cc_spotShadowMap","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":17,"tags":{"builtin":"global"},"defines":["CC_RECEIVE_SHADOW"]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"vert":"#extension GL_EXT_shader_explicit_arithmetic_types_int32: require\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 int getVertexId() {\n return gl_VertexIndex;\n }\n#endif\nhighp float decode32 (highp vec4 rgba) {\n rgba = rgba * 255.0;\n highp float Sign = 1.0 - (step(128.0, (rgba[3]) + 0.5)) * 2.0;\n highp float Exponent = 2.0 * (mod(float(int((rgba[3]) + 0.5)), 128.0)) + (step(128.0, (rgba[2]) + 0.5)) - 127.0;\n highp float Mantissa = (mod(float(int((rgba[2]) + 0.5)), 128.0)) * 65536.0 + rgba[1] * 256.0 + rgba[0] + 8388608.0;\n return Sign * exp2(Exponent - 23.0) * Mantissa;\n}\n#if CC_USE_MORPH\n layout(set = 2, binding = 4) uniform CCMorph {\n vec4 cc_displacementWeights[15];\n vec4 cc_displacementTextureInfo;\n };\n #if CC_MORPH_TARGET_HAS_POSITION\n layout(set = 2, binding = 8) uniform sampler2D cc_PositionDisplacements;\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n layout(set = 2, binding = 9) uniform sampler2D cc_NormalDisplacements;\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n layout(set = 2, binding = 10) uniform sampler2D cc_TangentDisplacements;\n #endif\n vec2 getPixelLocation(vec2 textureResolution, int pixelIndex) {\n float pixelIndexF = float(pixelIndex);\n float x = mod(pixelIndexF, textureResolution.x);\n float y = floor(pixelIndexF / textureResolution.x);\n return vec2(x, y);\n }\n vec2 getPixelCoordFromLocation(vec2 location, vec2 textureResolution) {\n return (vec2(location.x, location.y) + .5) / textureResolution;\n }\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n vec4 fetchVec3ArrayFromTexture(sampler2D tex, int pixelIndex) {\n ivec2 texSize = textureSize(tex, 0);\n return texelFetch(tex, ivec2(pixelIndex % texSize.x, pixelIndex / texSize.x), 0);\n }\n #else\n vec4 fetchVec3ArrayFromTexture(sampler2D tex, int elementIndex) {\n int pixelIndex = elementIndex * 4;\n vec2 location = getPixelLocation(cc_displacementTextureInfo.xy, pixelIndex);\n vec2 x = getPixelCoordFromLocation(location + vec2(0.0, 0.0), cc_displacementTextureInfo.xy);\n vec2 y = getPixelCoordFromLocation(location + vec2(1.0, 0.0), cc_displacementTextureInfo.xy);\n vec2 z = getPixelCoordFromLocation(location + vec2(2.0, 0.0), cc_displacementTextureInfo.xy);\n return vec4(\n decode32(texture(tex, x)),\n decode32(texture(tex, y)),\n decode32(texture(tex, z)),\n 1.0\n );\n }\n #endif\n float getDisplacementWeight(int index) {\n int quot = index / 4;\n int remainder = index - quot * 4;\n if (remainder == 0) {\n return cc_displacementWeights[quot].x;\n } else if (remainder == 1) {\n return cc_displacementWeights[quot].y;\n } else if (remainder == 2) {\n return cc_displacementWeights[quot].z;\n } else {\n return cc_displacementWeights[quot].w;\n }\n }\n vec3 getVec3DisplacementFromTexture(sampler2D tex, int vertexIndex) {\n #if CC_MORPH_PRECOMPUTED\n return fetchVec3ArrayFromTexture(tex, vertexIndex).rgb;\n #else\n vec3 result = vec3(0, 0, 0);\n int nVertices = int(cc_displacementTextureInfo.z);\n for (int iTarget = 0; iTarget < CC_MORPH_TARGET_COUNT; ++iTarget) {\n result += (fetchVec3ArrayFromTexture(tex, nVertices * iTarget + vertexIndex).rgb * getDisplacementWeight(iTarget));\n }\n return result;\n #endif\n }\n #if CC_MORPH_TARGET_HAS_POSITION\n vec3 getPositionDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_PositionDisplacements, vertexId);\n }\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n vec3 getNormalDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_NormalDisplacements, vertexId);\n }\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n vec3 getTangentDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_TangentDisplacements, vertexId);\n }\n #endif\n void applyMorph (inout vec4 position, inout vec3 normal, inout vec4 tangent) {\n int vertexId = getVertexId();\n #if CC_MORPH_TARGET_HAS_POSITION\n position.xyz = position.xyz + getPositionDisplacement(vertexId);\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n normal.xyz = normal.xyz + getNormalDisplacement(vertexId);\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n tangent.xyz = tangent.xyz + getTangentDisplacement(vertexId);\n #endif\n }\n void applyMorph (inout vec4 position) {\n #if CC_MORPH_TARGET_HAS_POSITION\n position.xyz = position.xyz + getPositionDisplacement(getVertexId());\n #endif\n }\n#endif\n#if CC_USE_SKINNING\n #if CC_USE_BAKED_ANIMATION\n layout(set = 2, binding = 3) uniform CCSkinningTexture {\n highp vec4 cc_jointTextureInfo;\n };\n layout(set = 2, binding = 2) uniform CCSkinningAnimation {\n highp vec4 cc_jointAnimInfo;\n };\n layout(set = 2, binding = 7) uniform highp sampler2D cc_jointTexture;\n void CCGetJointTextureCoords(float pixelsPerJoint, float jointIdx, out highp float x, out highp float y, out highp float invSize)\n {\n #if USE_INSTANCING\n highp float temp = pixelsPerJoint * (a_jointAnimInfo.x * a_jointAnimInfo.y + jointIdx) + a_jointAnimInfo.z;\n #else\n highp float temp = pixelsPerJoint * (cc_jointAnimInfo.x * cc_jointTextureInfo.y + jointIdx) + cc_jointTextureInfo.z;\n #endif\n invSize = cc_jointTextureInfo.w;\n highp float tempY = floor(temp * invSize);\n x = floor(temp - tempY * cc_jointTextureInfo.x);\n y = (tempY + 0.5) * invSize;\n }\n #else\n #if CC_USE_REAL_TIME_JOINT_TEXTURE\n layout(set = 2, binding = 7) uniform highp sampler2D cc_realtimeJoint;\n #else\n layout(set = 2, binding = 3) uniform CCSkinning {\n highp vec4 cc_joints[CC_JOINT_UNIFORM_CAPACITY * 3];\n };\n #endif\n #endif\n #if CC_USE_BAKED_ANIMATION\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n mat4 getJointMatrix (float i) {\n highp float x, y, invSize;\n CCGetJointTextureCoords(3.0, i, x, y, invSize);\n vec4 v1 = texture(cc_jointTexture, vec2((x + 0.5) * invSize, y));\n vec4 v2 = texture(cc_jointTexture, vec2((x + 1.5) * invSize, y));\n vec4 v3 = texture(cc_jointTexture, vec2((x + 2.5) * invSize, y));\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #else\n mat4 getJointMatrix (float i) {\n highp float x, y, invSize;\n CCGetJointTextureCoords(12.0, i, x, y, invSize);\n vec4 v1 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 0.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 1.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 2.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 3.5) * invSize, y)))\n );\n vec4 v2 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 4.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 5.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 6.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 7.5) * invSize, y)))\n );\n vec4 v3 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 8.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 9.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 10.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 11.5) * invSize, y)))\n );\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #else\n #if CC_USE_REAL_TIME_JOINT_TEXTURE\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n mat4 getJointMatrix (float i) {\n float x = i;\n vec4 v1 = texture(cc_realtimeJoint, vec2( x / 256.0, 0.5 / 3.0));\n vec4 v2 = texture(cc_realtimeJoint, vec2( x / 256.0, 1.5 / 3.0));\n vec4 v3 = texture(cc_realtimeJoint, vec2( x / 256.0, 2.5 / 3.0));\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #else\n mat4 getJointMatrix (float i) {\n float x = 4.0 * i;\n vec4 v1 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 0.5 / 3.0)))\n );\n vec4 v2 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 1.5 / 3.0)))\n );\n vec4 v3 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 2.5 / 3.0)))\n );\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #else\n mat4 getJointMatrix (float i) {\n int idx = int(i);\n vec4 v1 = cc_joints[idx * 3];\n vec4 v2 = cc_joints[idx * 3 + 1];\n vec4 v3 = cc_joints[idx * 3 + 2];\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #endif\n mat4 skinMatrix () {\n vec4 joints = vec4(a_joints);\n return getJointMatrix(joints.x) * a_weights.x\n + getJointMatrix(joints.y) * a_weights.y\n + getJointMatrix(joints.z) * a_weights.z\n + getJointMatrix(joints.w) * a_weights.w;\n }\n void CCSkin (inout vec4 position) {\n mat4 m = skinMatrix();\n position = m * position;\n }\n void CCSkin (inout vec4 position, inout vec3 normal, inout vec4 tangent) {\n mat4 m = skinMatrix();\n position = m * position;\n normal = (m * vec4(normal, 0.0)).xyz;\n tangent.xyz = (m * vec4(tangent.xyz, 0.0)).xyz;\n }\n#endif\nvoid CCVertInput(inout StandardVertInput In)\n{\n In.position = vec4(a_position, 1.0);\n In.normal = a_normal;\n In.tangent = a_tangent;\n #if CC_USE_MORPH\n applyMorph(In.position, In.normal, In.tangent);\n #endif\n #if CC_USE_SKINNING\n CCSkin(In.position, In.normal, In.tangent);\n #endif\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};\n#if !USE_INSTANCING\n layout(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 };\n#endif\nvoid CCGetWorldMatrixFull(out mat4 matWorld, out mat4 matWorldIT)\n{\n #if USE_INSTANCING\n matWorld = mat4(\n vec4(a_matWorld0.xyz, 0.0),\n vec4(a_matWorld1.xyz, 0.0),\n vec4(a_matWorld2.xyz, 0.0),\n vec4(a_matWorld0.w, a_matWorld1.w, a_matWorld2.w, 1.0)\n );\n vec3 scale = 1.0 / vec3(length(a_matWorld0.xyz), length(a_matWorld1.xyz), length(a_matWorld2.xyz));\n vec3 scale2 = scale * scale;\n matWorldIT = mat4(\n vec4(a_matWorld0.xyz * scale2.x, 0.0),\n vec4(a_matWorld1.xyz * scale2.y, 0.0),\n vec4(a_matWorld2.xyz * scale2.z, 0.0),\n vec4(0.0, 0.0, 0.0, 1.0)\n );\n #else\n matWorld = cc_matWorld;\n matWorldIT = cc_matWorldIT;\n #endif\n}\nlayout(set = 1, binding = 0) uniform Constants {\n vec4 tilingOffset;\n vec4 baseColor;\n vec4 colorScaleAndCutoff;\n vec4 shadeColor1;\n vec4 shadeColor2;\n vec4 specular;\n vec4 shadeParams;\n vec4 miscParams;\n vec4 emissive;\n vec4 emissiveScaleAndStrenth;\n};\nlayout(location = 0) out highp vec4 v_shadowPos;\nlayout(set = 0, binding = 2) uniform CCShadow {\n highp mat4 cc_matLightView;\n highp mat4 cc_matLightViewProj;\n highp vec4 cc_shadowInvProjDepthInfo;\n highp vec4 cc_shadowProjDepthInfo;\n highp vec4 cc_shadowProjInfo;\n mediump vec4 cc_shadowNFLSInfo;\n mediump vec4 cc_shadowWHPBInfo;\n mediump vec4 cc_shadowLPNNInfo;\n lowp vec4 cc_shadowColor;\n mediump vec4 cc_planarNDInfo;\n};\n#if CC_SUPPORT_CASCADED_SHADOW_MAP\n layout(set = 0, binding = 3) uniform CCCSM {\n highp vec4 cc_csmViewDir0[4];\n highp vec4 cc_csmViewDir1[4];\n highp vec4 cc_csmViewDir2[4];\n highp vec4 cc_csmAtlas[4];\n highp mat4 cc_matCSMViewProj[4];\n highp vec4 cc_csmProjDepthInfo[4];\n highp vec4 cc_csmProjInfo[4];\n highp vec4 cc_csmSplitsInfo;\n };\n#endif\n#if defined(CC_USE_METAL) || defined(CC_USE_WGPU)\n#define CC_HANDLE_SAMPLE_NDC_FLIP_STATIC(y) y = -y\n#else\n#define CC_HANDLE_SAMPLE_NDC_FLIP_STATIC(y)\n#endif\n#if CC_RECEIVE_SHADOW\n layout(set = 0, binding = 4) uniform highp sampler2D cc_shadowMap;\n layout(set = 0, binding = 6) uniform highp sampler2D cc_spotShadowMap;\n #define UnpackBitFromFloat(value, bit) (mod(floor(value / pow(10.0, float(bit))), 10.0) > 0.0)\n #if CC_SUPPORT_CASCADED_SHADOW_MAP\n #else\n #endif\n#endif\n#if CC_RECEIVE_SHADOW\nvec2 CCGetShadowBias()\n{\n #if USE_INSTANCING\n return vec2(a_localShadowBiasAndProbeId.x + cc_shadowWHPBInfo.w, a_localShadowBiasAndProbeId.y + cc_shadowLPNNInfo.z);\n #else\n return vec2(cc_localShadowBias.x + cc_shadowWHPBInfo.w, cc_localShadowBias.y + cc_shadowLPNNInfo.z);\n #endif\n}\n#endif\nlayout(location = 1) out vec3 v_position;\nlayout(location = 2) out vec2 v_uv;\nlayout(location = 3) out mediump vec3 v_normal;\n#if CC_RECEIVE_SHADOW\n layout(location = 4) out mediump vec2 v_shadowBias;\n#endif\n#if USE_NORMAL_MAP\n layout(location = 5) out mediump vec4 v_tangent;\n#endif\nvec4 vert () {\n StandardVertInput In;\n CCVertInput(In);\n mat4 matWorld, matWorldIT;\n CCGetWorldMatrixFull(matWorld, matWorldIT);\n vec4 pos = matWorld * In.position;\n v_position = pos.xyz;\n v_uv = a_texCoord * tilingOffset.xy + tilingOffset.zw;\n #if CC_RECEIVE_SHADOW\n v_shadowBias = CCGetShadowBias();\n #endif\n v_normal = (matWorldIT * vec4(In.normal, 0.0)).xyz;\n #if USE_NORMAL_MAP\n v_tangent.xyz = normalize((matWorld * vec4(In.tangent.xyz, 0.0)).xyz);\n v_tangent.w = In.tangent.w;\n #endif\n v_shadowPos = cc_matLightViewProj * pos;\n return cc_matProj * (cc_matView * matWorld) * In.position;\n}\nvoid main() { gl_Position = vert(); }","frag":"\nprecision highp 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};\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\n#define UnpackBitFromFloat(value, bit) (mod(floor(value / pow(10.0, float(bit))), 10.0) > 0.0)\nhighp float unpackHighpData (float mainPart, float modPart) {\n highp float data = mainPart;\n return data + modPart;\n}\nvoid packHighpData (out float mainPart, out float modPart, highp float data) {\n mainPart = fract(data);\n modPart = data - mainPart;\n}\nhighp float unpackHighpData (float mainPart, float modPart, const float modValue) {\n highp float data = mainPart * modValue;\n return data + modPart * modValue;\n}\nvoid packHighpData (out float mainPart, out float modPart, highp float data, const float modValue) {\n highp float divide = data / modValue;\n mainPart = floor(divide);\n modPart = (data - mainPart * modValue) / modValue;\n}\nhighp vec2 unpackHighpData (vec2 mainPart, vec2 modPart) {\n highp vec2 data = mainPart;\n return data + modPart;\n}\nvoid packHighpData (out vec2 mainPart, out vec2 modPart, highp vec2 data) {\n mainPart = fract(data);\n modPart = data - mainPart;\n}\nhighp vec2 unpackHighpData (vec2 mainPart, vec2 modPart, const float modValue) {\n highp vec2 data = mainPart * modValue;\n return data + modPart * modValue;\n}\nvoid packHighpData (out vec2 mainPart, out vec2 modPart, highp vec2 data, const float modValue) {\n highp vec2 divide = data / modValue;\n mainPart = floor(divide);\n modPart = (data - mainPart * modValue) / modValue;\n}\nhighp vec3 unpackHighpData (vec3 mainPart, vec3 modPart) {\n highp vec3 data = mainPart;\n return data + modPart;\n}\nvoid packHighpData (out vec3 mainPart, out vec3 modPart, highp vec3 data) {\n mainPart = fract(data);\n modPart = data - mainPart;\n}\nhighp vec3 unpackHighpData (vec3 mainPart, vec3 modPart, const float modValue) {\n highp vec3 data = mainPart * modValue;\n return data + modPart * modValue;\n}\nvoid packHighpData (out vec3 mainPart, out vec3 modPart, highp vec3 data, const float modValue) {\n highp vec3 divide = data / modValue;\n mainPart = floor(divide);\n modPart = (data - mainPart * modValue) / modValue;\n}\nhighp vec4 unpackHighpData (vec4 mainPart, vec4 modPart) {\n highp vec4 data = mainPart;\n return data + modPart;\n}\nvoid packHighpData (out vec4 mainPart, out vec4 modPart, highp vec4 data) {\n mainPart = fract(data);\n modPart = data - mainPart;\n}\nhighp vec4 unpackHighpData (vec4 mainPart, vec4 modPart, const float modValue) {\n highp vec4 data = mainPart * modValue;\n return data + modPart * modValue;\n}\nvoid packHighpData (out vec4 mainPart, out vec4 modPart, highp vec4 data, const float modValue) {\n highp vec4 divide = data / modValue;\n mainPart = floor(divide);\n modPart = (data - mainPart * modValue) / modValue;\n}\nstruct ToonSurface {\n vec4 baseColor;\n vec4 specular;\n #if CC_PLATFORM_ANDROID_AND_WEBGL && CC_ENABLE_WEBGL_HIGHP_STRUCT_VALUES\n vec3 position, position_fract_part;\n #else\n vec3 position;\n #endif\n vec3 normal;\n vec3 shade1;\n vec3 shade2;\n vec3 emissive;\n float baseStep;\n float baseFeather;\n float shadeStep;\n float shadeFeather;\n float shadowCover;\n #if CC_RECEIVE_SHADOW\n vec2 shadowBias;\n #endif\n};\n#if CC_FORWARD_ADD\n #if CC_PIPELINE_TYPE == 0\n #define LIGHTS_PER_PASS 1\n #else\n #define LIGHTS_PER_PASS 10\n #endif\n #if CC_ENABLE_CLUSTERED_LIGHT_CULLING == 0\n layout(set = 2, binding = 1) uniform CCForwardLight {\n highp vec4 cc_lightPos[LIGHTS_PER_PASS];\n vec4 cc_lightColor[LIGHTS_PER_PASS];\n vec4 cc_lightSizeRangeAngle[LIGHTS_PER_PASS];\n vec4 cc_lightDir[LIGHTS_PER_PASS];\n vec4 cc_lightBoundingSizeVS[LIGHTS_PER_PASS];\n };\n #endif\n float SmoothDistAtt (float distSqr, float invSqrAttRadius) {\n float factor = distSqr * invSqrAttRadius;\n float smoothFactor = clamp(1.0 - factor * factor, 0.0, 1.0);\n return smoothFactor * smoothFactor;\n }\n float GetDistAtt (float distSqr, float invSqrAttRadius) {\n float attenuation = 1.0 / max(distSqr, 0.01*0.01);\n attenuation *= SmoothDistAtt(distSqr , invSqrAttRadius);\n return attenuation;\n }\n float GetAngleAtt (vec3 L, vec3 litDir, float litAngleScale, float litAngleOffset) {\n float cd = dot(litDir, L);\n float attenuation = clamp(cd * litAngleScale + litAngleOffset, 0.0, 1.0);\n return (attenuation * attenuation);\n }\n float GetOutOfRange (vec3 worldPos, vec3 lightPos, vec3 lookAt, vec3 right, vec3 BoundingHalfSizeVS) {\n vec3 v = vec3(0.0);\n vec3 up = cross(right, lookAt);\n worldPos -= lightPos;\n v.x = dot(worldPos, right);\n v.y = dot(worldPos, up);\n v.z = dot(worldPos, lookAt);\n vec3 result = step(abs(v), BoundingHalfSizeVS);\n return result.x * result.y * result.z;\n }\n vec4 CCToonShading (ToonSurface s) {\n vec3 position;\n #if CC_PLATFORM_ANDROID_AND_WEBGL && CC_ENABLE_WEBGL_HIGHP_STRUCT_VALUES\n position = unpackHighpData(s.position, s.position_fract_part);\n #else\n position = s.position;\n #endif\n vec3 V = normalize(cc_cameraPos.xyz - position);\n vec3 N = normalize(s.normal);\n float specularWeight = 1.0 - pow(s.specular.a, 5.0);\n vec3 finalColor = vec3(0.0);\n for (int i = 0; i < LIGHTS_PER_PASS; i++) {\n vec3 SLU = IS_RANGED_DIRECTIONAL_LIGHT(cc_lightPos[i].w) ? -cc_lightDir[i].xyz : cc_lightPos[i].xyz - position;\n vec3 SL = normalize(SLU);\n vec3 SH = normalize(SL + V);\n float SNL = 0.5 * dot(N, SL) + 0.5;\n float SNH = 0.5 * dot(N, SH) + 0.5;\n vec3 diffuse = mix(s.shade1, s.shade2,\n clamp(1.0 + (s.shadeStep - s.shadeFeather - SNL) / s.shadeFeather, 0.0, 1.0));\n diffuse = mix(s.baseColor.rgb, diffuse,\n clamp(1.0 + (s.baseStep - s.baseFeather - SNL) / s.baseFeather, 0.0, 1.0));\n float specularMask = step(specularWeight, SNH);\n vec3 specular = s.specular.rgb * specularMask;\n float illum = 1.0;\n float att = 1.0;\n if (IS_RANGED_DIRECTIONAL_LIGHT(cc_lightPos[i].w)) {\n att = GetOutOfRange(position, cc_lightPos[i].xyz, cc_lightDir[i].xyz, cc_lightSizeRangeAngle[i].xyz, cc_lightBoundingSizeVS[i].xyz);\n } else {\n float distSqr = dot(SLU, SLU);\n float litRadius = cc_lightSizeRangeAngle[i].x;\n float litRadiusSqr = litRadius * litRadius;\n illum = (IS_POINT_LIGHT(cc_lightPos[i].w) || IS_RANGED_DIRECTIONAL_LIGHT(cc_lightPos[i].w)) ? 1.0 : litRadiusSqr / max(litRadiusSqr , distSqr);\n float attRadiusSqrInv = 1.0 / max(cc_lightSizeRangeAngle[i].y, 0.01);\n attRadiusSqrInv *= attRadiusSqrInv;\n att = GetDistAtt(distSqr, attRadiusSqrInv);\n if (IS_SPOT_LIGHT(cc_lightPos[i].w)) {\n float cosInner = max(dot(-cc_lightDir[i].xyz, SL), 0.01);\n float cosOuter = cc_lightSizeRangeAngle[i].z;\n float litAngleScale = 1.0 / max(0.001, cosInner - cosOuter);\n float litAngleOffset = -cosOuter * litAngleScale;\n att *= GetAngleAtt(SL, -cc_lightDir[i].xyz, litAngleScale, litAngleOffset);\n }\n }\n finalColor += SNL * cc_lightColor[i].rgb * cc_lightColor[i].a * illum * att * s.baseStep * (diffuse + specular);\n }\n return vec4(finalColor, 0.0);\n }\n#else\n #if CC_RECEIVE_SHADOW\n layout(location = 0) in highp vec4 v_shadowPos;\n layout(set = 0, binding = 2) uniform CCShadow {\n highp mat4 cc_matLightView;\n highp mat4 cc_matLightViewProj;\n highp vec4 cc_shadowInvProjDepthInfo;\n highp vec4 cc_shadowProjDepthInfo;\n highp vec4 cc_shadowProjInfo;\n mediump vec4 cc_shadowNFLSInfo;\n mediump vec4 cc_shadowWHPBInfo;\n mediump vec4 cc_shadowLPNNInfo;\n lowp vec4 cc_shadowColor;\n mediump vec4 cc_planarNDInfo;\n };\n #if CC_SUPPORT_CASCADED_SHADOW_MAP\n layout(set = 0, binding = 3) uniform CCCSM {\n highp vec4 cc_csmViewDir0[4];\n highp vec4 cc_csmViewDir1[4];\n highp vec4 cc_csmViewDir2[4];\n highp vec4 cc_csmAtlas[4];\n highp mat4 cc_matCSMViewProj[4];\n highp vec4 cc_csmProjDepthInfo[4];\n highp vec4 cc_csmProjInfo[4];\n highp vec4 cc_csmSplitsInfo;\n };\n #endif\n #if defined(CC_USE_METAL) || defined(CC_USE_WGPU)\n #define CC_HANDLE_SAMPLE_NDC_FLIP_STATIC(y) y = -y\n #else\n #define CC_HANDLE_SAMPLE_NDC_FLIP_STATIC(y)\n #endif\n #if CC_RECEIVE_SHADOW\n layout(set = 0, binding = 4) uniform highp sampler2D cc_shadowMap;\n layout(set = 0, binding = 6) uniform highp sampler2D cc_spotShadowMap;\n float NativePCFShadowFactorHard (vec3 shadowNDCPos, highp sampler2D shadowMap, vec2 shadowMapResolution)\n {\n #if CC_SHADOWMAP_FORMAT == 1\n return step(shadowNDCPos.z, dot(texture(shadowMap, shadowNDCPos.xy), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n #else\n return step(shadowNDCPos.z, texture(shadowMap, shadowNDCPos.xy).x);\n #endif\n }\n float NativePCFShadowFactorSoft (vec3 shadowNDCPos, highp sampler2D shadowMap, vec2 shadowMapResolution)\n {\n vec2 oneTap = 1.0 / shadowMapResolution;\n vec2 shadowNDCPos_offset = shadowNDCPos.xy + oneTap;\n float block0, block1, block2, block3;\n #if CC_SHADOWMAP_FORMAT == 1\n block0 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos.y)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block1 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset.x, shadowNDCPos.y)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block2 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos_offset.y)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block3 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset.x, shadowNDCPos_offset.y)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n #else\n block0 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos.y)).x);\n block1 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset.x, shadowNDCPos.y)).x);\n block2 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos_offset.y)).x);\n block3 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset.x, shadowNDCPos_offset.y)).x);\n #endif\n float coefX = mod(shadowNDCPos.x, oneTap.x) * shadowMapResolution.x;\n float resultX = mix(block0, block1, coefX);\n float resultY = mix(block2, block3, coefX);\n float coefY = mod(shadowNDCPos.y, oneTap.y) * shadowMapResolution.y;\n return mix(resultX, resultY, coefY);\n }\n float NativePCFShadowFactorSoft3X (vec3 shadowNDCPos, highp sampler2D shadowMap, vec2 shadowMapResolution)\n {\n vec2 oneTap = 1.0 / shadowMapResolution;\n float shadowNDCPos_offset_L = shadowNDCPos.x - oneTap.x;\n float shadowNDCPos_offset_R = shadowNDCPos.x + oneTap.x;\n float shadowNDCPos_offset_U = shadowNDCPos.y - oneTap.y;\n float shadowNDCPos_offset_D = shadowNDCPos.y + oneTap.y;\n float block0, block1, block2, block3, block4, block5, block6, block7, block8;\n #if CC_SHADOWMAP_FORMAT == 1\n block0 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset_L, shadowNDCPos_offset_U)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block1 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos_offset_U)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block2 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset_R, shadowNDCPos_offset_U)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block3 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset_L, shadowNDCPos.y)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block4 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos.y)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block5 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset_R, shadowNDCPos.y)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block6 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset_L, shadowNDCPos_offset_D)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block7 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos_offset_D)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block8 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset_R, shadowNDCPos_offset_D)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n #else\n block0 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset_L, shadowNDCPos_offset_U)).x);\n block1 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos_offset_U)).x);\n block2 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset_R, shadowNDCPos_offset_U)).x);\n block3 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset_L, shadowNDCPos.y)).x);\n block4 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos.y)).x);\n block5 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset_R, shadowNDCPos.y)).x);\n block6 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset_L, shadowNDCPos_offset_D)).x);\n block7 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos_offset_D)).x);\n block8 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset_R, shadowNDCPos_offset_D)).x);\n #endif\n float coefX = mod(shadowNDCPos.x, oneTap.x) * shadowMapResolution.x;\n float coefY = mod(shadowNDCPos.y, oneTap.y) * shadowMapResolution.y;\n float shadow = 0.0;\n float resultX = mix(block0, block1, coefX);\n float resultY = mix(block3, block4, coefX);\n shadow += mix(resultX , resultY, coefY);\n resultX = mix(block1, block2, coefX);\n resultY = mix(block4, block5, coefX);\n shadow += mix(resultX , resultY, coefY);\n resultX = mix(block3, block4, coefX);\n resultY = mix(block6, block7, coefX);\n shadow += mix(resultX, resultY, coefY);\n resultX = mix(block4, block5, coefX);\n resultY = mix(block7, block8, coefX);\n shadow += mix(resultX, resultY, coefY);\n return shadow * 0.25;\n }\n float NativePCFShadowFactorSoft5X (vec3 shadowNDCPos, highp sampler2D shadowMap, vec2 shadowMapResolution)\n {\n vec2 oneTap = 1.0 / shadowMapResolution;\n vec2 twoTap = oneTap * 2.0;\n vec2 offset1 = shadowNDCPos.xy + vec2(-twoTap.x, -twoTap.y);\n vec2 offset2 = shadowNDCPos.xy + vec2(-oneTap.x, -twoTap.y);\n vec2 offset3 = shadowNDCPos.xy + vec2(0.0, -twoTap.y);\n vec2 offset4 = shadowNDCPos.xy + vec2(oneTap.x, -twoTap.y);\n vec2 offset5 = shadowNDCPos.xy + vec2(twoTap.x, -twoTap.y);\n vec2 offset6 = shadowNDCPos.xy + vec2(-twoTap.x, -oneTap.y);\n vec2 offset7 = shadowNDCPos.xy + vec2(-oneTap.x, -oneTap.y);\n vec2 offset8 = shadowNDCPos.xy + vec2(0.0, -oneTap.y);\n vec2 offset9 = shadowNDCPos.xy + vec2(oneTap.x, -oneTap.y);\n vec2 offset10 = shadowNDCPos.xy + vec2(twoTap.x, -oneTap.y);\n vec2 offset11 = shadowNDCPos.xy + vec2(-twoTap.x, 0.0);\n vec2 offset12 = shadowNDCPos.xy + vec2(-oneTap.x, 0.0);\n vec2 offset13 = shadowNDCPos.xy + vec2(0.0, 0.0);\n vec2 offset14 = shadowNDCPos.xy + vec2(oneTap.x, 0.0);\n vec2 offset15 = shadowNDCPos.xy + vec2(twoTap.x, 0.0);\n vec2 offset16 = shadowNDCPos.xy + vec2(-twoTap.x, oneTap.y);\n vec2 offset17 = shadowNDCPos.xy + vec2(-oneTap.x, oneTap.y);\n vec2 offset18 = shadowNDCPos.xy + vec2(0.0, oneTap.y);\n vec2 offset19 = shadowNDCPos.xy + vec2(oneTap.x, oneTap.y);\n vec2 offset20 = shadowNDCPos.xy + vec2(twoTap.x, oneTap.y);\n vec2 offset21 = shadowNDCPos.xy + vec2(-twoTap.x, twoTap.y);\n vec2 offset22 = shadowNDCPos.xy + vec2(-oneTap.x, twoTap.y);\n vec2 offset23 = shadowNDCPos.xy + vec2(0.0, twoTap.y);\n vec2 offset24 = shadowNDCPos.xy + vec2(oneTap.x, twoTap.y);\n vec2 offset25 = shadowNDCPos.xy + vec2(twoTap.x, twoTap.y);\n float block1, block2, block3, block4, block5, block6, block7, block8, block9, block10, block11, block12, block13, block14, block15, block16, block17, block18, block19, block20, block21, block22, block23, block24, block25;\n #if CC_SHADOWMAP_FORMAT == 1\n block1 = step(shadowNDCPos.z, dot(texture(shadowMap, offset1), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block2 = step(shadowNDCPos.z, dot(texture(shadowMap, offset2), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block3 = step(shadowNDCPos.z, dot(texture(shadowMap, offset3), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block4 = step(shadowNDCPos.z, dot(texture(shadowMap, offset4), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block5 = step(shadowNDCPos.z, dot(texture(shadowMap, offset5), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block6 = step(shadowNDCPos.z, dot(texture(shadowMap, offset6), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block7 = step(shadowNDCPos.z, dot(texture(shadowMap, offset7), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block8 = step(shadowNDCPos.z, dot(texture(shadowMap, offset8), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block9 = step(shadowNDCPos.z, dot(texture(shadowMap, offset9), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block10 = step(shadowNDCPos.z, dot(texture(shadowMap, offset10), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block11 = step(shadowNDCPos.z, dot(texture(shadowMap, offset11), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block12 = step(shadowNDCPos.z, dot(texture(shadowMap, offset12), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block13 = step(shadowNDCPos.z, dot(texture(shadowMap, offset13), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block14 = step(shadowNDCPos.z, dot(texture(shadowMap, offset14), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block15 = step(shadowNDCPos.z, dot(texture(shadowMap, offset15), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block16 = step(shadowNDCPos.z, dot(texture(shadowMap, offset16), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block17 = step(shadowNDCPos.z, dot(texture(shadowMap, offset17), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block18 = step(shadowNDCPos.z, dot(texture(shadowMap, offset18), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block19 = step(shadowNDCPos.z, dot(texture(shadowMap, offset19), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block20 = step(shadowNDCPos.z, dot(texture(shadowMap, offset20), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block21 = step(shadowNDCPos.z, dot(texture(shadowMap, offset21), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block22 = step(shadowNDCPos.z, dot(texture(shadowMap, offset22), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block23 = step(shadowNDCPos.z, dot(texture(shadowMap, offset23), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block24 = step(shadowNDCPos.z, dot(texture(shadowMap, offset24), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block25 = step(shadowNDCPos.z, dot(texture(shadowMap, offset25), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n #else\n block1 = step(shadowNDCPos.z, texture(shadowMap, offset1).x);\n block2 = step(shadowNDCPos.z, texture(shadowMap, offset2).x);\n block3 = step(shadowNDCPos.z, texture(shadowMap, offset3).x);\n block4 = step(shadowNDCPos.z, texture(shadowMap, offset4).x);\n block5 = step(shadowNDCPos.z, texture(shadowMap, offset5).x);\n block6 = step(shadowNDCPos.z, texture(shadowMap, offset6).x);\n block7 = step(shadowNDCPos.z, texture(shadowMap, offset7).x);\n block8 = step(shadowNDCPos.z, texture(shadowMap, offset8).x);\n block9 = step(shadowNDCPos.z, texture(shadowMap, offset9).x);\n block10 = step(shadowNDCPos.z, texture(shadowMap, offset10).x);\n block11 = step(shadowNDCPos.z, texture(shadowMap, offset11).x);\n block12 = step(shadowNDCPos.z, texture(shadowMap, offset12).x);\n block13 = step(shadowNDCPos.z, texture(shadowMap, offset13).x);\n block14 = step(shadowNDCPos.z, texture(shadowMap, offset14).x);\n block15 = step(shadowNDCPos.z, texture(shadowMap, offset15).x);\n block16 = step(shadowNDCPos.z, texture(shadowMap, offset16).x);\n block17 = step(shadowNDCPos.z, texture(shadowMap, offset17).x);\n block18 = step(shadowNDCPos.z, texture(shadowMap, offset18).x);\n block19 = step(shadowNDCPos.z, texture(shadowMap, offset19).x);\n block20 = step(shadowNDCPos.z, texture(shadowMap, offset20).x);\n block21 = step(shadowNDCPos.z, texture(shadowMap, offset21).x);\n block22 = step(shadowNDCPos.z, texture(shadowMap, offset22).x);\n block23 = step(shadowNDCPos.z, texture(shadowMap, offset23).x);\n block24 = step(shadowNDCPos.z, texture(shadowMap, offset24).x);\n block25 = step(shadowNDCPos.z, texture(shadowMap, offset25).x);\n #endif\n vec2 coef = fract(shadowNDCPos.xy * shadowMapResolution);\n vec2 v1X1 = mix(vec2(block1, block6), vec2(block2, block7), coef.xx);\n vec2 v1X2 = mix(vec2(block2, block7), vec2(block3, block8), coef.xx);\n vec2 v1X3 = mix(vec2(block3, block8), vec2(block4, block9), coef.xx);\n vec2 v1X4 = mix(vec2(block4, block9), vec2(block5, block10), coef.xx);\n float v1 = mix(v1X1.x, v1X1.y, coef.y) + mix(v1X2.x, v1X2.y, coef.y) + mix(v1X3.x, v1X3.y, coef.y) + mix(v1X4.x, v1X4.y, coef.y);\n vec2 v2X1 = mix(vec2(block6, block11), vec2(block7, block12), coef.xx);\n vec2 v2X2 = mix(vec2(block7, block12), vec2(block8, block13), coef.xx);\n vec2 v2X3 = mix(vec2(block8, block13), vec2(block9, block14), coef.xx);\n vec2 v2X4 = mix(vec2(block9, block14), vec2(block10, block15), coef.xx);\n float v2 = mix(v2X1.x, v2X1.y, coef.y) + mix(v2X2.x, v2X2.y, coef.y) + mix(v2X3.x, v2X3.y, coef.y) + mix(v2X4.x, v2X4.y, coef.y);\n vec2 v3X1 = mix(vec2(block11, block16), vec2(block12, block17), coef.xx);\n vec2 v3X2 = mix(vec2(block12, block17), vec2(block13, block18), coef.xx);\n vec2 v3X3 = mix(vec2(block13, block18), vec2(block14, block19), coef.xx);\n vec2 v3X4 = mix(vec2(block14, block19), vec2(block15, block20), coef.xx);\n float v3 = mix(v3X1.x, v3X1.y, coef.y) + mix(v3X2.x, v3X2.y, coef.y) + mix(v3X3.x, v3X3.y, coef.y) + mix(v3X4.x, v3X4.y, coef.y);\n vec2 v4X1 = mix(vec2(block16, block21), vec2(block17, block22), coef.xx);\n vec2 v4X2 = mix(vec2(block17, block22), vec2(block18, block23), coef.xx);\n vec2 v4X3 = mix(vec2(block18, block23), vec2(block19, block24), coef.xx);\n vec2 v4X4 = mix(vec2(block19, block24), vec2(block20, block25), coef.xx);\n float v4 = mix(v4X1.x, v4X1.y, coef.y) + mix(v4X2.x, v4X2.y, coef.y) + mix(v4X3.x, v4X3.y, coef.y) + mix(v4X4.x, v4X4.y, coef.y);\n float fAvg = (v1 + v2 + v3 + v4) * 0.0625;\n return fAvg;\n }\n bool GetShadowNDCPos(out vec3 shadowNDCPos, vec4 shadowPosWithDepthBias)\n {\n \tshadowNDCPos = shadowPosWithDepthBias.xyz / shadowPosWithDepthBias.w * 0.5 + 0.5;\n \tif (shadowNDCPos.x < 0.0 || shadowNDCPos.x > 1.0 ||\n \t\tshadowNDCPos.y < 0.0 || shadowNDCPos.y > 1.0 ||\n \t\tshadowNDCPos.z < 0.0 || shadowNDCPos.z > 1.0) {\n \t\treturn false;\n \t}\n \tshadowNDCPos.xy = cc_cameraPos.w == 1.0 ? vec2(shadowNDCPos.xy.x, 1.0 - shadowNDCPos.xy.y) : shadowNDCPos.xy;\n \treturn true;\n }\n vec4 ApplyShadowDepthBias_FaceNormal(vec4 shadowPos, vec3 worldNormal, float normalBias, vec3 matViewDir0, vec3 matViewDir1, vec3 matViewDir2, vec2 projScaleXY)\n {\n vec4 newShadowPos = shadowPos;\n if (normalBias > EPSILON_LOWP)\n {\n vec3 viewNormal = vec3(dot(matViewDir0, worldNormal), dot(matViewDir1, worldNormal), dot(matViewDir2, worldNormal));\n if (viewNormal.z < 0.1)\n newShadowPos.xy += viewNormal.xy * projScaleXY * normalBias * clamp(viewNormal.z, 0.001, 0.1);\n }\n return newShadowPos;\n }\n vec4 ApplyShadowDepthBias_FaceNormal(vec4 shadowPos, vec3 worldNormal, float normalBias, mat4 matLightView, vec2 projScaleXY)\n {\n \tvec4 newShadowPos = shadowPos;\n \tif (normalBias > EPSILON_LOWP)\n \t{\n \t\tvec4 viewNormal = matLightView * vec4(worldNormal, 0.0);\n \t\tif (viewNormal.z < 0.1)\n \t\t\tnewShadowPos.xy += viewNormal.xy * projScaleXY * normalBias * clamp(viewNormal.z, 0.001, 0.1);\n \t}\n \treturn newShadowPos;\n }\n float GetViewSpaceDepthFromNDCDepth_Orthgraphic(float NDCDepth, float projScaleZ, float projBiasZ)\n {\n \treturn (NDCDepth - projBiasZ) / projScaleZ;\n }\n vec4 ApplyShadowDepthBias_Orthographic(vec4 shadowPos, float viewspaceDepthBias, float projScaleZ, float projBiasZ)\n {\n \tfloat coeffA = projScaleZ;\n \tfloat coeffB = projBiasZ;\n \tfloat viewSpacePos_z = GetViewSpaceDepthFromNDCDepth_Orthgraphic(shadowPos.z, projScaleZ, projBiasZ);\n \tviewSpacePos_z += viewspaceDepthBias;\n \tvec4 result = shadowPos;\n \tresult.z = viewSpacePos_z * coeffA + coeffB;\n \treturn result;\n }\n float CCGetDirLightShadowFactorHard (vec4 shadowPosWithDepthBias) {\n \t vec3 shadowNDCPos;\n \t if (!GetShadowNDCPos(shadowNDCPos, shadowPosWithDepthBias)) {\n \t\t return 1.0;\n \t }\n return NativePCFShadowFactorHard(shadowNDCPos, cc_shadowMap, cc_shadowWHPBInfo.xy);\n }\n float CCGetDirLightShadowFactorSoft (vec4 shadowPosWithDepthBias) {\n \t vec3 shadowNDCPos;\n \t if (!GetShadowNDCPos(shadowNDCPos, shadowPosWithDepthBias)) {\n \t\t return 1.0;\n \t }\n return NativePCFShadowFactorSoft(shadowNDCPos, cc_shadowMap, cc_shadowWHPBInfo.xy);\n }\n float CCGetDirLightShadowFactorSoft3X (vec4 shadowPosWithDepthBias) {\n \t vec3 shadowNDCPos;\n \t if (!GetShadowNDCPos(shadowNDCPos, shadowPosWithDepthBias)) {\n \t\t return 1.0;\n \t }\n return NativePCFShadowFactorSoft3X(shadowNDCPos, cc_shadowMap, cc_shadowWHPBInfo.xy);\n }\n float CCGetDirLightShadowFactorSoft5X (vec4 shadowPosWithDepthBias) {\n \t vec3 shadowNDCPos;\n \t if (!GetShadowNDCPos(shadowNDCPos, shadowPosWithDepthBias)) {\n \t\t return 1.0;\n \t }\n return NativePCFShadowFactorSoft5X(shadowNDCPos, cc_shadowMap, cc_shadowWHPBInfo.xy);\n }\n float CCShadowFactorBase(out vec4 shadowPosWithDepthBias, vec4 shadowPos, vec3 N, vec2 shadowBias)\n {\n vec4 pos = ApplyShadowDepthBias_FaceNormal(shadowPos, N, shadowBias.y, cc_matLightView, cc_shadowProjInfo.xy);\n pos = ApplyShadowDepthBias_Orthographic(pos, shadowBias.x, cc_shadowProjDepthInfo.x, cc_shadowProjDepthInfo.y);\n float realtimeShadow = 1.0;\n #if CC_DIR_SHADOW_PCF_TYPE == 3\n realtimeShadow = CCGetDirLightShadowFactorSoft5X(pos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 2\n realtimeShadow = CCGetDirLightShadowFactorSoft3X(pos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 1\n realtimeShadow = CCGetDirLightShadowFactorSoft(pos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 0\n realtimeShadow = CCGetDirLightShadowFactorHard(pos);\n #endif\n shadowPosWithDepthBias = pos;\n return mix(realtimeShadow, 1.0, cc_shadowNFLSInfo.w);\n }\n #if CC_SUPPORT_CASCADED_SHADOW_MAP\n bool CCGetCSMLevelWithTransition(out highp float ratio, vec3 clipPos) {\n highp float maxRange = 1.0 - cc_csmSplitsInfo.x;\n highp float minRange = cc_csmSplitsInfo.x;\n highp float thresholdInvert = 1.0 / cc_csmSplitsInfo.x;\n ratio = 0.0;\n if (clipPos.x <= minRange) {\n ratio = clipPos.x * thresholdInvert;\n return true;\n }\n if (clipPos.x >= maxRange) {\n ratio = 1.0 - (clipPos.x - maxRange) * thresholdInvert;\n return true;\n }\n if (clipPos.y <= minRange) {\n ratio = clipPos.y * thresholdInvert;\n return true;\n }\n if (clipPos.y >= maxRange) {\n ratio = 1.0 - (clipPos.y - maxRange) * thresholdInvert;\n return true;\n }\n return false;\n }\n bool CCHasCSMLevel(int level, vec3 worldPos) {\n highp float layerThreshold = cc_csmViewDir0[0].w;\n bool hasLevel = false;\n for (int i = 0; i < 4; i++) {\n if (i == level) {\n vec4 shadowPos = cc_matCSMViewProj[i] * vec4(worldPos.xyz, 1.0);\n vec3 clipPos = shadowPos.xyz / shadowPos.w * 0.5 + 0.5;\n if (clipPos.x >= layerThreshold && clipPos.x <= (1.0 - layerThreshold) &&\n clipPos.y >= layerThreshold && clipPos.y <= (1.0 - layerThreshold) &&\n clipPos.z >= 0.0 && clipPos.z <= 1.0) {\n hasLevel = true;\n }\n }\n }\n return hasLevel;\n }\n void CCGetCSMLevel(out vec4 csmPos, out vec4 shadowProjDepthInfo, out vec4 shadowProjInfo, out vec3 shadowViewDir0, out vec3 shadowViewDir1, out vec3 shadowViewDir2, vec3 worldPos, int level) {\n highp float layerThreshold = cc_csmViewDir0[0].w;\n for (int i = 0; i < 4; i++) {\n vec4 shadowPos = cc_matCSMViewProj[i] * vec4(worldPos.xyz, 1.0);\n vec3 clipPos = shadowPos.xyz / shadowPos.w * 0.5 + 0.5;\n if (clipPos.x >= layerThreshold && clipPos.x <= (1.0 - layerThreshold) &&\n clipPos.y >= layerThreshold && clipPos.y <= (1.0 - layerThreshold) &&\n clipPos.z >= 0.0 && clipPos.z <= 1.0 && i == level) {\n csmPos = cc_matCSMViewProj[i] * vec4(worldPos.xyz, 1.0);\n csmPos.xy = csmPos.xy * cc_csmAtlas[i].xy + cc_csmAtlas[i].zw;\n shadowProjDepthInfo = cc_csmProjDepthInfo[i];\n shadowProjInfo = cc_csmProjInfo[i];\n shadowViewDir0 = cc_csmViewDir0[i].xyz;\n shadowViewDir1 = cc_csmViewDir1[i].xyz;\n shadowViewDir2 = cc_csmViewDir2[i].xyz;\n }\n }\n }\n int CCGetCSMLevel(out bool isTransitionArea, out highp float transitionRatio, out vec4 csmPos, out vec4 shadowProjDepthInfo, out vec4 shadowProjInfo, out vec3 shadowViewDir0, out vec3 shadowViewDir1, out vec3 shadowViewDir2, vec3 worldPos)\n {\n int level = -1;\n highp float layerThreshold = cc_csmViewDir0[0].w;\n for (int i = 0; i < 4; i++) {\n vec4 shadowPos = cc_matCSMViewProj[i] * vec4(worldPos.xyz, 1.0);\n vec3 clipPos = shadowPos.xyz / shadowPos.w * 0.5 + 0.5;\n if (clipPos.x >= layerThreshold && clipPos.x <= (1.0 - layerThreshold) &&\n clipPos.y >= layerThreshold && clipPos.y <= (1.0 - layerThreshold) &&\n clipPos.z >= 0.0 && clipPos.z <= 1.0 && level < 0) {\n #if CC_CASCADED_LAYERS_TRANSITION\n isTransitionArea = CCGetCSMLevelWithTransition(transitionRatio, clipPos);\n #endif\n csmPos = cc_matCSMViewProj[i] * vec4(worldPos.xyz, 1.0);\n csmPos.xy = csmPos.xy * cc_csmAtlas[i].xy + cc_csmAtlas[i].zw;\n shadowProjDepthInfo = cc_csmProjDepthInfo[i];\n shadowProjInfo = cc_csmProjInfo[i];\n shadowViewDir0 = cc_csmViewDir0[i].xyz;\n shadowViewDir1 = cc_csmViewDir1[i].xyz;\n shadowViewDir2 = cc_csmViewDir2[i].xyz;\n level = i;\n }\n }\n return level;\n }\n int CCGetCSMLevel(out vec4 csmPos, out vec4 shadowProjDepthInfo, out vec4 shadowProjInfo, out vec3 shadowViewDir0, out vec3 shadowViewDir1, out vec3 shadowViewDir2, vec3 worldPos)\n {\n bool isTransitionArea = false;\n highp float transitionRatio = 0.0;\n return CCGetCSMLevel(isTransitionArea, transitionRatio, csmPos, shadowProjDepthInfo, shadowProjInfo, shadowViewDir0, shadowViewDir1, shadowViewDir2, worldPos);\n }\n float CCCSMFactorBase(out vec4 csmPos, out vec4 csmPosWithBias, vec3 worldPos, vec3 N, vec2 shadowBias)\n {\n bool isTransitionArea = false;\n highp float ratio = 0.0;\n csmPos = vec4(1.0);\n vec4 shadowProjDepthInfo, shadowProjInfo;\n vec3 shadowViewDir0, shadowViewDir1, shadowViewDir2;\n int level = -1;\n #if CC_CASCADED_LAYERS_TRANSITION\n level = CCGetCSMLevel(isTransitionArea, ratio, csmPos, shadowProjDepthInfo, shadowProjInfo, shadowViewDir0, shadowViewDir1, shadowViewDir2, worldPos);\n #else\n level = CCGetCSMLevel(csmPos, shadowProjDepthInfo, shadowProjInfo, shadowViewDir0, shadowViewDir1, shadowViewDir2, worldPos);\n #endif\n if (level < 0) { return 1.0; }\n vec4 pos = ApplyShadowDepthBias_FaceNormal(csmPos, N, shadowBias.y, shadowViewDir0, shadowViewDir1, shadowViewDir2, shadowProjInfo.xy);\n pos = ApplyShadowDepthBias_Orthographic(pos, shadowBias.x, shadowProjDepthInfo.x, shadowProjDepthInfo.y);\n csmPosWithBias = pos;\n float realtimeShadow = 1.0;\n #if CC_DIR_SHADOW_PCF_TYPE == 3\n realtimeShadow = CCGetDirLightShadowFactorSoft5X(pos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 2\n realtimeShadow = CCGetDirLightShadowFactorSoft3X(pos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 1\n realtimeShadow = CCGetDirLightShadowFactorSoft(pos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 0\n realtimeShadow = CCGetDirLightShadowFactorHard(pos);\n #endif\n #if CC_CASCADED_LAYERS_TRANSITION\n vec4 nextCSMPos = vec4(1.0);\n vec4 nextShadowProjDepthInfo, nextShadowProjInfo;\n vec3 nextShadowViewDir0, nextShadowViewDir1, nextShadowViewDir2;\n float nextRealtimeShadow = 1.0;\n CCGetCSMLevel(nextCSMPos, nextShadowProjDepthInfo, nextShadowProjInfo, nextShadowViewDir0, nextShadowViewDir1, nextShadowViewDir2, worldPos, level + 1);\n bool hasNextLevel = CCHasCSMLevel(level + 1, worldPos);\n if (hasNextLevel && isTransitionArea) {\n vec4 nexPos = ApplyShadowDepthBias_FaceNormal(nextCSMPos, N, shadowBias.y, nextShadowViewDir0, nextShadowViewDir1, nextShadowViewDir2, nextShadowProjInfo.xy);\n nexPos = ApplyShadowDepthBias_Orthographic(nexPos, shadowBias.x, nextShadowProjDepthInfo.x, nextShadowProjDepthInfo.y);\n #if CC_DIR_SHADOW_PCF_TYPE == 3\n nextRealtimeShadow = CCGetDirLightShadowFactorSoft5X(nexPos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 2\n nextRealtimeShadow = CCGetDirLightShadowFactorSoft3X(nexPos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 1\n nextRealtimeShadow = CCGetDirLightShadowFactorSoft(nexPos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 0\n nextRealtimeShadow = CCGetDirLightShadowFactorHard(nexPos);\n #endif\n return mix(mix(nextRealtimeShadow, realtimeShadow, ratio), 1.0, cc_shadowNFLSInfo.w);\n }\n return mix(realtimeShadow, 1.0, cc_shadowNFLSInfo.w);\n #else\n return mix(realtimeShadow, 1.0, cc_shadowNFLSInfo.w);\n #endif\n }\n #else\n int CCGetCSMLevel(out vec4 csmPos, out vec4 shadowProjDepthInfo, out vec4 shadowProjInfo, out vec3 shadowViewDir0, out vec3 shadowViewDir1, out vec3 shadowViewDir2, vec3 worldPos) {\n return -1;\n }\n float CCCSMFactorBase(out vec4 csmPos, out vec4 csmPosWithBias, vec3 worldPos, vec3 N, vec2 shadowBias) {\n csmPos = cc_matLightViewProj * vec4(worldPos, 1.0);\n return CCShadowFactorBase(csmPosWithBias, csmPos, N, shadowBias);\n }\n #endif\n float CCShadowFactorBase(vec4 shadowPos, vec3 N, vec2 shadowBias) {\n vec4 shadowPosWithDepthBias;\n return CCShadowFactorBase(shadowPosWithDepthBias, shadowPos, N, shadowBias);\n }\n float CCCSMFactorBase(vec3 worldPos, vec3 N, vec2 shadowBias) {\n vec4 csmPos, csmPosWithBias;\n return CCCSMFactorBase(csmPos, csmPosWithBias, worldPos, N, shadowBias);\n }\n #endif\n #if CC_RECEIVE_SHADOW && CC_SHADOW_TYPE == 2\n #endif\n #endif\n vec4 CCToonShading (ToonSurface s) {\n vec3 position;\n #if CC_PLATFORM_ANDROID_AND_WEBGL && CC_ENABLE_WEBGL_HIGHP_STRUCT_VALUES\n position = unpackHighpData(s.position, s.position_fract_part);\n #else\n position = s.position;\n #endif\n vec3 V = normalize(cc_cameraPos.xyz - position);\n vec3 N = normalize(s.normal);\n vec3 L = normalize(-cc_mainLitDir.xyz);\n float NL = 0.5 * dot(N, L) + 0.5;\n float NH = 0.5 * dot(normalize(V + L), N) + 0.5;\n vec3 lightColor = cc_mainLitColor.rgb * cc_mainLitColor.w * s.baseStep;\n vec3 diffuse = mix(s.shade1, s.shade2,\n clamp(1.0 + (s.shadeStep - s.shadeFeather - NL) / s.shadeFeather, 0.0, 1.0));\n diffuse = mix(s.baseColor.rgb, diffuse,\n clamp(1.0 + (s.baseStep - s.baseFeather - NL) / s.baseFeather, 0.0, 1.0));\n float specularWeight = 1.0 - pow(s.specular.a, 5.0);\n float specularMask = step(specularWeight + EPSILON_LOWP, NH);\n vec3 specular = s.specular.rgb * specularMask;\n vec3 dirlightContrib = diffuse + specular;\n float shadow = 1.0;\n #if CC_RECEIVE_SHADOW && CC_SHADOW_TYPE == 2\n if(s.shadowCover < NL && cc_mainLitDir.w > 0.0) {\n #if CC_DIR_LIGHT_SHADOW_TYPE == 2\n shadow = CCCSMFactorBase(position, N, s.shadowBias);\n #endif\n #if CC_DIR_LIGHT_SHADOW_TYPE == 1\n shadow = CCShadowFactorBase(v_shadowPos, N, s.shadowBias);\n #endif\n }\n #endif\n dirlightContrib *= shadow;\n vec3 finalColor = lightColor * dirlightContrib;\n finalColor += s.emissive;\n return vec4(finalColor, s.baseColor.a);\n }\n#endif\nlayout(set = 1, binding = 0) uniform Constants {\n vec4 tilingOffset;\n vec4 baseColor;\n vec4 colorScaleAndCutoff;\n vec4 shadeColor1;\n vec4 shadeColor2;\n vec4 specular;\n vec4 shadeParams;\n vec4 miscParams;\n vec4 emissive;\n vec4 emissiveScaleAndStrenth;\n};\nvec3 ACESToneMap (vec3 color) {\n color = min(color, vec3(8.0));\n const float A = 2.51;\n const float B = 0.03;\n const float C = 2.43;\n const float D = 0.59;\n const float E = 0.14;\n return (color * (A * color + B)) / (color * (C * color + D) + E);\n}\nvec3 SRGBToLinear (vec3 gamma) {\n#ifdef CC_USE_SURFACE_SHADER\n #if CC_USE_DEBUG_VIEW == CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC && CC_SURFACES_ENABLE_DEBUG_VIEW\n if (!IS_DEBUG_VIEW_COMPOSITE_ENABLE_GAMMA_CORRECTION) {\n return gamma;\n }\n #endif\n#endif\n return gamma * gamma;\n}\nvec3 LinearToSRGB(vec3 linear) {\n#ifdef CC_USE_SURFACE_SHADER\n #if CC_USE_DEBUG_VIEW == CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC && CC_SURFACES_ENABLE_DEBUG_VIEW\n if (!IS_DEBUG_VIEW_COMPOSITE_ENABLE_GAMMA_CORRECTION) {\n return linear;\n }\n #endif\n#endif\n return sqrt(linear);\n}\nvec4 packRGBE (vec3 rgb) {\n highp float maxComp = max(max(rgb.r, rgb.g), rgb.b);\n highp float e = 128.0;\n if (maxComp > 0.0001) {\n e = log(maxComp) / log(1.1);\n e = ceil(e);\n e = clamp(e + 128.0, 0.0, 255.0);\n }\n highp float sc = 1.0 / pow(1.1, e - 128.0);\n vec3 encode = clamp(rgb * sc, vec3(0.0), vec3(1.0)) * 255.0;\n vec3 encode_rounded = floor(encode) + step(encode - floor(encode), vec3(0.5));\n return vec4(encode_rounded, e) / 255.0;\n}\nvec4 CCFragOutput (vec4 color) {\n #if CC_USE_RGBE_OUTPUT\n color = packRGBE(color.rgb);\n #elif !CC_USE_FLOAT_OUTPUT\n #if CC_USE_HDR && CC_TONE_MAPPING_TYPE == HDR_TONE_MAPPING_ACES\n color.rgb = ACESToneMap(color.rgb);\n #endif\n color.rgb = LinearToSRGB(color.rgb);\n #endif\n return color;\n}\nlayout(location = 1) in vec3 v_position;\nlayout(location = 2) in vec2 v_uv;\n#if CC_RECEIVE_SHADOW\n layout(location = 4) in mediump vec2 v_shadowBias;\n#endif\n#if USE_BASE_COLOR_MAP\n layout(set = 1, binding = 1) uniform sampler2D baseColorMap;\n#endif\nlayout(location = 3) in mediump vec3 v_normal;\n#if USE_NORMAL_MAP\n layout(location = 5) in mediump vec4 v_tangent;\n layout(set = 1, binding = 2) uniform sampler2D normalMap;\n#endif\n#if USE_1ST_SHADE_MAP\n layout(set = 1, binding = 3) uniform sampler2D shadeMap1;\n#endif\n#if USE_2ND_SHADE_MAP\n layout(set = 1, binding = 4) uniform sampler2D shadeMap2;\n#endif\n#if USE_SPECULAR_MAP\n layout(set = 1, binding = 5) uniform sampler2D specularMap;\n#endif\n#if USE_EMISSIVE_MAP\n layout(set = 1, binding = 6) uniform sampler2D emissiveMap;\n#endif\n#if USE_ALPHA_TEST\n#endif\nvoid surf (out ToonSurface s) {\n s.shade2 = shadeColor2.rgb * colorScaleAndCutoff.rgb;\n #if USE_2ND_SHADE_MAP\n s.shade2 *= SRGBToLinear(texture(shadeMap2, v_uv).rgb);\n #endif\n s.shade1 = shadeColor1.rgb * colorScaleAndCutoff.rgb;\n #if USE_1ST_SHADE_MAP\n s.shade1 *= SRGBToLinear(texture(shadeMap1, v_uv).rgb);\n #if SHADE_MAP_1_AS_SHADE_MAP_2\n s.shade2 *= s.shade1.rgb;\n #endif\n #endif\n vec4 localBaseColor = baseColor;\n #if USE_BASE_COLOR_MAP\n vec4 baseColorMap = texture(baseColorMap, v_uv);\n baseColorMap.rgb = SRGBToLinear(baseColorMap.rgb);\n localBaseColor *= baseColorMap;\n #if BASE_COLOR_MAP_AS_SHADE_MAP_1\n s.shade1 *= baseColorMap.rgb;\n #endif\n #if BASE_COLOR_MAP_AS_SHADE_MAP_2\n s.shade2 *= baseColorMap.rgb;\n #endif\n #endif\n s.baseColor = localBaseColor;\n s.baseColor.rgb *= colorScaleAndCutoff.xyz;\n #if USE_ALPHA_TEST\n if (s.baseColor.ALPHA_TEST_CHANNEL < colorScaleAndCutoff.w) discard;\n #endif\n s.normal = v_normal;\n #if CC_RECEIVE_SHADOW\n s.shadowBias = v_shadowBias;\n #endif\n #if USE_NORMAL_MAP\n vec3 nmmp = texture(normalMap, v_uv).xyz - vec3(0.5);\n vec3 bitangent = cross(v_normal, v_tangent.xyz) * (v_tangent.w > 0.0 ? 1.0 : -1.0);\n s.normal =\n (nmmp.x * emissiveScaleAndStrenth.w) * normalize(v_tangent.xyz) +\n (nmmp.y * emissiveScaleAndStrenth.w) * normalize(bitangent) +\n nmmp.z * normalize(s.normal);\n #endif\n #if CC_PLATFORM_ANDROID_AND_WEBGL && CC_ENABLE_WEBGL_HIGHP_STRUCT_VALUES\n packHighpData(s.position, s.position_fract_part, v_position);\n #else\n s.position = v_position;\n #endif\n s.specular = specular;\n #if USE_SPECULAR_MAP\n s.specular.rgb *= SRGBToLinear(texture(specularMap, v_uv).rgb);\n #endif\n s.emissive = emissive.rgb * emissiveScaleAndStrenth.xyz;\n #if USE_EMISSIVE_MAP\n s.emissive *= SRGBToLinear(texture(emissiveMap, v_uv).rgb);\n #endif\n s.baseStep = shadeParams.x;\n s.baseFeather = shadeParams.y;\n s.shadeStep = shadeParams.z;\n s.shadeFeather = shadeParams.w;\n s.shadowCover = miscParams.x;\n}\nvec4 frag () {\n ToonSurface s; surf(s);\n vec4 color = CCToonShading(s);\n return CCFragOutput(color);\n}\nlayout(location = 0) out vec4 cc_FragColor;\nvoid main() { cc_FragColor = frag(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]},{"name":"CCShadow","defines":[]},{"name":"CCCSM","defines":["CC_SUPPORT_CASCADED_SHADOW_MAP"]}],"samplerTextures":[{"name":"cc_shadowMap","defines":["CC_RECEIVE_SHADOW"]},{"name":"cc_spotShadowMap","defines":["CC_RECEIVE_SHADOW"]}],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCMorph","defines":["CC_USE_MORPH"]},{"name":"CCSkinningTexture","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinningAnimation","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinning","defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","!CC_USE_REAL_TIME_JOINT_TEXTURE"]},{"name":"CCLocal","defines":["!USE_INSTANCING"]},{"name":"CCForwardLight","defines":["CC_FORWARD_ADD","CC_ENABLE_CLUSTERED_LIGHT_CULLING"]}],"samplerTextures":[{"name":"cc_PositionDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_POSITION"]},{"name":"cc_NormalDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_NORMAL"]},{"name":"cc_TangentDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_TANGENT"]},{"name":"cc_jointTexture","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"cc_realtimeJoint","defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","CC_USE_REAL_TIME_JOINT_TEXTURE"]}],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":141,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":109}},"defines":[{"name":"USE_INSTANCING","type":"boolean"},{"name":"CC_USE_SKINNING","type":"boolean"},{"name":"CC_USE_BAKED_ANIMATION","type":"boolean"},{"name":"CC_USE_LIGHTMAP","type":"boolean"},{"name":"CC_USE_REFLECTION_PROBE","type":"boolean"},{"name":"CC_RECEIVE_SHADOW","type":"boolean"},{"name":"CC_USE_LIGHT_PROBE","type":"boolean"},{"name":"CC_USE_MORPH","type":"boolean"},{"name":"CC_MORPH_TARGET_COUNT","type":"number","range":[2,8]},{"name":"CC_MORPH_TARGET_HAS_POSITION","type":"boolean"},{"name":"CC_MORPH_TARGET_HAS_NORMAL","type":"boolean"},{"name":"CC_MORPH_TARGET_HAS_TANGENT","type":"boolean"},{"name":"CC_MORPH_PRECOMPUTED","type":"boolean"},{"name":"CC_USE_REAL_TIME_JOINT_TEXTURE","type":"boolean"},{"name":"CC_SUPPORT_CASCADED_SHADOW_MAP","type":"boolean"},{"name":"USE_NORMAL_MAP","type":"boolean"},{"name":"CC_FORWARD_ADD","type":"boolean"},{"name":"CC_PIPELINE_TYPE","type":"number","range":[0,1]},{"name":"CC_FORCE_FORWARD_SHADING","type":"boolean"},{"name":"CC_ENABLE_CLUSTERED_LIGHT_CULLING","type":"number","range":[0,3]},{"name":"CC_SHADOWMAP_FORMAT","type":"number","range":[0,3]},{"name":"CC_DIR_SHADOW_PCF_TYPE","type":"number","range":[0,3]},{"name":"CC_CASCADED_LAYERS_TRANSITION","type":"boolean"},{"name":"CC_SHADOW_TYPE","type":"number","range":[0,3]},{"name":"CC_DIR_LIGHT_SHADOW_TYPE","type":"number","range":[0,3]},{"name":"CC_USE_DEBUG_VIEW","type":"number","range":[0,3]},{"name":"CC_SURFACES_ENABLE_DEBUG_VIEW","type":"boolean"},{"name":"CC_USE_RGBE_OUTPUT","type":"boolean"},{"name":"CC_USE_FLOAT_OUTPUT","type":"boolean"},{"name":"CC_USE_HDR","type":"boolean"},{"name":"CC_TONE_MAPPING_TYPE","type":"number","range":[0,3]},{"name":"HDR_TONE_MAPPING_ACES","type":"boolean"},{"name":"USE_BASE_COLOR_MAP","type":"boolean"},{"name":"USE_1ST_SHADE_MAP","type":"boolean"},{"name":"USE_2ND_SHADE_MAP","type":"boolean"},{"name":"USE_SPECULAR_MAP","type":"boolean"},{"name":"USE_EMISSIVE_MAP","type":"boolean"},{"name":"USE_ALPHA_TEST","type":"boolean"},{"name":"ALPHA_TEST_CHANNEL","type":"string","options":["a","r","g","b"]},{"name":"SHADE_MAP_1_AS_SHADE_MAP_2","type":"boolean"},{"name":"BASE_COLOR_MAP_AS_SHADE_MAP_1","type":"boolean"},{"name":"BASE_COLOR_MAP_AS_SHADE_MAP_2","type":"boolean"}]},{"hash":1269196002,"name":"legacy/toon|shadow-caster-vs:vert|shadow-caster-fs:frag","blocks":[{"name":"Constants","stageFlags":17,"binding":0,"members":[{"name":"tilingOffset","type":16,"count":1},{"name":"baseColor","type":16,"count":1},{"name":"colorScaleAndCutoff","type":16,"count":1},{"name":"shadeColor1","type":16,"count":1},{"name":"shadeColor2","type":16,"count":1},{"name":"specular","type":16,"count":1},{"name":"shadeParams","type":16,"count":1},{"name":"miscParams","type":16,"count":1},{"name":"emissive","type":16,"count":1},{"name":"emissiveScaleAndStrenth","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"baseColorMap","type":28,"count":1,"stageFlags":16,"binding":1,"defines":["USE_BASE_COLOR_MAP"]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position","format":32,"location":0,"defines":[]},{"name":"a_normal","format":32,"location":1,"defines":[]},{"name":"a_texCoord","format":21,"location":2,"defines":[]},{"name":"a_tangent","format":44,"location":3,"defines":[]},{"name":"a_joints","location":4,"defines":["CC_USE_SKINNING"]},{"name":"a_weights","format":44,"location":5,"defines":["CC_USE_SKINNING"]},{"name":"a_jointAnimInfo","format":44,"isInstanced":true,"location":6,"defines":["USE_INSTANCING","CC_USE_BAKED_ANIMATION"]},{"name":"a_matWorld0","format":44,"isInstanced":true,"location":7,"defines":["USE_INSTANCING"]},{"name":"a_matWorld1","format":44,"isInstanced":true,"location":8,"defines":["USE_INSTANCING"]},{"name":"a_matWorld2","format":44,"isInstanced":true,"location":9,"defines":["USE_INSTANCING"]},{"name":"a_lightingMapUVParam","format":44,"isInstanced":true,"location":10,"defines":["USE_INSTANCING","CC_USE_LIGHTMAP"]},{"name":"a_localShadowBiasAndProbeId","format":44,"isInstanced":true,"location":11,"defines":["USE_INSTANCING"]},{"name":"a_reflectionProbeData","format":44,"isInstanced":true,"location":12,"defines":["USE_INSTANCING","CC_USE_REFLECTION_PROBE"]},{"name":"a_sh_linear_const_r","format":44,"isInstanced":true,"location":13,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_sh_linear_const_g","format":44,"isInstanced":true,"location":14,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_sh_linear_const_b","format":44,"isInstanced":true,"location":15,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_vertexId","format":11,"location":16,"defines":["CC_USE_MORPH"]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCMorph","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_displacementWeights","typename":"vec4","type":16,"count":15,"isArray":true},{"name":"cc_displacementTextureInfo","typename":"vec4","type":16,"count":1}],"defines":["CC_USE_MORPH"]},{"name":"CCSkinningTexture","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_jointTextureInfo","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinningAnimation","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_jointAnimInfo","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinning","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_joints","typename":"vec4","type":16,"count":0,"precision":"highp ","isArray":true}],"defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","!CC_USE_REAL_TIME_JOINT_TEXTURE"]},{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["!USE_INSTANCING"]}],"samplerTextures":[{"name":"cc_PositionDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_POSITION"]},{"name":"cc_NormalDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_NORMAL"]},{"name":"cc_TangentDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_TANGENT"]},{"name":"cc_jointTexture","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"cc_realtimeJoint","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","CC_USE_REAL_TIME_JOINT_TEXTURE"]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[{"name":"Constants","stageFlags":17,"binding":0,"members":[{"name":"tilingOffset","type":16,"count":1},{"name":"baseColor","type":16,"count":1},{"name":"colorScaleAndCutoff","type":16,"count":1},{"name":"shadeColor1","type":16,"count":1},{"name":"shadeColor2","type":16,"count":1},{"name":"specular","type":16,"count":1},{"name":"shadeParams","type":16,"count":1},{"name":"miscParams","type":16,"count":1},{"name":"emissive","type":16,"count":1},{"name":"emissiveScaleAndStrenth","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"baseColorMap","type":28,"count":1,"stageFlags":16,"binding":1,"defines":["USE_BASE_COLOR_MAP"]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCShadow","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matLightView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matLightViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_shadowInvProjDepthInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowProjDepthInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowProjInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowNFLSInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowWHPBInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowLPNNInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowColor","typename":"vec4","type":16,"count":1,"precision":"lowp "},{"name":"cc_planarNDInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCSM","stageFlags":16,"tags":{"builtin":"global"},"members":[{"name":"cc_csmViewDir0","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmViewDir1","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmViewDir2","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmAtlas","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_matCSMViewProj","typename":"mat4","type":25,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmProjDepthInfo","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmProjInfo","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmSplitsInfo","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["CC_SUPPORT_CASCADED_SHADOW_MAP"]},{"name":"CCGlobal","stageFlags":16,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":["CC_RECEIVE_SHADOW"]},{"name":"CCCamera","stageFlags":16,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":["CC_RECEIVE_SHADOW"]}],"samplerTextures":[{"name":"cc_shadowMap","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":16,"tags":{"builtin":"global"},"defines":["CC_RECEIVE_SHADOW"]},{"name":"cc_spotShadowMap","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":16,"tags":{"builtin":"global"},"defines":["CC_RECEIVE_SHADOW"]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"vert":"#extension GL_EXT_shader_explicit_arithmetic_types_int32: require\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 int getVertexId() {\n return gl_VertexIndex;\n }\n#endif\nhighp float decode32 (highp vec4 rgba) {\n rgba = rgba * 255.0;\n highp float Sign = 1.0 - (step(128.0, (rgba[3]) + 0.5)) * 2.0;\n highp float Exponent = 2.0 * (mod(float(int((rgba[3]) + 0.5)), 128.0)) + (step(128.0, (rgba[2]) + 0.5)) - 127.0;\n highp float Mantissa = (mod(float(int((rgba[2]) + 0.5)), 128.0)) * 65536.0 + rgba[1] * 256.0 + rgba[0] + 8388608.0;\n return Sign * exp2(Exponent - 23.0) * Mantissa;\n}\n#if CC_USE_MORPH\n layout(set = 2, binding = 4) uniform CCMorph {\n vec4 cc_displacementWeights[15];\n vec4 cc_displacementTextureInfo;\n };\n #if CC_MORPH_TARGET_HAS_POSITION\n layout(set = 2, binding = 8) uniform sampler2D cc_PositionDisplacements;\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n layout(set = 2, binding = 9) uniform sampler2D cc_NormalDisplacements;\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n layout(set = 2, binding = 10) uniform sampler2D cc_TangentDisplacements;\n #endif\n vec2 getPixelLocation(vec2 textureResolution, int pixelIndex) {\n float pixelIndexF = float(pixelIndex);\n float x = mod(pixelIndexF, textureResolution.x);\n float y = floor(pixelIndexF / textureResolution.x);\n return vec2(x, y);\n }\n vec2 getPixelCoordFromLocation(vec2 location, vec2 textureResolution) {\n return (vec2(location.x, location.y) + .5) / textureResolution;\n }\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n vec4 fetchVec3ArrayFromTexture(sampler2D tex, int pixelIndex) {\n ivec2 texSize = textureSize(tex, 0);\n return texelFetch(tex, ivec2(pixelIndex % texSize.x, pixelIndex / texSize.x), 0);\n }\n #else\n vec4 fetchVec3ArrayFromTexture(sampler2D tex, int elementIndex) {\n int pixelIndex = elementIndex * 4;\n vec2 location = getPixelLocation(cc_displacementTextureInfo.xy, pixelIndex);\n vec2 x = getPixelCoordFromLocation(location + vec2(0.0, 0.0), cc_displacementTextureInfo.xy);\n vec2 y = getPixelCoordFromLocation(location + vec2(1.0, 0.0), cc_displacementTextureInfo.xy);\n vec2 z = getPixelCoordFromLocation(location + vec2(2.0, 0.0), cc_displacementTextureInfo.xy);\n return vec4(\n decode32(texture(tex, x)),\n decode32(texture(tex, y)),\n decode32(texture(tex, z)),\n 1.0\n );\n }\n #endif\n float getDisplacementWeight(int index) {\n int quot = index / 4;\n int remainder = index - quot * 4;\n if (remainder == 0) {\n return cc_displacementWeights[quot].x;\n } else if (remainder == 1) {\n return cc_displacementWeights[quot].y;\n } else if (remainder == 2) {\n return cc_displacementWeights[quot].z;\n } else {\n return cc_displacementWeights[quot].w;\n }\n }\n vec3 getVec3DisplacementFromTexture(sampler2D tex, int vertexIndex) {\n #if CC_MORPH_PRECOMPUTED\n return fetchVec3ArrayFromTexture(tex, vertexIndex).rgb;\n #else\n vec3 result = vec3(0, 0, 0);\n int nVertices = int(cc_displacementTextureInfo.z);\n for (int iTarget = 0; iTarget < CC_MORPH_TARGET_COUNT; ++iTarget) {\n result += (fetchVec3ArrayFromTexture(tex, nVertices * iTarget + vertexIndex).rgb * getDisplacementWeight(iTarget));\n }\n return result;\n #endif\n }\n #if CC_MORPH_TARGET_HAS_POSITION\n vec3 getPositionDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_PositionDisplacements, vertexId);\n }\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n vec3 getNormalDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_NormalDisplacements, vertexId);\n }\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n vec3 getTangentDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_TangentDisplacements, vertexId);\n }\n #endif\n void applyMorph (inout vec4 position, inout vec3 normal, inout vec4 tangent) {\n int vertexId = getVertexId();\n #if CC_MORPH_TARGET_HAS_POSITION\n position.xyz = position.xyz + getPositionDisplacement(vertexId);\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n normal.xyz = normal.xyz + getNormalDisplacement(vertexId);\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n tangent.xyz = tangent.xyz + getTangentDisplacement(vertexId);\n #endif\n }\n void applyMorph (inout vec4 position) {\n #if CC_MORPH_TARGET_HAS_POSITION\n position.xyz = position.xyz + getPositionDisplacement(getVertexId());\n #endif\n }\n#endif\n#if CC_USE_SKINNING\n #if CC_USE_BAKED_ANIMATION\n layout(set = 2, binding = 3) uniform CCSkinningTexture {\n highp vec4 cc_jointTextureInfo;\n };\n layout(set = 2, binding = 2) uniform CCSkinningAnimation {\n highp vec4 cc_jointAnimInfo;\n };\n layout(set = 2, binding = 7) uniform highp sampler2D cc_jointTexture;\n void CCGetJointTextureCoords(float pixelsPerJoint, float jointIdx, out highp float x, out highp float y, out highp float invSize)\n {\n #if USE_INSTANCING\n highp float temp = pixelsPerJoint * (a_jointAnimInfo.x * a_jointAnimInfo.y + jointIdx) + a_jointAnimInfo.z;\n #else\n highp float temp = pixelsPerJoint * (cc_jointAnimInfo.x * cc_jointTextureInfo.y + jointIdx) + cc_jointTextureInfo.z;\n #endif\n invSize = cc_jointTextureInfo.w;\n highp float tempY = floor(temp * invSize);\n x = floor(temp - tempY * cc_jointTextureInfo.x);\n y = (tempY + 0.5) * invSize;\n }\n #else\n #if CC_USE_REAL_TIME_JOINT_TEXTURE\n layout(set = 2, binding = 7) uniform highp sampler2D cc_realtimeJoint;\n #else\n layout(set = 2, binding = 3) uniform CCSkinning {\n highp vec4 cc_joints[CC_JOINT_UNIFORM_CAPACITY * 3];\n };\n #endif\n #endif\n #if CC_USE_BAKED_ANIMATION\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n mat4 getJointMatrix (float i) {\n highp float x, y, invSize;\n CCGetJointTextureCoords(3.0, i, x, y, invSize);\n vec4 v1 = texture(cc_jointTexture, vec2((x + 0.5) * invSize, y));\n vec4 v2 = texture(cc_jointTexture, vec2((x + 1.5) * invSize, y));\n vec4 v3 = texture(cc_jointTexture, vec2((x + 2.5) * invSize, y));\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #else\n mat4 getJointMatrix (float i) {\n highp float x, y, invSize;\n CCGetJointTextureCoords(12.0, i, x, y, invSize);\n vec4 v1 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 0.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 1.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 2.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 3.5) * invSize, y)))\n );\n vec4 v2 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 4.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 5.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 6.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 7.5) * invSize, y)))\n );\n vec4 v3 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 8.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 9.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 10.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 11.5) * invSize, y)))\n );\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #else\n #if CC_USE_REAL_TIME_JOINT_TEXTURE\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n mat4 getJointMatrix (float i) {\n float x = i;\n vec4 v1 = texture(cc_realtimeJoint, vec2( x / 256.0, 0.5 / 3.0));\n vec4 v2 = texture(cc_realtimeJoint, vec2( x / 256.0, 1.5 / 3.0));\n vec4 v3 = texture(cc_realtimeJoint, vec2( x / 256.0, 2.5 / 3.0));\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #else\n mat4 getJointMatrix (float i) {\n float x = 4.0 * i;\n vec4 v1 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 0.5 / 3.0)))\n );\n vec4 v2 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 1.5 / 3.0)))\n );\n vec4 v3 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 2.5 / 3.0)))\n );\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #else\n mat4 getJointMatrix (float i) {\n int idx = int(i);\n vec4 v1 = cc_joints[idx * 3];\n vec4 v2 = cc_joints[idx * 3 + 1];\n vec4 v3 = cc_joints[idx * 3 + 2];\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #endif\n mat4 skinMatrix () {\n vec4 joints = vec4(a_joints);\n return getJointMatrix(joints.x) * a_weights.x\n + getJointMatrix(joints.y) * a_weights.y\n + getJointMatrix(joints.z) * a_weights.z\n + getJointMatrix(joints.w) * a_weights.w;\n }\n void CCSkin (inout vec4 position) {\n mat4 m = skinMatrix();\n position = m * position;\n }\n void CCSkin (inout vec4 position, inout vec3 normal, inout vec4 tangent) {\n mat4 m = skinMatrix();\n position = m * position;\n normal = (m * vec4(normal, 0.0)).xyz;\n tangent.xyz = (m * vec4(tangent.xyz, 0.0)).xyz;\n }\n#endif\nvoid CCVertInput(inout StandardVertInput In)\n{\n In.position = vec4(a_position, 1.0);\n In.normal = a_normal;\n In.tangent = a_tangent;\n #if CC_USE_MORPH\n applyMorph(In.position, In.normal, In.tangent);\n #endif\n #if CC_USE_SKINNING\n CCSkin(In.position, In.normal, In.tangent);\n #endif\n}\n#if !USE_INSTANCING\n layout(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 };\n#endif\nvoid CCGetWorldMatrixFull(out mat4 matWorld, out mat4 matWorldIT)\n{\n #if USE_INSTANCING\n matWorld = mat4(\n vec4(a_matWorld0.xyz, 0.0),\n vec4(a_matWorld1.xyz, 0.0),\n vec4(a_matWorld2.xyz, 0.0),\n vec4(a_matWorld0.w, a_matWorld1.w, a_matWorld2.w, 1.0)\n );\n vec3 scale = 1.0 / vec3(length(a_matWorld0.xyz), length(a_matWorld1.xyz), length(a_matWorld2.xyz));\n vec3 scale2 = scale * scale;\n matWorldIT = mat4(\n vec4(a_matWorld0.xyz * scale2.x, 0.0),\n vec4(a_matWorld1.xyz * scale2.y, 0.0),\n vec4(a_matWorld2.xyz * scale2.z, 0.0),\n vec4(0.0, 0.0, 0.0, 1.0)\n );\n #else\n matWorld = cc_matWorld;\n matWorldIT = cc_matWorldIT;\n #endif\n}\nlayout(set = 1, binding = 0) uniform Constants {\n vec4 tilingOffset;\n vec4 baseColor;\n vec4 colorScaleAndCutoff;\n vec4 shadeColor1;\n vec4 shadeColor2;\n vec4 specular;\n vec4 shadeParams;\n vec4 miscParams;\n vec4 emissive;\n vec4 emissiveScaleAndStrenth;\n};\nlayout(set = 0, binding = 2) uniform CCShadow {\n highp mat4 cc_matLightView;\n highp mat4 cc_matLightViewProj;\n highp vec4 cc_shadowInvProjDepthInfo;\n highp vec4 cc_shadowProjDepthInfo;\n highp vec4 cc_shadowProjInfo;\n mediump vec4 cc_shadowNFLSInfo;\n mediump vec4 cc_shadowWHPBInfo;\n mediump vec4 cc_shadowLPNNInfo;\n lowp vec4 cc_shadowColor;\n mediump vec4 cc_planarNDInfo;\n};\nlayout(location = 0) out vec2 v_uv;\nlayout(location = 1) out vec4 v_worldPos;\nlayout(location = 2) out highp vec2 v_clip_depth;\nvec4 vert () {\n StandardVertInput In;\n CCVertInput(In);\n mat4 matWorld, matWorldIT;\n CCGetWorldMatrixFull(matWorld, matWorldIT);\n v_worldPos = matWorld * In.position;\n vec4 clipPos = cc_matLightViewProj * v_worldPos;\n v_clip_depth = clipPos.zw;\n v_uv = a_texCoord * tilingOffset.xy + tilingOffset.zw;\n return clipPos;\n}\nvoid main() { gl_Position = vert(); }","frag":"\nprecision highp float;\nlayout(set = 1, binding = 0) uniform Constants {\n vec4 tilingOffset;\n vec4 baseColor;\n vec4 colorScaleAndCutoff;\n vec4 shadeColor1;\n vec4 shadeColor2;\n vec4 specular;\n vec4 shadeParams;\n vec4 miscParams;\n vec4 emissive;\n vec4 emissiveScaleAndStrenth;\n};\nvec4 packDepthToRGBA (float depth) {\n vec4 ret = vec4(1.0, 255.0, 65025.0, 16581375.0) * depth;\n ret = fract(ret);\n ret -= vec4(ret.yzw, 0.0) / 255.0;\n return ret;\n}\n#define UnpackBitFromFloat(value, bit) (mod(floor(value / pow(10.0, float(bit))), 10.0) > 0.0)\nlayout(set = 0, binding = 2) uniform CCShadow {\n highp mat4 cc_matLightView;\n highp mat4 cc_matLightViewProj;\n highp vec4 cc_shadowInvProjDepthInfo;\n highp vec4 cc_shadowProjDepthInfo;\n highp vec4 cc_shadowProjInfo;\n mediump vec4 cc_shadowNFLSInfo;\n mediump vec4 cc_shadowWHPBInfo;\n mediump vec4 cc_shadowLPNNInfo;\n lowp vec4 cc_shadowColor;\n mediump vec4 cc_planarNDInfo;\n};\n#if CC_SUPPORT_CASCADED_SHADOW_MAP\n layout(set = 0, binding = 3) uniform CCCSM {\n highp vec4 cc_csmViewDir0[4];\n highp vec4 cc_csmViewDir1[4];\n highp vec4 cc_csmViewDir2[4];\n highp vec4 cc_csmAtlas[4];\n highp mat4 cc_matCSMViewProj[4];\n highp vec4 cc_csmProjDepthInfo[4];\n highp vec4 cc_csmProjInfo[4];\n highp vec4 cc_csmSplitsInfo;\n };\n#endif\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\n#if defined(CC_USE_METAL) || defined(CC_USE_WGPU)\n#define CC_HANDLE_SAMPLE_NDC_FLIP_STATIC(y) y = -y\n#else\n#define CC_HANDLE_SAMPLE_NDC_FLIP_STATIC(y)\n#endif\nfloat GetLinearDepthFromViewSpace(vec3 viewPos, float near, float far) {\n float dist = length(viewPos);\n return (dist - near) / (far - near);\n}\nfloat CCGetLinearDepth(vec3 worldPos, float viewSpaceBias) {\n\tvec4 viewPos = cc_matLightView * vec4(worldPos.xyz, 1.0);\n viewPos.z += viewSpaceBias;\n\treturn GetLinearDepthFromViewSpace(viewPos.xyz, cc_shadowNFLSInfo.x, cc_shadowNFLSInfo.y);\n}\nfloat CCGetLinearDepth(vec3 worldPos) {\n\treturn CCGetLinearDepth(worldPos, 0.0);\n}\n#if CC_RECEIVE_SHADOW\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 layout(set = 0, binding = 4) uniform highp sampler2D cc_shadowMap;\n layout(set = 0, binding = 6) uniform highp sampler2D cc_spotShadowMap;\n #if CC_SUPPORT_CASCADED_SHADOW_MAP\n #else\n #endif\n#endif\nlayout(location = 0) in vec2 v_uv;\nlayout(location = 1) in vec4 v_worldPos;\nlayout(location = 2) in highp vec2 v_clip_depth;\n#if USE_BASE_COLOR_MAP\n layout(set = 1, binding = 1) uniform sampler2D baseColorMap;\n#endif\n#if USE_ALPHA_TEST\n#endif\nvec4 frag () {\n vec4 baseColor = baseColor;\n #if USE_ALPHA_TEST\n #if USE_BASE_COLOR_MAP\n baseColor *= texture(baseColorMap, v_uv);\n #endif\n if (baseColor.ALPHA_TEST_CHANNEL < colorScaleAndCutoff.w) discard;\n #endif\n highp float clipDepth = v_clip_depth.x / v_clip_depth.y * 0.5 + 0.5;\n #if CC_SHADOWMAP_USE_LINEAR_DEPTH\n if (IS_SPOT_LIGHT(cc_shadowLPNNInfo.x)) {\n clipDepth = CCGetLinearDepth(v_worldPos.xyz);\n }\n #endif\n #if CC_SHADOWMAP_FORMAT == 1\n return packDepthToRGBA(clipDepth);\n #else\n return vec4(clipDepth, 1.0, 1.0, 1.0);\n #endif\n}\nlayout(location = 0) out vec4 cc_FragColor;\nvoid main() { cc_FragColor = frag(); }"},"builtins":{"globals":{"blocks":[{"name":"CCShadow","defines":[]},{"name":"CCCSM","defines":["CC_SUPPORT_CASCADED_SHADOW_MAP"]},{"name":"CCGlobal","defines":["CC_RECEIVE_SHADOW"]},{"name":"CCCamera","defines":["CC_RECEIVE_SHADOW"]}],"samplerTextures":[{"name":"cc_shadowMap","defines":["CC_RECEIVE_SHADOW"]},{"name":"cc_spotShadowMap","defines":["CC_RECEIVE_SHADOW"]}],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCMorph","defines":["CC_USE_MORPH"]},{"name":"CCSkinningTexture","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinningAnimation","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinning","defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","!CC_USE_REAL_TIME_JOINT_TEXTURE"]},{"name":"CCLocal","defines":["!USE_INSTANCING"]}],"samplerTextures":[{"name":"cc_PositionDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_POSITION"]},{"name":"cc_NormalDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_NORMAL"]},{"name":"cc_TangentDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_TANGENT"]},{"name":"cc_jointTexture","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"cc_realtimeJoint","defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","CC_USE_REAL_TIME_JOINT_TEXTURE"]}],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":58,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":109}},"defines":[{"name":"USE_INSTANCING","type":"boolean"},{"name":"CC_USE_SKINNING","type":"boolean"},{"name":"CC_USE_BAKED_ANIMATION","type":"boolean"},{"name":"CC_USE_LIGHTMAP","type":"boolean"},{"name":"CC_USE_REFLECTION_PROBE","type":"boolean"},{"name":"CC_RECEIVE_SHADOW","type":"boolean"},{"name":"CC_USE_LIGHT_PROBE","type":"boolean"},{"name":"CC_USE_MORPH","type":"boolean"},{"name":"CC_MORPH_TARGET_COUNT","type":"number","range":[2,8]},{"name":"CC_MORPH_TARGET_HAS_POSITION","type":"boolean"},{"name":"CC_MORPH_TARGET_HAS_NORMAL","type":"boolean"},{"name":"CC_MORPH_TARGET_HAS_TANGENT","type":"boolean"},{"name":"CC_MORPH_PRECOMPUTED","type":"boolean"},{"name":"CC_USE_REAL_TIME_JOINT_TEXTURE","type":"boolean"},{"name":"CC_SUPPORT_CASCADED_SHADOW_MAP","type":"boolean"},{"name":"USE_BASE_COLOR_MAP","type":"boolean"},{"name":"USE_ALPHA_TEST","type":"boolean"},{"name":"ALPHA_TEST_CHANNEL","type":"string","options":["a","r","g","b"]},{"name":"CC_SHADOWMAP_USE_LINEAR_DEPTH","type":"boolean"},{"name":"CC_SHADOWMAP_FORMAT","type":"number","range":[0,3]}]},{"hash":3680218420,"name":"legacy/toon|planar-shadow-vs:vert|planar-shadow-fs:frag","blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position","format":32,"location":0,"defines":[]},{"name":"a_normal","format":32,"location":1,"defines":[]},{"name":"a_texCoord","format":21,"location":2,"defines":[]},{"name":"a_tangent","format":44,"location":3,"defines":[]},{"name":"a_joints","location":4,"defines":["CC_USE_SKINNING"]},{"name":"a_weights","format":44,"location":5,"defines":["CC_USE_SKINNING"]},{"name":"a_jointAnimInfo","format":44,"isInstanced":true,"location":6,"defines":["USE_INSTANCING","CC_USE_BAKED_ANIMATION"]},{"name":"a_matWorld0","format":44,"isInstanced":true,"location":7,"defines":["USE_INSTANCING"]},{"name":"a_matWorld1","format":44,"isInstanced":true,"location":8,"defines":["USE_INSTANCING"]},{"name":"a_matWorld2","format":44,"isInstanced":true,"location":9,"defines":["USE_INSTANCING"]},{"name":"a_lightingMapUVParam","format":44,"isInstanced":true,"location":10,"defines":["USE_INSTANCING","CC_USE_LIGHTMAP"]},{"name":"a_localShadowBiasAndProbeId","format":44,"isInstanced":true,"location":11,"defines":["USE_INSTANCING"]},{"name":"a_reflectionProbeData","format":44,"isInstanced":true,"location":12,"defines":["USE_INSTANCING","CC_USE_REFLECTION_PROBE"]},{"name":"a_sh_linear_const_r","format":44,"isInstanced":true,"location":13,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_sh_linear_const_g","format":44,"isInstanced":true,"location":14,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_sh_linear_const_b","format":44,"isInstanced":true,"location":15,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_vertexId","format":11,"location":16,"defines":["CC_USE_MORPH"]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCMorph","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_displacementWeights","typename":"vec4","type":16,"count":15,"isArray":true},{"name":"cc_displacementTextureInfo","typename":"vec4","type":16,"count":1}],"defines":["CC_USE_MORPH"]},{"name":"CCSkinningTexture","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_jointTextureInfo","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinningAnimation","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_jointAnimInfo","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinning","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_joints","typename":"vec4","type":16,"count":0,"precision":"highp ","isArray":true}],"defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","!CC_USE_REAL_TIME_JOINT_TEXTURE"]},{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["!USE_INSTANCING"]}],"samplerTextures":[{"name":"cc_PositionDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_POSITION"]},{"name":"cc_NormalDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_NORMAL"]},{"name":"cc_TangentDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_TANGENT"]},{"name":"cc_jointTexture","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"cc_realtimeJoint","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","CC_USE_REAL_TIME_JOINT_TEXTURE"]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCShadow","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matLightView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matLightViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_shadowInvProjDepthInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowProjDepthInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowProjInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowNFLSInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowWHPBInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowLPNNInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowColor","typename":"vec4","type":16,"count":1,"precision":"lowp "},{"name":"cc_planarNDInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"vert":"#extension GL_EXT_shader_explicit_arithmetic_types_int32: require\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)\nfloat saturate(float value) { return clamp(value, 0.0, 1.0); }\nvec2 saturate(vec2 value) { return clamp(value, vec2(0.0), vec2(1.0)); }\nvec3 saturate(vec3 value) { return clamp(value, vec3(0.0), vec3(1.0)); }\nvec4 saturate(vec4 value) { return clamp(value, vec4(0.0), vec4(1.0)); }\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 int getVertexId() {\n return gl_VertexIndex;\n }\n#endif\nhighp float decode32 (highp vec4 rgba) {\n rgba = rgba * 255.0;\n highp float Sign = 1.0 - (step(128.0, (rgba[3]) + 0.5)) * 2.0;\n highp float Exponent = 2.0 * (mod(float(int((rgba[3]) + 0.5)), 128.0)) + (step(128.0, (rgba[2]) + 0.5)) - 127.0;\n highp float Mantissa = (mod(float(int((rgba[2]) + 0.5)), 128.0)) * 65536.0 + rgba[1] * 256.0 + rgba[0] + 8388608.0;\n return Sign * exp2(Exponent - 23.0) * Mantissa;\n}\n#if CC_USE_MORPH\n layout(set = 2, binding = 4) uniform CCMorph {\n vec4 cc_displacementWeights[15];\n vec4 cc_displacementTextureInfo;\n };\n #if CC_MORPH_TARGET_HAS_POSITION\n layout(set = 2, binding = 8) uniform sampler2D cc_PositionDisplacements;\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n layout(set = 2, binding = 9) uniform sampler2D cc_NormalDisplacements;\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n layout(set = 2, binding = 10) uniform sampler2D cc_TangentDisplacements;\n #endif\n vec2 getPixelLocation(vec2 textureResolution, int pixelIndex) {\n float pixelIndexF = float(pixelIndex);\n float x = mod(pixelIndexF, textureResolution.x);\n float y = floor(pixelIndexF / textureResolution.x);\n return vec2(x, y);\n }\n vec2 getPixelCoordFromLocation(vec2 location, vec2 textureResolution) {\n return (vec2(location.x, location.y) + .5) / textureResolution;\n }\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n vec4 fetchVec3ArrayFromTexture(sampler2D tex, int pixelIndex) {\n ivec2 texSize = textureSize(tex, 0);\n return texelFetch(tex, ivec2(pixelIndex % texSize.x, pixelIndex / texSize.x), 0);\n }\n #else\n vec4 fetchVec3ArrayFromTexture(sampler2D tex, int elementIndex) {\n int pixelIndex = elementIndex * 4;\n vec2 location = getPixelLocation(cc_displacementTextureInfo.xy, pixelIndex);\n vec2 x = getPixelCoordFromLocation(location + vec2(0.0, 0.0), cc_displacementTextureInfo.xy);\n vec2 y = getPixelCoordFromLocation(location + vec2(1.0, 0.0), cc_displacementTextureInfo.xy);\n vec2 z = getPixelCoordFromLocation(location + vec2(2.0, 0.0), cc_displacementTextureInfo.xy);\n return vec4(\n decode32(texture(tex, x)),\n decode32(texture(tex, y)),\n decode32(texture(tex, z)),\n 1.0\n );\n }\n #endif\n float getDisplacementWeight(int index) {\n int quot = index / 4;\n int remainder = index - quot * 4;\n if (remainder == 0) {\n return cc_displacementWeights[quot].x;\n } else if (remainder == 1) {\n return cc_displacementWeights[quot].y;\n } else if (remainder == 2) {\n return cc_displacementWeights[quot].z;\n } else {\n return cc_displacementWeights[quot].w;\n }\n }\n vec3 getVec3DisplacementFromTexture(sampler2D tex, int vertexIndex) {\n #if CC_MORPH_PRECOMPUTED\n return fetchVec3ArrayFromTexture(tex, vertexIndex).rgb;\n #else\n vec3 result = vec3(0, 0, 0);\n int nVertices = int(cc_displacementTextureInfo.z);\n for (int iTarget = 0; iTarget < CC_MORPH_TARGET_COUNT; ++iTarget) {\n result += (fetchVec3ArrayFromTexture(tex, nVertices * iTarget + vertexIndex).rgb * getDisplacementWeight(iTarget));\n }\n return result;\n #endif\n }\n #if CC_MORPH_TARGET_HAS_POSITION\n vec3 getPositionDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_PositionDisplacements, vertexId);\n }\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n vec3 getNormalDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_NormalDisplacements, vertexId);\n }\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n vec3 getTangentDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_TangentDisplacements, vertexId);\n }\n #endif\n void applyMorph (inout vec4 position, inout vec3 normal, inout vec4 tangent) {\n int vertexId = getVertexId();\n #if CC_MORPH_TARGET_HAS_POSITION\n position.xyz = position.xyz + getPositionDisplacement(vertexId);\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n normal.xyz = normal.xyz + getNormalDisplacement(vertexId);\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n tangent.xyz = tangent.xyz + getTangentDisplacement(vertexId);\n #endif\n }\n void applyMorph (inout vec4 position) {\n #if CC_MORPH_TARGET_HAS_POSITION\n position.xyz = position.xyz + getPositionDisplacement(getVertexId());\n #endif\n }\n#endif\n#if CC_USE_SKINNING\n #if CC_USE_BAKED_ANIMATION\n layout(set = 2, binding = 3) uniform CCSkinningTexture {\n highp vec4 cc_jointTextureInfo;\n };\n layout(set = 2, binding = 2) uniform CCSkinningAnimation {\n highp vec4 cc_jointAnimInfo;\n };\n layout(set = 2, binding = 7) uniform highp sampler2D cc_jointTexture;\n void CCGetJointTextureCoords(float pixelsPerJoint, float jointIdx, out highp float x, out highp float y, out highp float invSize)\n {\n #if USE_INSTANCING\n highp float temp = pixelsPerJoint * (a_jointAnimInfo.x * a_jointAnimInfo.y + jointIdx) + a_jointAnimInfo.z;\n #else\n highp float temp = pixelsPerJoint * (cc_jointAnimInfo.x * cc_jointTextureInfo.y + jointIdx) + cc_jointTextureInfo.z;\n #endif\n invSize = cc_jointTextureInfo.w;\n highp float tempY = floor(temp * invSize);\n x = floor(temp - tempY * cc_jointTextureInfo.x);\n y = (tempY + 0.5) * invSize;\n }\n #else\n #if CC_USE_REAL_TIME_JOINT_TEXTURE\n layout(set = 2, binding = 7) uniform highp sampler2D cc_realtimeJoint;\n #else\n layout(set = 2, binding = 3) uniform CCSkinning {\n highp vec4 cc_joints[CC_JOINT_UNIFORM_CAPACITY * 3];\n };\n #endif\n #endif\n #if CC_USE_BAKED_ANIMATION\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n mat4 getJointMatrix (float i) {\n highp float x, y, invSize;\n CCGetJointTextureCoords(3.0, i, x, y, invSize);\n vec4 v1 = texture(cc_jointTexture, vec2((x + 0.5) * invSize, y));\n vec4 v2 = texture(cc_jointTexture, vec2((x + 1.5) * invSize, y));\n vec4 v3 = texture(cc_jointTexture, vec2((x + 2.5) * invSize, y));\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #else\n mat4 getJointMatrix (float i) {\n highp float x, y, invSize;\n CCGetJointTextureCoords(12.0, i, x, y, invSize);\n vec4 v1 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 0.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 1.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 2.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 3.5) * invSize, y)))\n );\n vec4 v2 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 4.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 5.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 6.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 7.5) * invSize, y)))\n );\n vec4 v3 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 8.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 9.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 10.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 11.5) * invSize, y)))\n );\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #else\n #if CC_USE_REAL_TIME_JOINT_TEXTURE\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n mat4 getJointMatrix (float i) {\n float x = i;\n vec4 v1 = texture(cc_realtimeJoint, vec2( x / 256.0, 0.5 / 3.0));\n vec4 v2 = texture(cc_realtimeJoint, vec2( x / 256.0, 1.5 / 3.0));\n vec4 v3 = texture(cc_realtimeJoint, vec2( x / 256.0, 2.5 / 3.0));\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #else\n mat4 getJointMatrix (float i) {\n float x = 4.0 * i;\n vec4 v1 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 0.5 / 3.0)))\n );\n vec4 v2 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 1.5 / 3.0)))\n );\n vec4 v3 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 2.5 / 3.0)))\n );\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #else\n mat4 getJointMatrix (float i) {\n int idx = int(i);\n vec4 v1 = cc_joints[idx * 3];\n vec4 v2 = cc_joints[idx * 3 + 1];\n vec4 v3 = cc_joints[idx * 3 + 2];\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #endif\n mat4 skinMatrix () {\n vec4 joints = vec4(a_joints);\n return getJointMatrix(joints.x) * a_weights.x\n + getJointMatrix(joints.y) * a_weights.y\n + getJointMatrix(joints.z) * a_weights.z\n + getJointMatrix(joints.w) * a_weights.w;\n }\n void CCSkin (inout vec4 position) {\n mat4 m = skinMatrix();\n position = m * position;\n }\n void CCSkin (inout vec4 position, inout vec3 normal, inout vec4 tangent) {\n mat4 m = skinMatrix();\n position = m * position;\n normal = (m * vec4(normal, 0.0)).xyz;\n tangent.xyz = (m * vec4(tangent.xyz, 0.0)).xyz;\n }\n#endif\nvoid CCVertInput(inout vec4 In)\n{\n In = vec4(a_position, 1.0);\n #if CC_USE_MORPH\n applyMorph(In);\n #endif\n #if CC_USE_SKINNING\n CCSkin(In);\n #endif\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};\n#if !USE_INSTANCING\n layout(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 };\n#endif\nvoid CCGetWorldMatrixFull(out mat4 matWorld, out mat4 matWorldIT)\n{\n #if USE_INSTANCING\n matWorld = mat4(\n vec4(a_matWorld0.xyz, 0.0),\n vec4(a_matWorld1.xyz, 0.0),\n vec4(a_matWorld2.xyz, 0.0),\n vec4(a_matWorld0.w, a_matWorld1.w, a_matWorld2.w, 1.0)\n );\n vec3 scale = 1.0 / vec3(length(a_matWorld0.xyz), length(a_matWorld1.xyz), length(a_matWorld2.xyz));\n vec3 scale2 = scale * scale;\n matWorldIT = mat4(\n vec4(a_matWorld0.xyz * scale2.x, 0.0),\n vec4(a_matWorld1.xyz * scale2.y, 0.0),\n vec4(a_matWorld2.xyz * scale2.z, 0.0),\n vec4(0.0, 0.0, 0.0, 1.0)\n );\n #else\n matWorld = cc_matWorld;\n matWorldIT = cc_matWorldIT;\n #endif\n}\nlayout(set = 0, binding = 2) uniform CCShadow {\n highp mat4 cc_matLightView;\n highp mat4 cc_matLightViewProj;\n highp vec4 cc_shadowInvProjDepthInfo;\n highp vec4 cc_shadowProjDepthInfo;\n highp vec4 cc_shadowProjInfo;\n mediump vec4 cc_shadowNFLSInfo;\n mediump vec4 cc_shadowWHPBInfo;\n mediump vec4 cc_shadowLPNNInfo;\n lowp vec4 cc_shadowColor;\n mediump vec4 cc_planarNDInfo;\n};\nvec4 CalculatePlanarShadowPos(vec3 meshWorldPos, vec3 cameraPos, vec3 lightDir, vec4 plane) {\n vec3 P = meshWorldPos;\n vec3 L = lightDir;\n vec3 N = plane.xyz;\n float d = plane.w + EPSILON_LOWP;\n float dist = (-d - dot(P, N)) / (dot(L, N) + EPSILON_LOWP);\n vec3 shadowPos = P + L * dist;\n return vec4(shadowPos, dist);\n}\nvec4 CalculatePlanarShadowClipPos(vec4 shadowPos, vec3 cameraPos, mat4 matView, mat4 matProj, vec4 nearFar, float bias) {\n vec4 camPos = matView * vec4(shadowPos.xyz, 1.0);\n float lerpCoef = saturate((nearFar.z < 0.0 ? -camPos.z : camPos.z) / (nearFar.y - nearFar.x));\n camPos.z += mix(nearFar.x * 0.01, nearFar.y * EPSILON_LOWP * bias, lerpCoef);\n return matProj * camPos;\n}\nlayout(location = 0) out float v_dist;\nvec4 vert () {\n vec4 position;\n CCVertInput(position);\n mat4 matWorld, matWorldIT;\n CCGetWorldMatrixFull(matWorld, matWorldIT);\n vec3 worldPos = (matWorld * position).xyz;\n vec4 shadowPos = CalculatePlanarShadowPos(worldPos, cc_cameraPos.xyz, cc_mainLitDir.xyz, cc_planarNDInfo);\n position = CalculatePlanarShadowClipPos(shadowPos, cc_cameraPos.xyz, cc_matView, cc_matProj, cc_nearFar, cc_shadowWHPBInfo.w);\n v_dist = shadowPos.w;\n return position;\n}\nvoid main() { gl_Position = vert(); }","frag":"\nprecision highp float;\nlayout(set = 0, binding = 2) uniform CCShadow {\n highp mat4 cc_matLightView;\n highp mat4 cc_matLightViewProj;\n highp vec4 cc_shadowInvProjDepthInfo;\n highp vec4 cc_shadowProjDepthInfo;\n highp vec4 cc_shadowProjInfo;\n mediump vec4 cc_shadowNFLSInfo;\n mediump vec4 cc_shadowWHPBInfo;\n mediump vec4 cc_shadowLPNNInfo;\n lowp vec4 cc_shadowColor;\n mediump vec4 cc_planarNDInfo;\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};\nvec4 CCFragOutput (vec4 color) {\n return color;\n}\nlayout(location = 0) in float v_dist;\nvec4 frag () {\n if(v_dist < 0.0)\n discard;\n return CCFragOutput(cc_shadowColor);\n}\nlayout(location = 0) out vec4 cc_FragColor;\nvoid main() { cc_FragColor = frag(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]},{"name":"CCShadow","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCMorph","defines":["CC_USE_MORPH"]},{"name":"CCSkinningTexture","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinningAnimation","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinning","defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","!CC_USE_REAL_TIME_JOINT_TEXTURE"]},{"name":"CCLocal","defines":["!USE_INSTANCING"]}],"samplerTextures":[{"name":"cc_PositionDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_POSITION"]},{"name":"cc_NormalDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_NORMAL"]},{"name":"cc_TangentDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_TANGENT"]},{"name":"cc_jointTexture","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"cc_realtimeJoint","defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","CC_USE_REAL_TIME_JOINT_TEXTURE"]}],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":90,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":58}},"defines":[{"name":"USE_INSTANCING","type":"boolean"},{"name":"CC_USE_SKINNING","type":"boolean"},{"name":"CC_USE_BAKED_ANIMATION","type":"boolean"},{"name":"CC_USE_LIGHTMAP","type":"boolean"},{"name":"CC_USE_REFLECTION_PROBE","type":"boolean"},{"name":"CC_RECEIVE_SHADOW","type":"boolean"},{"name":"CC_USE_LIGHT_PROBE","type":"boolean"},{"name":"CC_USE_MORPH","type":"boolean"},{"name":"CC_MORPH_TARGET_COUNT","type":"number","range":[2,8]},{"name":"CC_MORPH_TARGET_HAS_POSITION","type":"boolean"},{"name":"CC_MORPH_TARGET_HAS_NORMAL","type":"boolean"},{"name":"CC_MORPH_TARGET_HAS_TANGENT","type":"boolean"},{"name":"CC_MORPH_PRECOMPUTED","type":"boolean"},{"name":"CC_USE_REAL_TIME_JOINT_TEXTURE","type":"boolean"}]}],[{"passes":[{"program":"legacy/toon|legacy/main-functions/outline-vs:vert|legacy/main-functions/outline-fs:frag","switch":"USE_OUTLINE_PASS","rasterizerState":{"cullMode":1},"depthStencilState":{"depthFunc":3,"depthTest":true,"depthWrite":true},"properties":{"lineWidth":{"type":13,"value":[10],"handleInfo":["outlineParams",0,13]},"depthBias":{"type":13,"value":[0],"handleInfo":["outlineParams",1,13]},"baseColor":{"type":16},"baseColorMap":{"value":"grey","type":28},"outlineParams":{"type":16,"value":[10,0,0,0]}}},{"program":"legacy/toon|toon-vs:vert|toon-fs:frag","properties":{"tilingOffset":{"type":16,"value":[1,1,0,0]},"mainColor":{"linear":true,"type":16,"value":[0.6,0.6,0.6,1],"handleInfo":["baseColor",0,16]},"colorScale":{"type":15,"value":[1,1,1],"handleInfo":["colorScaleAndCutoff",0,15]},"alphaThreshold":{"type":13,"value":[0.5],"handleInfo":["colorScaleAndCutoff",3,13]},"shadeColor1":{"linear":true,"type":16,"value":[0.4,0.4,0.4,1]},"shadeColor2":{"linear":true,"type":16,"value":[0.2,0.2,0.2,1]},"specular":{"linear":true,"type":16,"value":[1,1,1,0.3]},"baseStep":{"type":13,"value":[0.8],"handleInfo":["shadeParams",0,13]},"baseFeather":{"type":13,"value":[0.001],"handleInfo":["shadeParams",1,13]},"shadeStep":{"type":13,"value":[0.5],"handleInfo":["shadeParams",2,13]},"shadeFeather":{"type":13,"value":[0.001],"handleInfo":["shadeParams",3,13]},"shadowCover":{"type":13,"value":[0.5],"handleInfo":["miscParams",0,13]},"emissive":{"linear":true,"type":16,"value":[0,0,0,1]},"emissiveScale":{"type":15,"value":[1,1,1],"handleInfo":["emissiveScaleAndStrenth",0,15]},"normalStrength":{"slide":true,"step":0.001,"type":13,"value":[1],"range":[0,5],"handleInfo":["emissiveScaleAndStrenth",3,13]},"normalMap":{"value":"normal","type":28},"mainTexture":{"value":"white","type":28,"handleInfo":["baseColorMap",0,28]},"shadeMap1":{"value":"white","type":28},"shadeMap2":{"value":"white","type":28},"specularMap":{"value":"white","type":28},"emissiveMap":{"value":"grey","type":28},"baseColor":{"type":16,"value":[0.6,0.6,0.6,1]},"colorScaleAndCutoff":{"type":16,"value":[1,1,1,0.5]},"shadeParams":{"type":16,"value":[0.8,0.001,0.5,0.001]},"miscParams":{"type":16,"value":[0.5,0,0,0]},"emissiveScaleAndStrenth":{"type":16,"value":[1,1,1,1]},"baseColorMap":{"type":28,"value":"white"}}},{"phase":"forward-add","propertyIndex":1,"program":"legacy/toon|toon-vs:vert|toon-fs:frag","embeddedMacros":{"CC_FORWARD_ADD":true},"blendState":{"targets":[{"blend":true,"blendSrc":1,"blendDst":1,"blendSrcAlpha":0,"blendDstAlpha":1}]},"depthStencilState":{"depthFunc":2,"depthTest":true,"depthWrite":false},"properties":{"tilingOffset":{"type":16,"value":[1,1,0,0]},"mainColor":{"linear":true,"type":16,"value":[0.6,0.6,0.6,1],"handleInfo":["baseColor",0,16]},"colorScale":{"type":15,"value":[1,1,1],"handleInfo":["colorScaleAndCutoff",0,15]},"alphaThreshold":{"type":13,"value":[0.5],"handleInfo":["colorScaleAndCutoff",3,13]},"shadeColor1":{"linear":true,"type":16,"value":[0.4,0.4,0.4,1]},"shadeColor2":{"linear":true,"type":16,"value":[0.2,0.2,0.2,1]},"specular":{"linear":true,"type":16,"value":[1,1,1,0.3]},"baseStep":{"type":13,"value":[0.8],"handleInfo":["shadeParams",0,13]},"baseFeather":{"type":13,"value":[0.001],"handleInfo":["shadeParams",1,13]},"shadeStep":{"type":13,"value":[0.5],"handleInfo":["shadeParams",2,13]},"shadeFeather":{"type":13,"value":[0.001],"handleInfo":["shadeParams",3,13]},"shadowCover":{"type":13,"value":[0.5],"handleInfo":["miscParams",0,13]},"emissive":{"linear":true,"type":16,"value":[0,0,0,1]},"emissiveScale":{"type":15,"value":[1,1,1],"handleInfo":["emissiveScaleAndStrenth",0,15]},"normalStrength":{"slide":true,"step":0.001,"type":13,"value":[1],"range":[0,5],"handleInfo":["emissiveScaleAndStrenth",3,13]},"normalMap":{"value":"normal","type":28},"mainTexture":{"value":"white","type":28,"handleInfo":["baseColorMap",0,28]},"shadeMap1":{"value":"white","type":28},"shadeMap2":{"value":"white","type":28},"specularMap":{"value":"white","type":28},"emissiveMap":{"value":"grey","type":28},"baseColor":{"type":16,"value":[0.6,0.6,0.6,1]},"colorScaleAndCutoff":{"type":16,"value":[1,1,1,0.5]},"shadeParams":{"type":16,"value":[0.8,0.001,0.5,0.001]},"miscParams":{"type":16,"value":[0.5,0,0,0]},"emissiveScaleAndStrenth":{"type":16,"value":[1,1,1,1]},"baseColorMap":{"type":28,"value":"white"}}},{"phase":"shadow-caster","propertyIndex":1,"program":"legacy/toon|shadow-caster-vs:vert|shadow-caster-fs:frag","rasterizerState":{"cullMode":1},"properties":{"tilingOffset":{"type":16,"value":[1,1,0,0]},"mainColor":{"type":16,"value":[0.6,0.6,0.6,1],"handleInfo":["baseColor",0,16]},"colorScale":{"type":15,"value":[1,1,1],"handleInfo":["colorScaleAndCutoff",0,15]},"alphaThreshold":{"type":13,"value":[0.5],"handleInfo":["colorScaleAndCutoff",3,13]},"shadeColor1":{"type":16,"value":[0.4,0.4,0.4,1]},"shadeColor2":{"type":16,"value":[0.2,0.2,0.2,1]},"specular":{"type":16,"value":[1,1,1,0.3]},"baseStep":{"type":13,"value":[0.8],"handleInfo":["shadeParams",0,13]},"baseFeather":{"type":13,"value":[0.001],"handleInfo":["shadeParams",1,13]},"shadeStep":{"type":13,"value":[0.5],"handleInfo":["shadeParams",2,13]},"shadeFeather":{"type":13,"value":[0.001],"handleInfo":["shadeParams",3,13]},"emissive":{"type":16,"value":[0,0,0,1]},"emissiveScale":{"type":15,"value":[1,1,1],"handleInfo":["emissiveScaleAndStrenth",0,15]},"normalStrenth":{"type":13,"value":[1],"handleInfo":["emissiveScaleAndStrenth",3,13]},"mainTexture":{"value":"white","type":28,"handleInfo":["baseColorMap",0,28]},"baseColor":{"type":16,"value":[0.6,0.6,0.6,1]},"colorScaleAndCutoff":{"type":16,"value":[1,1,1,0.5]},"shadeParams":{"type":16,"value":[0.8,0.001,0.5,0.001]},"emissiveScaleAndStrenth":{"type":16,"value":[1,1,1,1]},"baseColorMap":{"type":28,"value":"white"}}},{"phase":"planar-shadow","propertyIndex":0,"program":"legacy/toon|planar-shadow-vs:vert|planar-shadow-fs:frag","blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":4,"blendDstAlpha":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false,"stencilTestFront":true,"stencilFuncFront":5,"stencilPassOpFront":2,"stencilRefBack":128,"stencilRefFront":128,"stencilReadMaskBack":128,"stencilReadMaskFront":128,"stencilWriteMaskBack":128,"stencilWriteMaskFront":128}},{"phase":"deferred-forward","propertyIndex":0,"program":"legacy/toon|legacy/main-functions/outline-vs:vert|legacy/main-functions/outline-fs:frag","switch":"USE_OUTLINE_PASS","rasterizerState":{"cullMode":1},"depthStencilState":{"depthFunc":3,"depthTest":true,"depthWrite":true}},{"phase":"deferred-forward","propertyIndex":1,"program":"legacy/toon|toon-vs:vert|toon-fs:frag"}]}]]],0,0,[],[],[]]]] diff --git a/cocos_view_pod/Assets/assets/main/import/04/04b964e93.json b/cocos_view_pod/Assets/assets/main/import/04/04b964e93.json new file mode 100644 index 0000000..c7c3c85 --- /dev/null +++ b/cocos_view_pod/Assets/assets/main/import/04/04b964e93.json @@ -0,0 +1 @@ +[1,["7b+d9AS8lOJYywmlAPlJEC","8aWN3s9DdAuY7AH8h96X+1","5a8gG1WVFOLKgfrEqtkTLL@b47c0","a7YStUNeNCOKGpSntUY1g5","e3VTytLxVCk4Waj0PHgPKJ@73b7f","ccw6dVfT1DBKo7ykeS152f","cfxTxOeVZIK668P7Hc027v","5eTUjEDjRFr6JoiUhRl+i8","6fiRp7WghI5phB3bNkrIax@6c48a","955bAq4zhCPL27F0htsdnr@6c48a","1brw/JvvpFnIvdrxpFCgMZ","07GNmWOb9KtLtjSWZm/vRn@6c48a","700zdYHB5CTbCr6sdBBVm/","0asxQqaWhAc5WvAmvDsjYj@2b0a8","a1Vfk7d2lMpLdfsT5SGThZ","0asxQqaWhAc5WvAmvDsjYj@4a7d8","0asxQqaWhAc5WvAmvDsjYj@0e750","0asxQqaWhAc5WvAmvDsjYj@ef86b","0asxQqaWhAc5WvAmvDsjYj@426f2","0asxQqaWhAc5WvAmvDsjYj@754a2","0asxQqaWhAc5WvAmvDsjYj@71919","0asxQqaWhAc5WvAmvDsjYj@1332c","0asxQqaWhAc5WvAmvDsjYj@4d16f","0asxQqaWhAc5WvAmvDsjYj@efe84","e3VTytLxVCk4Waj0PHgPKJ@18751","e3VTytLxVCk4Waj0PHgPKJ@30732","e3VTytLxVCk4Waj0PHgPKJ@da6f3","e3VTytLxVCk4Waj0PHgPKJ@f1394","e3VTytLxVCk4Waj0PHgPKJ@4b929","e3VTytLxVCk4Waj0PHgPKJ@75ee4","8eBHF49hxDIqL20a2yi2ri","e3VTytLxVCk4Waj0PHgPKJ@39f7b","e3VTytLxVCk4Waj0PHgPKJ@a72ab"],["node","_mesh","_parent","root","_skeleton","asset","mainTexture","_effectAsset","data","scene","_envmapHDR","_envmapLDR","_defaultClip"],[["cc.Node",["_name","_objFlags","__editorExtras__","_id","_prefab","_parent","_lpos","_euler","_lrot","_children","_components","_lscale"],-1,4,1,5,5,5,2,9,5],["cc.TargetInfo",["localID"],2],["cc.MeshRenderer",["_shadowCastingMode","node","__prefab","_materials","bakeSettings","_mesh"],2,1,4,3,4,6],["cc.SkinnedMeshRenderer",["_shadowCastingMode","node","__prefab","_materials","bakeSettings","_skinningRoot","_mesh","_skeleton"],2,1,4,3,4,1,6,6],["cc.Mesh",["_native","_hash","_struct"],1,11],["cc.SceneAsset",["_name"],2],["cc.Node",["_name","_parent","_children","_prefab","_lpos","_lrot","_euler"],2,1,12,4,5,5,5],["cc.Node",["_name","_parent","_children","_prefab","_lpos","_lrot","_euler"],2,1,9,4,5,5,5],["cc.PrefabInfo",["fileId","targetOverrides","nestedPrefabInstanceRoots","root","instance","asset"],0,1,4,6],["cc.PrefabInfo",["root","asset","instance","targetOverrides","nestedPrefabInstanceRoots"],0,9,2],["cc.PrefabInfo",["fileId","instance","targetOverrides","nestedPrefabInstanceRoots","root","asset"],-1,1,1],["cc.PrefabInstance",["fileId","prefabRootNode","propertyOverrides"],1,9],["CCPropertyOverrideInfo",["propertyPath","targetInfo","value"],2,4,4],["CCPropertyOverrideInfo",["value","propertyPath","targetInfo"],1,4],["CCPropertyOverrideInfo",["propertyPath","targetInfo","value"],2,4,8],["cc.ModelBakeSettings",[],3],["cc.Scene",["_children","_prefab","_globals"],3,2,4,4],["cc.TargetOverrideInfo",["propertyPath","source","sourceInfo","target","targetInfo"],2,1,4,1,4],["cc.SceneGlobals",["ambient","shadows","_skybox","fog","octree","skin","lightProbeInfo","postSettings"],3,4,4,4,4,4,4,4,4],["cc.AmbientInfo",["_skyIllumLDR","_skyColorHDR","_skyColorLDR"],2,5,5],["cc.ShadowsInfo",["_enabled","_type","_distance","_shadowColor","_size"],0,5,5],["cc.SkyboxInfo",["_enabled","_envmapHDR","_envmapLDR"],2,6,6],["cc.FogInfo",["_fogColor"],3,5],["cc.OctreeInfo",[],3],["cc.SkinInfo",[],3],["cc.LightProbeInfo",[],3],["cc.PostSettingsInfo",[],3],["cc.DirectionalLight",["_illuminanceHDR","_illuminanceLDR","_shadowEnabled","_shadowPcf","_shadowBias","_shadowSaturation","_shadowDistance","_csmLevel","_shadowFar","_shadowOrthoSize","node","_staticSettings"],-7,1,4],["cc.StaticLightSettings",[],3],["cc.Camera",["_clearFlags","_visibility","node"],1,1],["cc.Material",["_name","_states","_defines","_props"],0,12],["cc.Prefab",["_name"],2],["cc.CompPrefabInfo",["fileId"],2],["cc.SkeletalAnimation",["playOnLoad","node","__prefab","_clips","_defaultClip"],2,1,4,3,6],["cc.Skeleton",["_name","_hash","_joints","_bindposes"],0,12]],[[1,0,2],[10,0,1,2,3,4,5,5],[15,1],[12,0,1,2,2],[17,0,1,2,3,4,2],[32,0,2],[4,0,1,2,3],[13,0,1,2,3],[0,0,5,9,4,6,8,7,2],[1,1],[0,0,5,10,4,6,8,11,7,2],[2,0,1,2,3,4,5,2],[7,0,1,2,3,4,5,6,2],[0,0,5,10,4,8,11,7,2],[34,0,1,2,3,4],[0,0,5,4,6,8,7,2],[8,0,1,2,3,4,5,4],[11,0,1,2,3],[30,0,1,2,3,4],[3,1,2,3,4,5,6,7,1],[0,1,2,4,3],[0,0,3,5,10,6,8,7,3],[0,0,5,9,4,2],[0,0,5,4,6,2],[31,0,2],[2,1,2,3,4,5,1],[5,0,2],[0,1,2,5,4,3],[0,0,9,4,2],[0,0,5,10,4,6,11,7,2],[0,0,9,10,4,6,2],[0,0,9,4,6,8,7,2],[0,0,9,4,6,2],[0,0,5,9,4,8,7,2],[0,0,5,4,6,8,11,7,2],[0,0,5,9,4,6,2],[6,0,1,2,3,4,5,6,2],[9,0,1,2,3,4,4],[14,0,1,2,2],[16,0,1,2,1],[18,0,1,2,3,4,5,6,7,1],[19,0,1,2,2],[20,0,1,2,3,4,4],[21,0,1,2,2],[22,0,1],[23,1],[24,1],[25,1],[26,1],[27,0,1,2,3,4,5,6,7,8,9,10,11,11],[28,1],[29,0,1,2,3],[33,0,1,2,3,4,2],[3,0,1,2,3,4,5,6,7,2]],[[[[6,".bin",3495632489,[{"primitives":[{"primitiveMode":7,"vertexBundelIndices":[0],"indexView":{"offset":22336,"length":3516,"count":1758,"stride":2}}],"vertexBundles":[{"view":{"offset":0,"length":22336,"count":349,"stride":64},"attributes":[{"name":"a_position","format":32,"isNormalized":false},{"name":"a_normal","format":32,"isNormalized":false},{"name":"a_texCoord","format":21,"isNormalized":false},{"name":"a_tangent","format":44,"isNormalized":false},{"name":"a_color","format":44,"isNormalized":false}]}]},"minPosition",8,[1,-1.0263243913650513,-0.3362765312194824,-0.03969179466366768],"maxPosition",8,[1,1.0416858196258545,0.37944579124450684,2.4551167488098145]]],-1],0,0,[],[],[]],[[[6,".bin",3036632834,[{"primitives":[{"primitiveMode":7,"vertexBundelIndices":[0],"indexView":{"offset":22272,"length":3516,"count":1758,"stride":2}}],"vertexBundles":[{"view":{"offset":0,"length":22272,"count":348,"stride":64},"attributes":[{"name":"a_position","format":32,"isNormalized":false},{"name":"a_normal","format":32,"isNormalized":false},{"name":"a_texCoord","format":21,"isNormalized":false},{"name":"a_tangent","format":44,"isNormalized":false},{"name":"a_color","format":44,"isNormalized":false}]}]},"minPosition",8,[1,-1.0627228021621704,-0.22964781522750854,-0.03969179466366768],"maxPosition",8,[1,1.0608391761779785,0.271166056394577,2.4551167488098145]]],-1],0,0,[],[],[]],[[[6,".bin",254309135,[{"primitives":[{"primitiveMode":7,"vertexBundelIndices":[0],"indexView":{"offset":4752,"length":1008,"count":504,"stride":2}}],"vertexBundles":[{"view":{"offset":0,"length":4752,"count":99,"stride":48},"attributes":[{"name":"a_position","format":32,"isNormalized":false},{"name":"a_normal","format":32,"isNormalized":false},{"name":"a_texCoord","format":21,"isNormalized":false},{"name":"a_tangent","format":44,"isNormalized":false}]}]},"minPosition",8,[1,-2.0139009952545166,-2.0199241638183594,-0.5083037614822388],"maxPosition",8,[1,2.0139009952545166,2.0199241638183594,0.41632819175720215]]],-1],0,0,[],[],[]],[[[6,".bin",29018075,[{"primitives":[{"primitiveMode":7,"vertexBundelIndices":[0],"indexView":{"offset":17024,"length":2616,"count":1308,"stride":2}}],"vertexBundles":[{"view":{"offset":0,"length":17024,"count":266,"stride":64},"attributes":[{"name":"a_position","format":32,"isNormalized":false},{"name":"a_normal","format":32,"isNormalized":false},{"name":"a_texCoord","format":21,"isNormalized":false},{"name":"a_tangent","format":44,"isNormalized":false},{"name":"a_color","format":44,"isNormalized":false}]}]},"minPosition",8,[1,-0.8331011533737183,-0.3728335201740265,-0.03329771012067795],"maxPosition",8,[1,0.7926641702651978,0.46718841791152954,2.0596137046813965]]],-1],0,0,[],[],[]],[[[6,".bin",1251657800,[{"primitives":[{"primitiveMode":7,"vertexBundelIndices":[0],"indexView":{"offset":44032,"length":5268,"count":2634,"stride":2}}],"vertexBundles":[{"view":{"offset":0,"length":44032,"count":688,"stride":64},"attributes":[{"name":"a_position","format":32,"isNormalized":false},{"name":"a_normal","format":32,"isNormalized":false},{"name":"a_texCoord","format":21,"isNormalized":false},{"name":"a_tangent","format":44,"isNormalized":false},{"name":"a_color","format":44,"isNormalized":false}]}]},"minPosition",8,[1,-26.697162628173828,-5.055922985076904,-21.154483795166016],"maxPosition",8,[1,60.5887565612793,11.239510536193848,12.134369850158691]]],-1],0,0,[],[],[]],[[[6,".bin",2591114660,[{"primitives":[{"primitiveMode":7,"vertexBundelIndices":[0],"indexView":{"offset":17024,"length":2616,"count":1308,"stride":2}}],"vertexBundles":[{"view":{"offset":0,"length":17024,"count":266,"stride":64},"attributes":[{"name":"a_position","format":32,"isNormalized":false},{"name":"a_normal","format":32,"isNormalized":false},{"name":"a_texCoord","format":21,"isNormalized":false},{"name":"a_tangent","format":44,"isNormalized":false},{"name":"a_color","format":44,"isNormalized":false}]}]},"minPosition",8,[1,-0.7926226854324341,-0.7388861179351807,-0.05313277989625931],"maxPosition",8,[1,0.3647039830684662,0.5992574691772461,2.038058042526245]]],-1],0,0,[],[],[]],[[[6,".bin",3382949082,[{"primitives":[{"primitiveMode":7,"vertexBundelIndices":[0],"indexView":{"offset":22144,"length":3516,"count":1758,"stride":2}}],"vertexBundles":[{"view":{"offset":0,"length":22144,"count":346,"stride":64},"attributes":[{"name":"a_position","format":32,"isNormalized":false},{"name":"a_normal","format":32,"isNormalized":false},{"name":"a_texCoord","format":21,"isNormalized":false},{"name":"a_tangent","format":44,"isNormalized":false},{"name":"a_color","format":44,"isNormalized":false}]}]},"minPosition",8,[1,-0.9536016583442688,-0.38312095403671265,-0.05688628926873207],"maxPosition",8,[1,0.487619012594223,0.4689179062843323,1.8973422050476074]]],-1],0,0,[],[],[]],[[[6,".bin",4260990112,[{"primitives":[{"primitiveMode":7,"vertexBundelIndices":[0],"indexView":{"offset":22144,"length":3516,"count":1758,"stride":2}}],"vertexBundles":[{"view":{"offset":0,"length":22144,"count":346,"stride":64},"attributes":[{"name":"a_position","format":32,"isNormalized":false},{"name":"a_normal","format":32,"isNormalized":false},{"name":"a_texCoord","format":21,"isNormalized":false},{"name":"a_tangent","format":44,"isNormalized":false},{"name":"a_color","format":44,"isNormalized":false}]}]},"minPosition",8,[1,-1.091290831565857,-0.41489967703819275,-0.07584762573242188],"maxPosition",8,[1,0.9092828035354614,0.5096479654312134,2.450913906097412]]],-1],0,0,[],[],[]],[[[6,".bin",3840728426,[{"primitives":[{"primitiveMode":7,"vertexBundelIndices":[0],"indexView":{"offset":17216,"length":2622,"count":1311,"stride":2}}],"vertexBundles":[{"view":{"offset":0,"length":17216,"count":269,"stride":64},"attributes":[{"name":"a_position","format":32,"isNormalized":false},{"name":"a_normal","format":32,"isNormalized":false},{"name":"a_texCoord","format":21,"isNormalized":false},{"name":"a_tangent","format":44,"isNormalized":false},{"name":"a_color","format":44,"isNormalized":false}]}]},"minPosition",8,[1,-0.7611004710197449,-0.18266357481479645,-0.06545485556125641],"maxPosition",8,[1,0.961718738079071,0.5065948367118835,2.02461838722229]]],-1],0,0,[],[],[]],[[[6,".bin",1400315511,[{"primitives":[{"primitiveMode":7,"vertexBundelIndices":[0],"indexView":{"offset":17216,"length":2622,"count":1311,"stride":2}}],"vertexBundles":[{"view":{"offset":0,"length":17216,"count":269,"stride":64},"attributes":[{"name":"a_position","format":32,"isNormalized":false},{"name":"a_normal","format":32,"isNormalized":false},{"name":"a_texCoord","format":21,"isNormalized":false},{"name":"a_tangent","format":44,"isNormalized":false},{"name":"a_color","format":44,"isNormalized":false}]}]},"minPosition",8,[1,-0.49995025992393494,-0.4541564881801605,-0.09076808393001556],"maxPosition",8,[1,0.9192519783973694,0.6330084204673767,2.026685953140259]]],-1],0,0,[],[],[]],[[[26,"main"],[20,0,{},[16,"e5Peksu5tL9peMeABb8/JC",null,null,-1,[17,"7e4SH9jydKyaQjXZtS5AiQ",null,[[3,["lightmapSettings"],[0,["a6J1jU/r1BPKNIcVMEREit"]],[2]],[7,1,["_shadowReceivingMode"],[0,["a6J1jU/r1BPKNIcVMEREit"]]],[3,["lightmapSettings"],[0,["28WH2cvhNDFbN3it+8Q+XK"]],[2]],[7,1,["_shadowReceivingMode"],[0,["28WH2cvhNDFbN3it+8Q+XK"]]],[3,["lightmapSettings"],[0,["87exLhmM1P35jx6GLN7j5f"]],[2]],[7,1,["_shadowReceivingMode"],[0,["87exLhmM1P35jx6GLN7j5f"]]],[3,["lightmapSettings"],[0,["dduLonFhNK+q908BUlLM7f"]],[2]],[7,1,["_shadowCastingMode"],[0,["dduLonFhNK+q908BUlLM7f"]]],[7,1,["_shadowReceivingMode"],[0,["dduLonFhNK+q908BUlLM7f"]]],[3,["lightmapSettings"],[0,["af0f1GeGlKf5MvKMEuH8MJ"]],[2]],[7,1,["_shadowReceivingMode"],[0,["af0f1GeGlKf5MvKMEuH8MJ"]]],[3,["lightmapSettings"],[0,["e9BPt5G81CloUmA5IJNHIQ"]],[2]],[7,1,["_shadowReceivingMode"],[0,["e9BPt5G81CloUmA5IJNHIQ"]]],[3,["lightmapSettings"],[0,["7dt8ZZ5EBNDIxOgpt1XbGu"]],[2]],[7,1,["_shadowReceivingMode"],[0,["7dt8ZZ5EBNDIxOgpt1XbGu"]]],[3,["lightmapSettings"],[0,["c4Nekl9YtKUKupS0ASX7It"]],[2]],[7,1,["_shadowReceivingMode"],[0,["c4Nekl9YtKUKupS0ASX7It"]]],[3,["lightmapSettings"],[0,["b9cuhcVRxPvZTPHcAyE7eS"]],[2]],[7,1,["_shadowReceivingMode"],[0,["b9cuhcVRxPvZTPHcAyE7eS"]]],[3,["lightmapSettings"],[0,["f3T3OFBBJBYrGbPSQ+k7GJ"]],[2]],[7,1,["_shadowReceivingMode"],[0,["f3T3OFBBJBYrGbPSQ+k7GJ"]]],[3,["lightmapSettings"],[0,["d0A5LfhGhAfrDnBGJ3JzOe"]],[2]],[7,1,["_shadowReceivingMode"],[0,["d0A5LfhGhAfrDnBGJ3JzOe"]]],[3,["lightmapSettings"],[0,["161SEdWiFO/abXxUI8RkYk"]],[2]],[7,1,["_shadowReceivingMode"],[0,["161SEdWiFO/abXxUI8RkYk"]]]]],2]],[20,0,{},[16,"6dMvPN2t1B66O9Zc3HG8dr",null,null,-2,[17,"93xtJEZ71OF5Gk8u497J9k",null,[[3,["lightmapSettings"],[0,["78XZsd31xPjIsSP2888FcN"]],[2]],[3,["lightmapSettings"],[0,["ffoVYmt2NOmIBz5DHpacF8"]],[2]],[3,["lightmapSettings"],[0,["9aCVBuMeZPv6so1VxT6c40"]],[2]],[3,["lightmapSettings"],[0,["ca1srfPsJJgKKJww9GO/JE"]],[2]]]],1]],[39,[-4,-5,-6,2,1],[37,null,null,null,[[4,["_skinningRoot"],2,[0,["04W3Kzvb9BZbZUGFZzfzi5"]],2,[0,["6dMvPN2t1B66O9Zc3HG8dr"]]],[4,["_skinningRoot"],2,[0,["04W3Kzvb9BZbZUGFZzfzi5"]],2,[0,["6dMvPN2t1B66O9Zc3HG8dr"]]],[4,["_skinningRoot"],2,[0,["04W3Kzvb9BZbZUGFZzfzi5"]],2,[0,["6dMvPN2t1B66O9Zc3HG8dr"]]],[4,["_skinningRoot"],2,[0,["04W3Kzvb9BZbZUGFZzfzi5"]],2,[0,["6dMvPN2t1B66O9Zc3HG8dr"]]],[4,["_skinningRoot"],1,[9],1,[0,["87M1Av0v5LhZ3LsJOTzwr3"]]],[4,["_skinningRoot"],1,[9],1,[0,["8avX4W7ZtLOLCZ8n5QtiPm"]]],[4,["_skinningRoot"],1,[9],1,[0,["5fAmHUz0xO9YFym/gsZawP"]]],[4,["_skinningRoot"],1,[9],1,[0,["9bIVhdYYpFl7JZmL4oubNS"]]],[4,["_skinningRoot"],1,[9],1,[0,["2d66RAsipF1brG2RGpHJY1"]]],[4,["_skinningRoot"],1,[9],1,[0,["ffwse8PqZBf4sIEkNdsA+i"]]],[4,["_skinningRoot"],1,[9],1,[0,["adNP+ELEhC4awfcKkY8jYJ"]]],[4,["_skinningRoot"],1,[9],1,[0,["33gYFxG8dO2r8iKjzjEx4z"]]],[4,["_skinningRoot"],1,[9],1,[0,["27mCip0lFNkL+6Dj/Bpwj4"]]],[4,["_skinningRoot"],1,[9],1,[0,["50aim7sdtB2rmsHB4KRkd5"]]],[4,["_skinningRoot"],1,[9],1,[0,["70DWXrCRRL4pWATtzgi7DN"]]],[4,["_skinningRoot"],1,[9],1,[0,["7aOtJ3fThN27Zj4fmkg0ut"]]]],[-3,2,1]],[40,[41,0.78125,[2,0.2,0.5019607843137255,0.8,0.520833125],[2,0.2,0.5019607843137255,0.8,0.520833125]],[42,true,1,1,[4,1929379840],[0,512,512]],[43,true,3,4],[44,[4,4292993505]],[45],[46],[47],[48]]],[27,0,{},3,[16,"26LvC5hbxAuJZ9Jl2SB/IV",null,null,-7,[17,"cdNOYl3LRPhapW8a8hi/Iy",null,[[3,["lightmapSettings"],[0,["ddvMFij+ZIL5lu+/NQX8Nf"]],[2]],[3,["lightmapSettings"],[0,["e3XMjUJKFLH41z39JaWzyB"]],[2]],[38,["position"],[0,["fd517lz3tOuqVWGd5300X6"]],[1,-1.341,0.805,-2.555]],[3,["lightmapSettings"],[0,["a5Viy6l3VLDpf6gY5yZF+v"]],[2]],[7,1,["_shadowCastingMode"],[0,["a5Viy6l3VLDpf6gY5yZF+v"]]],[3,["lightmapSettings"],[0,["e4If/bQrJCsb9D9JopZa2h"]],[2]],[3,["lightmapSettings"],[0,["d7Vkz0NV5Mn4RUce28JVTp"]],[2]],[3,["lightmapSettings"],[0,["3eVATgLQJKDbqOvE33W2uc"]],[2]],[3,["lightmapSettings"],[0,["2akU/MgO5Ovo6QcS0c/I7e"]],[2]],[3,["lightmapSettings"],[0,["54xaKIQbtPLK5r21VY0qmM"]],[2]],[3,["lightmapSettings"],[0,["23UFBqszxJ/6Otof04QwYT"]],[2]],[3,["lightmapSettings"],[0,["c7PE6gNTdDw45ytwlOEWR3"]],[2]]]],0]],[21,"Main Light","c0y6F5f+pAvI805TdmxIjx",3,[[49,125000,3.2552083333333335,true,2,0.01,0.45098039215686275,10,1,50,10,-8,[50]]],[1,-2.955,3.412,5.118],[3,-0.24999999999999997,-0.24999999999999997,-0.06698729810778066,0.9330127018922194],[1,-30,-30,0]],[21,"Main Camera","c9DMICJLFO5IeO07EPon7U",3,[[51,14,1820327937,-9]],[1,0.4563737338172984,4.020698998822525,7.83104356477376],[3,-0.07236081996736556,0.03501809641207027,0.002542173940871125,0.9967603433167774],[1,-8.304321541008003,4.024165472580301,9.93923337957349e-17]]],0,[0,3,1,0,3,2,0,-1,4,0,-1,5,0,-2,6,0,-3,4,0,3,4,0,0,5,0,0,6,0,9,3,1,2,3,2,2,3,9],[0,0,0,0,0],[5,5,5,10,11],[5,6,7,2,2]],[[[18,"soldier",[{"blendState":{"targets":[{}]},"depthStencilState":{},"rasterizerState":{}},{"blendState":{"targets":[{}]},"depthStencilState":{},"rasterizerState":{}},{"blendState":{"targets":[{}]},"depthStencilState":{},"rasterizerState":{}},{"blendState":{"targets":[{}]},"depthStencilState":{},"rasterizerState":{}}],[{"USE_OUTLINE_PASS":true},{"USE_BASE_COLOR_MAP":true,"BASE_COLOR_MAP_AS_SHADE_MAP_1":true,"BASE_COLOR_MAP_AS_SHADE_MAP_2":true},{"USE_BASE_COLOR_MAP":true,"BASE_COLOR_MAP_AS_SHADE_MAP_1":true,"BASE_COLOR_MAP_AS_SHADE_MAP_2":true},{"USE_BASE_COLOR_MAP":true}],[[{},[{},"specular",8,[4,16777215],"mainTexture",6,0],{},{}],0,11,0,0]]],0,0,[0,0],[6,7],[8,3]],[[[18,"shield",[{"blendState":{"targets":[{}]},"depthStencilState":{},"rasterizerState":{}},{"blendState":{"targets":[{}]},"depthStencilState":{},"rasterizerState":{}},{"blendState":{"targets":[{}]},"depthStencilState":{},"rasterizerState":{}}],[{"USE_ALBEDO_MAP":true},{"USE_ALBEDO_MAP":true},{"USE_ALBEDO_MAP":true}],[[[{"alphaThreshold":0,"roughness":0.70710676908493,"metallic":0.400000005960464},"mainTexture",6,0],{},{}],11,0,0]]],0,0,[0,0],[6,7],[9,10]],[[[18,"stone",[{"blendState":{"targets":[{}]},"depthStencilState":{},"rasterizerState":{}},{"blendState":{"targets":[{}]},"depthStencilState":{},"rasterizerState":{}},{"blendState":{"targets":[{}]},"depthStencilState":{},"rasterizerState":{}},{"blendState":{"targets":[{}]},"depthStencilState":{},"rasterizerState":{}}],[{"USE_OUTLINE_PASS":true},{"USE_BASE_COLOR_MAP":true,"BASE_COLOR_MAP_AS_SHADE_MAP_1":true,"BASE_COLOR_MAP_AS_SHADE_MAP_2":true},{"USE_BASE_COLOR_MAP":true,"BASE_COLOR_MAP_AS_SHADE_MAP_1":true,"BASE_COLOR_MAP_AS_SHADE_MAP_2":true},{"USE_BASE_COLOR_MAP":true}],[[{},[{},"specular",8,[4,16777215],"mainTexture",6,0],{},{}],0,11,0,0]]],0,0,[0,0],[6,7],[11,3]],[[[24,"islands"],[28,"islands",[-2],[1,"26LvC5hbxAuJZ9Jl2SB/IV",null,null,null,-1,0]],[22,"RootNode",1,[-3,-4,-5,-6,-7,-8,-9,-10,-11,-12],[1,"068WXOAs1HrIDx+RBQ6XoV",null,null,null,1,0]],[13,"plane01",2,[[25,-13,[5,"ddvMFij+ZIL5lu+/NQX8Nf"],[0],[2],1]],[1,"70dgNwYARPfbvgVcNs+gIQ",null,null,null,1,0],[3,-0.7071067811865476,0,0,0.7071067811865476],[1,4.25968408584595,4.25968408584595,2.35247683525085],[1,-90.00000000000003,0,0]],[29,"stone1",2,[[11,1,-14,[5,"e3XMjUJKFLH41z39JaWzyB"],[2],[2],3]],[1,"fd517lz3tOuqVWGd5300X6",null,null,null,1,0],[1,-1.68451106548309,0.804959058761597,-2.55509376525879],[1,0.111417099833488,0.111417099833488,0.111417099833488],[1,0.000009334667642611398,0,0]],[10,"tree1",2,[[25,-15,[5,"a5Viy6l3VLDpf6gY5yZF+v"],[4],[2],5]],[1,"1evO3wfhhGVomhJPkvbiM/",null,null,null,1,0],[1,2.69967889785767,0.392187118530273,-3.67192149162292],[3,-0.7071067811865476,0,0,0.7071067811865476],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-90.00000000000003,0,0]],[10,"tree1(__autogen 3)",2,[[11,1,-16,[5,"e4If/bQrJCsb9D9JopZa2h"],[6],[2],7]],[1,"91DpAWXZ9CFJ+Wk1gnOU27",null,null,null,1,0],[1,4.34285020828247,0.273025780916214,-4.5796275138855],[3,-0.7071067811865476,0,0,0.7071067811865476],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-90.00000000000003,0,0]],[10,"tree1(__autogen 4)",2,[[11,1,-17,[5,"d7Vkz0NV5Mn4RUce28JVTp"],[8],[2],9]],[1,"03YnQPZo5Nc7TYZfZ1EVIK",null,null,null,1,0],[1,-2.78155946731567,0.366120487451553,-5.44366216659546],[3,-0.7071067811865476,0,0,0.7071067811865476],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-90.00000000000003,0,0]],[10,"tree1(__autogen 5)",2,[[11,1,-18,[5,"3eVATgLQJKDbqOvE33W2uc"],[10],[2],11]],[1,"aehmnp6BdEt5duOREy07Ic",null,null,null,1,0],[1,-3.78196001052856,0.328564822673798,-3.62895131111145],[3,-0.7071067811865447,-6.18172403853676e-8,-6.18172403853676e-8,0.7071067811865447],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-89.99999999999999,-0.000010017912624975451,0]],[10,"tree1(__autogen 6)",2,[[11,1,-19,[5,"2akU/MgO5Ovo6QcS0c/I7e"],[12],[2],13]],[1,"1dXVprqA1AkpKbrdcroE4U",null,null,null,1,0],[1,-6.02857780456543,0.0573978498578072,-3.32550001144409],[3,-0.7071067811865476,0,0,0.7071067811865476],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-90.00000000000003,0,0]],[10,"tree1(__autogen 7)",2,[[11,1,-20,[5,"54xaKIQbtPLK5r21VY0qmM"],[14],[2],15]],[1,"c2n9MRvPxJRbv1PP2mhkZO",null,null,null,1,0],[1,-0.547172009944916,0.595235526561737,-3.40697646141052],[3,-0.7071067811865476,0,0,0.7071067811865476],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-90.00000000000003,0,0]],[10,"tree1(__autogen 8)",2,[[11,1,-21,[5,"23UFBqszxJ/6Otof04QwYT"],[16],[2],17]],[1,"e7VpTFkQ1Ev40vpNxYe7EG",null,null,null,1,0],[1,-6.58904409408569,0.117208734154701,-1.02060234546661],[3,-0.7071067811865476,0,0,0.7071067811865476],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-90.00000000000003,0,0]],[10,"tree1(__autogen 9)",2,[[11,1,-22,[5,"c7PE6gNTdDw45ytwlOEWR3"],[18],[2],19]],[1,"a1wQefYUNInYWhsOmPzInv",null,null,null,1,0],[1,5.92053079605103,0.1805190294981,-2.71322011947632],[3,-0.7071067811865447,-6.18172403853676e-8,-6.18172403853676e-8,0.7071067811865447],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-89.99999999999999,-0.000010017912624975451,0]]],0,[0,3,1,0,-1,2,0,-1,3,0,-2,4,0,-3,5,0,-4,6,0,-5,7,0,-6,8,0,-7,9,0,-8,10,0,-9,11,0,-10,12,0,0,3,0,0,4,0,0,5,0,0,6,0,0,7,0,0,8,0,0,9,0,0,10,0,0,11,0,0,12,0,8,1,22],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1],[12,13,14,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23]],[[[24,"soldier"],[30,"soldier",[-3],[[52,true,-2,[5,"04W3Kzvb9BZbZUGFZzfzi5"],[12],13]],[1,"6dMvPN2t1B66O9Zc3HG8dr",null,null,null,-1,0],[1,0,0.956,1.402]],[22,"RootNode",1,[-4,-5,-6,-7,-8],[1,"a5uiqiY3JH2IVaNOBBe7fQ",null,null,null,1,0]],[31,"Bip001 Spine",[-9,-10,-11],[1,"deedfocu1E0amfQjzHnnD8",null,null,null,1,0],[1,0.0765029862523079,-0.000119566058856435,1.06260117149759e-7],[3,-0.000002080475910607327,-6.936759723456761e-7,0.0003981589901667568,0.9999999207323014],[1,-0.00023837338537102568,-0.00007939450691674313,0.045625660794268635]],[32,"Bip001 Neck",[-12,-13,-14],[1,"de+U9IqPVD+qUUY0y7H/86",null,null,null,1,0],[1,0.15020164847374,-0.0000435724105045665,-1.20852522433879e-10]],[36,"Bip001",2,[[[15,"Bip001 Footsteps",-15,[1,"24sP2WouNOyq9Pp+iqRgiX",null,null,null,1,0],[1,-5.16987871290063e-28,0,-0.734457075595856],[3,-6.921034890422563e-34,6.921044533149828e-34,0.7071063043492202,0.7071072580235535],[1,0,-1.1216009582263186e-31,90]],-16],4,1],[1,"15XJ/3651AFKLyr6XRj3d7",null,null,null,1,0],[1,0,0.738336980342865,-3.74271143591121e-12],[3,-0.5000003576277411,-0.4999996423720031,-0.4999996423720031,0.5000003576277411],[1,-90,-89.99991803772988,0]],[13,"soldier",2,[[53,1,-17,[5,"78XZsd31xPjIsSP2888FcN"],[0],[2],1,1,2]],[1,"824q3ldSpHoYl9xi6zWeg4",null,null,null,1,0],[3,0.9999999999999953,0,0,-9.735359185469814e-8],[1,87.7489852905273,87.7489852905273,87.7489852905273],[1,-179.99998884410013,0,0]],[33,"Bip001 Pelvis",5,[3],[1,"9brOPlFAxPnLhkrpP6KbLQ",null,null,null,1,0],[3,-0.4999999925491744,-0.4999999925491744,-0.4999993070957696,0.5000007078049007],[1,-89.9999197452773,-89.9999197452773,-0.0000017074910412130916]],[8,"Bip001 L Thigh",3,[-18],[1,"4aENadJ59Io4SS6BMn9Aw4",null,null,null,1,0],[1,-0.0765029117465019,0.000180334449396469,0.0665242150425911],[3,-0.015412850192755845,0.9969698713847834,0.002043751751963479,-0.07621904406852757],[1,-0.098918034361683,-171.25793904676914,-1.7789668366715101]],[8,"Bip001 L Calf",8,[-19],[1,"71+6ovA8dDUowhlyNGBIbM",null,null,null,1,0],[1,0.368020862340927,-2.38418573772492e-9,1.90734859017994e-8],[3,-3.77253945323161e-21,-4.658679694134547e-18,-0.0008097870399876981,0.999999672122421],[1,-8.646032309262241e-19,-5.338462443351186e-16,-0.09279476953314847]],[8,"Bip001 L Foot",9,[-20],[1,"71/rP0sWxM1bfHuNwls2lv",null,null,null,1,0],[1,0.29802131652832,-2.38418573772492e-9,0],[3,0.0020737143220202685,-0.07621822672483194,0.016616994877612996,0.9969505289155877],[1,0.3822464844159605,-8.749946017824339,1.8805865416881686]],[12,"Bip001 L Toe0",10,[[34,"Bip001 L Toe0Nub",-21,[1,"b7ARhVJWFJP4yiboWbM1Xs",null,null,null,1,0],[1,0.00997863244265318,-2.98023217215615e-10,3.55271359939116e-17],[3,9.55341250274695e-16,-2.4399608215727e-23,1,1.83758927467374e-15],[1,-1,-1,-1],[1,180,-179.9999999999999,2.1057221983462293e-13]]],[1,"b7IX4wc+BII5SOxaDKm4bu",null,null,null,1,0],[1,0.0765028968453407,0.0984558463096619,1.90734859017994e-8],[3,-1.5454308319985125e-8,-1.5454308319985125e-8,0.7071067811865472,0.7071067811865472],[1,0,-0.0000025044778683729224,90]],[8,"Bip001 R Thigh",3,[-22],[1,"baRkxlpMJMup2UzoK3llZt",null,null,null,1,0],[1,-0.0765029117465019,0.000180703471414745,-0.0665242150425911],[3,-0.0154126518850906,0.9969698755273314,-0.0020409899233692465,0.07621910398987286],[1,0.09860398393799301,171.25792731952373,-1.7789200579558455]],[8,"Bip001 R Calf",12,[-23],[1,"8a4oYAyD9MkZi9aL5G15gW",null,null,null,1,0],[1,0.36802089214325,0,-3.55271359939116e-17],[3,2.226103102352033e-19,7.125063520427799e-18,-0.0008097898921612967,0.9999996721201113],[1,2.6170459347986135e-17,8.164935972515574e-16,-0.09279509636827488]],[8,"Bip001 R Foot",13,[-24],[1,"cdWn1utjJOUaNdTLXxb/CR",null,null,null,1,0],[1,0.29802131652832,0,-3.81469718035987e-8],[3,-0.002073778117879438,0.07621821928385913,0.016617013506159614,0.9969505290412618],[1,-0.38225392566993516,8.749945293799216,1.8805881155171484]],[12,"Bip001 R Toe0",14,[[23,"Bip001 R Toe0Nub",-25,[1,"77BI3YwgNJqKMpf0rJhZ9s",null,null,null,1,0],[1,0.00997863244265318,-2.98023217215615e-10,7.10542719878232e-17]]],[1,"26R5ll6SNGP5ArlFhrFOzH",null,null,null,1,0],[1,0.0765028968453407,0.0984558537602425,1.90734859017994e-8],[3,-1.5454308319985125e-8,-1.5454308319985125e-8,0.7071067811865472,0.7071067811865472],[1,0,-0.0000025044778683729224,90]],[35,"Bip001 Spine1",3,[4],[1,"78+5xpqyNL2aHMIBr4YHvg",null,null,null,1,0],[1,0.150201484560966,-0.000119601711048745,-3.31727090241429e-10]],[8,"Bip001 L Clavicle",4,[-26],[1,"c67UVUfoFCNLAcx8dX7SW1",null,null,null,1,0],[1,0,0.0000435078145528678,0.0232834853231907],[3,0.6087613827170933,-0.0002434881366867595,0.7933532758994495,0.0003150325566206266],[1,179.9558877717535,-104.99999523006848,0.01165464185401893]],[8,"Bip001 L UpperArm",17,[-27],[1,"66qUHYCHZNMoAvIMM8jTZn",null,null,null,1,0],[1,0.272405058145523,4.54747340722069e-15,0],[3,0.004462069723208538,0.4381802273458216,-0.0019434620153348766,0.8988739629404916],[1,0.5572016837940187,51.97620557313351,0.02386521946895269]],[8,"Bip001 L Forearm",18,[-28],[1,"503RTkgyFOwZRj7QxbXFGT",null,null,null,1,0],[1,0.263291478157043,0,0],[3,-2.7197715504795845e-20,-3.0893820368327117e-17,-0.0008803606294924629,0.9999996124825059],[1,-6.233264281423144e-18,-3.5401778996822195e-15,-0.10088191006996569]],[12,"Bip001 L Hand",19,[[15,"sword01",-29,[1,"98Mxm4C+NAIp1/ms1CXDWg",null,null,null,1,0],[1,0.0919111594557762,0.0340489186346531,-0.14926840364933],[3,0.6409670678902519,-0.3070256396863465,-0.5278458569202463,-0.4650540030872693],[1,-112.37885078724646,75.2002383569922,5.587571211625747]]],[1,"7cWlWOkFtKX6ILXuZfhYqO",null,null,null,1,0],[1,0.199572831392288,-5.9604643443123e-10,1.42108543975646e-16],[3,-0.7068252124052271,1.0458620867947887e-8,1.0614867442646885e-8,0.7073882378922519],[1,-89.95437890588059,0.0000017075473071153707,1.3340228971442967e-8]],[8,"Bip001 R Clavicle",4,[-30],[1,"9fRB6KFOpAz6pb5W8NAqZg",null,null,null,1,0],[1,0,0.0000436370064562652,-0.0232834853231907],[3,-0.6087613827171046,0.00024128768333211222,0.793353275899464,0.0003167210153793466],[1,-179.95597003338875,104.99999512047448,0.011961643569376679]],[8,"Bip001 R UpperArm",21,[-31],[1,"a72KzY4dJDrb/Ifgjl7CSF",null,null,null,1,0],[1,0.272405058145523,6.82120985672115e-14,-1.42108543975646e-16],[3,-0.030114175418424236,-0.43755956999841955,0.05059855375302801,0.897259463867486],[1,-0.5631334715243025,-51.96038786477057,6.727854372934277]],[8,"Bip001 R Forearm",22,[-32],[1,"5eAc4VAlRExZ6nABKN5Ihq",null,null,null,1,0],[1,0.263291418552399,0,-7.62939436071974e-8],[3,-8.302567498559346e-18,-5.588016764292516e-17,-0.13176086831298384,0.9912815309393233],[1,-1.8510999406615195e-15,-6.705762043264369e-15,-15.14271605062808]],[12,"Bip001 R Hand",23,[[15,"shield01",-33,[1,"4f4kzbhYBIMIVjz0nZTcvw",null,null,null,1,0],[1,0.124533005058765,-0.00692871073260903,0.0576667860150337],[3,0.5417342069004817,-0.1379658103002438,0.11668003843623054,0.8208990515846776],[1,67.2841187503732,-20.685866498064005,2.411917394086867]]],[1,"19JEI2tAtAo5mcAZ7XSRWH",null,null,null,1,0],[1,0.199572905898094,8.88178399847791e-18,0],[3,0.7068252124052272,-1.9327187937127104e-17,1.9311804031753923e-17,0.707388237892252],[1,89.95437890588059,-3.1308585900006548e-15,-7.956237644289779e-23]],[12,"Bip001 Head",4,[[23,"Bip001 HeadNub",-34,[1,"ebvw49UjBMKoIvQOBhsyUF",null,null,null,1,0],[1,0.475234657526016,-1.45519149031062e-13,2.99510855318999e-20]]],[1,"4ckJuubwNG3KpsMgkuxo12",null,null,null,1,0],[1,0.0547203049063683,-1.38777874976217e-19,2.71050537062924e-22],[3,-7.265599787883251e-14,1.1042733174299354e-9,-0.0003988305609355657,0.9999999204670887],[1,4.214242912539149e-11,1.2654042790710837e-7,-0.04570261697650697]],[13,"shield",2,[[19,-35,[5,"ffoVYmt2NOmIBz5DHpacF8"],[3],[2],1,4,5]],[1,"2fgzyRcBxNmZKzBdJpnT0Q",null,null,null,1,0],[3,0.9999999999999878,0,0,-1.569582366300871e-7],[1,87.7489852905273,87.7489852905273,87.7489852905273],[1,-179.99998201391097,0,0]],[13,"sword",2,[[19,-36,[5,"9aCVBuMeZPv6so1VxT6c40"],[6],[2],1,7,8]],[1,"d0xEUY/HZBVZJ0EMEz3doQ",null,null,null,1,0],[3,0.9999999999999878,0,0,-1.569582366300871e-7],[1,87.7489852905273,87.7489852905273,87.7489852905273],[1,-179.99998201391097,0,0]],[10,"shield01",2,[[19,-37,[5,"ca1srfPsJJgKKJww9GO/JE"],[9],[2],1,10,11]],[1,"464KPea2NOibwROP5moUvA",null,null,null,1,0],[1,-0.00499999988824129,0,0.00499999988824129],[3,0.9999999999999878,0,0,-1.569582366300871e-7],[1,87.7489852905273,87.7489852905273,87.7489852905273],[1,-179.99998201391097,0,0]]],0,[0,3,1,0,0,1,0,-1,2,0,-1,6,0,-2,5,0,-3,26,0,-4,27,0,-5,28,0,-1,8,0,-2,12,0,-3,16,0,-1,17,0,-2,21,0,-3,25,0,2,5,0,-2,7,0,0,6,0,-1,9,0,-1,10,0,-1,11,0,2,11,0,-1,13,0,-1,14,0,-1,15,0,2,15,0,-1,18,0,-1,19,0,-1,20,0,2,20,0,-1,22,0,-1,23,0,-1,24,0,2,24,0,2,25,0,0,26,0,0,27,0,0,28,0,8,1,3,2,7,4,2,16,37],[0,0,0,0,0,0,0,0,0,0,0,0,0,0],[-1,1,4,-1,1,4,-1,1,4,-1,1,4,-1,12],[1,24,25,1,26,27,1,28,29,30,31,32,4,4]],[[[6,".bin",2341262723,[{"primitives":[{"primitiveMode":7,"jointMapIndex":0,"vertexBundelIndices":[0],"indexView":{"offset":70128,"length":6960,"count":3480,"stride":2}}],"vertexBundles":[{"view":{"offset":0,"length":70128,"count":974,"stride":72},"attributes":[{"name":"a_position","format":32,"isNormalized":false},{"name":"a_normal","format":32,"isNormalized":false},{"name":"a_texCoord","format":21,"isNormalized":false},{"name":"a_tangent","format":44,"isNormalized":false},{"name":"a_joints","format":42,"isNormalized":false},{"name":"a_weights","format":44,"isNormalized":false}]}],"jointMaps":[[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]]},"minPosition",8,[1,-0.006235902663320303,-0.022199034690856934,-0.00308204535394907],"maxPosition",8,[1,0.006235902663320303,0.0000021968080545775592,0.0029080540407449007]]],-1],0,0,[],[],[]],[[[14,"Skin-0",2507836796,["RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 L Thigh","RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 R Thigh","RootNode/Bip001/Bip001 Pelvis","RootNode/Bip001/Bip001 Pelvis/Bip001 Spine","RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 R Thigh/Bip001 R Calf","RootNode/Bip001","RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 L Thigh/Bip001 L Calf","RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 R Thigh/Bip001 R Calf/Bip001 R Foot","RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 Head/Bip001 HeadNub","RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 Head","RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 R Clavicle","RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 L Clavicle","RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1","RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck","RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 L Thigh/Bip001 L Calf/Bip001 L Foot","RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 L Clavicle/Bip001 L UpperArm","RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 R Clavicle/Bip001 R UpperArm","RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 L Clavicle/Bip001 L UpperArm/Bip001 L Forearm","RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 L Clavicle/Bip001 L UpperArm/Bip001 L Forearm/Bip001 L Hand","RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 R Clavicle/Bip001 R UpperArm/Bip001 R Forearm","RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 R Clavicle/Bip001 R UpperArm/Bip001 R Forearm/Bip001 R Hand","RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 R Clavicle/Bip001 R UpperArm/Bip001 R Forearm/Bip001 R Hand/shield01"],[[[7,13.330132484436035,0.5659459233283997,-86.72872161865234,0,86.68508911132812,2.7542707920074463,13.341398239135742,0,2.808293342590332,-87.70392608642578,-0.14067713916301727,0,0.719279408454895,0.022746119648218155,0.1780078411102295,1],[7,-13.330143928527832,-0.5657054781913757,-86.72872924804688,0,86.68508911132812,2.7542707920074463,-13.34140396118164,0,2.8082568645477295,-87.70392608642578,0.14043928682804108,0,0.7192792892456055,0.022746119648218155,-0.17800788581371307,1],[7,0.00012169029650976881,0.0002419860102236271,87.74899291992188,0,-87.74898529052734,-0.00001708502350084018,0.00012169034744147211,0,0.000017085358194890432,-87.74899291992188,0.0002419859665678814,0,-0.738336980342865,6.5663993339959426e-12,0.0000010239258472211077,1],[7,9.57883514729474e-8,-0.00012308494478929788,87.74899291992188,0,-87.74895477294922,0.06985900551080704,1.9377911542051152e-7,0,-0.06985900551080704,-87.74896240234375,-0.00012308482837397605,0,-0.8148396015167236,0.0007684377487748861,2.1313388831600832e-9,1],[7,-13.329378128051758,-0.5835267305374146,-86.72872924804688,0,86.68132781982422,2.870192527770996,-13.341405868530273,0,2.9255402088165283,-87.7000961303711,0.14043459296226501,0,0.3512277603149414,0.023215843364596367,-0.17800790071487427,1],[7,0.00012029569188598543,87.74899291992188,-5.373075573876507e-15,0,-0.000017085358194890432,2.3417063427233487e-11,-87.74898529052734,0,-87.74899291992188,0.00012029569188598543,0.000017085358194890432,0,3.742711869592075e-12,-5.034101432245029e-17,-0.738336980342865,1],[7,13.329362869262695,0.5837728977203369,-86.72872161865234,0,86.68132781982422,2.870190143585205,13.341397285461426,0,2.9255752563476562,-87.7000961303711,-0.14067858457565308,0,0.3512278199195862,0.023215826600790024,0.1780078411102295,1],[7,0.000003835630195681006,0.00012029569188598543,-87.74899291992188,0,87.74898529052734,-0.000017085363651858643,0.0000038356070035661105,0,-0.000017085358194890432,-87.74899291992188,-0.00012029569188598543,0,0.08038292825222015,0.021714111790060997,-0.16770152747631073,1],[7,0.0001178546590381302,-0.00012308491568546742,87.74899291992188,0,-87.74898529052734,-0.000017085523722926155,0.00011785465176217258,0,0.000017085358194890432,-87.74899291992188,-0.00012308494478929788,0,-1.6451982259750366,5.87142210406455e-7,0.0000022096469365351368,1],[7,0.0001178546590381302,-0.00012308491568546742,87.74899291992188,0,-87.74898529052734,-0.000017085523722926155,0.00011785465176217258,0,0.000017085358194890432,-87.74899291992188,-0.00012308494478929788,0,-1.1699634790420532,-5.1139195988980646e-8,0.0000015713648053861107,1],[7,-84.7590103149414,-0.00011930296022910625,22.711111068725586,0,22.711111068725586,0.000016954663806245662,84.7590103149414,0,-0.00011962600547121838,87.74899291992188,0.00001450093350285897,0,0.26615607738494873,4.7347434417588374e-8,1.0832682847976685,1],[7,84.7590103149414,-0.00012128843081882223,22.711111068725586,0,22.711111068725586,0.000016954663806245662,-84.7590103149414,0,0.00011276743316557258,87.74899291992188,0.00004776870264322497,0,0.26615607738494873,4.734742375944734e-8,-1.0832682847976685,1],[7,9.57883514729474e-8,-0.00012308494478929788,87.74899291992188,0,-87.74895477294922,0.06985900551080704,1.9377911542051152e-7,0,-0.06985900551080704,-87.74896240234375,-0.00012308482837397605,0,-0.9650411605834961,0.0008880393579602242,2.4630661954461175e-9,1],[7,9.57883514729474e-8,-0.00012308494478929788,87.74899291992188,0,-87.74895477294922,0.06985900551080704,1.9377911542051152e-7,0,-0.06985900551080704,-87.74896240234375,-0.00012308482837397605,0,-1.1152427196502686,0.0009316118084825575,2.583918634613269e-9,1],[7,0.000003835630195681006,0.00012029569188598543,-87.74899291992188,0,87.74898529052734,-0.000017085363651858643,0.0000038356070035661105,0,-0.000017085358194890432,-87.74899291992188,-0.00012029569188598543,0,0.08038290590047836,0.0217141043394804,0.16770148277282715,1],[7,34.319801330566406,0.7709546685218811,80.75544738769531,0,80.75911712646484,-0.3673746883869171,-34.31785202026367,0,0.0365816168487072,87.74483489990234,-0.853227436542511,0,0.8495007157325745,-0.006890855263918638,-0.672168493270874,1],[7,-34.105628967285156,3.229346752166748,80.7852783203125,0,80.19358825683594,-9.797160148620605,34.247459411621094,0,10.280043601989746,87.1405258178711,0.8565954566001892,0,0.8434666395187378,-0.10610441118478775,0.6714277267456055,1],[7,34.318382263183594,0.8313809037208557,80.75544738769531,0,80.75962829589844,-0.22517983615398407,-34.317848205566406,0,-0.11791250109672546,87.7447509765625,-0.8532273173332214,0,0.5862204432487488,-0.005858692806214094,-0.6721684336662292,1],[7,34.318382263183594,-80.75476837158203,0.8956841230392456,0,80.75962829589844,34.31765365600586,-0.25250619649887085,0,-0.11791250109672546,0.9230960011482239,87.74404907226562,0,0.38664767146110535,0.6721636056900024,-0.0063939220272004604,1],[7,-33.76499557495117,-5.791998386383057,80.7852783203125,0,79.96836853027344,11.491525650024414,34.24745178222656,0,-12.840116500854492,86.80025482177734,0.8565958738327026,0,0.5877475142478943,0.04913555085659027,0.6714276671409607,1],[7,-33.76499557495117,80.7806396484375,5.856326103210449,0,79.96836853027344,34.256595611572266,-11.464248657226562,0,-12.840116500854492,0.9257150888442993,-86.7995376586914,0,0.3881746232509613,0.671466588973999,-0.04860087111592293,1],[7,-26.09381103515625,47.70235824584961,-68.8729248046875,0,72.14217376708984,-23.88349151611328,-43.87446212768555,0,-42.596981048583984,-69.67027282714844,-32.11593246459961,0,0.23747046291828156,0.08072908967733383,-0.6914553046226501,1]],8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]]],0,0,[],[],[]],[[[6,".bin",2184526039,[{"primitives":[{"primitiveMode":7,"vertexBundelIndices":[0],"indexView":{"offset":648,"length":48,"count":24,"stride":2}}],"vertexBundles":[{"view":{"offset":0,"length":648,"count":9,"stride":72},"attributes":[{"name":"a_position","format":32,"isNormalized":false},{"name":"a_normal","format":32,"isNormalized":false},{"name":"a_texCoord","format":21,"isNormalized":false},{"name":"a_tangent","format":44,"isNormalized":false},{"name":"a_joints","format":42,"isNormalized":false},{"name":"a_weights","format":44,"isNormalized":false}]}]},"minPosition",8,[1,-0.009095229208469391,-0.00829001609236002,-0.0038153051864355803],"maxPosition",8,[1,-0.002438712865114212,-0.0038237078115344048,0.0021244001109153032]]],-1],0,0,[],[],[]],[[[6,".bin",2718085466,[{"primitives":[{"primitiveMode":7,"vertexBundelIndices":[0],"indexView":{"offset":2016,"length":264,"count":132,"stride":2}}],"vertexBundles":[{"view":{"offset":0,"length":2016,"count":28,"stride":72},"attributes":[{"name":"a_position","format":32,"isNormalized":false},{"name":"a_normal","format":32,"isNormalized":false},{"name":"a_texCoord","format":21,"isNormalized":false},{"name":"a_tangent","format":44,"isNormalized":false},{"name":"a_joints","format":42,"isNormalized":false},{"name":"a_weights","format":44,"isNormalized":false}]}]},"minPosition",8,[1,0.004531483631581068,-0.006827499717473984,-0.009057947434484959],"maxPosition",8,[1,0.00610683299601078,-0.003189224749803543,0.0015691547887399793]]],-1],0,0,[],[],[]],[[[14,"Skin-2",1928083474,["RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 L Clavicle/Bip001 L UpperArm/Bip001 L Forearm/Bip001 L Hand/sword01"],[[[7,-0.000007191588792920811,-0.00005849258377566002,-87.7490005493164,0,24.115726470947266,-84.3700942993164,0.0000542638408660423,0,-84.37010192871094,-24.115724563598633,0.000022989974240772426,0,-0.00041664036689326167,-0.5413689017295837,0.47052377462387085,1]],8]]],0,0,[],[],[]],[[[14,"Skin-3",3487038830,["RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 R Clavicle/Bip001 R UpperArm/Bip001 R Forearm/Bip001 R Hand/shield01"],[[[7,-26.09381103515625,47.70235824584961,-68.8729248046875,0,72.14216613769531,-23.883501052856445,-43.87446594238281,0,-42.59699249267578,-69.6702651977539,-32.11592483520508,0,0.24138452112674713,0.08198083937168121,-0.6857008934020996,1]],8]]],0,0,[],[],[]],[[[6,".bin",428950450,[{"primitives":[{"primitiveMode":7,"vertexBundelIndices":[0],"indexView":{"offset":6480,"length":480,"count":240,"stride":2}}],"vertexBundles":[{"view":{"offset":0,"length":6480,"count":90,"stride":72},"attributes":[{"name":"a_position","format":32,"isNormalized":false},{"name":"a_normal","format":32,"isNormalized":false},{"name":"a_texCoord","format":21,"isNormalized":false},{"name":"a_tangent","format":44,"isNormalized":false},{"name":"a_joints","format":42,"isNormalized":false},{"name":"a_weights","format":44,"isNormalized":false}]}]},"minPosition",8,[1,-0.009095229208469391,-0.00861329771578312,-0.0038153051864355803],"maxPosition",8,[1,-0.0022758706472814083,-0.0038237078115344048,0.002340445527806878]]],-1],0,0,[],[],[]],[[[14,"Skin-1",1546018204,["RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 R Clavicle/Bip001 R UpperArm/Bip001 R Forearm/Bip001 R Hand/shield01"],[[[7,-26.09381103515625,47.70235824584961,-68.8729248046875,0,72.14216613769531,-23.883501052856445,-43.87446594238281,0,-42.59699249267578,-69.6702651977539,-32.11592483520508,0,0.23747046291828156,0.08072908967733383,-0.6914553046226501,1]],8]]],0,0,[],[],[]]]] diff --git a/cocos_view_pod/Assets/assets/main/import/07/070e260c2.json b/cocos_view_pod/Assets/assets/main/import/07/070e260c2.json new file mode 100644 index 0000000..b7e22fa --- /dev/null +++ b/cocos_view_pod/Assets/assets/main/import/07/070e260c2.json @@ -0,0 +1 @@ +[1,["aa3gnuj51BPKnojGhupeFg@73b7f","b6mOVasAtJh6i0r4PN3Fn3","aa3gnuj51BPKnojGhupeFg@ef5e1","aa3gnuj51BPKnojGhupeFg@438fe","aeGN7qxuBKPb9w7lUz+bqH@6c48a","a3zQCfCrBCDZJ4uf2rk5u8"],["node","_parent","_mesh","_skeleton","_defaultClip","root","data","mainTexture","_effectAsset"],[["cc.Node",["_name","_prefab","_parent","_children","_lpos","_lscale","_lrot","_euler","_components"],2,4,1,2,5,5,5,5,9],["cc.SkeletalAnimation",["playOnLoad","_name","node","__prefab","_clips","_defaultClip"],1,1,4,3,6],["cc.Prefab",["_name"],2],["cc.Node",["_name","_parent","_children","_prefab","_lpos","_lrot","_euler"],2,1,9,4,5,5,5],["cc.PrefabInfo",["fileId","instance","targetOverrides","nestedPrefabInstanceRoots","root","asset"],-1,1,1],["cc.CompPrefabInfo",["fileId"],2],["cc.SkinnedMeshRenderer",["node","__prefab","_materials","bakeSettings","_skinningRoot","_mesh","_skeleton"],3,1,4,3,4,1,6,6],["cc.ModelBakeSettings",[],3],["cc.Skeleton",["_name","_hash","_joints","_bindposes"],0,12],["cc.Mesh",["_native","_hash","_struct"],1,11],["cc.Material",["_name","_states","_defines","_props"],0,12]],[[4,0,1,2,3,4,5,5],[0,0,2,3,1,4,6,5,7,2],[0,0,2,1,4,6,7,2],[3,0,1,2,3,4,5,6,2],[5,0,2],[0,0,2,3,1,2],[0,0,2,8,1,6,5,7,2],[6,0,1,2,3,4,5,6,1],[7,1],[0,0,2,3,8,1,4,6,5,7,2],[1,1,0,2,3,4,5,3],[1,0,2,3,4,5,2],[2,0,2],[0,0,3,1,2],[0,0,2,3,8,1,4,5,2],[8,0,1,2,3,4],[9,0,1,2,3],[10,0,1,2,3,4]],[[[[12,"grassGoup"],[13,"grassGoup",[-2,-3,-4,-5,-6,-7,-8,-9,-10,-11,-12,-13],[0,"e5Peksu5tL9peMeABb8/JC",null,null,null,-1,0]],[14,"grass",1,[-15],[[11,true,-14,[4,"11JgtTUn5OJKE3LJ8pTj/2"],[3],4]],[0,"87M1Av0v5LhZ3LsJOTzwr3",null,null,null,1,0],[1,-0.852,0.892,-1.49],[1,1.8,1.8,1.8]],[5,"RootNode",2,[-16,-17,-18],[0,"54SHCY049LyqH1HRGY3ZVR",null,null,null,1,0]],[9,"grass",1,[-20],[[11,true,-19,[4,"abXR2STONCQrmlGd7QjDWb"],[8],9]],[0,"8avX4W7ZtLOLCZ8n5QtiPm",null,null,null,1,0],[1,1.271,0.836,-2.68],[3,0,-0.09886819763876702,0,0.9951005373808527],[1,1.4,1.4,1.4],[1,0,-11.348,0]],[5,"RootNode",4,[-21,-22,-23],[0,"bdiB2XMldLgpbPP0u9vyiH",null,null,null,1,0]],[9,"grass",1,[-25],[[10,"grass",true,-24,[4,"3eRlu7+XFMf4IKjhzVuyYo"],[13],14]],[0,"5fAmHUz0xO9YFym/gsZawP",null,null,null,1,0],[1,0.816,0.874,-2.029],[3,0.009594606467145706,-0.09840154486124139,-0.09656895017241425,0.9904037143297977],[1,1.8,1.8,1.8],[1,0,-11.348,-11.138]],[5,"RootNode",6,[-26,-27,-28],[0,"0cYonIu91LHamoapMUydbc",null,null,null,1,0]],[9,"grass",1,[-30],[[10,"grass",true,-29,[4,"22rvun9aNNBbAK//dWXzkX"],[18],19]],[0,"9bIVhdYYpFl7JZmL4oubNS",null,null,null,1,0],[1,1.505,0.835,-2.352],[3,0.009051343059323664,0.011005731118140823,-0.042668681053864996,0.9989876529409666],[1,1.8,1.8,1.8],[1,1.094,1.309,-4.879]],[5,"RootNode",8,[-31,-32,-33],[0,"2at9CGY1VK9qtNpM8kC/KU",null,null,null,1,0]],[9,"grass",1,[-35],[[10,"grass",true,-34,[4,"0f8P8jwTVOzaIGGhmhMYJ6"],[23],24]],[0,"2d66RAsipF1brG2RGpHJY1",null,null,null,1,0],[1,2.591,0.697,-3.192],[3,-0.009569056200142995,-0.27238145223532967,-0.02174826425431747,0.961895935454317],[1,1.4,1.4,1.4],[1,-1.735,-31.653,-2.099]],[5,"RootNode",10,[-36,-37,-38],[0,"75DE0pyqBGsIOI2RSOFxap",null,null,null,1,0]],[9,"grass",1,[-40],[[10,"grass",true,-39,[4,"b6LjWqcFFEYa267NpDVpBB"],[28],29]],[0,"ffwse8PqZBf4sIEkNdsA+i",null,null,null,1,0],[1,-2.85,0.766,-2.616],[3,-0.007707220961668685,-0.0985673335815995,0.07757256533280044,0.9920723646001587],[1,1.8,1.8,1.8],[1,0,-11.348,8.942]],[5,"RootNode",12,[-41,-42,-43],[0,"12tzV7tYdKJJxbVmqiEpry",null,null,null,1,0]],[9,"grass",1,[-45],[[10,"grass",true,-44,[4,"a5eATDuwJGuL6l09vX0n3S"],[33],34]],[0,"adNP+ELEhC4awfcKkY8jYJ",null,null,null,1,0],[1,-3.252,0.663,-3.355],[3,-0.005303598000440666,-0.09872584440048117,0.053380291603709065,0.9936677633716235],[1,1.6,1.6,1.6],[1,9.996766443584073e-17,-11.348,6.150000000000002]],[5,"RootNode",14,[-46,-47,-48],[0,"0eVA3+ezRBf4EQOOoMIo4S",null,null,null,1,0]],[9,"grass",1,[-50],[[10,"grass",true,-49,[4,"8fKHzMP19M76liKGOWy5fp"],[38],39]],[0,"33gYFxG8dO2r8iKjzjEx4z",null,null,null,1,0],[1,-4.716,0.534,-2.539],[3,-0.011417842217574529,0.10201162854238845,0.09441482697624534,0.9902267926936081],[1,1.2999999999999998,1.3,1.3],[1,-2.442,11.991,10.641]],[5,"RootNode",16,[-51,-52,-53],[0,"53OGGCuwFNs4KQ0nQRdow5",null,null,null,1,0]],[9,"grass",1,[-55],[[10,"grass",true,-54,[4,"63dAWSpBBOqo5RjIXi5sEW"],[43],44]],[0,"27mCip0lFNkL+6Dj/Bpwj4",null,null,null,1,0],[1,-3.151,0.706,-2.905],[3,-0.01606605470413201,0.10576273729137807,0.0511818299419083,0.9929433748057723],[1,1.6,1.6,1.6],[1,-2.461,12.281,5.638]],[5,"RootNode",18,[-56,-57,-58],[0,"560/1xR41BPKG+lcc5935I",null,null,null,1,0]],[9,"grass",1,[-60],[[10,"grass",true,-59,[4,"5c8UINxBNN1bAOwYYO6ZIW"],[48],49]],[0,"50aim7sdtB2rmsHB4KRkd5",null,null,null,1,0],[1,2.179,0.714,-3.159],[3,0.0002046174412504865,-0.2725489284000769,-0.05622568582446521,0.9604976376926917],[1,1.4,1.4,1.4],[1,-1.744,-31.778,-6.207]],[5,"RootNode",20,[-61,-62,-63],[0,"25mf8t9bhJIo3E0lcGCo1H",null,null,null,1,0]],[9,"grass",1,[-65],[[10,"grass",true,-64,[4,"2dbXeRDsVAWK67o3tGgUEl"],[53],54]],[0,"70DWXrCRRL4pWATtzgi7DN",null,null,null,1,0],[1,5.041,0.406,-3.58],[3,0.026333680128465056,-0.27127042474669716,-0.14805365417229147,0.9506834433368816],[1,1.4,1.4,1.4],[1,-1.815,-32.126,-17.205]],[5,"RootNode",22,[-66,-67,-68],[0,"9dXaYb8ytBBb2yYH4yN6Vh",null,null,null,1,0]],[9,"grass",1,[-70],[[10,"grass",true,-69,[4,"42733HPMdIEqobiaBVXbRJ"],[58],59]],[0,"7aOtJ3fThN27Zj4fmkg0ut",null,null,null,1,0],[1,4.153,0.548,-3.566],[3,0.01263456693718553,-0.27225485806840527,-0.09997674733537244,0.9569338064718487],[1,1.4,1.4,1.4],[1,-1.769,-31.94,-11.433]],[5,"RootNode",24,[-71,-72,-73],[0,"fa4L3FVuFMwYhNq67HoU7c",null,null,null,1,0]],[6,"grass",3,[[7,-74,[4,"a6J1jU/r1BPKNIcVMEREit"],[0],[8],2,1,2]],[0,"5fs1r6h0xEiJFeWVPk8SNl",null,null,null,1,0],[3,0.37992816729770207,0.5963678291908521,0.5963678291908521,-0.37992816729770207],[1,0.614784121513367,0.614784121513367,0.614784121513367],[1,-90,-115.0000056286655,0]],[1,"Bone001",3,[-75],[0,"daWdShf/9NHLgm8BB+DJZm",null,null,null,1,0],[1,-0.0461842827498913,0.0000118009265861474,-0.0284814611077309],[3,-0.0000017283479103639154,-0.000001696768662714476,0.7049074170330618,0.7092993256770451],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-0.0005507418826256091,0.00027320859410338513,89.64412979694991]],[3,"Bone002",27,[[2,"Bone003",-76,[0,"8e/dPEvbdIMo48q55vpZZ3",null,null,null,1,0],[1,0.0397140197455883,-1.19209286886246e-9,7.15255721317476e-9],[3,1.4018830392883508e-10,-1.4662893682703937e-13,-0.0010459420626472054,0.9999994530024512],[1,1.606440509162768e-8,-1.4726229276075984e-18,-0.11985615346346049]]],[0,"beKna0bXZNtrHWMkpFZoVU",null,null,null,1,0],[1,0.0404664427042007,-3.57627860658738e-9,0],[3,0.000002421418716486127,1.5182564735607207e-8,0.006269989150778519,0.9999803434219023],[1,0.000277479600078167,-3.18993241527229e-13,0.7184925395739944]],[1,"Bone004",3,[-77],[0,"94aP4+w7dE/qUrh7Cfcv3Y",null,null,null,1,0],[1,0.0710692703723907,0.0000118009265861474,0.0136896027252078],[3,-0.0000017283479103639154,-0.000001696768662714476,0.7049074170330618,0.7092993256770451],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-0.0005507418826256091,0.00027320859410338513,89.64412979694991]],[3,"Bone005",29,[[2,"Bone006",-78,[0,"96ATlvvpZKqpZWVYxnyW6U",null,null,null,1,0],[1,0.039714016020298,0,7.74860353658369e-9],[3,1.4018830392883508e-10,-1.4662893682703937e-13,-0.0010459420626472054,0.9999994530024512],[1,1.606440509162768e-8,-1.4726229276075984e-18,-0.11985615346346049]]],[0,"8fu8biB4BPFKtDBKsYv4K/",null,null,null,1,0],[1,0.0404664427042007,-4.76837147544984e-9,5.9604643443123e-10],[3,0.000002421418716486127,1.5182564735607207e-8,0.006269989150778519,0.9999803434219023],[1,0.000277479600078167,-3.18993241527229e-13,0.7184925395739944]],[6,"grass",5,[[7,-79,[4,"28WH2cvhNDFbN3it+8Q+XK"],[5],[8],4,6,7]],[0,"74Q+wg/aVBj5Bkvd+Cqz4L",null,null,null,1,0],[3,0.37992816729770207,0.5963678291908521,0.5963678291908521,-0.37992816729770207],[1,0.614784121513367,0.614784121513367,0.614784121513367],[1,-90,-115.0000056286655,0]],[1,"Bone001",5,[-80],[0,"4fGc2baulLjbJeePpPYcqt",null,null,null,1,0],[1,-0.0461842827498913,0.0000118009265861474,-0.0284814611077309],[3,-0.0000017283479103639154,-0.000001696768662714476,0.7049074170330618,0.7092993256770451],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-0.0005507418826256091,0.00027320859410338513,89.64412979694991]],[3,"Bone002",32,[[2,"Bone003",-81,[0,"af9wSIs/ZHx5FXOjfa1Jum",null,null,null,1,0],[1,0.0397140197455883,-1.19209286886246e-9,7.15255721317476e-9],[3,1.4018830392883508e-10,-1.4662893682703937e-13,-0.0010459420626472054,0.9999994530024512],[1,1.606440509162768e-8,-1.4726229276075984e-18,-0.11985615346346049]]],[0,"25LOOT8GBDpr0h1KIC5gCx",null,null,null,1,0],[1,0.0404664427042007,-3.57627860658738e-9,0],[3,0.000002421418716486127,1.5182564735607207e-8,0.006269989150778519,0.9999803434219023],[1,0.000277479600078167,-3.18993241527229e-13,0.7184925395739944]],[1,"Bone004",5,[-82],[0,"b8DSzxi5tJyKiMnjvG0NLg",null,null,null,1,0],[1,0.0710692703723907,0.0000118009265861474,0.0136896027252078],[3,-0.0000017283479103639154,-0.000001696768662714476,0.7049074170330618,0.7092993256770451],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-0.0005507418826256091,0.00027320859410338513,89.64412979694991]],[3,"Bone005",34,[[2,"Bone006",-83,[0,"65QAhjUVBAtLwEci9t05Ey",null,null,null,1,0],[1,0.039714016020298,0,7.74860353658369e-9],[3,1.4018830392883508e-10,-1.4662893682703937e-13,-0.0010459420626472054,0.9999994530024512],[1,1.606440509162768e-8,-1.4726229276075984e-18,-0.11985615346346049]]],[0,"e75gT5ogJMOoh/2sggS7OQ",null,null,null,1,0],[1,0.0404664427042007,-4.76837147544984e-9,5.9604643443123e-10],[3,0.000002421418716486127,1.5182564735607207e-8,0.006269989150778519,0.9999803434219023],[1,0.000277479600078167,-3.18993241527229e-13,0.7184925395739944]],[6,"grass",7,[[7,-84,[4,"87exLhmM1P35jx6GLN7j5f"],[10],[8],6,11,12]],[0,"60njdFxDhJWowG9HZr9kRy",null,null,null,1,0],[3,0.37992816729770207,0.5963678291908521,0.5963678291908521,-0.37992816729770207],[1,0.614784121513367,0.614784121513367,0.614784121513367],[1,-90,-115.0000056286655,0]],[1,"Bone001",7,[-85],[0,"dfSzBMugdCkL5lyChYPcpt",null,null,null,1,0],[1,-0.0461842827498913,0.0000118009265861474,-0.0284814611077309],[3,-0.0000017283479103639154,-0.000001696768662714476,0.7049074170330618,0.7092993256770451],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-0.0005507418826256091,0.00027320859410338513,89.64412979694991]],[3,"Bone002",37,[[2,"Bone003",-86,[0,"91jR835RZHKbRhzSn1x2pJ",null,null,null,1,0],[1,0.0397140197455883,-1.19209286886246e-9,7.15255721317476e-9],[3,1.4018830392883508e-10,-1.4662893682703937e-13,-0.0010459420626472054,0.9999994530024512],[1,1.606440509162768e-8,-1.4726229276075984e-18,-0.11985615346346049]]],[0,"3bw6IJ5hBJ0aqjcninjsA3",null,null,null,1,0],[1,0.0404664427042007,-3.57627860658738e-9,0],[3,0.000002421418716486127,1.5182564735607207e-8,0.006269989150778519,0.9999803434219023],[1,0.000277479600078167,-3.18993241527229e-13,0.7184925395739944]],[1,"Bone004",7,[-87],[0,"36km6+kJtJZ4iiy8pwU3RO",null,null,null,1,0],[1,0.0710692703723907,0.0000118009265861474,0.0136896027252078],[3,-0.0000017283479103639154,-0.000001696768662714476,0.7049074170330618,0.7092993256770451],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-0.0005507418826256091,0.00027320859410338513,89.64412979694991]],[3,"Bone005",39,[[2,"Bone006",-88,[0,"977HJ5Wy5HiapZRnYB3I8X",null,null,null,1,0],[1,0.039714016020298,0,7.74860353658369e-9],[3,1.4018830392883508e-10,-1.4662893682703937e-13,-0.0010459420626472054,0.9999994530024512],[1,1.606440509162768e-8,-1.4726229276075984e-18,-0.11985615346346049]]],[0,"3da6ppQblGu7DGQDIjczFt",null,null,null,1,0],[1,0.0404664427042007,-4.76837147544984e-9,5.9604643443123e-10],[3,0.000002421418716486127,1.5182564735607207e-8,0.006269989150778519,0.9999803434219023],[1,0.000277479600078167,-3.18993241527229e-13,0.7184925395739944]],[6,"grass",9,[[7,-89,[4,"dduLonFhNK+q908BUlLM7f"],[15],[8],8,16,17]],[0,"f2zxp5nX1CJq18JC2EndYO",null,null,null,1,0],[3,0.37992816729770207,0.5963678291908521,0.5963678291908521,-0.37992816729770207],[1,0.614784121513367,0.614784121513367,0.614784121513367],[1,-90,-115.0000056286655,0]],[1,"Bone001",9,[-90],[0,"3c+BtM6atJC4XerbYlNlM0",null,null,null,1,0],[1,-0.0461842827498913,0.0000118009265861474,-0.0284814611077309],[3,-0.0000017283479103639154,-0.000001696768662714476,0.7049074170330618,0.7092993256770451],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-0.0005507418826256091,0.00027320859410338513,89.64412979694991]],[3,"Bone002",42,[[2,"Bone003",-91,[0,"baL59AVvRKlKmpQqSjNAYI",null,null,null,1,0],[1,0.0397140197455883,-1.19209286886246e-9,7.15255721317476e-9],[3,1.4018830392883508e-10,-1.4662893682703937e-13,-0.0010459420626472054,0.9999994530024512],[1,1.606440509162768e-8,-1.4726229276075984e-18,-0.11985615346346049]]],[0,"89NJAVd1tBZ6C0iX/YbeY2",null,null,null,1,0],[1,0.0404664427042007,-3.57627860658738e-9,0],[3,0.000002421418716486127,1.5182564735607207e-8,0.006269989150778519,0.9999803434219023],[1,0.000277479600078167,-3.18993241527229e-13,0.7184925395739944]],[1,"Bone004",9,[-92],[0,"9byDe6eNtGPIztX4VSZKlQ",null,null,null,1,0],[1,0.0710692703723907,0.0000118009265861474,0.0136896027252078],[3,-0.0000017283479103639154,-0.000001696768662714476,0.7049074170330618,0.7092993256770451],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-0.0005507418826256091,0.00027320859410338513,89.64412979694991]],[3,"Bone005",44,[[2,"Bone006",-93,[0,"6fAgsRfRRHeoZrCvNeGhDK",null,null,null,1,0],[1,0.039714016020298,0,7.74860353658369e-9],[3,1.4018830392883508e-10,-1.4662893682703937e-13,-0.0010459420626472054,0.9999994530024512],[1,1.606440509162768e-8,-1.4726229276075984e-18,-0.11985615346346049]]],[0,"8exO45eF5F2KzRxFbNE1M/",null,null,null,1,0],[1,0.0404664427042007,-4.76837147544984e-9,5.9604643443123e-10],[3,0.000002421418716486127,1.5182564735607207e-8,0.006269989150778519,0.9999803434219023],[1,0.000277479600078167,-3.18993241527229e-13,0.7184925395739944]],[6,"grass",11,[[7,-94,[4,"af0f1GeGlKf5MvKMEuH8MJ"],[20],[8],10,21,22]],[0,"a2WxB7prNBKZLuuRtE7RC2",null,null,null,1,0],[3,0.37992816729770207,0.5963678291908521,0.5963678291908521,-0.37992816729770207],[1,0.614784121513367,0.614784121513367,0.614784121513367],[1,-90,-115.0000056286655,0]],[1,"Bone001",11,[-95],[0,"d9cSWZZzxJ0JJz3NZ3KYKr",null,null,null,1,0],[1,-0.0461842827498913,0.0000118009265861474,-0.0284814611077309],[3,-0.0000017283479103639154,-0.000001696768662714476,0.7049074170330618,0.7092993256770451],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-0.0005507418826256091,0.00027320859410338513,89.64412979694991]],[3,"Bone002",47,[[2,"Bone003",-96,[0,"65JgfqDUlBhq62ZblXl99a",null,null,null,1,0],[1,0.0397140197455883,-1.19209286886246e-9,7.15255721317476e-9],[3,1.4018830392883508e-10,-1.4662893682703937e-13,-0.0010459420626472054,0.9999994530024512],[1,1.606440509162768e-8,-1.4726229276075984e-18,-0.11985615346346049]]],[0,"613BOOO+hIlqnTjr1LZ7yD",null,null,null,1,0],[1,0.0404664427042007,-3.57627860658738e-9,0],[3,0.000002421418716486127,1.5182564735607207e-8,0.006269989150778519,0.9999803434219023],[1,0.000277479600078167,-3.18993241527229e-13,0.7184925395739944]],[1,"Bone004",11,[-97],[0,"daMGy+QoZIMbYWUh1/PBDR",null,null,null,1,0],[1,0.0710692703723907,0.0000118009265861474,0.0136896027252078],[3,-0.0000017283479103639154,-0.000001696768662714476,0.7049074170330618,0.7092993256770451],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-0.0005507418826256091,0.00027320859410338513,89.64412979694991]],[3,"Bone005",49,[[2,"Bone006",-98,[0,"4bzVNkn1hF04sTb5BrBwWZ",null,null,null,1,0],[1,0.039714016020298,0,7.74860353658369e-9],[3,1.4018830392883508e-10,-1.4662893682703937e-13,-0.0010459420626472054,0.9999994530024512],[1,1.606440509162768e-8,-1.4726229276075984e-18,-0.11985615346346049]]],[0,"aea82LsKdAiqVuBFPi2Vfz",null,null,null,1,0],[1,0.0404664427042007,-4.76837147544984e-9,5.9604643443123e-10],[3,0.000002421418716486127,1.5182564735607207e-8,0.006269989150778519,0.9999803434219023],[1,0.000277479600078167,-3.18993241527229e-13,0.7184925395739944]],[6,"grass",13,[[7,-99,[4,"e9BPt5G81CloUmA5IJNHIQ"],[25],[8],12,26,27]],[0,"32O+zfC79Ly5/JDvR+zPy3",null,null,null,1,0],[3,0.37992816729770207,0.5963678291908521,0.5963678291908521,-0.37992816729770207],[1,0.614784121513367,0.614784121513367,0.614784121513367],[1,-90,-115.0000056286655,0]],[1,"Bone001",13,[-100],[0,"2csxgVNAlDEIWU7lnXQfKS",null,null,null,1,0],[1,-0.0461842827498913,0.0000118009265861474,-0.0284814611077309],[3,-0.0000017283479103639154,-0.000001696768662714476,0.7049074170330618,0.7092993256770451],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-0.0005507418826256091,0.00027320859410338513,89.64412979694991]],[3,"Bone002",52,[[2,"Bone003",-101,[0,"f31n3srf1OQ6ztTn+Z0+bi",null,null,null,1,0],[1,0.0397140197455883,-1.19209286886246e-9,7.15255721317476e-9],[3,1.4018830392883508e-10,-1.4662893682703937e-13,-0.0010459420626472054,0.9999994530024512],[1,1.606440509162768e-8,-1.4726229276075984e-18,-0.11985615346346049]]],[0,"39pnXuaeZGe5VqFTUXoXAo",null,null,null,1,0],[1,0.0404664427042007,-3.57627860658738e-9,0],[3,0.000002421418716486127,1.5182564735607207e-8,0.006269989150778519,0.9999803434219023],[1,0.000277479600078167,-3.18993241527229e-13,0.7184925395739944]],[1,"Bone004",13,[-102],[0,"e1Z+TO4odC37Bc8FKLNniF",null,null,null,1,0],[1,0.0710692703723907,0.0000118009265861474,0.0136896027252078],[3,-0.0000017283479103639154,-0.000001696768662714476,0.7049074170330618,0.7092993256770451],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-0.0005507418826256091,0.00027320859410338513,89.64412979694991]],[3,"Bone005",54,[[2,"Bone006",-103,[0,"c8HIUzEBxJx72ffmHr7Yzh",null,null,null,1,0],[1,0.039714016020298,0,7.74860353658369e-9],[3,1.4018830392883508e-10,-1.4662893682703937e-13,-0.0010459420626472054,0.9999994530024512],[1,1.606440509162768e-8,-1.4726229276075984e-18,-0.11985615346346049]]],[0,"82tqRzYDNKi6iXruWWHldm",null,null,null,1,0],[1,0.0404664427042007,-4.76837147544984e-9,5.9604643443123e-10],[3,0.000002421418716486127,1.5182564735607207e-8,0.006269989150778519,0.9999803434219023],[1,0.000277479600078167,-3.18993241527229e-13,0.7184925395739944]],[6,"grass",15,[[7,-104,[4,"7dt8ZZ5EBNDIxOgpt1XbGu"],[30],[8],14,31,32]],[0,"3c/GljN9JNKpGUQDJiCaAz",null,null,null,1,0],[3,0.37992816729770207,0.5963678291908521,0.5963678291908521,-0.37992816729770207],[1,0.614784121513367,0.614784121513367,0.614784121513367],[1,-90,-115.0000056286655,0]],[1,"Bone001",15,[-105],[0,"17tlC2EGZMWoKAixVNAp0A",null,null,null,1,0],[1,-0.0461842827498913,0.0000118009265861474,-0.0284814611077309],[3,-0.0000017283479103639154,-0.000001696768662714476,0.7049074170330618,0.7092993256770451],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-0.0005507418826256091,0.00027320859410338513,89.64412979694991]],[3,"Bone002",57,[[2,"Bone003",-106,[0,"9fnTS8hnVIWqrzTdhgEpre",null,null,null,1,0],[1,0.0397140197455883,-1.19209286886246e-9,7.15255721317476e-9],[3,1.4018830392883508e-10,-1.4662893682703937e-13,-0.0010459420626472054,0.9999994530024512],[1,1.606440509162768e-8,-1.4726229276075984e-18,-0.11985615346346049]]],[0,"77DlSvZMVCFLNlyGWiwIha",null,null,null,1,0],[1,0.0404664427042007,-3.57627860658738e-9,0],[3,0.000002421418716486127,1.5182564735607207e-8,0.006269989150778519,0.9999803434219023],[1,0.000277479600078167,-3.18993241527229e-13,0.7184925395739944]],[1,"Bone004",15,[-107],[0,"d1EnMgh6RE7o+kI5cUNlG0",null,null,null,1,0],[1,0.0710692703723907,0.0000118009265861474,0.0136896027252078],[3,-0.0000017283479103639154,-0.000001696768662714476,0.7049074170330618,0.7092993256770451],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-0.0005507418826256091,0.00027320859410338513,89.64412979694991]],[3,"Bone005",59,[[2,"Bone006",-108,[0,"8cUixi2TpMHINjSklAPeYi",null,null,null,1,0],[1,0.039714016020298,0,7.74860353658369e-9],[3,1.4018830392883508e-10,-1.4662893682703937e-13,-0.0010459420626472054,0.9999994530024512],[1,1.606440509162768e-8,-1.4726229276075984e-18,-0.11985615346346049]]],[0,"b7XmnH2bBCVpvgTAKnVXA2",null,null,null,1,0],[1,0.0404664427042007,-4.76837147544984e-9,5.9604643443123e-10],[3,0.000002421418716486127,1.5182564735607207e-8,0.006269989150778519,0.9999803434219023],[1,0.000277479600078167,-3.18993241527229e-13,0.7184925395739944]],[6,"grass",17,[[7,-109,[4,"c4Nekl9YtKUKupS0ASX7It"],[35],[8],16,36,37]],[0,"43yCcO1I5D6qP+LJIIGKjX",null,null,null,1,0],[3,0.37992816729770207,0.5963678291908521,0.5963678291908521,-0.37992816729770207],[1,0.614784121513367,0.614784121513367,0.614784121513367],[1,-90,-115.0000056286655,0]],[1,"Bone001",17,[-110],[0,"0aJTcuk/5M56nEkb+D7tN9",null,null,null,1,0],[1,-0.0461842827498913,0.0000118009265861474,-0.0284814611077309],[3,-0.0000017283479103639154,-0.000001696768662714476,0.7049074170330618,0.7092993256770451],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-0.0005507418826256091,0.00027320859410338513,89.64412979694991]],[3,"Bone002",62,[[2,"Bone003",-111,[0,"d5T2sohQVAEa4ljoSzlMKU",null,null,null,1,0],[1,0.0397140197455883,-1.19209286886246e-9,7.15255721317476e-9],[3,1.4018830392883508e-10,-1.4662893682703937e-13,-0.0010459420626472054,0.9999994530024512],[1,1.606440509162768e-8,-1.4726229276075984e-18,-0.11985615346346049]]],[0,"93hV+qqgFP44pIvuByy6RE",null,null,null,1,0],[1,0.0404664427042007,-3.57627860658738e-9,0],[3,0.000002421418716486127,1.5182564735607207e-8,0.006269989150778519,0.9999803434219023],[1,0.000277479600078167,-3.18993241527229e-13,0.7184925395739944]],[1,"Bone004",17,[-112],[0,"6etpava3ZGlovr3HG7SpRo",null,null,null,1,0],[1,0.0710692703723907,0.0000118009265861474,0.0136896027252078],[3,-0.0000017283479103639154,-0.000001696768662714476,0.7049074170330618,0.7092993256770451],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-0.0005507418826256091,0.00027320859410338513,89.64412979694991]],[3,"Bone005",64,[[2,"Bone006",-113,[0,"6c2sTe+khLGYrsZVSADL4H",null,null,null,1,0],[1,0.039714016020298,0,7.74860353658369e-9],[3,1.4018830392883508e-10,-1.4662893682703937e-13,-0.0010459420626472054,0.9999994530024512],[1,1.606440509162768e-8,-1.4726229276075984e-18,-0.11985615346346049]]],[0,"ecsSU+lvpNf7DhOOeFG7w2",null,null,null,1,0],[1,0.0404664427042007,-4.76837147544984e-9,5.9604643443123e-10],[3,0.000002421418716486127,1.5182564735607207e-8,0.006269989150778519,0.9999803434219023],[1,0.000277479600078167,-3.18993241527229e-13,0.7184925395739944]],[6,"grass",19,[[7,-114,[4,"b9cuhcVRxPvZTPHcAyE7eS"],[40],[8],18,41,42]],[0,"87cW2HzEtNk4+RMW95NbLB",null,null,null,1,0],[3,0.37992816729770207,0.5963678291908521,0.5963678291908521,-0.37992816729770207],[1,0.614784121513367,0.614784121513367,0.614784121513367],[1,-90,-115.0000056286655,0]],[1,"Bone001",19,[-115],[0,"16ssZzbLdO76GQg4Dvdp/y",null,null,null,1,0],[1,-0.0461842827498913,0.0000118009265861474,-0.0284814611077309],[3,-0.0000017283479103639154,-0.000001696768662714476,0.7049074170330618,0.7092993256770451],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-0.0005507418826256091,0.00027320859410338513,89.64412979694991]],[3,"Bone002",67,[[2,"Bone003",-116,[0,"5bcVkwfGRPza49BU4T6rqn",null,null,null,1,0],[1,0.0397140197455883,-1.19209286886246e-9,7.15255721317476e-9],[3,1.4018830392883508e-10,-1.4662893682703937e-13,-0.0010459420626472054,0.9999994530024512],[1,1.606440509162768e-8,-1.4726229276075984e-18,-0.11985615346346049]]],[0,"fcqb+cLDVJ3KNvBTyJYBwm",null,null,null,1,0],[1,0.0404664427042007,-3.57627860658738e-9,0],[3,0.000002421418716486127,1.5182564735607207e-8,0.006269989150778519,0.9999803434219023],[1,0.000277479600078167,-3.18993241527229e-13,0.7184925395739944]],[1,"Bone004",19,[-117],[0,"0eRKfLOh9OdLsOOjTosv1c",null,null,null,1,0],[1,0.0710692703723907,0.0000118009265861474,0.0136896027252078],[3,-0.0000017283479103639154,-0.000001696768662714476,0.7049074170330618,0.7092993256770451],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-0.0005507418826256091,0.00027320859410338513,89.64412979694991]],[3,"Bone005",69,[[2,"Bone006",-118,[0,"0b/yPLcR1FiZPqyfaG8HBZ",null,null,null,1,0],[1,0.039714016020298,0,7.74860353658369e-9],[3,1.4018830392883508e-10,-1.4662893682703937e-13,-0.0010459420626472054,0.9999994530024512],[1,1.606440509162768e-8,-1.4726229276075984e-18,-0.11985615346346049]]],[0,"0fPapM97RGmYmlB69FuuSF",null,null,null,1,0],[1,0.0404664427042007,-4.76837147544984e-9,5.9604643443123e-10],[3,0.000002421418716486127,1.5182564735607207e-8,0.006269989150778519,0.9999803434219023],[1,0.000277479600078167,-3.18993241527229e-13,0.7184925395739944]],[6,"grass",21,[[7,-119,[4,"f3T3OFBBJBYrGbPSQ+k7GJ"],[45],[8],20,46,47]],[0,"08LJZ1ezRCiqnszI5cXQTx",null,null,null,1,0],[3,0.37992816729770207,0.5963678291908521,0.5963678291908521,-0.37992816729770207],[1,0.614784121513367,0.614784121513367,0.614784121513367],[1,-90,-115.0000056286655,0]],[1,"Bone001",21,[-120],[0,"c9g0zchT9L8IQmY+99TABR",null,null,null,1,0],[1,-0.0461842827498913,0.0000118009265861474,-0.0284814611077309],[3,-0.0000017283479103639154,-0.000001696768662714476,0.7049074170330618,0.7092993256770451],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-0.0005507418826256091,0.00027320859410338513,89.64412979694991]],[3,"Bone002",72,[[2,"Bone003",-121,[0,"d8OdalQsZKwLFf2mFuR1VJ",null,null,null,1,0],[1,0.0397140197455883,-1.19209286886246e-9,7.15255721317476e-9],[3,1.4018830392883508e-10,-1.4662893682703937e-13,-0.0010459420626472054,0.9999994530024512],[1,1.606440509162768e-8,-1.4726229276075984e-18,-0.11985615346346049]]],[0,"ecFy8CTgxCib8Fky/YcoUL",null,null,null,1,0],[1,0.0404664427042007,-3.57627860658738e-9,0],[3,0.000002421418716486127,1.5182564735607207e-8,0.006269989150778519,0.9999803434219023],[1,0.000277479600078167,-3.18993241527229e-13,0.7184925395739944]],[1,"Bone004",21,[-122],[0,"91+xPZxDtGRp/x7cNrBUhM",null,null,null,1,0],[1,0.0710692703723907,0.0000118009265861474,0.0136896027252078],[3,-0.0000017283479103639154,-0.000001696768662714476,0.7049074170330618,0.7092993256770451],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-0.0005507418826256091,0.00027320859410338513,89.64412979694991]],[3,"Bone005",74,[[2,"Bone006",-123,[0,"66R8TA3S1NT4HLywjDiP1Q",null,null,null,1,0],[1,0.039714016020298,0,7.74860353658369e-9],[3,1.4018830392883508e-10,-1.4662893682703937e-13,-0.0010459420626472054,0.9999994530024512],[1,1.606440509162768e-8,-1.4726229276075984e-18,-0.11985615346346049]]],[0,"963dgjTmdES7q6KBvCTllJ",null,null,null,1,0],[1,0.0404664427042007,-4.76837147544984e-9,5.9604643443123e-10],[3,0.000002421418716486127,1.5182564735607207e-8,0.006269989150778519,0.9999803434219023],[1,0.000277479600078167,-3.18993241527229e-13,0.7184925395739944]],[6,"grass",23,[[7,-124,[4,"d0A5LfhGhAfrDnBGJ3JzOe"],[50],[8],22,51,52]],[0,"203+J3Vb1LP7KUgkjLvNtX",null,null,null,1,0],[3,0.37992816729770207,0.5963678291908521,0.5963678291908521,-0.37992816729770207],[1,0.614784121513367,0.614784121513367,0.614784121513367],[1,-90,-115.0000056286655,0]],[1,"Bone001",23,[-125],[0,"9eOEdVVahA+rbDiF4AJNNX",null,null,null,1,0],[1,-0.0461842827498913,0.0000118009265861474,-0.0284814611077309],[3,-0.0000017283479103639154,-0.000001696768662714476,0.7049074170330618,0.7092993256770451],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-0.0005507418826256091,0.00027320859410338513,89.64412979694991]],[3,"Bone002",77,[[2,"Bone003",-126,[0,"3aJII/zG9KaYapX0uizphW",null,null,null,1,0],[1,0.0397140197455883,-1.19209286886246e-9,7.15255721317476e-9],[3,1.4018830392883508e-10,-1.4662893682703937e-13,-0.0010459420626472054,0.9999994530024512],[1,1.606440509162768e-8,-1.4726229276075984e-18,-0.11985615346346049]]],[0,"48r+NZR1BD7Y5qEv/ruQsO",null,null,null,1,0],[1,0.0404664427042007,-3.57627860658738e-9,0],[3,0.000002421418716486127,1.5182564735607207e-8,0.006269989150778519,0.9999803434219023],[1,0.000277479600078167,-3.18993241527229e-13,0.7184925395739944]],[1,"Bone004",23,[-127],[0,"469eCD0ttKHZacZ3xtfeuD",null,null,null,1,0],[1,0.0710692703723907,0.0000118009265861474,0.0136896027252078],[3,-0.0000017283479103639154,-0.000001696768662714476,0.7049074170330618,0.7092993256770451],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-0.0005507418826256091,0.00027320859410338513,89.64412979694991]],[3,"Bone005",79,[[2,"Bone006",-128,[0,"1fFpy0ihVOYbzhBLRLkL1Y",null,null,null,1,0],[1,0.039714016020298,0,7.74860353658369e-9],[3,1.4018830392883508e-10,-1.4662893682703937e-13,-0.0010459420626472054,0.9999994530024512],[1,1.606440509162768e-8,-1.4726229276075984e-18,-0.11985615346346049]]],[0,"d9iCqzyppAILXebiHSqtDk",null,null,null,1,0],[1,0.0404664427042007,-4.76837147544984e-9,5.9604643443123e-10],[3,0.000002421418716486127,1.5182564735607207e-8,0.006269989150778519,0.9999803434219023],[1,0.000277479600078167,-3.18993241527229e-13,0.7184925395739944]],[6,"grass",25,[[7,-129,[4,"161SEdWiFO/abXxUI8RkYk"],[55],[8],24,56,57]],[0,"80TsYKkUVBAIbPGc2Ao+X4",null,null,null,1,0],[3,0.37992816729770207,0.5963678291908521,0.5963678291908521,-0.37992816729770207],[1,0.614784121513367,0.614784121513367,0.614784121513367],[1,-90,-115.0000056286655,0]],[1,"Bone001",25,[-130],[0,"54j/6cneBCF4PpXQIO+ZrT",null,null,null,1,0],[1,-0.0461842827498913,0.0000118009265861474,-0.0284814611077309],[3,-0.0000017283479103639154,-0.000001696768662714476,0.7049074170330618,0.7092993256770451],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-0.0005507418826256091,0.00027320859410338513,89.64412979694991]],[3,"Bone002",82,[[2,"Bone003",-131,[0,"6aDs2ciZhDh6tahiNmO4QO",null,null,null,1,0],[1,0.0397140197455883,-1.19209286886246e-9,7.15255721317476e-9],[3,1.4018830392883508e-10,-1.4662893682703937e-13,-0.0010459420626472054,0.9999994530024512],[1,1.606440509162768e-8,-1.4726229276075984e-18,-0.11985615346346049]]],[0,"1er+9JvftCj5j548DE5PNk",null,null,null,1,0],[1,0.0404664427042007,-3.57627860658738e-9,0],[3,0.000002421418716486127,1.5182564735607207e-8,0.006269989150778519,0.9999803434219023],[1,0.000277479600078167,-3.18993241527229e-13,0.7184925395739944]],[1,"Bone004",25,[-132],[0,"c8ON8aNTZH1YV9KZsolNGO",null,null,null,1,0],[1,0.0710692703723907,0.0000118009265861474,0.0136896027252078],[3,-0.0000017283479103639154,-0.000001696768662714476,0.7049074170330618,0.7092993256770451],[1,2.53999996185303,2.53999996185303,2.53999996185303],[1,-0.0005507418826256091,0.00027320859410338513,89.64412979694991]],[3,"Bone005",84,[[2,"Bone006",-133,[0,"1eZ45FwjhMoY5AmDd/ApaW",null,null,null,1,0],[1,0.039714016020298,0,7.74860353658369e-9],[3,1.4018830392883508e-10,-1.4662893682703937e-13,-0.0010459420626472054,0.9999994530024512],[1,1.606440509162768e-8,-1.4726229276075984e-18,-0.11985615346346049]]],[0,"7fkJUsKFZMHbutZKiHcKAf",null,null,null,1,0],[1,0.0404664427042007,-4.76837147544984e-9,5.9604643443123e-10],[3,0.000002421418716486127,1.5182564735607207e-8,0.006269989150778519,0.9999803434219023],[1,0.000277479600078167,-3.18993241527229e-13,0.7184925395739944]]],0,[0,5,1,0,-1,2,0,-2,4,0,-3,6,0,-4,8,0,-5,10,0,-6,12,0,-7,14,0,-8,16,0,-9,18,0,-10,20,0,-11,22,0,-12,24,0,0,2,0,-1,3,0,-1,26,0,-2,27,0,-3,29,0,0,4,0,-1,5,0,-1,31,0,-2,32,0,-3,34,0,0,6,0,-1,7,0,-1,36,0,-2,37,0,-3,39,0,0,8,0,-1,9,0,-1,41,0,-2,42,0,-3,44,0,0,10,0,-1,11,0,-1,46,0,-2,47,0,-3,49,0,0,12,0,-1,13,0,-1,51,0,-2,52,0,-3,54,0,0,14,0,-1,15,0,-1,56,0,-2,57,0,-3,59,0,0,16,0,-1,17,0,-1,61,0,-2,62,0,-3,64,0,0,18,0,-1,19,0,-1,66,0,-2,67,0,-3,69,0,0,20,0,-1,21,0,-1,71,0,-2,72,0,-3,74,0,0,22,0,-1,23,0,-1,76,0,-2,77,0,-3,79,0,0,24,0,-1,25,0,-1,81,0,-2,82,0,-3,84,0,0,26,0,-1,28,0,1,28,0,-1,30,0,1,30,0,0,31,0,-1,33,0,1,33,0,-1,35,0,1,35,0,0,36,0,-1,38,0,1,38,0,-1,40,0,1,40,0,0,41,0,-1,43,0,1,43,0,-1,45,0,1,45,0,0,46,0,-1,48,0,1,48,0,-1,50,0,1,50,0,0,51,0,-1,53,0,1,53,0,-1,55,0,1,55,0,0,56,0,-1,58,0,1,58,0,-1,60,0,1,60,0,0,61,0,-1,63,0,1,63,0,-1,65,0,1,65,0,0,66,0,-1,68,0,1,68,0,-1,70,0,1,70,0,0,71,0,-1,73,0,1,73,0,-1,75,0,1,75,0,0,76,0,-1,78,0,1,78,0,-1,80,0,1,80,0,0,81,0,-1,83,0,1,83,0,-1,85,0,1,85,0,6,1,133],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[-1,2,3,-1,4,-1,2,3,-1,4,-1,2,3,-1,4,-1,2,3,-1,4,-1,2,3,-1,4,-1,2,3,-1,4,-1,2,3,-1,4,-1,2,3,-1,4,-1,2,3,-1,4,-1,2,3,-1,4,-1,2,3,-1,4,-1,2,3,-1,4],[1,2,3,0,0,1,2,3,0,0,1,2,3,0,0,1,2,3,0,0,1,2,3,0,0,1,2,3,0,0,1,2,3,0,0,1,2,3,0,0,1,2,3,0,0,1,2,3,0,0,1,2,3,0,0,1,2,3,0,0]],[[[15,"Skin-0",753820634,["RootNode/Bone004/Bone005/Bone006","RootNode/Bone004/Bone005","RootNode/Bone004","RootNode/Bone001/Bone002/Bone003","RootNode/Bone001/Bone002","RootNode/Bone001"],[[[7,0.0004333891556598246,0.10229005664587021,0.21936364471912384,0,-0.0009294628980569541,-0.21936167776584625,0.10229097306728363,0,0.24203883111476898,-0.0010255376109853387,2.406476085070608e-8,0,-0.08006425946950912,0.028319520875811577,-0.005389618221670389,1],[7,0.0006473671528510749,0.10228893905878067,0.21936364471912384,0,-0.001388339907862246,-0.21935929358005524,0.10229097306728363,0,0.24203617870807648,-0.0015318524092435837,2.4064471304541257e-8,0,-0.04029082506895065,0.0284869447350502,-0.005389610305428505,1],[7,-0.0006353461649268866,0.10228794068098068,0.21936413645744324,0,0.0013624817365780473,-0.21935993432998657,0.10228990018367767,0,0.2420363426208496,0.0015033365925773978,1.664581716909197e-8,0,-0.0001784319174475968,0.02797948755323887,-0.0053894720040261745,1],[7,0.0004333891556598246,0.10229005664587021,0.21936364471912384,0,-0.0009294628980569541,-0.21936167776584625,0.10229097306728363,0,0.24203883111476898,-0.0010255376109853387,2.406476085070608e-8,0,-0.08025984466075897,-0.017842883244156837,0.01121316384524107,1],[7,0.0006473671528510749,0.10228893905878067,0.21936364471912384,0,-0.001388339907862246,-0.21935929358005524,0.10229097306728363,0,0.24203617870807648,-0.0015318524092435837,2.4064471304541257e-8,0,-0.040582988411188126,-0.017674952745437622,0.011213171295821667,1],[7,-0.0006353461649268866,0.10228794068098068,0.21936413645744324,0,0.0013624817365780473,-0.21935993432998657,0.10228990018367767,0,0.2420363426208496,0.0015033365925773978,1.664581716909197e-8,0,0.00010828844096977264,-0.01818251982331276,0.011213085614144802,1]],8,8,8,8,8,8]]],0,0,[],[],[]],[[[16,".bin",891374575,[{"primitives":[{"primitiveMode":7,"jointMapIndex":0,"vertexBundelIndices":[0],"indexView":{"offset":8080,"length":462,"count":231,"stride":2}}],"vertexBundles":[{"view":{"offset":0,"length":8080,"count":101,"stride":80},"attributes":[{"name":"a_position","format":32,"isNormalized":false},{"name":"a_normal","format":32,"isNormalized":false},{"name":"a_texCoord","format":21,"isNormalized":false},{"name":"a_tangent","format":44,"isNormalized":false},{"name":"a_joints","format":42,"isNormalized":false},{"name":"a_weights","format":44,"isNormalized":false},{"name":"a_texCoord1","format":21,"isNormalized":false}]}],"jointMaps":[[0,1,2,3,4,5]]},"minPosition",8,[1,-0.23816974461078644,-0.3651643395423889,-0.02080436609685421],"maxPosition",8,[1,0.2359408587217331,0.26479941606521606,0.6728445887565613]]],-1],0,0,[],[],[]],[[[17,"grass",[{"blendState":{"targets":[{}]},"depthStencilState":{},"rasterizerState":{}}],[{"USE_TEXTURE":true}],[[[{"alphaThreshold":0},"mainTexture",6,0]],11]]],0,0,[0,0],[7,8],[4,5]]]] diff --git a/cocos_view_pod/Assets/assets/main/import/07/0718d996-39bf-4ab4-bb63-496666fef467.json b/cocos_view_pod/Assets/assets/main/import/07/0718d996-39bf-4ab4-bb63-496666fef467.json new file mode 100644 index 0000000..95c3eaa --- /dev/null +++ b/cocos_view_pod/Assets/assets/main/import/07/0718d996-39bf-4ab4-bb63-496666fef467.json @@ -0,0 +1 @@ +[1,0,0,["cc.ImageAsset"],0,[{"fmt":"1","w":0,"h":0},-1],[0],0,[],[],[]] diff --git a/cocos_view_pod/Assets/assets/main/import/0a/0a40fbfd0.json b/cocos_view_pod/Assets/assets/main/import/0a/0a40fbfd0.json new file mode 100644 index 0000000..df6869c --- /dev/null +++ b/cocos_view_pod/Assets/assets/main/import/0a/0a40fbfd0.json @@ -0,0 +1 @@ +{"type":"cc.Texture2D","data":[["2,2,0,0,0,0",["4fTEo0LQhKTZFpg0186Czu"]],["2,2,0,0,0,0",["6fiRp7WghI5phB3bNkrIax"]],["2,2,0,0,0,0",["955bAq4zhCPL27F0htsdnr"]],["2,2,0,0,0,0",["07GNmWOb9KtLtjSWZm/vRn"]],["2,2,0,0,2,0",["aeGN7qxuBKPb9w7lUz+bqH"]],["2,2,0,0,0,0",["c5CD51rS5OqYsz3udImVsA"]]]} diff --git a/cocos_view_pod/Assets/assets/main/import/0a/0a9f2beb8.json b/cocos_view_pod/Assets/assets/main/import/0a/0a9f2beb8.json new file mode 100644 index 0000000..6644513 --- /dev/null +++ b/cocos_view_pod/Assets/assets/main/import/0a/0a9f2beb8.json @@ -0,0 +1 @@ +[1,["0asxQqaWhAc5WvAmvDsjYj@2df3a","1brw/JvvpFnIvdrxpFCgMZ"],["mainTexture","_effectAsset"],[["cc.EffectAsset",["_name","shaders","techniques"],0],["cc.Material",["_name","_states","_defines","_props"],0,12]],[[0,0,1,2,4],[1,0,1,2,3,4]],[[[[0,"legacy/standard",[{"hash":566880691,"name":"legacy/standard|standard-vs|standard-fs","blocks":[{"name":"Constants","stageFlags":17,"binding":0,"members":[{"name":"tilingOffset","type":16,"count":1},{"name":"albedo","type":16,"count":1},{"name":"albedoScaleAndCutoff","type":16,"count":1},{"name":"pbrParams","type":16,"count":1},{"name":"emissive","type":16,"count":1},{"name":"emissiveScaleParam","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"albedoMap","type":28,"count":1,"stageFlags":16,"binding":1,"defines":["USE_ALBEDO_MAP"]},{"name":"normalMap","type":28,"count":1,"stageFlags":16,"binding":2,"defines":["USE_NORMAL_MAP"]},{"name":"pbrMap","type":28,"count":1,"stageFlags":16,"binding":3,"defines":["USE_PBR_MAP"]},{"name":"metallicRoughnessMap","type":28,"count":1,"stageFlags":16,"binding":4,"defines":["USE_METALLIC_ROUGHNESS_MAP"]},{"name":"occlusionMap","type":28,"count":1,"stageFlags":16,"binding":5,"defines":["USE_OCCLUSION_MAP"]},{"name":"emissiveMap","type":28,"count":1,"stageFlags":16,"binding":6,"defines":["USE_EMISSIVE_MAP"]}],"samplers":[],"textures":[],"buffers":[{"name":"b_ccLightsBuffer","memoryAccess":1,"stageFlags":16,"binding":7,"defines":["CC_FORWARD_ADD","CC_ENABLE_CLUSTERED_LIGHT_CULLING"]},{"name":"b_clusterLightIndicesBuffer","memoryAccess":1,"stageFlags":16,"binding":8,"defines":["CC_FORWARD_ADD","CC_ENABLE_CLUSTERED_LIGHT_CULLING"]},{"name":"b_clusterLightGridBuffer","memoryAccess":1,"stageFlags":16,"binding":9,"defines":["CC_FORWARD_ADD","CC_ENABLE_CLUSTERED_LIGHT_CULLING"]}],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position","format":32,"location":0,"defines":[]},{"name":"a_normal","format":32,"location":1,"defines":[]},{"name":"a_texCoord","format":21,"location":2,"defines":[]},{"name":"a_tangent","format":44,"location":3,"defines":[]},{"name":"a_joints","location":4,"defines":["CC_USE_SKINNING"]},{"name":"a_weights","format":44,"location":5,"defines":["CC_USE_SKINNING"]},{"name":"a_jointAnimInfo","format":44,"isInstanced":true,"location":6,"defines":["USE_INSTANCING","CC_USE_BAKED_ANIMATION"]},{"name":"a_matWorld0","format":44,"isInstanced":true,"location":7,"defines":["USE_INSTANCING"]},{"name":"a_matWorld1","format":44,"isInstanced":true,"location":8,"defines":["USE_INSTANCING"]},{"name":"a_matWorld2","format":44,"isInstanced":true,"location":9,"defines":["USE_INSTANCING"]},{"name":"a_lightingMapUVParam","format":44,"isInstanced":true,"location":10,"defines":["USE_INSTANCING","CC_USE_LIGHTMAP"]},{"name":"a_localShadowBiasAndProbeId","format":44,"isInstanced":true,"location":11,"defines":["USE_INSTANCING"]},{"name":"a_reflectionProbeData","format":44,"isInstanced":true,"location":12,"defines":["USE_INSTANCING","CC_USE_REFLECTION_PROBE"]},{"name":"a_sh_linear_const_r","format":44,"isInstanced":true,"location":13,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_sh_linear_const_g","format":44,"isInstanced":true,"location":14,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_sh_linear_const_b","format":44,"isInstanced":true,"location":15,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_vertexId","format":11,"location":16,"defines":["CC_USE_MORPH"]},{"name":"a_color","format":44,"location":17,"defines":["USE_VERTEX_COLOR"]},{"name":"a_texCoord1","format":21,"location":18,"defines":[]}],"fragColors":[{"name":"fragColorX","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":["CC_FORWARD_ADD"]},{"name":"albedoOut","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":1,"defines":["CC_FORWARD_ADD","CC_PIPELINE_TYPE"]},{"name":"emissiveOut","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":2,"defines":["CC_FORWARD_ADD","CC_PIPELINE_TYPE"]},{"name":"normalOut","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":3,"defines":["CC_FORWARD_ADD","CC_PIPELINE_TYPE"]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCMorph","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_displacementWeights","typename":"vec4","type":16,"count":15,"isArray":true},{"name":"cc_displacementTextureInfo","typename":"vec4","type":16,"count":1}],"defines":["CC_USE_MORPH"]},{"name":"CCSkinningTexture","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_jointTextureInfo","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinningAnimation","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_jointAnimInfo","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinning","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_joints","typename":"vec4","type":16,"count":0,"precision":"highp ","isArray":true}],"defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","!CC_USE_REAL_TIME_JOINT_TEXTURE"]},{"name":"CCLocal","stageFlags":17,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["!USE_INSTANCING"]},{"name":"CCSH","stageFlags":16,"tags":{"builtin":"local"},"members":[{"name":"cc_sh_linear_const_r","typename":"vec4","type":16,"count":1},{"name":"cc_sh_linear_const_g","typename":"vec4","type":16,"count":1},{"name":"cc_sh_linear_const_b","typename":"vec4","type":16,"count":1},{"name":"cc_sh_quadratic_r","typename":"vec4","type":16,"count":1},{"name":"cc_sh_quadratic_g","typename":"vec4","type":16,"count":1},{"name":"cc_sh_quadratic_b","typename":"vec4","type":16,"count":1},{"name":"cc_sh_quadratic_a","typename":"vec4","type":16,"count":1}],"defines":["CC_USE_LIGHT_PROBE","!USE_INSTANCING"]},{"name":"CCForwardLight","stageFlags":16,"tags":{"builtin":"local"},"members":[{"name":"cc_lightPos","typename":"vec4","type":16,"count":0,"precision":"highp ","isArray":true},{"name":"cc_lightColor","typename":"vec4","type":16,"count":0,"isArray":true},{"name":"cc_lightSizeRangeAngle","typename":"vec4","type":16,"count":0,"isArray":true},{"name":"cc_lightDir","typename":"vec4","type":16,"count":0,"isArray":true},{"name":"cc_lightBoundingSizeVS","typename":"vec4","type":16,"count":0,"isArray":true}],"defines":["CC_FORWARD_ADD","CC_ENABLE_CLUSTERED_LIGHT_CULLING"]}],"samplerTextures":[{"name":"cc_PositionDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_POSITION"]},{"name":"cc_NormalDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_NORMAL"]},{"name":"cc_TangentDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_TANGENT"]},{"name":"cc_jointTexture","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"cc_realtimeJoint","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","CC_USE_REAL_TIME_JOINT_TEXTURE"]},{"name":"cc_reflectionProbeCubemap","typename":"samplerCube","type":31,"count":1,"stageFlags":16,"tags":{"builtin":"local"},"defines":["CC_USE_REFLECTION_PROBE"]},{"name":"cc_reflectionProbePlanarMap","typename":"sampler2D","type":28,"count":1,"stageFlags":16,"tags":{"builtin":"local"},"defines":["CC_USE_REFLECTION_PROBE"]},{"name":"cc_reflectionProbeDataMap","typename":"sampler2D","type":28,"count":1,"stageFlags":16,"tags":{"builtin":"local"},"defines":["CC_USE_REFLECTION_PROBE"]},{"name":"cc_reflectionProbeBlendCubemap","typename":"samplerCube","type":31,"count":1,"stageFlags":16,"tags":{"builtin":"local"},"defines":["CC_USE_REFLECTION_PROBE"]},{"name":"cc_lightingMap","typename":"sampler2D","type":28,"count":1,"stageFlags":16,"tags":{"builtin":"local"},"defines":["CC_USE_LIGHTMAP","!CC_FORWARD_ADD"]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[{"name":"Constants","stageFlags":17,"binding":0,"members":[{"name":"tilingOffset","type":16,"count":1},{"name":"albedo","type":16,"count":1},{"name":"albedoScaleAndCutoff","type":16,"count":1},{"name":"pbrParams","type":16,"count":1},{"name":"emissive","type":16,"count":1},{"name":"emissiveScaleParam","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"albedoMap","type":28,"count":1,"stageFlags":16,"binding":1,"defines":["USE_ALBEDO_MAP"]},{"name":"normalMap","type":28,"count":1,"stageFlags":16,"binding":2,"defines":["USE_NORMAL_MAP"]},{"name":"pbrMap","type":28,"count":1,"stageFlags":16,"binding":3,"defines":["USE_PBR_MAP"]},{"name":"metallicRoughnessMap","type":28,"count":1,"stageFlags":16,"binding":4,"defines":["USE_METALLIC_ROUGHNESS_MAP"]},{"name":"occlusionMap","type":28,"count":1,"stageFlags":16,"binding":5,"defines":["USE_OCCLUSION_MAP"]},{"name":"emissiveMap","type":28,"count":1,"stageFlags":16,"binding":6,"defines":["USE_EMISSIVE_MAP"]}],"samplers":[],"textures":[],"buffers":[{"name":"b_ccLightsBuffer","memoryAccess":1,"stageFlags":16,"binding":7,"defines":["CC_FORWARD_ADD","CC_ENABLE_CLUSTERED_LIGHT_CULLING"]},{"name":"b_clusterLightIndicesBuffer","memoryAccess":1,"stageFlags":16,"binding":8,"defines":["CC_FORWARD_ADD","CC_ENABLE_CLUSTERED_LIGHT_CULLING"]},{"name":"b_clusterLightGridBuffer","memoryAccess":1,"stageFlags":16,"binding":9,"defines":["CC_FORWARD_ADD","CC_ENABLE_CLUSTERED_LIGHT_CULLING"]}],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCShadow","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matLightView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matLightViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_shadowInvProjDepthInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowProjDepthInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowProjInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowNFLSInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowWHPBInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowLPNNInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowColor","typename":"vec4","type":16,"count":1,"precision":"lowp "},{"name":"cc_planarNDInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCSM","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_csmViewDir0","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmViewDir1","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmViewDir2","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmAtlas","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_matCSMViewProj","typename":"mat4","type":25,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmProjDepthInfo","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmProjInfo","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmSplitsInfo","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["CC_SUPPORT_CASCADED_SHADOW_MAP"]}],"samplerTextures":[{"name":"cc_shadowMap","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":17,"tags":{"builtin":"global"},"defines":["CC_RECEIVE_SHADOW"]},{"name":"cc_spotShadowMap","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":17,"tags":{"builtin":"global"},"defines":["CC_RECEIVE_SHADOW"]},{"name":"cc_environment","typename":"samplerCube","type":31,"count":1,"stageFlags":16,"tags":{"builtin":"global"},"defines":[]},{"name":"cc_diffuseMap","typename":"samplerCube","type":31,"count":1,"stageFlags":16,"tags":{"builtin":"global"},"defines":["CC_USE_IBL","CC_USE_DIFFUSEMAP"]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"vert":"#extension GL_EXT_shader_explicit_arithmetic_types_int32: require\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 int getVertexId() {\n return gl_VertexIndex;\n }\n#endif\nhighp float decode32 (highp vec4 rgba) {\n rgba = rgba * 255.0;\n highp float Sign = 1.0 - (step(128.0, (rgba[3]) + 0.5)) * 2.0;\n highp float Exponent = 2.0 * (mod(float(int((rgba[3]) + 0.5)), 128.0)) + (step(128.0, (rgba[2]) + 0.5)) - 127.0;\n highp float Mantissa = (mod(float(int((rgba[2]) + 0.5)), 128.0)) * 65536.0 + rgba[1] * 256.0 + rgba[0] + 8388608.0;\n return Sign * exp2(Exponent - 23.0) * Mantissa;\n}\n#if CC_USE_MORPH\n layout(set = 2, binding = 4) uniform CCMorph {\n vec4 cc_displacementWeights[15];\n vec4 cc_displacementTextureInfo;\n };\n #if CC_MORPH_TARGET_HAS_POSITION\n layout(set = 2, binding = 8) uniform sampler2D cc_PositionDisplacements;\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n layout(set = 2, binding = 9) uniform sampler2D cc_NormalDisplacements;\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n layout(set = 2, binding = 10) uniform sampler2D cc_TangentDisplacements;\n #endif\n vec2 getPixelLocation(vec2 textureResolution, int pixelIndex) {\n float pixelIndexF = float(pixelIndex);\n float x = mod(pixelIndexF, textureResolution.x);\n float y = floor(pixelIndexF / textureResolution.x);\n return vec2(x, y);\n }\n vec2 getPixelCoordFromLocation(vec2 location, vec2 textureResolution) {\n return (vec2(location.x, location.y) + .5) / textureResolution;\n }\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n vec4 fetchVec3ArrayFromTexture(sampler2D tex, int pixelIndex) {\n ivec2 texSize = textureSize(tex, 0);\n return texelFetch(tex, ivec2(pixelIndex % texSize.x, pixelIndex / texSize.x), 0);\n }\n #else\n vec4 fetchVec3ArrayFromTexture(sampler2D tex, int elementIndex) {\n int pixelIndex = elementIndex * 4;\n vec2 location = getPixelLocation(cc_displacementTextureInfo.xy, pixelIndex);\n vec2 x = getPixelCoordFromLocation(location + vec2(0.0, 0.0), cc_displacementTextureInfo.xy);\n vec2 y = getPixelCoordFromLocation(location + vec2(1.0, 0.0), cc_displacementTextureInfo.xy);\n vec2 z = getPixelCoordFromLocation(location + vec2(2.0, 0.0), cc_displacementTextureInfo.xy);\n return vec4(\n decode32(texture(tex, x)),\n decode32(texture(tex, y)),\n decode32(texture(tex, z)),\n 1.0\n );\n }\n #endif\n float getDisplacementWeight(int index) {\n int quot = index / 4;\n int remainder = index - quot * 4;\n if (remainder == 0) {\n return cc_displacementWeights[quot].x;\n } else if (remainder == 1) {\n return cc_displacementWeights[quot].y;\n } else if (remainder == 2) {\n return cc_displacementWeights[quot].z;\n } else {\n return cc_displacementWeights[quot].w;\n }\n }\n vec3 getVec3DisplacementFromTexture(sampler2D tex, int vertexIndex) {\n #if CC_MORPH_PRECOMPUTED\n return fetchVec3ArrayFromTexture(tex, vertexIndex).rgb;\n #else\n vec3 result = vec3(0, 0, 0);\n int nVertices = int(cc_displacementTextureInfo.z);\n for (int iTarget = 0; iTarget < CC_MORPH_TARGET_COUNT; ++iTarget) {\n result += (fetchVec3ArrayFromTexture(tex, nVertices * iTarget + vertexIndex).rgb * getDisplacementWeight(iTarget));\n }\n return result;\n #endif\n }\n #if CC_MORPH_TARGET_HAS_POSITION\n vec3 getPositionDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_PositionDisplacements, vertexId);\n }\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n vec3 getNormalDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_NormalDisplacements, vertexId);\n }\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n vec3 getTangentDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_TangentDisplacements, vertexId);\n }\n #endif\n void applyMorph (inout vec4 position, inout vec3 normal, inout vec4 tangent) {\n int vertexId = getVertexId();\n #if CC_MORPH_TARGET_HAS_POSITION\n position.xyz = position.xyz + getPositionDisplacement(vertexId);\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n normal.xyz = normal.xyz + getNormalDisplacement(vertexId);\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n tangent.xyz = tangent.xyz + getTangentDisplacement(vertexId);\n #endif\n }\n void applyMorph (inout vec4 position) {\n #if CC_MORPH_TARGET_HAS_POSITION\n position.xyz = position.xyz + getPositionDisplacement(getVertexId());\n #endif\n }\n#endif\n#if CC_USE_SKINNING\n #if CC_USE_BAKED_ANIMATION\n layout(set = 2, binding = 3) uniform CCSkinningTexture {\n highp vec4 cc_jointTextureInfo;\n };\n layout(set = 2, binding = 2) uniform CCSkinningAnimation {\n highp vec4 cc_jointAnimInfo;\n };\n layout(set = 2, binding = 7) uniform highp sampler2D cc_jointTexture;\n void CCGetJointTextureCoords(float pixelsPerJoint, float jointIdx, out highp float x, out highp float y, out highp float invSize)\n {\n #if USE_INSTANCING\n highp float temp = pixelsPerJoint * (a_jointAnimInfo.x * a_jointAnimInfo.y + jointIdx) + a_jointAnimInfo.z;\n #else\n highp float temp = pixelsPerJoint * (cc_jointAnimInfo.x * cc_jointTextureInfo.y + jointIdx) + cc_jointTextureInfo.z;\n #endif\n invSize = cc_jointTextureInfo.w;\n highp float tempY = floor(temp * invSize);\n x = floor(temp - tempY * cc_jointTextureInfo.x);\n y = (tempY + 0.5) * invSize;\n }\n #else\n #if CC_USE_REAL_TIME_JOINT_TEXTURE\n layout(set = 2, binding = 7) uniform highp sampler2D cc_realtimeJoint;\n #else\n layout(set = 2, binding = 3) uniform CCSkinning {\n highp vec4 cc_joints[CC_JOINT_UNIFORM_CAPACITY * 3];\n };\n #endif\n #endif\n #if CC_USE_BAKED_ANIMATION\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n mat4 getJointMatrix (float i) {\n highp float x, y, invSize;\n CCGetJointTextureCoords(3.0, i, x, y, invSize);\n vec4 v1 = texture(cc_jointTexture, vec2((x + 0.5) * invSize, y));\n vec4 v2 = texture(cc_jointTexture, vec2((x + 1.5) * invSize, y));\n vec4 v3 = texture(cc_jointTexture, vec2((x + 2.5) * invSize, y));\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #else\n mat4 getJointMatrix (float i) {\n highp float x, y, invSize;\n CCGetJointTextureCoords(12.0, i, x, y, invSize);\n vec4 v1 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 0.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 1.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 2.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 3.5) * invSize, y)))\n );\n vec4 v2 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 4.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 5.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 6.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 7.5) * invSize, y)))\n );\n vec4 v3 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 8.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 9.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 10.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 11.5) * invSize, y)))\n );\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #else\n #if CC_USE_REAL_TIME_JOINT_TEXTURE\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n mat4 getJointMatrix (float i) {\n float x = i;\n vec4 v1 = texture(cc_realtimeJoint, vec2( x / 256.0, 0.5 / 3.0));\n vec4 v2 = texture(cc_realtimeJoint, vec2( x / 256.0, 1.5 / 3.0));\n vec4 v3 = texture(cc_realtimeJoint, vec2( x / 256.0, 2.5 / 3.0));\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #else\n mat4 getJointMatrix (float i) {\n float x = 4.0 * i;\n vec4 v1 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 0.5 / 3.0)))\n );\n vec4 v2 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 1.5 / 3.0)))\n );\n vec4 v3 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 2.5 / 3.0)))\n );\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #else\n mat4 getJointMatrix (float i) {\n int idx = int(i);\n vec4 v1 = cc_joints[idx * 3];\n vec4 v2 = cc_joints[idx * 3 + 1];\n vec4 v3 = cc_joints[idx * 3 + 2];\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #endif\n mat4 skinMatrix () {\n vec4 joints = vec4(a_joints);\n return getJointMatrix(joints.x) * a_weights.x\n + getJointMatrix(joints.y) * a_weights.y\n + getJointMatrix(joints.z) * a_weights.z\n + getJointMatrix(joints.w) * a_weights.w;\n }\n void CCSkin (inout vec4 position) {\n mat4 m = skinMatrix();\n position = m * position;\n }\n void CCSkin (inout vec4 position, inout vec3 normal, inout vec4 tangent) {\n mat4 m = skinMatrix();\n position = m * position;\n normal = (m * vec4(normal, 0.0)).xyz;\n tangent.xyz = (m * vec4(tangent.xyz, 0.0)).xyz;\n }\n#endif\nvoid CCVertInput(inout StandardVertInput In)\n{\n In.position = vec4(a_position, 1.0);\n In.normal = a_normal;\n In.tangent = a_tangent;\n #if CC_USE_MORPH\n applyMorph(In.position, In.normal, In.tangent);\n #endif\n #if CC_USE_SKINNING\n CCSkin(In.position, In.normal, In.tangent);\n #endif\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};\n#if !USE_INSTANCING\n layout(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 };\n#endif\nvoid CCGetWorldMatrixFull(out mat4 matWorld, out mat4 matWorldIT)\n{\n #if USE_INSTANCING\n matWorld = mat4(\n vec4(a_matWorld0.xyz, 0.0),\n vec4(a_matWorld1.xyz, 0.0),\n vec4(a_matWorld2.xyz, 0.0),\n vec4(a_matWorld0.w, a_matWorld1.w, a_matWorld2.w, 1.0)\n );\n vec3 scale = 1.0 / vec3(length(a_matWorld0.xyz), length(a_matWorld1.xyz), length(a_matWorld2.xyz));\n vec3 scale2 = scale * scale;\n matWorldIT = mat4(\n vec4(a_matWorld0.xyz * scale2.x, 0.0),\n vec4(a_matWorld1.xyz * scale2.y, 0.0),\n vec4(a_matWorld2.xyz * scale2.z, 0.0),\n vec4(0.0, 0.0, 0.0, 1.0)\n );\n #else\n matWorld = cc_matWorld;\n matWorldIT = cc_matWorldIT;\n #endif\n}\nlayout(set = 1, binding = 0) uniform Constants {\n vec4 tilingOffset;\n vec4 albedo;\n vec4 albedoScaleAndCutoff;\n vec4 pbrParams;\n vec4 emissive;\n vec4 emissiveScaleParam;\n};\n#if CC_USE_FOG != 4\n float LinearFog(vec4 pos, vec3 cameraPos, float fogStart, float fogEnd) {\n vec4 wPos = pos;\n float cam_dis = distance(cameraPos, wPos.xyz);\n return clamp((fogEnd - cam_dis) / (fogEnd - fogStart), 0., 1.);\n }\n float ExpFog(vec4 pos, vec3 cameraPos, float fogStart, float fogDensity, float fogAtten) {\n vec4 wPos = pos;\n float cam_dis = max(distance(cameraPos, wPos.xyz) - fogStart, 0.0) / fogAtten * 4.;\n float f = exp(-cam_dis * fogDensity);\n return f;\n }\n float ExpSquaredFog(vec4 pos, vec3 cameraPos, float fogStart, float fogDensity, float fogAtten) {\n vec4 wPos = pos;\n float cam_dis = max(distance(cameraPos, wPos.xyz) - fogStart, 0.0) / fogAtten * 4.;\n float f = exp(-cam_dis * cam_dis * fogDensity * fogDensity);\n return f;\n }\n float LayeredFog(vec4 pos, vec3 cameraPos, float fogTop, float fogRange, float fogAtten) {\n vec4 wPos = pos;\n vec3 camWorldProj = cameraPos.xyz;\n camWorldProj.y = 0.;\n vec3 worldPosProj = wPos.xyz;\n worldPosProj.y = 0.;\n float fDeltaD = distance(worldPosProj, camWorldProj) / fogAtten * 2.0;\n float fDeltaY, fDensityIntegral;\n if (cameraPos.y > fogTop) {\n if (wPos.y < fogTop) {\n fDeltaY = (fogTop - wPos.y) / fogRange * 2.0;\n fDensityIntegral = fDeltaY * fDeltaY * 0.5;\n }\n else {\n fDeltaY = 0.;\n fDensityIntegral = 0.;\n }\n }\n else {\n if (wPos.y < fogTop) {\n float fDeltaA = (fogTop - cameraPos.y) / fogRange * 2.;\n float fDeltaB = (fogTop - wPos.y) / fogRange * 2.;\n fDeltaY = abs(fDeltaA - fDeltaB);\n fDensityIntegral = abs((fDeltaA * fDeltaA * 0.5) - (fDeltaB * fDeltaB * 0.5));\n }\n else {\n fDeltaY = abs(fogTop - cameraPos.y) / fogRange * 2.;\n fDensityIntegral = abs(fDeltaY * fDeltaY * 0.5);\n }\n }\n float fDensity;\n if (fDeltaY != 0.) {\n fDensity = (sqrt(1.0 + ((fDeltaD / fDeltaY) * (fDeltaD / fDeltaY)))) * fDensityIntegral;\n }\n else {\n fDensity = 0.;\n }\n float f = exp(-fDensity);\n return f;\n }\n#endif\nvoid CC_TRANSFER_FOG_BASE(vec4 pos, out float factor)\n{\n#if CC_USE_FOG == 0\n\tfactor = LinearFog(pos, cc_cameraPos.xyz, cc_fogBase.x, cc_fogBase.y);\n#elif CC_USE_FOG == 1\n\tfactor = ExpFog(pos, cc_cameraPos.xyz, cc_fogBase.x, cc_fogBase.z, cc_fogAdd.z);\n#elif CC_USE_FOG == 2\n\tfactor = ExpSquaredFog(pos, cc_cameraPos.xyz, cc_fogBase.x, cc_fogBase.z, cc_fogAdd.z);\n#elif CC_USE_FOG == 3\n\tfactor = LayeredFog(pos, cc_cameraPos.xyz, cc_fogAdd.x, cc_fogAdd.y, cc_fogAdd.z);\n#else\n\tfactor = 1.0;\n#endif\n}\n#if !CC_USE_ACCURATE_FOG\nlayout(location = 0) out mediump float v_fog_factor;\n#endif\nvoid CC_TRANSFER_FOG(vec4 pos) {\n#if !CC_USE_ACCURATE_FOG\n CC_TRANSFER_FOG_BASE(pos, v_fog_factor);\n#endif\n}\nlayout(location = 1) out highp vec4 v_shadowPos;\nlayout(set = 0, binding = 2) uniform CCShadow {\n highp mat4 cc_matLightView;\n highp mat4 cc_matLightViewProj;\n highp vec4 cc_shadowInvProjDepthInfo;\n highp vec4 cc_shadowProjDepthInfo;\n highp vec4 cc_shadowProjInfo;\n mediump vec4 cc_shadowNFLSInfo;\n mediump vec4 cc_shadowWHPBInfo;\n mediump vec4 cc_shadowLPNNInfo;\n lowp vec4 cc_shadowColor;\n mediump vec4 cc_planarNDInfo;\n};\n#if CC_SUPPORT_CASCADED_SHADOW_MAP\n layout(set = 0, binding = 3) uniform CCCSM {\n highp vec4 cc_csmViewDir0[4];\n highp vec4 cc_csmViewDir1[4];\n highp vec4 cc_csmViewDir2[4];\n highp vec4 cc_csmAtlas[4];\n highp mat4 cc_matCSMViewProj[4];\n highp vec4 cc_csmProjDepthInfo[4];\n highp vec4 cc_csmProjInfo[4];\n highp vec4 cc_csmSplitsInfo;\n };\n#endif\n#if defined(CC_USE_METAL) || defined(CC_USE_WGPU)\n#define CC_HANDLE_SAMPLE_NDC_FLIP_STATIC(y) y = -y\n#else\n#define CC_HANDLE_SAMPLE_NDC_FLIP_STATIC(y)\n#endif\n#if CC_RECEIVE_SHADOW\n layout(set = 0, binding = 4) uniform highp sampler2D cc_shadowMap;\n layout(set = 0, binding = 6) uniform highp sampler2D cc_spotShadowMap;\n #define UnpackBitFromFloat(value, bit) (mod(floor(value / pow(10.0, float(bit))), 10.0) > 0.0)\n #if CC_SUPPORT_CASCADED_SHADOW_MAP\n #else\n #endif\n#endif\n#if CC_RECEIVE_SHADOW\nvec2 CCGetShadowBias()\n{\n #if USE_INSTANCING\n return vec2(a_localShadowBiasAndProbeId.x + cc_shadowWHPBInfo.w, a_localShadowBiasAndProbeId.y + cc_shadowLPNNInfo.z);\n #else\n return vec2(cc_localShadowBias.x + cc_shadowWHPBInfo.w, cc_localShadowBias.y + cc_shadowLPNNInfo.z);\n #endif\n}\n#endif\n#if CC_USE_LIGHT_PROBE\n #if USE_INSTANCING\n layout(location = 2) out mediump vec4 v_sh_linear_const_r;\n layout(location = 3) out mediump vec4 v_sh_linear_const_g;\n layout(location = 4) out mediump vec4 v_sh_linear_const_b;\n #endif\n#endif\nvoid CC_TRANSFER_SH() {\n#if CC_USE_LIGHT_PROBE\n #if USE_INSTANCING\n v_sh_linear_const_r = a_sh_linear_const_r;\n v_sh_linear_const_g = a_sh_linear_const_g;\n v_sh_linear_const_b = a_sh_linear_const_b;\n #endif\n#endif\n}\n#if USE_VERTEX_COLOR\n layout(location = 17) in vec4 a_color;\n layout(location = 5) out lowp vec4 v_color;\n#endif\nlayout(location = 6) out vec3 v_position;\nlayout(location = 7) out vec3 v_normal;\nlayout(location = 8) out vec2 v_uv;\n#if HAS_SECOND_UV\n layout(location = 9) out mediump vec2 v_uv1;\n#endif\n#if CC_RECEIVE_SHADOW || CC_USE_REFLECTION_PROBE\n layout(location = 10) out mediump vec4 v_shadowBiasAndProbeId;\n#endif\n#if CC_USE_REFLECTION_PROBE && USE_INSTANCING\n layout(location = 11) out mediump vec4 v_reflectionProbeData;\n#endif\n#if USE_NORMAL_MAP\n layout(location = 12) out mediump vec4 v_tangent;\n#endif\n#if HAS_SECOND_UV || CC_USE_LIGHTMAP\n layout(location = 18) in vec2 a_texCoord1;\n#endif\n#if CC_USE_LIGHTMAP && !CC_FORWARD_ADD\n layout(location = 13) out vec3 v_luv;\n void CCLightingMapCaclUV()\n {\n #if !USE_INSTANCING\n v_luv.xy = cc_lightingMapUVParam.xy + a_texCoord1 * cc_lightingMapUVParam.z;\n v_luv.z = cc_lightingMapUVParam.w;\n #else\n v_luv.xy = a_lightingMapUVParam.xy + a_texCoord1 * a_lightingMapUVParam.z;\n v_luv.z = a_lightingMapUVParam.w;\n #endif\n }\n#endif\nvoid main () {\n StandardVertInput In;\n CCVertInput(In);\n mat4 matWorld, matWorldIT;\n CCGetWorldMatrixFull(matWorld, matWorldIT);\n vec4 pos = matWorld * In.position;\n v_position = pos.xyz;\n v_normal = normalize((matWorldIT * vec4(In.normal, 0.0)).xyz);\n #if CC_RECEIVE_SHADOW\n v_shadowBiasAndProbeId.xy = CCGetShadowBias();\n #endif\n #if CC_RECEIVE_SHADOW || CC_USE_REFLECTION_PROBE\n #if USE_INSTANCING\n v_shadowBiasAndProbeId.zw = a_localShadowBiasAndProbeId.zw;\n #else\n v_shadowBiasAndProbeId.zw = cc_localShadowBias.zw;\n #endif\n #endif\n #if CC_USE_REFLECTION_PROBE && USE_INSTANCING\n v_reflectionProbeData = a_reflectionProbeData;\n #endif\n #if USE_TWOSIDE\n vec3 viewDirect = normalize(cc_cameraPos.xyz - v_position);\n v_normal *= dot(v_normal, viewDirect) < 0.0 ? -1.0 : 1.0;\n #endif\n #if USE_NORMAL_MAP\n v_tangent.xyz = normalize((matWorld * vec4(In.tangent.xyz, 0.0)).xyz);\n v_tangent.w = In.tangent.w;\n #endif\n v_uv = a_texCoord * tilingOffset.xy + tilingOffset.zw;\n #if SAMPLE_FROM_RT\n v_uv = cc_cameraPos.w > 1.0 ? vec2(v_uv.x, 1.0 - v_uv.y) : v_uv;\n #endif\n #if HAS_SECOND_UV\n v_uv1 = a_texCoord1 * tilingOffset.xy + tilingOffset.zw;\n #if SAMPLE_FROM_RT\n v_uv1 = cc_cameraPos.w > 1.0 ? vec2(v_uv1.x, 1.0 - v_uv1.y) : v_uv1;\n #endif\n #endif\n #if USE_VERTEX_COLOR\n v_color = a_color;\n #endif\n CC_TRANSFER_FOG(pos);\n v_shadowPos = cc_matLightViewProj * pos;\n CC_TRANSFER_SH();\n #if CC_USE_LIGHTMAP && !CC_FORWARD_ADD\n CCLightingMapCaclUV();\n #endif\n gl_Position = cc_matProj * (cc_matView * matWorld) * In.position;\n}","frag":"\nprecision highp 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};\nlayout(set = 1, binding = 0) uniform Constants {\n vec4 tilingOffset;\n vec4 albedo;\n vec4 albedoScaleAndCutoff;\n vec4 pbrParams;\n vec4 emissive;\n vec4 emissiveScaleParam;\n};\n#if CC_USE_FOG != 4\n float LinearFog(vec4 pos, vec3 cameraPos, float fogStart, float fogEnd) {\n vec4 wPos = pos;\n float cam_dis = distance(cameraPos, wPos.xyz);\n return clamp((fogEnd - cam_dis) / (fogEnd - fogStart), 0., 1.);\n }\n float ExpFog(vec4 pos, vec3 cameraPos, float fogStart, float fogDensity, float fogAtten) {\n vec4 wPos = pos;\n float cam_dis = max(distance(cameraPos, wPos.xyz) - fogStart, 0.0) / fogAtten * 4.;\n float f = exp(-cam_dis * fogDensity);\n return f;\n }\n float ExpSquaredFog(vec4 pos, vec3 cameraPos, float fogStart, float fogDensity, float fogAtten) {\n vec4 wPos = pos;\n float cam_dis = max(distance(cameraPos, wPos.xyz) - fogStart, 0.0) / fogAtten * 4.;\n float f = exp(-cam_dis * cam_dis * fogDensity * fogDensity);\n return f;\n }\n float LayeredFog(vec4 pos, vec3 cameraPos, float fogTop, float fogRange, float fogAtten) {\n vec4 wPos = pos;\n vec3 camWorldProj = cameraPos.xyz;\n camWorldProj.y = 0.;\n vec3 worldPosProj = wPos.xyz;\n worldPosProj.y = 0.;\n float fDeltaD = distance(worldPosProj, camWorldProj) / fogAtten * 2.0;\n float fDeltaY, fDensityIntegral;\n if (cameraPos.y > fogTop) {\n if (wPos.y < fogTop) {\n fDeltaY = (fogTop - wPos.y) / fogRange * 2.0;\n fDensityIntegral = fDeltaY * fDeltaY * 0.5;\n }\n else {\n fDeltaY = 0.;\n fDensityIntegral = 0.;\n }\n }\n else {\n if (wPos.y < fogTop) {\n float fDeltaA = (fogTop - cameraPos.y) / fogRange * 2.;\n float fDeltaB = (fogTop - wPos.y) / fogRange * 2.;\n fDeltaY = abs(fDeltaA - fDeltaB);\n fDensityIntegral = abs((fDeltaA * fDeltaA * 0.5) - (fDeltaB * fDeltaB * 0.5));\n }\n else {\n fDeltaY = abs(fogTop - cameraPos.y) / fogRange * 2.;\n fDensityIntegral = abs(fDeltaY * fDeltaY * 0.5);\n }\n }\n float fDensity;\n if (fDeltaY != 0.) {\n fDensity = (sqrt(1.0 + ((fDeltaD / fDeltaY) * (fDeltaD / fDeltaY)))) * fDensityIntegral;\n }\n else {\n fDensity = 0.;\n }\n float f = exp(-fDensity);\n return f;\n }\n#endif\nvoid CC_TRANSFER_FOG_BASE(vec4 pos, out float factor)\n{\n#if CC_USE_FOG == 0\n\tfactor = LinearFog(pos, cc_cameraPos.xyz, cc_fogBase.x, cc_fogBase.y);\n#elif CC_USE_FOG == 1\n\tfactor = ExpFog(pos, cc_cameraPos.xyz, cc_fogBase.x, cc_fogBase.z, cc_fogAdd.z);\n#elif CC_USE_FOG == 2\n\tfactor = ExpSquaredFog(pos, cc_cameraPos.xyz, cc_fogBase.x, cc_fogBase.z, cc_fogAdd.z);\n#elif CC_USE_FOG == 3\n\tfactor = LayeredFog(pos, cc_cameraPos.xyz, cc_fogAdd.x, cc_fogAdd.y, cc_fogAdd.z);\n#else\n\tfactor = 1.0;\n#endif\n}\nvoid CC_APPLY_FOG_BASE(inout vec4 color, float factor) {\n\tcolor = vec4(mix(cc_fogColor.rgb, color.rgb, factor), color.a);\n}\n#if !CC_USE_ACCURATE_FOG\nlayout(location = 0) in mediump float v_fog_factor;\n#endif\nvoid CC_APPLY_FOG(inout vec4 color) {\n#if !CC_USE_ACCURATE_FOG\n CC_APPLY_FOG_BASE(color, v_fog_factor);\n#endif\n}\nvoid CC_APPLY_FOG(inout vec4 color, vec3 worldPos) {\n#if CC_USE_ACCURATE_FOG\n float factor;\n CC_TRANSFER_FOG_BASE(vec4(worldPos, 1.0), factor);\n#else\n float factor = v_fog_factor;\n#endif\n CC_APPLY_FOG_BASE(color, factor);\n}\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\nvec3 SRGBToLinear (vec3 gamma) {\n#ifdef CC_USE_SURFACE_SHADER\n #if CC_USE_DEBUG_VIEW == CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC && CC_SURFACES_ENABLE_DEBUG_VIEW\n if (!IS_DEBUG_VIEW_COMPOSITE_ENABLE_GAMMA_CORRECTION) {\n return gamma;\n }\n #endif\n#endif\n return gamma * gamma;\n}\nvec3 LinearToSRGB(vec3 linear) {\n#ifdef CC_USE_SURFACE_SHADER\n #if CC_USE_DEBUG_VIEW == CC_SURFACES_DEBUG_VIEW_COMPOSITE_AND_MISC && CC_SURFACES_ENABLE_DEBUG_VIEW\n if (!IS_DEBUG_VIEW_COMPOSITE_ENABLE_GAMMA_CORRECTION) {\n return linear;\n }\n #endif\n#endif\n return sqrt(linear);\n}\nlayout(set = 0, binding = 2) uniform CCShadow {\n highp mat4 cc_matLightView;\n highp mat4 cc_matLightViewProj;\n highp vec4 cc_shadowInvProjDepthInfo;\n highp vec4 cc_shadowProjDepthInfo;\n highp vec4 cc_shadowProjInfo;\n mediump vec4 cc_shadowNFLSInfo;\n mediump vec4 cc_shadowWHPBInfo;\n mediump vec4 cc_shadowLPNNInfo;\n lowp vec4 cc_shadowColor;\n mediump vec4 cc_planarNDInfo;\n};\n#if CC_SUPPORT_CASCADED_SHADOW_MAP\n layout(set = 0, binding = 3) uniform CCCSM {\n highp vec4 cc_csmViewDir0[4];\n highp vec4 cc_csmViewDir1[4];\n highp vec4 cc_csmViewDir2[4];\n highp vec4 cc_csmAtlas[4];\n highp mat4 cc_matCSMViewProj[4];\n highp vec4 cc_csmProjDepthInfo[4];\n highp vec4 cc_csmProjInfo[4];\n highp vec4 cc_csmSplitsInfo;\n };\n#endif\n#if defined(CC_USE_METAL) || defined(CC_USE_WGPU)\n#define CC_HANDLE_SAMPLE_NDC_FLIP_STATIC(y) y = -y\n#else\n#define CC_HANDLE_SAMPLE_NDC_FLIP_STATIC(y)\n#endif\nvec2 GetPlanarReflectScreenUV(vec3 worldPos, mat4 matVirtualCameraViewProj, float flipNDCSign, vec3 viewDir, vec3 reflectDir)\n{\n vec4 clipPos = matVirtualCameraViewProj * vec4(worldPos, 1.0);\n vec2 screenUV = clipPos.xy / clipPos.w * 0.5 + 0.5;\n screenUV = vec2(1.0 - screenUV.x, screenUV.y);\n screenUV = flipNDCSign == 1.0 ? vec2(screenUV.x, 1.0 - screenUV.y) : screenUV;\n return screenUV;\n}\nfloat GetLinearDepthFromViewSpace(vec3 viewPos, float near, float far) {\n float dist = length(viewPos);\n return (dist - near) / (far - near);\n}\nvec3 RotationVecFromAxisY(vec3 v, float cosTheta, float sinTheta)\n{\n vec3 result;\n result.x = dot(v, vec3(cosTheta, 0.0, -sinTheta));\n result.y = v.y;\n result.z = dot(v, vec3(sinTheta, 0.0, cosTheta));\n return result;\n}\nvec3 RotationVecFromAxisY(vec3 v, float rotateAngleArc)\n{\n return RotationVecFromAxisY(v, cos(rotateAngleArc), sin(rotateAngleArc));\n}\nfloat CCGetLinearDepth(vec3 worldPos, float viewSpaceBias) {\n\tvec4 viewPos = cc_matLightView * vec4(worldPos.xyz, 1.0);\n viewPos.z += viewSpaceBias;\n\treturn GetLinearDepthFromViewSpace(viewPos.xyz, cc_shadowNFLSInfo.x, cc_shadowNFLSInfo.y);\n}\nfloat CCGetLinearDepth(vec3 worldPos) {\n\treturn CCGetLinearDepth(worldPos, 0.0);\n}\n#if CC_RECEIVE_SHADOW\n layout(set = 0, binding = 4) uniform highp sampler2D cc_shadowMap;\n layout(set = 0, binding = 6) uniform highp sampler2D cc_spotShadowMap;\n #define UnpackBitFromFloat(value, bit) (mod(floor(value / pow(10.0, float(bit))), 10.0) > 0.0)\n highp float unpackHighpData (float mainPart, float modPart) {\n highp float data = mainPart;\n return data + modPart;\n }\n void packHighpData (out float mainPart, out float modPart, highp float data) {\n mainPart = fract(data);\n modPart = data - mainPart;\n }\n highp float unpackHighpData (float mainPart, float modPart, const float modValue) {\n highp float data = mainPart * modValue;\n return data + modPart * modValue;\n }\n void packHighpData (out float mainPart, out float modPart, highp float data, const float modValue) {\n highp float divide = data / modValue;\n mainPart = floor(divide);\n modPart = (data - mainPart * modValue) / modValue;\n }\n highp vec2 unpackHighpData (vec2 mainPart, vec2 modPart) {\n highp vec2 data = mainPart;\n return data + modPart;\n }\n void packHighpData (out vec2 mainPart, out vec2 modPart, highp vec2 data) {\n mainPart = fract(data);\n modPart = data - mainPart;\n }\n highp vec2 unpackHighpData (vec2 mainPart, vec2 modPart, const float modValue) {\n highp vec2 data = mainPart * modValue;\n return data + modPart * modValue;\n }\n void packHighpData (out vec2 mainPart, out vec2 modPart, highp vec2 data, const float modValue) {\n highp vec2 divide = data / modValue;\n mainPart = floor(divide);\n modPart = (data - mainPart * modValue) / modValue;\n }\n highp vec3 unpackHighpData (vec3 mainPart, vec3 modPart) {\n highp vec3 data = mainPart;\n return data + modPart;\n }\n void packHighpData (out vec3 mainPart, out vec3 modPart, highp vec3 data) {\n mainPart = fract(data);\n modPart = data - mainPart;\n }\n highp vec3 unpackHighpData (vec3 mainPart, vec3 modPart, const float modValue) {\n highp vec3 data = mainPart * modValue;\n return data + modPart * modValue;\n }\n void packHighpData (out vec3 mainPart, out vec3 modPart, highp vec3 data, const float modValue) {\n highp vec3 divide = data / modValue;\n mainPart = floor(divide);\n modPart = (data - mainPart * modValue) / modValue;\n }\n highp vec4 unpackHighpData (vec4 mainPart, vec4 modPart) {\n highp vec4 data = mainPart;\n return data + modPart;\n }\n void packHighpData (out vec4 mainPart, out vec4 modPart, highp vec4 data) {\n mainPart = fract(data);\n modPart = data - mainPart;\n }\n highp vec4 unpackHighpData (vec4 mainPart, vec4 modPart, const float modValue) {\n highp vec4 data = mainPart * modValue;\n return data + modPart * modValue;\n }\n void packHighpData (out vec4 mainPart, out vec4 modPart, highp vec4 data, const float modValue) {\n highp vec4 divide = data / modValue;\n mainPart = floor(divide);\n modPart = (data - mainPart * modValue) / modValue;\n }\n float NativePCFShadowFactorHard (vec3 shadowNDCPos, highp sampler2D shadowMap, vec2 shadowMapResolution)\n {\n #if CC_SHADOWMAP_FORMAT == 1\n return step(shadowNDCPos.z, dot(texture(shadowMap, shadowNDCPos.xy), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n #else\n return step(shadowNDCPos.z, texture(shadowMap, shadowNDCPos.xy).x);\n #endif\n }\n float NativePCFShadowFactorSoft (vec3 shadowNDCPos, highp sampler2D shadowMap, vec2 shadowMapResolution)\n {\n vec2 oneTap = 1.0 / shadowMapResolution;\n vec2 shadowNDCPos_offset = shadowNDCPos.xy + oneTap;\n float block0, block1, block2, block3;\n #if CC_SHADOWMAP_FORMAT == 1\n block0 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos.y)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block1 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset.x, shadowNDCPos.y)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block2 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos_offset.y)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block3 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset.x, shadowNDCPos_offset.y)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n #else\n block0 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos.y)).x);\n block1 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset.x, shadowNDCPos.y)).x);\n block2 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos_offset.y)).x);\n block3 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset.x, shadowNDCPos_offset.y)).x);\n #endif\n float coefX = mod(shadowNDCPos.x, oneTap.x) * shadowMapResolution.x;\n float resultX = mix(block0, block1, coefX);\n float resultY = mix(block2, block3, coefX);\n float coefY = mod(shadowNDCPos.y, oneTap.y) * shadowMapResolution.y;\n return mix(resultX, resultY, coefY);\n }\n float NativePCFShadowFactorSoft3X (vec3 shadowNDCPos, highp sampler2D shadowMap, vec2 shadowMapResolution)\n {\n vec2 oneTap = 1.0 / shadowMapResolution;\n float shadowNDCPos_offset_L = shadowNDCPos.x - oneTap.x;\n float shadowNDCPos_offset_R = shadowNDCPos.x + oneTap.x;\n float shadowNDCPos_offset_U = shadowNDCPos.y - oneTap.y;\n float shadowNDCPos_offset_D = shadowNDCPos.y + oneTap.y;\n float block0, block1, block2, block3, block4, block5, block6, block7, block8;\n #if CC_SHADOWMAP_FORMAT == 1\n block0 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset_L, shadowNDCPos_offset_U)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block1 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos_offset_U)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block2 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset_R, shadowNDCPos_offset_U)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block3 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset_L, shadowNDCPos.y)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block4 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos.y)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block5 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset_R, shadowNDCPos.y)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block6 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset_L, shadowNDCPos_offset_D)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block7 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos_offset_D)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block8 = step(shadowNDCPos.z, dot(texture(shadowMap, vec2(shadowNDCPos_offset_R, shadowNDCPos_offset_D)), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n #else\n block0 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset_L, shadowNDCPos_offset_U)).x);\n block1 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos_offset_U)).x);\n block2 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset_R, shadowNDCPos_offset_U)).x);\n block3 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset_L, shadowNDCPos.y)).x);\n block4 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos.y)).x);\n block5 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset_R, shadowNDCPos.y)).x);\n block6 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset_L, shadowNDCPos_offset_D)).x);\n block7 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos.x, shadowNDCPos_offset_D)).x);\n block8 = step(shadowNDCPos.z, texture(shadowMap, vec2(shadowNDCPos_offset_R, shadowNDCPos_offset_D)).x);\n #endif\n float coefX = mod(shadowNDCPos.x, oneTap.x) * shadowMapResolution.x;\n float coefY = mod(shadowNDCPos.y, oneTap.y) * shadowMapResolution.y;\n float shadow = 0.0;\n float resultX = mix(block0, block1, coefX);\n float resultY = mix(block3, block4, coefX);\n shadow += mix(resultX , resultY, coefY);\n resultX = mix(block1, block2, coefX);\n resultY = mix(block4, block5, coefX);\n shadow += mix(resultX , resultY, coefY);\n resultX = mix(block3, block4, coefX);\n resultY = mix(block6, block7, coefX);\n shadow += mix(resultX, resultY, coefY);\n resultX = mix(block4, block5, coefX);\n resultY = mix(block7, block8, coefX);\n shadow += mix(resultX, resultY, coefY);\n return shadow * 0.25;\n }\n float NativePCFShadowFactorSoft5X (vec3 shadowNDCPos, highp sampler2D shadowMap, vec2 shadowMapResolution)\n {\n vec2 oneTap = 1.0 / shadowMapResolution;\n vec2 twoTap = oneTap * 2.0;\n vec2 offset1 = shadowNDCPos.xy + vec2(-twoTap.x, -twoTap.y);\n vec2 offset2 = shadowNDCPos.xy + vec2(-oneTap.x, -twoTap.y);\n vec2 offset3 = shadowNDCPos.xy + vec2(0.0, -twoTap.y);\n vec2 offset4 = shadowNDCPos.xy + vec2(oneTap.x, -twoTap.y);\n vec2 offset5 = shadowNDCPos.xy + vec2(twoTap.x, -twoTap.y);\n vec2 offset6 = shadowNDCPos.xy + vec2(-twoTap.x, -oneTap.y);\n vec2 offset7 = shadowNDCPos.xy + vec2(-oneTap.x, -oneTap.y);\n vec2 offset8 = shadowNDCPos.xy + vec2(0.0, -oneTap.y);\n vec2 offset9 = shadowNDCPos.xy + vec2(oneTap.x, -oneTap.y);\n vec2 offset10 = shadowNDCPos.xy + vec2(twoTap.x, -oneTap.y);\n vec2 offset11 = shadowNDCPos.xy + vec2(-twoTap.x, 0.0);\n vec2 offset12 = shadowNDCPos.xy + vec2(-oneTap.x, 0.0);\n vec2 offset13 = shadowNDCPos.xy + vec2(0.0, 0.0);\n vec2 offset14 = shadowNDCPos.xy + vec2(oneTap.x, 0.0);\n vec2 offset15 = shadowNDCPos.xy + vec2(twoTap.x, 0.0);\n vec2 offset16 = shadowNDCPos.xy + vec2(-twoTap.x, oneTap.y);\n vec2 offset17 = shadowNDCPos.xy + vec2(-oneTap.x, oneTap.y);\n vec2 offset18 = shadowNDCPos.xy + vec2(0.0, oneTap.y);\n vec2 offset19 = shadowNDCPos.xy + vec2(oneTap.x, oneTap.y);\n vec2 offset20 = shadowNDCPos.xy + vec2(twoTap.x, oneTap.y);\n vec2 offset21 = shadowNDCPos.xy + vec2(-twoTap.x, twoTap.y);\n vec2 offset22 = shadowNDCPos.xy + vec2(-oneTap.x, twoTap.y);\n vec2 offset23 = shadowNDCPos.xy + vec2(0.0, twoTap.y);\n vec2 offset24 = shadowNDCPos.xy + vec2(oneTap.x, twoTap.y);\n vec2 offset25 = shadowNDCPos.xy + vec2(twoTap.x, twoTap.y);\n float block1, block2, block3, block4, block5, block6, block7, block8, block9, block10, block11, block12, block13, block14, block15, block16, block17, block18, block19, block20, block21, block22, block23, block24, block25;\n #if CC_SHADOWMAP_FORMAT == 1\n block1 = step(shadowNDCPos.z, dot(texture(shadowMap, offset1), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block2 = step(shadowNDCPos.z, dot(texture(shadowMap, offset2), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block3 = step(shadowNDCPos.z, dot(texture(shadowMap, offset3), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block4 = step(shadowNDCPos.z, dot(texture(shadowMap, offset4), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block5 = step(shadowNDCPos.z, dot(texture(shadowMap, offset5), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block6 = step(shadowNDCPos.z, dot(texture(shadowMap, offset6), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block7 = step(shadowNDCPos.z, dot(texture(shadowMap, offset7), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block8 = step(shadowNDCPos.z, dot(texture(shadowMap, offset8), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block9 = step(shadowNDCPos.z, dot(texture(shadowMap, offset9), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block10 = step(shadowNDCPos.z, dot(texture(shadowMap, offset10), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block11 = step(shadowNDCPos.z, dot(texture(shadowMap, offset11), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block12 = step(shadowNDCPos.z, dot(texture(shadowMap, offset12), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block13 = step(shadowNDCPos.z, dot(texture(shadowMap, offset13), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block14 = step(shadowNDCPos.z, dot(texture(shadowMap, offset14), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block15 = step(shadowNDCPos.z, dot(texture(shadowMap, offset15), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block16 = step(shadowNDCPos.z, dot(texture(shadowMap, offset16), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block17 = step(shadowNDCPos.z, dot(texture(shadowMap, offset17), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block18 = step(shadowNDCPos.z, dot(texture(shadowMap, offset18), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block19 = step(shadowNDCPos.z, dot(texture(shadowMap, offset19), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block20 = step(shadowNDCPos.z, dot(texture(shadowMap, offset20), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block21 = step(shadowNDCPos.z, dot(texture(shadowMap, offset21), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block22 = step(shadowNDCPos.z, dot(texture(shadowMap, offset22), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block23 = step(shadowNDCPos.z, dot(texture(shadowMap, offset23), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block24 = step(shadowNDCPos.z, dot(texture(shadowMap, offset24), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n block25 = step(shadowNDCPos.z, dot(texture(shadowMap, offset25), vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)));\n #else\n block1 = step(shadowNDCPos.z, texture(shadowMap, offset1).x);\n block2 = step(shadowNDCPos.z, texture(shadowMap, offset2).x);\n block3 = step(shadowNDCPos.z, texture(shadowMap, offset3).x);\n block4 = step(shadowNDCPos.z, texture(shadowMap, offset4).x);\n block5 = step(shadowNDCPos.z, texture(shadowMap, offset5).x);\n block6 = step(shadowNDCPos.z, texture(shadowMap, offset6).x);\n block7 = step(shadowNDCPos.z, texture(shadowMap, offset7).x);\n block8 = step(shadowNDCPos.z, texture(shadowMap, offset8).x);\n block9 = step(shadowNDCPos.z, texture(shadowMap, offset9).x);\n block10 = step(shadowNDCPos.z, texture(shadowMap, offset10).x);\n block11 = step(shadowNDCPos.z, texture(shadowMap, offset11).x);\n block12 = step(shadowNDCPos.z, texture(shadowMap, offset12).x);\n block13 = step(shadowNDCPos.z, texture(shadowMap, offset13).x);\n block14 = step(shadowNDCPos.z, texture(shadowMap, offset14).x);\n block15 = step(shadowNDCPos.z, texture(shadowMap, offset15).x);\n block16 = step(shadowNDCPos.z, texture(shadowMap, offset16).x);\n block17 = step(shadowNDCPos.z, texture(shadowMap, offset17).x);\n block18 = step(shadowNDCPos.z, texture(shadowMap, offset18).x);\n block19 = step(shadowNDCPos.z, texture(shadowMap, offset19).x);\n block20 = step(shadowNDCPos.z, texture(shadowMap, offset20).x);\n block21 = step(shadowNDCPos.z, texture(shadowMap, offset21).x);\n block22 = step(shadowNDCPos.z, texture(shadowMap, offset22).x);\n block23 = step(shadowNDCPos.z, texture(shadowMap, offset23).x);\n block24 = step(shadowNDCPos.z, texture(shadowMap, offset24).x);\n block25 = step(shadowNDCPos.z, texture(shadowMap, offset25).x);\n #endif\n vec2 coef = fract(shadowNDCPos.xy * shadowMapResolution);\n vec2 v1X1 = mix(vec2(block1, block6), vec2(block2, block7), coef.xx);\n vec2 v1X2 = mix(vec2(block2, block7), vec2(block3, block8), coef.xx);\n vec2 v1X3 = mix(vec2(block3, block8), vec2(block4, block9), coef.xx);\n vec2 v1X4 = mix(vec2(block4, block9), vec2(block5, block10), coef.xx);\n float v1 = mix(v1X1.x, v1X1.y, coef.y) + mix(v1X2.x, v1X2.y, coef.y) + mix(v1X3.x, v1X3.y, coef.y) + mix(v1X4.x, v1X4.y, coef.y);\n vec2 v2X1 = mix(vec2(block6, block11), vec2(block7, block12), coef.xx);\n vec2 v2X2 = mix(vec2(block7, block12), vec2(block8, block13), coef.xx);\n vec2 v2X3 = mix(vec2(block8, block13), vec2(block9, block14), coef.xx);\n vec2 v2X4 = mix(vec2(block9, block14), vec2(block10, block15), coef.xx);\n float v2 = mix(v2X1.x, v2X1.y, coef.y) + mix(v2X2.x, v2X2.y, coef.y) + mix(v2X3.x, v2X3.y, coef.y) + mix(v2X4.x, v2X4.y, coef.y);\n vec2 v3X1 = mix(vec2(block11, block16), vec2(block12, block17), coef.xx);\n vec2 v3X2 = mix(vec2(block12, block17), vec2(block13, block18), coef.xx);\n vec2 v3X3 = mix(vec2(block13, block18), vec2(block14, block19), coef.xx);\n vec2 v3X4 = mix(vec2(block14, block19), vec2(block15, block20), coef.xx);\n float v3 = mix(v3X1.x, v3X1.y, coef.y) + mix(v3X2.x, v3X2.y, coef.y) + mix(v3X3.x, v3X3.y, coef.y) + mix(v3X4.x, v3X4.y, coef.y);\n vec2 v4X1 = mix(vec2(block16, block21), vec2(block17, block22), coef.xx);\n vec2 v4X2 = mix(vec2(block17, block22), vec2(block18, block23), coef.xx);\n vec2 v4X3 = mix(vec2(block18, block23), vec2(block19, block24), coef.xx);\n vec2 v4X4 = mix(vec2(block19, block24), vec2(block20, block25), coef.xx);\n float v4 = mix(v4X1.x, v4X1.y, coef.y) + mix(v4X2.x, v4X2.y, coef.y) + mix(v4X3.x, v4X3.y, coef.y) + mix(v4X4.x, v4X4.y, coef.y);\n float fAvg = (v1 + v2 + v3 + v4) * 0.0625;\n return fAvg;\n }\n bool GetShadowNDCPos(out vec3 shadowNDCPos, vec4 shadowPosWithDepthBias)\n {\n \tshadowNDCPos = shadowPosWithDepthBias.xyz / shadowPosWithDepthBias.w * 0.5 + 0.5;\n \tif (shadowNDCPos.x < 0.0 || shadowNDCPos.x > 1.0 ||\n \t\tshadowNDCPos.y < 0.0 || shadowNDCPos.y > 1.0 ||\n \t\tshadowNDCPos.z < 0.0 || shadowNDCPos.z > 1.0) {\n \t\treturn false;\n \t}\n \tshadowNDCPos.xy = cc_cameraPos.w == 1.0 ? vec2(shadowNDCPos.xy.x, 1.0 - shadowNDCPos.xy.y) : shadowNDCPos.xy;\n \treturn true;\n }\n vec4 ApplyShadowDepthBias_FaceNormal(vec4 shadowPos, vec3 worldNormal, float normalBias, vec3 matViewDir0, vec3 matViewDir1, vec3 matViewDir2, vec2 projScaleXY)\n {\n vec4 newShadowPos = shadowPos;\n if (normalBias > EPSILON_LOWP)\n {\n vec3 viewNormal = vec3(dot(matViewDir0, worldNormal), dot(matViewDir1, worldNormal), dot(matViewDir2, worldNormal));\n if (viewNormal.z < 0.1)\n newShadowPos.xy += viewNormal.xy * projScaleXY * normalBias * clamp(viewNormal.z, 0.001, 0.1);\n }\n return newShadowPos;\n }\n vec4 ApplyShadowDepthBias_FaceNormal(vec4 shadowPos, vec3 worldNormal, float normalBias, mat4 matLightView, vec2 projScaleXY)\n {\n \tvec4 newShadowPos = shadowPos;\n \tif (normalBias > EPSILON_LOWP)\n \t{\n \t\tvec4 viewNormal = matLightView * vec4(worldNormal, 0.0);\n \t\tif (viewNormal.z < 0.1)\n \t\t\tnewShadowPos.xy += viewNormal.xy * projScaleXY * normalBias * clamp(viewNormal.z, 0.001, 0.1);\n \t}\n \treturn newShadowPos;\n }\n float GetViewSpaceDepthFromNDCDepth_Orthgraphic(float NDCDepth, float projScaleZ, float projBiasZ)\n {\n \treturn (NDCDepth - projBiasZ) / projScaleZ;\n }\n float GetViewSpaceDepthFromNDCDepth_Perspective(float NDCDepth, float homogenousDividW, float invProjScaleZ, float invProjBiasZ)\n {\n \treturn NDCDepth * invProjScaleZ + homogenousDividW * invProjBiasZ;\n }\n vec4 ApplyShadowDepthBias_Perspective(vec4 shadowPos, float viewspaceDepthBias)\n {\n \tvec3 viewSpacePos;\n \tviewSpacePos.xy = shadowPos.xy * cc_shadowProjInfo.zw;\n \tviewSpacePos.z = GetViewSpaceDepthFromNDCDepth_Perspective(shadowPos.z, shadowPos.w, cc_shadowInvProjDepthInfo.x, cc_shadowInvProjDepthInfo.y);\n \tviewSpacePos.xyz += cc_shadowProjDepthInfo.z * normalize(viewSpacePos.xyz) * viewspaceDepthBias;\n \tvec4 clipSpacePos;\n \tclipSpacePos.xy = viewSpacePos.xy * cc_shadowProjInfo.xy;\n \tclipSpacePos.zw = viewSpacePos.z * cc_shadowProjDepthInfo.xz + vec2(cc_shadowProjDepthInfo.y, 0.0);\n \t#if CC_SHADOWMAP_USE_LINEAR_DEPTH\n \t\tclipSpacePos.z = GetLinearDepthFromViewSpace(viewSpacePos.xyz, cc_shadowNFLSInfo.x, cc_shadowNFLSInfo.y);\n \t\tclipSpacePos.z = (clipSpacePos.z * 2.0 - 1.0) * clipSpacePos.w;\n \t#endif\n \treturn clipSpacePos;\n }\n vec4 ApplyShadowDepthBias_Orthographic(vec4 shadowPos, float viewspaceDepthBias, float projScaleZ, float projBiasZ)\n {\n \tfloat coeffA = projScaleZ;\n \tfloat coeffB = projBiasZ;\n \tfloat viewSpacePos_z = GetViewSpaceDepthFromNDCDepth_Orthgraphic(shadowPos.z, projScaleZ, projBiasZ);\n \tviewSpacePos_z += viewspaceDepthBias;\n \tvec4 result = shadowPos;\n \tresult.z = viewSpacePos_z * coeffA + coeffB;\n \treturn result;\n }\n vec4 ApplyShadowDepthBias_PerspectiveLinearDepth(vec4 shadowPos, float viewspaceDepthBias, vec3 worldPos)\n {\n shadowPos.z = CCGetLinearDepth(worldPos, viewspaceDepthBias) * 2.0 - 1.0;\n shadowPos.z *= shadowPos.w;\n return shadowPos;\n }\n float CCGetDirLightShadowFactorHard (vec4 shadowPosWithDepthBias) {\n\t vec3 shadowNDCPos;\n\t if (!GetShadowNDCPos(shadowNDCPos, shadowPosWithDepthBias)) {\n\t\t return 1.0;\n\t }\n return NativePCFShadowFactorHard(shadowNDCPos, cc_shadowMap, cc_shadowWHPBInfo.xy);\n }\n float CCGetDirLightShadowFactorSoft (vec4 shadowPosWithDepthBias) {\n\t vec3 shadowNDCPos;\n\t if (!GetShadowNDCPos(shadowNDCPos, shadowPosWithDepthBias)) {\n\t\t return 1.0;\n\t }\n return NativePCFShadowFactorSoft(shadowNDCPos, cc_shadowMap, cc_shadowWHPBInfo.xy);\n }\n float CCGetDirLightShadowFactorSoft3X (vec4 shadowPosWithDepthBias) {\n\t vec3 shadowNDCPos;\n\t if (!GetShadowNDCPos(shadowNDCPos, shadowPosWithDepthBias)) {\n\t\t return 1.0;\n\t }\n return NativePCFShadowFactorSoft3X(shadowNDCPos, cc_shadowMap, cc_shadowWHPBInfo.xy);\n }\n float CCGetDirLightShadowFactorSoft5X (vec4 shadowPosWithDepthBias) {\n\t vec3 shadowNDCPos;\n\t if (!GetShadowNDCPos(shadowNDCPos, shadowPosWithDepthBias)) {\n\t\t return 1.0;\n\t }\n return NativePCFShadowFactorSoft5X(shadowNDCPos, cc_shadowMap, cc_shadowWHPBInfo.xy);\n }\n float CCGetSpotLightShadowFactorHard (vec4 shadowPosWithDepthBias, vec3 worldPos) {\n\t vec3 shadowNDCPos;\n\t if (!GetShadowNDCPos(shadowNDCPos, shadowPosWithDepthBias)) {\n\t\t return 1.0;\n\t }\n return NativePCFShadowFactorHard(shadowNDCPos, cc_spotShadowMap, cc_shadowWHPBInfo.xy);\n }\n float CCGetSpotLightShadowFactorSoft (vec4 shadowPosWithDepthBias, vec3 worldPos) {\n\t vec3 shadowNDCPos;\n\t if (!GetShadowNDCPos(shadowNDCPos, shadowPosWithDepthBias)) {\n\t\t return 1.0;\n\t }\n return NativePCFShadowFactorSoft(shadowNDCPos, cc_spotShadowMap, cc_shadowWHPBInfo.xy);\n }\n float CCGetSpotLightShadowFactorSoft3X (vec4 shadowPosWithDepthBias, vec3 worldPos) {\n\t vec3 shadowNDCPos;\n\t if (!GetShadowNDCPos(shadowNDCPos, shadowPosWithDepthBias)) {\n\t\t return 1.0;\n\t }\n return NativePCFShadowFactorSoft3X(shadowNDCPos, cc_spotShadowMap, cc_shadowWHPBInfo.xy);\n }\n float CCGetSpotLightShadowFactorSoft5X (vec4 shadowPosWithDepthBias, vec3 worldPos) {\n\t vec3 shadowNDCPos;\n\t if (!GetShadowNDCPos(shadowNDCPos, shadowPosWithDepthBias)) {\n\t\t return 1.0;\n\t }\n return NativePCFShadowFactorSoft5X(shadowNDCPos, cc_spotShadowMap, cc_shadowWHPBInfo.xy);\n }\n float CCSpotShadowFactorBase(out vec4 shadowPosWithDepthBias, vec4 shadowPos, vec3 worldPos, vec2 shadowBias)\n {\n float pcf = cc_shadowWHPBInfo.z;\n vec4 pos = vec4(1.0);\n #if CC_SHADOWMAP_USE_LINEAR_DEPTH\n pos = ApplyShadowDepthBias_PerspectiveLinearDepth(shadowPos, shadowBias.x, worldPos);\n #else\n pos = ApplyShadowDepthBias_Perspective(shadowPos, shadowBias.x);\n #endif\n float realtimeShadow = 1.0;\n if (pcf > 2.9) {\n realtimeShadow = CCGetSpotLightShadowFactorSoft5X(pos, worldPos);\n }else if (pcf > 1.9) {\n realtimeShadow = CCGetSpotLightShadowFactorSoft3X(pos, worldPos);\n }else if (pcf > 0.9) {\n realtimeShadow = CCGetSpotLightShadowFactorSoft(pos, worldPos);\n }else {\n realtimeShadow = CCGetSpotLightShadowFactorHard(pos, worldPos);\n }\n shadowPosWithDepthBias = pos;\n return mix(realtimeShadow, 1.0, cc_shadowNFLSInfo.w);\n }\n float CCShadowFactorBase(out vec4 shadowPosWithDepthBias, vec4 shadowPos, vec3 N, vec2 shadowBias)\n {\n vec4 pos = ApplyShadowDepthBias_FaceNormal(shadowPos, N, shadowBias.y, cc_matLightView, cc_shadowProjInfo.xy);\n pos = ApplyShadowDepthBias_Orthographic(pos, shadowBias.x, cc_shadowProjDepthInfo.x, cc_shadowProjDepthInfo.y);\n float realtimeShadow = 1.0;\n #if CC_DIR_SHADOW_PCF_TYPE == 3\n realtimeShadow = CCGetDirLightShadowFactorSoft5X(pos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 2\n realtimeShadow = CCGetDirLightShadowFactorSoft3X(pos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 1\n realtimeShadow = CCGetDirLightShadowFactorSoft(pos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 0\n realtimeShadow = CCGetDirLightShadowFactorHard(pos);\n #endif\n shadowPosWithDepthBias = pos;\n return mix(realtimeShadow, 1.0, cc_shadowNFLSInfo.w);\n }\n #if CC_SUPPORT_CASCADED_SHADOW_MAP\n bool CCGetCSMLevelWithTransition(out highp float ratio, vec3 clipPos) {\n highp float maxRange = 1.0 - cc_csmSplitsInfo.x;\n highp float minRange = cc_csmSplitsInfo.x;\n highp float thresholdInvert = 1.0 / cc_csmSplitsInfo.x;\n ratio = 0.0;\n if (clipPos.x <= minRange) {\n ratio = clipPos.x * thresholdInvert;\n return true;\n }\n if (clipPos.x >= maxRange) {\n ratio = 1.0 - (clipPos.x - maxRange) * thresholdInvert;\n return true;\n }\n if (clipPos.y <= minRange) {\n ratio = clipPos.y * thresholdInvert;\n return true;\n }\n if (clipPos.y >= maxRange) {\n ratio = 1.0 - (clipPos.y - maxRange) * thresholdInvert;\n return true;\n }\n return false;\n }\n bool CCHasCSMLevel(int level, vec3 worldPos) {\n highp float layerThreshold = cc_csmViewDir0[0].w;\n bool hasLevel = false;\n for (int i = 0; i < 4; i++) {\n if (i == level) {\n vec4 shadowPos = cc_matCSMViewProj[i] * vec4(worldPos.xyz, 1.0);\n vec3 clipPos = shadowPos.xyz / shadowPos.w * 0.5 + 0.5;\n if (clipPos.x >= layerThreshold && clipPos.x <= (1.0 - layerThreshold) &&\n clipPos.y >= layerThreshold && clipPos.y <= (1.0 - layerThreshold) &&\n clipPos.z >= 0.0 && clipPos.z <= 1.0) {\n hasLevel = true;\n }\n }\n }\n return hasLevel;\n }\n void CCGetCSMLevel(out vec4 csmPos, out vec4 shadowProjDepthInfo, out vec4 shadowProjInfo, out vec3 shadowViewDir0, out vec3 shadowViewDir1, out vec3 shadowViewDir2, vec3 worldPos, int level) {\n highp float layerThreshold = cc_csmViewDir0[0].w;\n for (int i = 0; i < 4; i++) {\n vec4 shadowPos = cc_matCSMViewProj[i] * vec4(worldPos.xyz, 1.0);\n vec3 clipPos = shadowPos.xyz / shadowPos.w * 0.5 + 0.5;\n if (clipPos.x >= layerThreshold && clipPos.x <= (1.0 - layerThreshold) &&\n clipPos.y >= layerThreshold && clipPos.y <= (1.0 - layerThreshold) &&\n clipPos.z >= 0.0 && clipPos.z <= 1.0 && i == level) {\n csmPos = cc_matCSMViewProj[i] * vec4(worldPos.xyz, 1.0);\n csmPos.xy = csmPos.xy * cc_csmAtlas[i].xy + cc_csmAtlas[i].zw;\n shadowProjDepthInfo = cc_csmProjDepthInfo[i];\n shadowProjInfo = cc_csmProjInfo[i];\n shadowViewDir0 = cc_csmViewDir0[i].xyz;\n shadowViewDir1 = cc_csmViewDir1[i].xyz;\n shadowViewDir2 = cc_csmViewDir2[i].xyz;\n }\n }\n }\n int CCGetCSMLevel(out bool isTransitionArea, out highp float transitionRatio, out vec4 csmPos, out vec4 shadowProjDepthInfo, out vec4 shadowProjInfo, out vec3 shadowViewDir0, out vec3 shadowViewDir1, out vec3 shadowViewDir2, vec3 worldPos)\n {\n int level = -1;\n highp float layerThreshold = cc_csmViewDir0[0].w;\n for (int i = 0; i < 4; i++) {\n vec4 shadowPos = cc_matCSMViewProj[i] * vec4(worldPos.xyz, 1.0);\n vec3 clipPos = shadowPos.xyz / shadowPos.w * 0.5 + 0.5;\n if (clipPos.x >= layerThreshold && clipPos.x <= (1.0 - layerThreshold) &&\n clipPos.y >= layerThreshold && clipPos.y <= (1.0 - layerThreshold) &&\n clipPos.z >= 0.0 && clipPos.z <= 1.0 && level < 0) {\n #if CC_CASCADED_LAYERS_TRANSITION\n isTransitionArea = CCGetCSMLevelWithTransition(transitionRatio, clipPos);\n #endif\n csmPos = cc_matCSMViewProj[i] * vec4(worldPos.xyz, 1.0);\n csmPos.xy = csmPos.xy * cc_csmAtlas[i].xy + cc_csmAtlas[i].zw;\n shadowProjDepthInfo = cc_csmProjDepthInfo[i];\n shadowProjInfo = cc_csmProjInfo[i];\n shadowViewDir0 = cc_csmViewDir0[i].xyz;\n shadowViewDir1 = cc_csmViewDir1[i].xyz;\n shadowViewDir2 = cc_csmViewDir2[i].xyz;\n level = i;\n }\n }\n return level;\n }\n int CCGetCSMLevel(out vec4 csmPos, out vec4 shadowProjDepthInfo, out vec4 shadowProjInfo, out vec3 shadowViewDir0, out vec3 shadowViewDir1, out vec3 shadowViewDir2, vec3 worldPos)\n {\n bool isTransitionArea = false;\n highp float transitionRatio = 0.0;\n return CCGetCSMLevel(isTransitionArea, transitionRatio, csmPos, shadowProjDepthInfo, shadowProjInfo, shadowViewDir0, shadowViewDir1, shadowViewDir2, worldPos);\n }\n float CCCSMFactorBase(out vec4 csmPos, out vec4 csmPosWithBias, vec3 worldPos, vec3 N, vec2 shadowBias)\n {\n bool isTransitionArea = false;\n highp float ratio = 0.0;\n csmPos = vec4(1.0);\n vec4 shadowProjDepthInfo, shadowProjInfo;\n vec3 shadowViewDir0, shadowViewDir1, shadowViewDir2;\n int level = -1;\n #if CC_CASCADED_LAYERS_TRANSITION\n level = CCGetCSMLevel(isTransitionArea, ratio, csmPos, shadowProjDepthInfo, shadowProjInfo, shadowViewDir0, shadowViewDir1, shadowViewDir2, worldPos);\n #else\n level = CCGetCSMLevel(csmPos, shadowProjDepthInfo, shadowProjInfo, shadowViewDir0, shadowViewDir1, shadowViewDir2, worldPos);\n #endif\n if (level < 0) { return 1.0; }\n vec4 pos = ApplyShadowDepthBias_FaceNormal(csmPos, N, shadowBias.y, shadowViewDir0, shadowViewDir1, shadowViewDir2, shadowProjInfo.xy);\n pos = ApplyShadowDepthBias_Orthographic(pos, shadowBias.x, shadowProjDepthInfo.x, shadowProjDepthInfo.y);\n csmPosWithBias = pos;\n float realtimeShadow = 1.0;\n #if CC_DIR_SHADOW_PCF_TYPE == 3\n realtimeShadow = CCGetDirLightShadowFactorSoft5X(pos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 2\n realtimeShadow = CCGetDirLightShadowFactorSoft3X(pos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 1\n realtimeShadow = CCGetDirLightShadowFactorSoft(pos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 0\n realtimeShadow = CCGetDirLightShadowFactorHard(pos);\n #endif\n #if CC_CASCADED_LAYERS_TRANSITION\n vec4 nextCSMPos = vec4(1.0);\n vec4 nextShadowProjDepthInfo, nextShadowProjInfo;\n vec3 nextShadowViewDir0, nextShadowViewDir1, nextShadowViewDir2;\n float nextRealtimeShadow = 1.0;\n CCGetCSMLevel(nextCSMPos, nextShadowProjDepthInfo, nextShadowProjInfo, nextShadowViewDir0, nextShadowViewDir1, nextShadowViewDir2, worldPos, level + 1);\n bool hasNextLevel = CCHasCSMLevel(level + 1, worldPos);\n if (hasNextLevel && isTransitionArea) {\n vec4 nexPos = ApplyShadowDepthBias_FaceNormal(nextCSMPos, N, shadowBias.y, nextShadowViewDir0, nextShadowViewDir1, nextShadowViewDir2, nextShadowProjInfo.xy);\n nexPos = ApplyShadowDepthBias_Orthographic(nexPos, shadowBias.x, nextShadowProjDepthInfo.x, nextShadowProjDepthInfo.y);\n #if CC_DIR_SHADOW_PCF_TYPE == 3\n nextRealtimeShadow = CCGetDirLightShadowFactorSoft5X(nexPos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 2\n nextRealtimeShadow = CCGetDirLightShadowFactorSoft3X(nexPos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 1\n nextRealtimeShadow = CCGetDirLightShadowFactorSoft(nexPos);\n #endif\n #if CC_DIR_SHADOW_PCF_TYPE == 0\n nextRealtimeShadow = CCGetDirLightShadowFactorHard(nexPos);\n #endif\n return mix(mix(nextRealtimeShadow, realtimeShadow, ratio), 1.0, cc_shadowNFLSInfo.w);\n }\n return mix(realtimeShadow, 1.0, cc_shadowNFLSInfo.w);\n #else\n return mix(realtimeShadow, 1.0, cc_shadowNFLSInfo.w);\n #endif\n }\n #else\n int CCGetCSMLevel(out vec4 csmPos, out vec4 shadowProjDepthInfo, out vec4 shadowProjInfo, out vec3 shadowViewDir0, out vec3 shadowViewDir1, out vec3 shadowViewDir2, vec3 worldPos) {\n return -1;\n }\n float CCCSMFactorBase(out vec4 csmPos, out vec4 csmPosWithBias, vec3 worldPos, vec3 N, vec2 shadowBias) {\n csmPos = cc_matLightViewProj * vec4(worldPos, 1.0);\n return CCShadowFactorBase(csmPosWithBias, csmPos, N, shadowBias);\n }\n #endif\n float CCShadowFactorBase(vec4 shadowPos, vec3 N, vec2 shadowBias) {\n vec4 shadowPosWithDepthBias;\n return CCShadowFactorBase(shadowPosWithDepthBias, shadowPos, N, shadowBias);\n }\n float CCCSMFactorBase(vec3 worldPos, vec3 N, vec2 shadowBias) {\n vec4 csmPos, csmPosWithBias;\n return CCCSMFactorBase(csmPos, csmPosWithBias, worldPos, N, shadowBias);\n }\n float CCSpotShadowFactorBase(vec4 shadowPos, vec3 worldPos, vec2 shadowBias)\n {\n vec4 shadowPosWithDepthBias;\n return CCSpotShadowFactorBase(shadowPosWithDepthBias, shadowPos, worldPos, shadowBias);\n }\n#endif\nhighp float decode32 (highp vec4 rgba) {\n rgba = rgba * 255.0;\n highp float Sign = 1.0 - (step(128.0, (rgba[3]) + 0.5)) * 2.0;\n highp float Exponent = 2.0 * (mod(float(int((rgba[3]) + 0.5)), 128.0)) + (step(128.0, (rgba[2]) + 0.5)) - 127.0;\n highp float Mantissa = (mod(float(int((rgba[2]) + 0.5)), 128.0)) * 65536.0 + rgba[1] * 256.0 + rgba[0] + 8388608.0;\n return Sign * exp2(Exponent - 23.0) * Mantissa;\n}\nvec4 packRGBE (vec3 rgb) {\n highp float maxComp = max(max(rgb.r, rgb.g), rgb.b);\n highp float e = 128.0;\n if (maxComp > 0.0001) {\n e = log(maxComp) / log(1.1);\n e = ceil(e);\n e = clamp(e + 128.0, 0.0, 255.0);\n }\n highp float sc = 1.0 / pow(1.1, e - 128.0);\n vec3 encode = clamp(rgb * sc, vec3(0.0), vec3(1.0)) * 255.0;\n vec3 encode_rounded = floor(encode) + step(encode - floor(encode), vec3(0.5));\n return vec4(encode_rounded, e) / 255.0;\n}\nvec3 unpackRGBE (vec4 rgbe) {\n return rgbe.rgb * pow(1.1, rgbe.a * 255.0 - 128.0);\n}\nvec4 fragTextureLod (sampler2D tex, vec2 coord, float lod) {\n return textureLod(tex, coord, lod);\n}\nvec4 fragTextureLod (samplerCube tex, vec3 coord, float lod) {\n return textureLod(tex, coord, lod);\n}\nlayout(set = 0, binding = 5) uniform samplerCube cc_environment;\nvec3 CalculateReflectDirection(vec3 N, vec3 V, float NoV)\n{\n float sideSign = NoV < 0.0 ? -1.0 : 1.0;\n N *= sideSign;\n return reflect(-V, N);\n}\nvec3 CalculatePlanarReflectPositionOnPlane(vec3 N, vec3 V, vec3 worldPos, vec4 plane, vec3 cameraPos, float probeReflectedDepth)\n{\n float distPixelToPlane = -dot(plane, vec4(worldPos, 1.0));\n plane.w += distPixelToPlane;\n float distCameraToPlane = abs(-dot(plane, vec4(cameraPos, 1.0)));\n vec3 planeN = plane.xyz;\n vec3 virtualCameraPos = cameraPos - 2.0 * distCameraToPlane * planeN;\n vec3 bumpedR = normalize(reflect(-V, N));\n vec3 reflectedPointPos = worldPos + probeReflectedDepth * bumpedR;\n vec3 virtualCameraToReflectedPoint = normalize(reflectedPointPos - virtualCameraPos);\n float y = distCameraToPlane / max(EPSILON_LOWP, dot(planeN, virtualCameraToReflectedPoint));\n return virtualCameraPos + y * virtualCameraToReflectedPoint;\n}\nvec4 CalculateBoxProjectedDirection(vec3 R, vec3 worldPos, vec3 cubeCenterPos, vec3 cubeBoxHalfSize)\n{\n vec3 W = worldPos - cubeCenterPos;\n vec3 projectedLength = (sign(R) * cubeBoxHalfSize - W) / (R + vec3(EPSILON));\n float len = min(min(projectedLength.x, projectedLength.y), projectedLength.z);\n vec3 P = W + len * R;\n float weight = len < 0.0 ? 0.0 : 1.0;\n return vec4(P, weight);\n}\n#if CC_USE_IBL\n #if CC_USE_DIFFUSEMAP\n layout(set = 0, binding = 7) uniform samplerCube cc_diffuseMap;\n #endif\n#endif\n#if CC_USE_REFLECTION_PROBE\n layout(set = 2, binding = 15) uniform samplerCube cc_reflectionProbeCubemap;\n layout(set = 2, binding = 16) uniform sampler2D cc_reflectionProbePlanarMap;\n layout(set = 2, binding = 17) uniform sampler2D cc_reflectionProbeDataMap;\n layout(set = 2, binding = 18) uniform samplerCube cc_reflectionProbeBlendCubemap;\n layout(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 };\n vec4 GetTexData(sampler2D dataMap, float dataMapWidth, float x, float uv_y)\n {\n return vec4(\n decode32(texture(dataMap, vec2(((x + 0.5)/dataMapWidth), uv_y))),\n decode32(texture(dataMap, vec2(((x + 1.5)/dataMapWidth), uv_y))),\n decode32(texture(dataMap, vec2(((x + 2.5)/dataMapWidth), uv_y))),\n decode32(texture(dataMap, vec2(((x + 3.5)/dataMapWidth), uv_y)))\n );\n }\n void GetPlanarReflectionProbeData(out vec4 plane, out float planarReflectionDepthScale, out float mipCount, float probeId)\n {\n #if USE_INSTANCING\n float uv_y = (probeId + 0.5) / cc_probeInfo.x;\n float dataMapWidth = 12.0;\n vec4 texData1 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 0.0, uv_y);\n vec4 texData2 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 4.0, uv_y);\n plane.xyz = texData1.xyz;\n plane.w = texData2.x;\n planarReflectionDepthScale = texData2.y;\n mipCount = texData2.z;\n #else\n plane = cc_reflectionProbeData1;\n planarReflectionDepthScale = cc_reflectionProbeData2.x;\n mipCount = cc_reflectionProbeData2.w;\n #endif\n }\n void GetCubeReflectionProbeData(out vec3 centerPos, out vec3 boxHalfSize, out float mipCount, float probeId)\n {\n #if USE_INSTANCING\n float uv_y = (probeId + 0.5) / cc_probeInfo.x;\n float dataMapWidth = 12.0;\n vec4 texData1 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 0.0, uv_y);\n vec4 texData2 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 4.0, uv_y);\n vec4 texData3 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 8.0, uv_y);\n centerPos = texData1.xyz;\n boxHalfSize = texData2.xyz;\n mipCount = texData3.x;\n #else\n centerPos = cc_reflectionProbeData1.xyz;\n boxHalfSize = cc_reflectionProbeData2.xyz;\n mipCount = cc_reflectionProbeData2.w;\n #endif\n if (mipCount > 1000.0) mipCount -= 1000.0;\n }\n bool isReflectProbeUsingRGBE(float probeId)\n {\n #if USE_INSTANCING\n float uv_y = (probeId + 0.5) / cc_probeInfo.x;\n float dataMapWidth = 12.0;\n vec4 texData3 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 8.0, uv_y);\n return texData3.x > 1000.0;\n #else\n return cc_reflectionProbeData2.w > 1000.0;\n #endif\n }\n bool isBlendReflectProbeUsingRGBE(float probeId)\n {\n #if USE_INSTANCING\n float uv_y = (probeId + 0.5) / cc_probeInfo.x;\n float dataMapWidth = 12.0;\n vec4 texData3 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 8.0, uv_y);\n return texData3.x > 1000.0;\n #else\n return cc_reflectionProbeBlendData2.w > 1000.0;\n #endif\n }\n void GetBlendCubeReflectionProbeData(out vec3 centerPos, out vec3 boxHalfSize, out float mipCount, float probeId)\n {\n #if USE_INSTANCING\n float uv_y = (probeId + 0.5) / cc_probeInfo.x;\n float dataMapWidth = 12.0;\n vec4 texData1 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 0.0, uv_y);\n vec4 texData2 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 4.0, uv_y);\n vec4 texData3 = GetTexData(cc_reflectionProbeDataMap, dataMapWidth, 8.0, uv_y);\n centerPos = texData1.xyz;\n boxHalfSize = texData2.xyz;\n mipCount = texData3.x;\n #else\n centerPos = cc_reflectionProbeBlendData1.xyz;\n boxHalfSize = cc_reflectionProbeBlendData2.xyz;\n mipCount = cc_reflectionProbeBlendData2.w;\n #endif\n if (mipCount > 1000.0) mipCount -= 1000.0;\n }\n#endif\n#if CC_USE_LIGHT_PROBE\n#if CC_USE_LIGHT_PROBE\n #if USE_INSTANCING\n layout(location = 2) in mediump vec4 v_sh_linear_const_r;\n layout(location = 3) in mediump vec4 v_sh_linear_const_g;\n layout(location = 4) in mediump vec4 v_sh_linear_const_b;\n #else\n layout(set = 2, binding = 6) uniform CCSH {\n vec4 cc_sh_linear_const_r;\n vec4 cc_sh_linear_const_g;\n vec4 cc_sh_linear_const_b;\n vec4 cc_sh_quadratic_r;\n vec4 cc_sh_quadratic_g;\n vec4 cc_sh_quadratic_b;\n vec4 cc_sh_quadratic_a;\n };\n #endif\n #if CC_USE_LIGHT_PROBE\n vec3 SHEvaluate(vec3 normal)\n {\n vec3 result;\n #if USE_INSTANCING\n vec4 normal4 = vec4(normal, 1.0);\n result.r = dot(v_sh_linear_const_r, normal4);\n result.g = dot(v_sh_linear_const_g, normal4);\n result.b = dot(v_sh_linear_const_b, normal4);\n #else\n vec4 normal4 = vec4(normal, 1.0);\n result.r = dot(cc_sh_linear_const_r, normal4);\n result.g = dot(cc_sh_linear_const_g, normal4);\n result.b = dot(cc_sh_linear_const_b, normal4);\n vec4 n14 = normal.xyzz * normal.yzzx;\n float n5 = normal.x * normal.x - normal.y * normal.y;\n result.r += dot(cc_sh_quadratic_r, n14);\n result.g += dot(cc_sh_quadratic_g, n14);\n result.b += dot(cc_sh_quadratic_b, n14);\n result += (cc_sh_quadratic_a.rgb * n5);\n #endif\n #if CC_USE_HDR\n result *= cc_exposure.w * cc_exposure.x;\n #endif\n return result;\n }\n #endif\n#endif\n#endif\nfloat GGXMobile (float roughness, float NoH, vec3 H, vec3 N) {\n vec3 NxH = cross(N, H);\n float OneMinusNoHSqr = dot(NxH, NxH);\n float a = roughness * roughness;\n float n = NoH * a;\n float p = a / max(EPSILON, OneMinusNoHSqr + n * n);\n return p * p;\n}\nfloat CalcSpecular (float roughness, float NoH, vec3 H, vec3 N) {\n return (roughness * 0.25 + 0.25) * GGXMobile(roughness, NoH, H, N);\n}\nvec3 BRDFApprox (vec3 specular, float roughness, float NoV) {\n const vec4 c0 = vec4(-1.0, -0.0275, -0.572, 0.022);\n const vec4 c1 = vec4(1.0, 0.0425, 1.04, -0.04);\n vec4 r = roughness * c0 + c1;\n float a004 = min(r.x * r.x, exp2(-9.28 * NoV)) * r.x + r.y;\n vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;\n AB.y *= clamp(50.0 * specular.g, 0.0, 1.0);\n return max(vec3(0.0), specular * AB.x + AB.y);\n}\n#if USE_REFLECTION_DENOISE\n vec3 GetEnvReflectionWithMipFiltering(vec3 R, float roughness, float mipCount, float denoiseIntensity, vec2 screenUV) {\n #if CC_USE_IBL\n \tfloat mip = roughness * (mipCount - 1.0);\n \tfloat delta = (dot(dFdx(R), dFdy(R))) * 1000.0;\n \tfloat mipBias = mix(0.0, 5.0, clamp(delta, 0.0, 1.0));\n #if CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_CUBE\n vec4 biased = fragTextureLod(cc_reflectionProbeCubemap, R, mip + mipBias);\n \t vec4 filtered = texture(cc_reflectionProbeCubemap, R);\n #elif CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_PLANAR\n vec4 biased = fragTextureLod(cc_reflectionProbePlanarMap, screenUV, mip + mipBias);\n vec4 filtered = texture(cc_reflectionProbePlanarMap, screenUV);\n #else\n vec4 biased = fragTextureLod(cc_environment, R, mip + mipBias);\n \t vec4 filtered = texture(cc_environment, R);\n #endif\n #if CC_USE_IBL == 2 || CC_USE_REFLECTION_PROBE != REFLECTION_PROBE_TYPE_NONE\n biased.rgb = unpackRGBE(biased);\n \tfiltered.rgb = unpackRGBE(filtered);\n #else\n \tbiased.rgb = SRGBToLinear(biased.rgb);\n \tfiltered.rgb = SRGBToLinear(filtered.rgb);\n #endif\n return mix(biased.rgb, filtered.rgb, denoiseIntensity);\n #else\n return vec3(0.0, 0.0, 0.0);\n #endif\n }\n#endif\nstruct StandardSurface {\n vec4 albedo;\n #if CC_PLATFORM_ANDROID_AND_WEBGL && CC_ENABLE_WEBGL_HIGHP_STRUCT_VALUES\n vec3 position, position_fract_part;\n #else\n vec3 position;\n #endif\n vec3 normal;\n vec3 emissive;\n vec4 lightmap;\n float lightmap_test;\n float roughness;\n float metallic;\n float occlusion;\n float specularIntensity;\n #if CC_RECEIVE_SHADOW\n vec2 shadowBias;\n #endif\n #if CC_RECEIVE_SHADOW || CC_USE_REFLECTION_PROBE\n float reflectionProbeId;\n #endif\n #if CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_BLEND || CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_BLEND_AND_SKYBOX\n float reflectionProbeBlendId;\n float reflectionProbeBlendFactor;\n #endif\n};\n vec3 SampleReflectionProbe(samplerCube tex, vec3 R, float roughness, float mipCount, bool isRGBE) {\n vec4 envmap = fragTextureLod(tex, R, roughness * (mipCount - 1.0));\n if (isRGBE)\n return unpackRGBE(envmap);\n else\n return SRGBToLinear(envmap.rgb);\n }\nvec4 CCStandardShadingBase (StandardSurface s, vec4 shadowPos) {\n vec3 diffuse = s.albedo.rgb * (1.0 - s.metallic);\n vec3 specular = mix(vec3(0.08 * s.specularIntensity), s.albedo.rgb, s.metallic);\n vec3 position;\n #if CC_PLATFORM_ANDROID_AND_WEBGL && CC_ENABLE_WEBGL_HIGHP_STRUCT_VALUES\n position = unpackHighpData(s.position, s.position_fract_part);\n #else\n position = s.position;\n #endif\n vec3 N = normalize(s.normal);\n vec3 V = normalize(cc_cameraPos.xyz - position);\n vec3 L = normalize(-cc_mainLitDir.xyz);\n float NL = max(dot(N, L), 0.0);\n float shadow = 1.0;\n #if CC_RECEIVE_SHADOW && CC_SHADOW_TYPE == 2\n if (NL > 0.0 && cc_mainLitDir.w > 0.0) {\n #if CC_DIR_LIGHT_SHADOW_TYPE == 2\n shadow = CCCSMFactorBase(position, N, s.shadowBias);\n #endif\n #if CC_DIR_LIGHT_SHADOW_TYPE == 1\n shadow = CCShadowFactorBase(shadowPos, N, s.shadowBias);\n #endif\n }\n #endif\n vec3 finalColor = vec3(0.0);\n #if CC_USE_LIGHTMAP && !CC_FORWARD_ADD\n vec3 lightmap = s.lightmap.rgb;\n #if CC_USE_HDR\n lightmap.rgb *= cc_exposure.w * cc_exposure.x;\n #endif\n #if CC_USE_LIGHTMAP == LIGHT_MAP_TYPE_INDIRECT_OCCLUSION\n shadow *= s.lightmap.a;\n finalColor += diffuse * lightmap.rgb;\n #else\n finalColor += diffuse * lightmap.rgb * shadow;\n #endif\n s.occlusion *= s.lightmap_test;\n #endif\n #if !CC_DISABLE_DIRECTIONAL_LIGHT\n float NV = max(abs(dot(N, V)), 0.0);\n specular = BRDFApprox(specular, s.roughness, NV);\n vec3 H = normalize(L + V);\n float NH = max(dot(N, H), 0.0);\n vec3 lightingColor = NL * cc_mainLitColor.rgb * cc_mainLitColor.w;\n vec3 diffuseContrib = diffuse / PI;\n vec3 specularContrib = specular * CalcSpecular(s.roughness, NH, H, N);\n vec3 dirlightContrib = (diffuseContrib + specularContrib);\n dirlightContrib *= shadow;\n finalColor += lightingColor * dirlightContrib;\n #endif\n float fAmb = max(EPSILON, 0.5 - N.y * 0.5);\n vec3 ambDiff = mix(cc_ambientSky.rgb, cc_ambientGround.rgb, fAmb);\n vec3 env = vec3(0.0), rotationDir;\n #if CC_USE_IBL\n #if CC_USE_DIFFUSEMAP && !CC_USE_LIGHT_PROBE\n rotationDir = RotationVecFromAxisY(N.xyz, cc_surfaceTransform.z, cc_surfaceTransform.w);\n vec4 diffuseMap = texture(cc_diffuseMap, rotationDir);\n #if CC_USE_DIFFUSEMAP == 2\n ambDiff = unpackRGBE(diffuseMap);\n #else\n ambDiff = SRGBToLinear(diffuseMap.rgb);\n #endif\n #endif\n #if !CC_USE_REFLECTION_PROBE\n vec3 R = normalize(reflect(-V, N));\n rotationDir = RotationVecFromAxisY(R.xyz, cc_surfaceTransform.z, cc_surfaceTransform.w);\n #if USE_REFLECTION_DENOISE && !CC_IBL_CONVOLUTED\n env = GetEnvReflectionWithMipFiltering(rotationDir, s.roughness, cc_ambientGround.w, 0.6, vec2(0.0));\n #else\n vec4 envmap = fragTextureLod(cc_environment, rotationDir, s.roughness * (cc_ambientGround.w - 1.0));\n #if CC_USE_IBL == 2\n env = unpackRGBE(envmap);\n #else\n env = SRGBToLinear(envmap.rgb);\n #endif\n #endif\n #endif\n #endif\n float lightIntensity = cc_ambientSky.w;\n #if CC_USE_REFLECTION_PROBE\n vec4 probe = vec4(0.0);\n vec3 R = normalize(reflect(-V, N));\n #if CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_CUBE\n if(s.reflectionProbeId < 0.0){\n env = SampleReflectionProbe(cc_environment, R, s.roughness, cc_ambientGround.w, CC_USE_IBL == 2);\n }else{\n vec3 centerPos, boxHalfSize;\n float mipCount;\n GetCubeReflectionProbeData(centerPos, boxHalfSize, mipCount, s.reflectionProbeId);\n vec4 fixedR = CalculateBoxProjectedDirection(R, position, centerPos, boxHalfSize);\n env = mix(SampleReflectionProbe(cc_environment, R, s.roughness, cc_ambientGround.w, CC_USE_IBL == 2) * lightIntensity,\n SampleReflectionProbe(cc_reflectionProbeCubemap, fixedR.xyz, s.roughness, mipCount, isReflectProbeUsingRGBE(s.reflectionProbeId)), fixedR.w);\n }\n #elif CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_PLANAR\n if(s.reflectionProbeId < 0.0){\n vec2 screenUV = GetPlanarReflectScreenUV(s.position, cc_matViewProj, cc_cameraPos.w, V, R);\n probe = fragTextureLod(cc_reflectionProbePlanarMap, screenUV, 1.0);\n }else{\n vec4 plane;\n float planarReflectionDepthScale, mipCount;\n GetPlanarReflectionProbeData(plane, planarReflectionDepthScale, mipCount, s.reflectionProbeId);\n R = normalize(CalculateReflectDirection(N, V, max(abs(dot(N, V)), 0.0)));\n vec3 worldPosOffset = CalculatePlanarReflectPositionOnPlane(N, V, s.position, plane, cc_cameraPos.xyz, planarReflectionDepthScale);\n vec2 screenUV = GetPlanarReflectScreenUV(worldPosOffset, cc_matViewProj, cc_cameraPos.w, V, R);\n probe = fragTextureLod(cc_reflectionProbePlanarMap, screenUV, mipCount);\n }\n env = unpackRGBE(probe);\n #elif CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_BLEND || CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_BLEND_AND_SKYBOX\n if (s.reflectionProbeId < 0.0) {\n env = SampleReflectionProbe(cc_environment, R, s.roughness, cc_ambientGround.w, CC_USE_IBL == 2);\n } else {\n vec3 centerPos, boxHalfSize;\n float mipCount;\n GetCubeReflectionProbeData(centerPos, boxHalfSize, mipCount, s.reflectionProbeId);\n vec4 fixedR = CalculateBoxProjectedDirection(R, s.position, centerPos, boxHalfSize);\n env = SampleReflectionProbe(cc_reflectionProbeCubemap, fixedR.xyz, s.roughness, mipCount, isReflectProbeUsingRGBE(s.reflectionProbeId));\n if (s.reflectionProbeBlendId < 0.0) {\n vec3 skyBoxEnv = SampleReflectionProbe(cc_environment, R, s.roughness, cc_ambientGround.w, CC_USE_IBL == 2) * lightIntensity;\n #if CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_BLEND_AND_SKYBOX\n env = mix(env, skyBoxEnv, s.reflectionProbeBlendFactor);\n #else\n env = mix(skyBoxEnv, env, fixedR.w);\n #endif\n } else {\n vec3 centerPosBlend, boxHalfSizeBlend;\n float mipCountBlend;\n GetBlendCubeReflectionProbeData(centerPosBlend, boxHalfSizeBlend, mipCountBlend, s.reflectionProbeBlendId);\n vec4 fixedRBlend = CalculateBoxProjectedDirection(R, s.position, centerPosBlend, boxHalfSizeBlend);\n vec3 probe1 = SampleReflectionProbe(cc_reflectionProbeBlendCubemap, fixedRBlend.xyz, s.roughness, mipCountBlend, isBlendReflectProbeUsingRGBE(s.reflectionProbeBlendId));\n env = mix(env, probe1, s.reflectionProbeBlendFactor);\n }\n }\n #endif\n #endif\n #if CC_USE_REFLECTION_PROBE\n lightIntensity = s.reflectionProbeId < 0.0 ? lightIntensity : 1.0;\n #endif\n finalColor += env * lightIntensity * specular * s.occlusion;\n#if CC_USE_LIGHT_PROBE\n finalColor += SHEvaluate(N) * diffuse * s.occlusion;\n#endif\n finalColor += ambDiff.rgb * cc_ambientSky.w * diffuse * s.occlusion;\n finalColor += s.emissive;\n return vec4(finalColor, s.albedo.a);\n}\nvec3 ACESToneMap (vec3 color) {\n color = min(color, vec3(8.0));\n const float A = 2.51;\n const float B = 0.03;\n const float C = 2.43;\n const float D = 0.59;\n const float E = 0.14;\n return (color * (A * color + B)) / (color * (C * color + D) + E);\n}\nvec4 CCFragOutput (vec4 color) {\n #if CC_USE_RGBE_OUTPUT\n color = packRGBE(color.rgb);\n #elif !CC_USE_FLOAT_OUTPUT\n #if CC_USE_HDR && CC_TONE_MAPPING_TYPE == HDR_TONE_MAPPING_ACES\n color.rgb = ACESToneMap(color.rgb);\n #endif\n color.rgb = LinearToSRGB(color.rgb);\n #endif\n return color;\n}\nlayout(location = 1) in highp vec4 v_shadowPos;\n#if CC_RECEIVE_SHADOW && CC_SHADOW_TYPE == 2\n#endif\n#if CC_USE_LIGHTMAP && !CC_FORWARD_ADD\n layout(location = 13) in vec3 v_luv;\n layout(set = 2, binding = 11) uniform sampler2D cc_lightingMap;\n void SampleAndDecodeLightMapColor(out vec3 lightmapColor, out float dirShadow, out float ao, sampler2D lightingMap, vec2 luv, float lum, vec3 worldNormal)\n {\n #if CC_LIGHT_MAP_VERSION > 2\n #elif CC_LIGHT_MAP_VERSION > 1\n \tvec4 dataLow = texture(lightingMap, luv);\n \tvec4 dataHigh = texture(lightingMap, luv + vec2(0.5, 0.0));\n \tlightmapColor.xyz = dataLow.xyz + dataHigh.xyz * 0.00392156862745098;\n lightmapColor.rgb *= lum;\n \tdirShadow = dataLow.a;\n \tao = dataHigh.a;\n #else\n vec4 lightmap = texture(lightingMap, luv);\n lightmapColor = lightmap.rgb * lum;\n \tdirShadow = lightmap.a;\n \tao = 1.0;\n #endif\n }\n#endif\nlayout(location = 6) in vec3 v_position;\nlayout(location = 8) in vec2 v_uv;\n#if HAS_SECOND_UV\n layout(location = 9) in mediump vec2 v_uv1;\n#endif\nlayout(location = 7) in vec3 v_normal;\n#if CC_RECEIVE_SHADOW || CC_USE_REFLECTION_PROBE\n layout(location = 10) in mediump vec4 v_shadowBiasAndProbeId;\n#endif\n#if CC_USE_REFLECTION_PROBE && USE_INSTANCING\n layout(location = 11) in mediump vec4 v_reflectionProbeData;\n#endif\n#if USE_VERTEX_COLOR\n layout(location = 5) in lowp vec4 v_color;\n#endif\n#if USE_ALBEDO_MAP\n layout(set = 1, binding = 1) uniform sampler2D albedoMap;\n#endif\n#if USE_NORMAL_MAP\n layout(location = 12) in mediump vec4 v_tangent;\n layout(set = 1, binding = 2) uniform sampler2D normalMap;\n#endif\n#if USE_PBR_MAP\n layout(set = 1, binding = 3) uniform sampler2D pbrMap;\n#endif\n#if USE_METALLIC_ROUGHNESS_MAP\n layout(set = 1, binding = 4) uniform sampler2D metallicRoughnessMap;\n#endif\n#if USE_OCCLUSION_MAP\n layout(set = 1, binding = 5) uniform sampler2D occlusionMap;\n#endif\n#if USE_EMISSIVE_MAP\n layout(set = 1, binding = 6) uniform sampler2D emissiveMap;\n#endif\n#if USE_ALPHA_TEST\n#endif\nvoid surf (out StandardSurface s) {\n vec4 baseColor = albedo;\n #if USE_VERTEX_COLOR\n baseColor.rgb *= SRGBToLinear(v_color.rgb);\n baseColor.a *= v_color.a;\n #endif\n #if USE_ALBEDO_MAP\n vec4 texColor = texture(albedoMap, ALBEDO_UV);\n texColor.rgb = SRGBToLinear(texColor.rgb);\n baseColor *= texColor;\n #endif\n s.albedo = baseColor;\n s.albedo.rgb *= albedoScaleAndCutoff.xyz;\n #if USE_ALPHA_TEST\n if (s.albedo.ALPHA_TEST_CHANNEL < albedoScaleAndCutoff.w) discard;\n #endif\n s.normal = v_normal;\n #if CC_RECEIVE_SHADOW\n s.shadowBias = v_shadowBiasAndProbeId.xy;\n #endif\n #if CC_USE_REFLECTION_PROBE\n s.reflectionProbeId = v_shadowBiasAndProbeId.z;\n #endif\n #if CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_BLEND || CC_USE_REFLECTION_PROBE == REFLECTION_PROBE_TYPE_BLEND_AND_SKYBOX\n s.reflectionProbeBlendId = v_shadowBiasAndProbeId.w;\n #if USE_INSTANCING\n s.reflectionProbeBlendFactor = v_reflectionProbeData.x;\n #else\n s.reflectionProbeBlendFactor = cc_reflectionProbeBlendData1.w;\n #endif\n #endif\n #if USE_NORMAL_MAP\n vec3 nmmp = texture(normalMap, NORMAL_UV).xyz - vec3(0.5);\n vec3 bitangent = cross(v_normal, v_tangent.xyz) * (v_tangent.w > 0.0 ? 1.0 : -1.0);\n s.normal =\n (nmmp.x * emissiveScaleParam.w) * normalize(v_tangent.xyz) +\n (nmmp.y * emissiveScaleParam.w) * normalize(bitangent) +\n nmmp.z * normalize(s.normal);\n #endif\n #if CC_USE_LIGHTMAP && !CC_FORWARD_ADD\n SampleAndDecodeLightMapColor(s.lightmap.rgb, s.lightmap.a, s.lightmap_test, cc_lightingMap, v_luv.xy, v_luv.z, s.normal);\n #endif\n #if CC_PLATFORM_ANDROID_AND_WEBGL && CC_ENABLE_WEBGL_HIGHP_STRUCT_VALUES\n packHighpData(s.position, s.position_fract_part, v_position);\n #else\n s.position = v_position;\n #endif\n vec4 pbr = pbrParams;\n pbr.x = 1.0;\n #if USE_PBR_MAP\n vec4 res = texture(pbrMap, PBR_UV);\n pbr.x = mix(1.0, res.r, pbrParams.x);\n pbr.y *= res.g;\n pbr.z *= res.b;\n pbr.w *= res.a;\n #endif\n #if USE_METALLIC_ROUGHNESS_MAP\n vec4 metallicRoughness = texture(metallicRoughnessMap, PBR_UV);\n pbr.z *= metallicRoughness.b;\n pbr.y *= metallicRoughness.g;\n #endif\n #if USE_OCCLUSION_MAP\n pbr.x = mix(1.0, texture(occlusionMap, PBR_UV).r, pbrParams.x);\n #endif\n s.occlusion = pbr.x;\n s.roughness = pbr.y;\n s.metallic = pbr.z;\n s.specularIntensity = pbr.w;\n s.emissive = emissive.rgb;\n #if USE_EMISSIVE_MAP\n s.emissive = SRGBToLinear(texture(emissiveMap, EMISSIVE_UV).rgb);\n #endif\n s.emissive *= emissiveScaleParam.xyz;\n}\n#if CC_FORWARD_ADD\n #if CC_PIPELINE_TYPE == 0\n #define LIGHTS_PER_PASS 1\n #else\n #define LIGHTS_PER_PASS 10\n #endif\n #if CC_ENABLE_CLUSTERED_LIGHT_CULLING == 0\n layout(set = 2, binding = 1) uniform CCForwardLight {\n highp vec4 cc_lightPos[LIGHTS_PER_PASS];\n vec4 cc_lightColor[LIGHTS_PER_PASS];\n vec4 cc_lightSizeRangeAngle[LIGHTS_PER_PASS];\n vec4 cc_lightDir[LIGHTS_PER_PASS];\n vec4 cc_lightBoundingSizeVS[LIGHTS_PER_PASS];\n };\n #endif\n float SmoothDistAtt (float distSqr, float invSqrAttRadius) {\n float factor = distSqr * invSqrAttRadius;\n float smoothFactor = clamp(1.0 - factor * factor, 0.0, 1.0);\n return smoothFactor * smoothFactor;\n }\n float GetDistAtt (float distSqr, float invSqrAttRadius) {\n float attenuation = 1.0 / max(distSqr, 0.01*0.01);\n attenuation *= SmoothDistAtt(distSqr , invSqrAttRadius);\n return attenuation;\n }\n float GetAngleAtt (vec3 L, vec3 litDir, float litAngleScale, float litAngleOffset) {\n float cd = dot(litDir, L);\n float attenuation = clamp(cd * litAngleScale + litAngleOffset, 0.0, 1.0);\n return (attenuation * attenuation);\n }\n float GetOutOfRange (vec3 worldPos, vec3 lightPos, vec3 lookAt, vec3 right, vec3 BoundingHalfSizeVS) {\n vec3 v = vec3(0.0);\n vec3 up = cross(right, lookAt);\n worldPos -= lightPos;\n v.x = dot(worldPos, right);\n v.y = dot(worldPos, up);\n v.z = dot(worldPos, lookAt);\n vec3 result = step(abs(v), BoundingHalfSizeVS);\n return result.x * result.y * result.z;\n }\n #if CC_ENABLE_CLUSTERED_LIGHT_CULLING == 0\n vec4 CCStandardShadingAdditive (StandardSurface s, vec4 shadowPos) {\n vec3 position;\n #if CC_PLATFORM_ANDROID_AND_WEBGL && CC_ENABLE_WEBGL_HIGHP_STRUCT_VALUES\n position = unpackHighpData(s.position, s.position_fract_part);\n #else\n position = s.position;\n #endif\n vec3 diffuse = s.albedo.rgb * (1.0 - s.metallic);\n vec3 specular = mix(vec3(0.04), s.albedo.rgb, s.metallic);\n vec3 diffuseContrib = diffuse / PI;\n vec3 N = normalize(s.normal);\n vec3 V = normalize(cc_cameraPos.xyz - position);\n float NV = max(abs(dot(N, V)), 0.0);\n specular = BRDFApprox(specular, s.roughness, NV);\n vec3 finalColor = vec3(0.0);\n int numLights = CC_PIPELINE_TYPE == 0 ? LIGHTS_PER_PASS : int(cc_lightDir[0].w);\n for (int i = 0; i < LIGHTS_PER_PASS; i++) {\n if (i >= numLights) break;\n vec3 SLU = IS_RANGED_DIRECTIONAL_LIGHT(cc_lightPos[i].w) ? -cc_lightDir[i].xyz : cc_lightPos[i].xyz - position;\n vec3 SL = normalize(SLU);\n vec3 SH = normalize(SL + V);\n float SNL = max(dot(N, SL), 0.0);\n float SNH = max(dot(N, SH), 0.0);\n vec3 lspec = specular * CalcSpecular(s.roughness, SNH, SH, N);\n float illum = 1.0;\n float att = 1.0;\n if (IS_RANGED_DIRECTIONAL_LIGHT(cc_lightPos[i].w)) {\n att = GetOutOfRange(position, cc_lightPos[i].xyz, cc_lightDir[i].xyz, cc_lightSizeRangeAngle[i].xyz, cc_lightBoundingSizeVS[i].xyz);\n } else {\n float distSqr = dot(SLU, SLU);\n float litRadius = cc_lightSizeRangeAngle[i].x;\n float litRadiusSqr = litRadius * litRadius;\n illum = (IS_POINT_LIGHT(cc_lightPos[i].w) || IS_RANGED_DIRECTIONAL_LIGHT(cc_lightPos[i].w)) ? 1.0 : litRadiusSqr / max(litRadiusSqr, distSqr);\n float attRadiusSqrInv = 1.0 / max(cc_lightSizeRangeAngle[i].y, 0.01);\n attRadiusSqrInv *= attRadiusSqrInv;\n att = GetDistAtt(distSqr, attRadiusSqrInv);\n if (IS_SPOT_LIGHT(cc_lightPos[i].w)) {\n float cosInner = max(dot(-cc_lightDir[i].xyz, SL), 0.01);\n float cosOuter = cc_lightSizeRangeAngle[i].z;\n float litAngleScale = 1.0 / max(0.001, cosInner - cosOuter);\n float litAngleOffset = -cosOuter * litAngleScale;\n att *= GetAngleAtt(SL, -cc_lightDir[i].xyz, litAngleScale, litAngleOffset);\n }\n }\n float shadow = 1.0;\n #if CC_RECEIVE_SHADOW && CC_SHADOW_TYPE == 2\n if (IS_SPOT_LIGHT(cc_lightPos[i].w) && cc_lightSizeRangeAngle[i].w > 0.0) {\n shadow = CCSpotShadowFactorBase(shadowPos, position, s.shadowBias);\n }\n #endif\n finalColor += SNL * cc_lightColor[i].rgb * shadow * cc_lightColor[i].w * illum * att * (diffuseContrib + lspec);\n }\n return vec4(finalColor, 0.0);\n }\n #endif\n #if CC_ENABLE_CLUSTERED_LIGHT_CULLING == 1\n layout(std430, set = 1, binding = 7) readonly buffer b_ccLightsBuffer { vec4 b_ccLights[]; };\n layout(std430, set = 1, binding = 8) readonly buffer b_clusterLightIndicesBuffer { uint b_clusterLightIndices[]; };\n layout(std430, set = 1, binding = 9) readonly buffer b_clusterLightGridBuffer { uvec4 b_clusterLightGrid[]; };\n struct CCLight\n {\n vec4 cc_lightPos;\n vec4 cc_lightColor;\n vec4 cc_lightSizeRangeAngle;\n vec4 cc_lightDir;\n vec4 cc_lightBoundingSizeVS;\n };\n struct Cluster\n {\n vec3 minBounds;\n vec3 maxBounds;\n };\n struct LightGrid\n {\n uint offset;\n uint ccLights;\n };\n CCLight getCCLight(uint i)\n {\n CCLight light;\n light.cc_lightPos = b_ccLights[5u * i + 0u];\n light.cc_lightColor = b_ccLights[5u * i + 1u];\n light.cc_lightSizeRangeAngle = b_ccLights[5u * i + 2u];\n light.cc_lightDir = b_ccLights[5u * i + 3u];\n light.cc_lightBoundingSizeVS = b_ccLights[5u * i + 4u];\n return light;\n }\n LightGrid getLightGrid(uint cluster)\n {\n uvec4 gridvec = b_clusterLightGrid[cluster];\n LightGrid grid;\n grid.offset = gridvec.x;\n grid.ccLights = gridvec.y;\n return grid;\n }\n uint getGridLightIndex(uint start, uint offset)\n {\n return b_clusterLightIndices[start + offset];\n }\n uint getClusterZIndex(vec4 worldPos)\n {\n float scale = float(24u) / log(cc_nearFar.y / cc_nearFar.x);\n float bias = -(float(24u) * log(cc_nearFar.x) / log(cc_nearFar.y / cc_nearFar.x));\n float eyeDepth = -(cc_matView * worldPos).z;\n uint zIndex = uint(max(log(eyeDepth) * scale + bias, 0.0));\n return zIndex;\n }\n uint getClusterIndex(vec4 fragCoord, vec4 worldPos)\n {\n uint zIndex = getClusterZIndex(worldPos);\n float clusterSizeX = ceil(cc_viewPort.z / float(16u));\n float clusterSizeY = ceil(cc_viewPort.w / float(8u));\n uvec3 indices = uvec3(uvec2(fragCoord.xy / vec2(clusterSizeX, clusterSizeY)), zIndex);\n uint cluster = (16u * 8u) * indices.z + 16u * indices.y + indices.x;\n return cluster;\n }\n vec4 CCClusterShadingAdditive (StandardSurface s, vec4 shadowPos) {\n vec3 diffuse = s.albedo.rgb * (1.0 - s.metallic);\n vec3 specular = mix(vec3(0.04), s.albedo.rgb, s.metallic);\n vec3 diffuseContrib = diffuse / PI;\n vec3 position;\n #if CC_PLATFORM_ANDROID_AND_WEBGL && CC_ENABLE_WEBGL_HIGHP_STRUCT_VALUES\n position = unpackHighpData(s.position, s.position_fract_part);\n #else\n position = s.position;\n #endif\n vec3 N = normalize(s.normal);\n vec3 V = normalize(cc_cameraPos.xyz - position);\n float NV = max(abs(dot(N, V)), 0.001);\n specular = BRDFApprox(specular, s.roughness, NV);\n vec3 finalColor = vec3(0.0);\n uint cluster = getClusterIndex(gl_FragCoord, vec4(position, 1.0));\n LightGrid grid = getLightGrid(cluster);\n uint numLights = grid.ccLights;\n for (uint i = 0u; i < 200u; i++) {\n if (i >= numLights) break;\n uint lightIndex = getGridLightIndex(grid.offset, i);\n CCLight light = getCCLight(lightIndex);\n vec3 SLU = light.cc_lightPos.xyz - position;\n vec3 SL = normalize(SLU);\n vec3 SH = normalize(SL + V);\n float SNL = max(dot(N, SL), 0.001);\n float SNH = max(dot(N, SH), 0.0);\n float distSqr = dot(SLU, SLU);\n float litRadius = light.cc_lightSizeRangeAngle.x;\n float litRadiusSqr = litRadius * litRadius;\n float illum = PI * (litRadiusSqr / max(litRadiusSqr , distSqr));\n float attRadiusSqrInv = 1.0 / max(light.cc_lightSizeRangeAngle.y, 0.01);\n attRadiusSqrInv *= attRadiusSqrInv;\n float att = GetDistAtt(distSqr, attRadiusSqrInv);\n vec3 lspec = specular * CalcSpecular(s.roughness, SNH, SH, N);\n if (IS_SPOT_LIGHT(light.cc_lightPos.w)) {\n float cosInner = max(dot(-light.cc_lightDir.xyz, SL), 0.01);\n float cosOuter = light.cc_lightSizeRangeAngle.z;\n float litAngleScale = 1.0 / max(0.001, cosInner - cosOuter);\n float litAngleOffset = -cosOuter * litAngleScale;\n att *= GetAngleAtt(SL, -light.cc_lightDir.xyz, litAngleScale, litAngleOffset);\n }\n vec3 lightColor = light.cc_lightColor.rgb;\n float shadow = 1.0;\n #if CC_RECEIVE_SHADOW && CC_SHADOW_TYPE == 2\n if (IS_SPOT_LIGHT(light.cc_lightPos.w) && light.cc_lightSizeRangeAngle.w > 0.0) {\n shadow = CCSpotShadowFactorBase(shadowPos, position, s.shadowBias);\n }\n #endif\n lightColor *= shadow;\n finalColor += SNL * lightColor * light.cc_lightColor.w * illum * att * (diffuseContrib + lspec);\n }\n return vec4(finalColor, 0.0);\n }\n #endif\n layout(location = 0) out vec4 fragColorX;\n void main () {\n StandardSurface s; surf(s);\n #if CC_ENABLE_CLUSTERED_LIGHT_CULLING == 1\n vec4 color = CCClusterShadingAdditive(s, v_shadowPos);\n #else\n vec4 color = CCStandardShadingAdditive(s, v_shadowPos);\n #endif\n fragColorX = CCFragOutput(color);\n }\n#elif (CC_PIPELINE_TYPE == 0 || CC_FORCE_FORWARD_SHADING)\n layout(location = 0) out vec4 fragColorX;\n void main () {\n StandardSurface s; surf(s);\n vec4 color = CCStandardShadingBase(s, v_shadowPos);\n #if CC_USE_FOG != 4\n #if CC_USE_FLOAT_OUTPUT\n CC_APPLY_FOG(color, s.position.xyz);\n #elif !CC_FORWARD_ADD\n CC_APPLY_FOG(color, s.position.xyz);\n #endif\n #endif\n fragColorX = CCFragOutput(color);\n }\n#elif CC_PIPELINE_TYPE == 1\n vec2 signNotZero(vec2 v) {\n return vec2((v.x >= 0.0) ? +1.0 : -1.0, (v.y >= 0.0) ? +1.0 : -1.0);\n }\n vec2 float32x3_to_oct(in vec3 v) {\n vec2 p = v.xy * (1.0 / (abs(v.x) + abs(v.y) + abs(v.z)));\n return (v.z <= 0.0) ? ((1.0 - abs(p.yx)) * signNotZero(p)) : p;\n }\n layout(location = 0) out vec4 albedoOut;\n layout(location = 1) out vec4 emissiveOut;\n layout(location = 2) out vec4 normalOut;\n void main () {\n StandardSurface s; surf(s);\n albedoOut = s.albedo;\n normalOut = vec4(float32x3_to_oct(s.normal), s.roughness, s.metallic);\n emissiveOut = vec4(s.emissive, s.occlusion);\n }\n#endif"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]},{"name":"CCShadow","defines":[]},{"name":"CCCSM","defines":["CC_SUPPORT_CASCADED_SHADOW_MAP"]}],"samplerTextures":[{"name":"cc_shadowMap","defines":["CC_RECEIVE_SHADOW"]},{"name":"cc_spotShadowMap","defines":["CC_RECEIVE_SHADOW"]},{"name":"cc_environment","defines":[]},{"name":"cc_diffuseMap","defines":["CC_USE_IBL","CC_USE_DIFFUSEMAP"]}],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCMorph","defines":["CC_USE_MORPH"]},{"name":"CCSkinningTexture","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinningAnimation","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinning","defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","!CC_USE_REAL_TIME_JOINT_TEXTURE"]},{"name":"CCLocal","defines":["!USE_INSTANCING"]},{"name":"CCSH","defines":["CC_USE_LIGHT_PROBE","!USE_INSTANCING"]},{"name":"CCForwardLight","defines":["CC_FORWARD_ADD","CC_ENABLE_CLUSTERED_LIGHT_CULLING"]}],"samplerTextures":[{"name":"cc_PositionDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_POSITION"]},{"name":"cc_NormalDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_NORMAL"]},{"name":"cc_TangentDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_TANGENT"]},{"name":"cc_jointTexture","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"cc_realtimeJoint","defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","CC_USE_REAL_TIME_JOINT_TEXTURE"]},{"name":"cc_reflectionProbeCubemap","defines":["CC_USE_REFLECTION_PROBE"]},{"name":"cc_reflectionProbePlanarMap","defines":["CC_USE_REFLECTION_PROBE"]},{"name":"cc_reflectionProbeDataMap","defines":["CC_USE_REFLECTION_PROBE"]},{"name":"cc_reflectionProbeBlendCubemap","defines":["CC_USE_REFLECTION_PROBE"]},{"name":"cc_lightingMap","defines":["CC_USE_LIGHTMAP","!CC_FORWARD_ADD"]}],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":137,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":126}},"defines":[{"name":"USE_INSTANCING","type":"boolean"},{"name":"CC_USE_SKINNING","type":"boolean"},{"name":"CC_USE_BAKED_ANIMATION","type":"boolean"},{"name":"CC_USE_LIGHTMAP","type":"number","range":[0,3]},{"name":"CC_USE_REFLECTION_PROBE","type":"number","range":[0,3]},{"name":"CC_RECEIVE_SHADOW","type":"boolean"},{"name":"CC_USE_LIGHT_PROBE","type":"boolean","default":0},{"name":"CC_USE_MORPH","type":"boolean"},{"name":"CC_MORPH_TARGET_COUNT","type":"number","range":[2,8]},{"name":"CC_MORPH_TARGET_HAS_POSITION","type":"boolean"},{"name":"CC_MORPH_TARGET_HAS_NORMAL","type":"boolean"},{"name":"CC_MORPH_TARGET_HAS_TANGENT","type":"boolean"},{"name":"CC_MORPH_PRECOMPUTED","type":"boolean"},{"name":"CC_USE_REAL_TIME_JOINT_TEXTURE","type":"boolean"},{"name":"CC_USE_FOG","type":"number","range":[0,4]},{"name":"CC_USE_ACCURATE_FOG","type":"boolean"},{"name":"CC_SUPPORT_CASCADED_SHADOW_MAP","type":"boolean"},{"name":"USE_VERTEX_COLOR","type":"boolean"},{"name":"HAS_SECOND_UV","type":"boolean"},{"name":"USE_NORMAL_MAP","type":"boolean"},{"name":"CC_FORWARD_ADD","type":"boolean"},{"name":"USE_TWOSIDE","type":"boolean"},{"name":"SAMPLE_FROM_RT","type":"boolean"},{"name":"CC_USE_DEBUG_VIEW","type":"number","range":[0,3]},{"name":"CC_SURFACES_ENABLE_DEBUG_VIEW","type":"boolean"},{"name":"CC_SHADOWMAP_FORMAT","type":"number","range":[0,3]},{"name":"CC_SHADOWMAP_USE_LINEAR_DEPTH","type":"boolean"},{"name":"CC_DIR_SHADOW_PCF_TYPE","type":"number","range":[0,3]},{"name":"CC_CASCADED_LAYERS_TRANSITION","type":"boolean"},{"name":"CC_USE_IBL","type":"number","range":[0,2]},{"name":"CC_USE_DIFFUSEMAP","type":"number","range":[0,2]},{"name":"CC_USE_HDR","type":"boolean"},{"name":"USE_REFLECTION_DENOISE","type":"boolean"},{"name":"CC_SHADOW_TYPE","type":"number","range":[0,3]},{"name":"CC_DIR_LIGHT_SHADOW_TYPE","type":"number","range":[0,3]},{"name":"CC_DISABLE_DIRECTIONAL_LIGHT","type":"boolean"},{"name":"CC_IBL_CONVOLUTED","type":"boolean"},{"name":"CC_USE_RGBE_OUTPUT","type":"boolean"},{"name":"CC_USE_FLOAT_OUTPUT","type":"boolean"},{"name":"CC_TONE_MAPPING_TYPE","type":"number","range":[0,3]},{"name":"HDR_TONE_MAPPING_ACES","type":"boolean"},{"name":"CC_LIGHT_MAP_VERSION","type":"number","range":[0,3]},{"name":"USE_ALBEDO_MAP","type":"boolean"},{"name":"ALBEDO_UV","type":"string","options":["v_uv","v_uv1"]},{"name":"NORMAL_UV","type":"string","options":["v_uv","v_uv1"]},{"name":"PBR_UV","type":"string","options":["v_uv","v_uv1"]},{"name":"USE_PBR_MAP","type":"boolean"},{"name":"USE_METALLIC_ROUGHNESS_MAP","type":"boolean"},{"name":"USE_OCCLUSION_MAP","type":"boolean"},{"name":"USE_EMISSIVE_MAP","type":"boolean"},{"name":"EMISSIVE_UV","type":"string","options":["v_uv","v_uv1"]},{"name":"USE_ALPHA_TEST","type":"boolean"},{"name":"ALPHA_TEST_CHANNEL","type":"string","options":["a","r"]},{"name":"CC_PIPELINE_TYPE","type":"number","range":[0,1]},{"name":"CC_FORCE_FORWARD_SHADING","type":"boolean"},{"name":"CC_ENABLE_CLUSTERED_LIGHT_CULLING","type":"number","range":[0,3]}]},{"hash":651493757,"name":"legacy/standard|shadow-caster-vs:vert|shadow-caster-fs:frag","blocks":[{"name":"Constants","stageFlags":17,"binding":0,"members":[{"name":"tilingOffset","type":16,"count":1},{"name":"albedo","type":16,"count":1},{"name":"albedoScaleAndCutoff","type":16,"count":1},{"name":"pbrParams","type":16,"count":1},{"name":"emissive","type":16,"count":1},{"name":"emissiveScaleParam","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"albedoMap","type":28,"count":1,"stageFlags":16,"binding":1,"defines":["USE_ALBEDO_MAP"]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position","format":32,"location":0,"defines":[]},{"name":"a_normal","format":32,"location":1,"defines":[]},{"name":"a_texCoord","format":21,"location":2,"defines":[]},{"name":"a_tangent","format":44,"location":3,"defines":[]},{"name":"a_joints","location":4,"defines":["CC_USE_SKINNING"]},{"name":"a_weights","format":44,"location":5,"defines":["CC_USE_SKINNING"]},{"name":"a_jointAnimInfo","format":44,"isInstanced":true,"location":6,"defines":["USE_INSTANCING","CC_USE_BAKED_ANIMATION"]},{"name":"a_matWorld0","format":44,"isInstanced":true,"location":7,"defines":["USE_INSTANCING"]},{"name":"a_matWorld1","format":44,"isInstanced":true,"location":8,"defines":["USE_INSTANCING"]},{"name":"a_matWorld2","format":44,"isInstanced":true,"location":9,"defines":["USE_INSTANCING"]},{"name":"a_lightingMapUVParam","format":44,"isInstanced":true,"location":10,"defines":["USE_INSTANCING","CC_USE_LIGHTMAP"]},{"name":"a_localShadowBiasAndProbeId","format":44,"isInstanced":true,"location":11,"defines":["USE_INSTANCING"]},{"name":"a_reflectionProbeData","format":44,"isInstanced":true,"location":12,"defines":["USE_INSTANCING","CC_USE_REFLECTION_PROBE"]},{"name":"a_sh_linear_const_r","format":44,"isInstanced":true,"location":13,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_sh_linear_const_g","format":44,"isInstanced":true,"location":14,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_sh_linear_const_b","format":44,"isInstanced":true,"location":15,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_vertexId","format":11,"location":16,"defines":["CC_USE_MORPH"]},{"name":"a_texCoord1","format":21,"location":17,"defines":[]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCMorph","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_displacementWeights","typename":"vec4","type":16,"count":15,"isArray":true},{"name":"cc_displacementTextureInfo","typename":"vec4","type":16,"count":1}],"defines":["CC_USE_MORPH"]},{"name":"CCSkinningTexture","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_jointTextureInfo","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinningAnimation","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_jointAnimInfo","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinning","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_joints","typename":"vec4","type":16,"count":0,"precision":"highp ","isArray":true}],"defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","!CC_USE_REAL_TIME_JOINT_TEXTURE"]},{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["!USE_INSTANCING"]}],"samplerTextures":[{"name":"cc_PositionDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_POSITION"]},{"name":"cc_NormalDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_NORMAL"]},{"name":"cc_TangentDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_TANGENT"]},{"name":"cc_jointTexture","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"cc_realtimeJoint","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","CC_USE_REAL_TIME_JOINT_TEXTURE"]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[{"name":"Constants","stageFlags":17,"binding":0,"members":[{"name":"tilingOffset","type":16,"count":1},{"name":"albedo","type":16,"count":1},{"name":"albedoScaleAndCutoff","type":16,"count":1},{"name":"pbrParams","type":16,"count":1},{"name":"emissive","type":16,"count":1},{"name":"emissiveScaleParam","type":16,"count":1}],"defines":[]}],"samplerTextures":[{"name":"albedoMap","type":28,"count":1,"stageFlags":16,"binding":1,"defines":["USE_ALBEDO_MAP"]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCShadow","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matLightView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matLightViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_shadowInvProjDepthInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowProjDepthInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowProjInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowNFLSInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowWHPBInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowLPNNInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowColor","typename":"vec4","type":16,"count":1,"precision":"lowp "},{"name":"cc_planarNDInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCSM","stageFlags":16,"tags":{"builtin":"global"},"members":[{"name":"cc_csmViewDir0","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmViewDir1","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmViewDir2","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmAtlas","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_matCSMViewProj","typename":"mat4","type":25,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmProjDepthInfo","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmProjInfo","typename":"vec4","type":16,"count":4,"precision":"highp ","isArray":true},{"name":"cc_csmSplitsInfo","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["CC_SUPPORT_CASCADED_SHADOW_MAP"]},{"name":"CCGlobal","stageFlags":16,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":["CC_RECEIVE_SHADOW"]},{"name":"CCCamera","stageFlags":16,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":["CC_RECEIVE_SHADOW"]}],"samplerTextures":[{"name":"cc_shadowMap","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":16,"tags":{"builtin":"global"},"defines":["CC_RECEIVE_SHADOW"]},{"name":"cc_spotShadowMap","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":16,"tags":{"builtin":"global"},"defines":["CC_RECEIVE_SHADOW"]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"vert":"#extension GL_EXT_shader_explicit_arithmetic_types_int32: require\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 int getVertexId() {\n return gl_VertexIndex;\n }\n#endif\nhighp float decode32 (highp vec4 rgba) {\n rgba = rgba * 255.0;\n highp float Sign = 1.0 - (step(128.0, (rgba[3]) + 0.5)) * 2.0;\n highp float Exponent = 2.0 * (mod(float(int((rgba[3]) + 0.5)), 128.0)) + (step(128.0, (rgba[2]) + 0.5)) - 127.0;\n highp float Mantissa = (mod(float(int((rgba[2]) + 0.5)), 128.0)) * 65536.0 + rgba[1] * 256.0 + rgba[0] + 8388608.0;\n return Sign * exp2(Exponent - 23.0) * Mantissa;\n}\n#if CC_USE_MORPH\n layout(set = 2, binding = 4) uniform CCMorph {\n vec4 cc_displacementWeights[15];\n vec4 cc_displacementTextureInfo;\n };\n #if CC_MORPH_TARGET_HAS_POSITION\n layout(set = 2, binding = 8) uniform sampler2D cc_PositionDisplacements;\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n layout(set = 2, binding = 9) uniform sampler2D cc_NormalDisplacements;\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n layout(set = 2, binding = 10) uniform sampler2D cc_TangentDisplacements;\n #endif\n vec2 getPixelLocation(vec2 textureResolution, int pixelIndex) {\n float pixelIndexF = float(pixelIndex);\n float x = mod(pixelIndexF, textureResolution.x);\n float y = floor(pixelIndexF / textureResolution.x);\n return vec2(x, y);\n }\n vec2 getPixelCoordFromLocation(vec2 location, vec2 textureResolution) {\n return (vec2(location.x, location.y) + .5) / textureResolution;\n }\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n vec4 fetchVec3ArrayFromTexture(sampler2D tex, int pixelIndex) {\n ivec2 texSize = textureSize(tex, 0);\n return texelFetch(tex, ivec2(pixelIndex % texSize.x, pixelIndex / texSize.x), 0);\n }\n #else\n vec4 fetchVec3ArrayFromTexture(sampler2D tex, int elementIndex) {\n int pixelIndex = elementIndex * 4;\n vec2 location = getPixelLocation(cc_displacementTextureInfo.xy, pixelIndex);\n vec2 x = getPixelCoordFromLocation(location + vec2(0.0, 0.0), cc_displacementTextureInfo.xy);\n vec2 y = getPixelCoordFromLocation(location + vec2(1.0, 0.0), cc_displacementTextureInfo.xy);\n vec2 z = getPixelCoordFromLocation(location + vec2(2.0, 0.0), cc_displacementTextureInfo.xy);\n return vec4(\n decode32(texture(tex, x)),\n decode32(texture(tex, y)),\n decode32(texture(tex, z)),\n 1.0\n );\n }\n #endif\n float getDisplacementWeight(int index) {\n int quot = index / 4;\n int remainder = index - quot * 4;\n if (remainder == 0) {\n return cc_displacementWeights[quot].x;\n } else if (remainder == 1) {\n return cc_displacementWeights[quot].y;\n } else if (remainder == 2) {\n return cc_displacementWeights[quot].z;\n } else {\n return cc_displacementWeights[quot].w;\n }\n }\n vec3 getVec3DisplacementFromTexture(sampler2D tex, int vertexIndex) {\n #if CC_MORPH_PRECOMPUTED\n return fetchVec3ArrayFromTexture(tex, vertexIndex).rgb;\n #else\n vec3 result = vec3(0, 0, 0);\n int nVertices = int(cc_displacementTextureInfo.z);\n for (int iTarget = 0; iTarget < CC_MORPH_TARGET_COUNT; ++iTarget) {\n result += (fetchVec3ArrayFromTexture(tex, nVertices * iTarget + vertexIndex).rgb * getDisplacementWeight(iTarget));\n }\n return result;\n #endif\n }\n #if CC_MORPH_TARGET_HAS_POSITION\n vec3 getPositionDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_PositionDisplacements, vertexId);\n }\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n vec3 getNormalDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_NormalDisplacements, vertexId);\n }\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n vec3 getTangentDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_TangentDisplacements, vertexId);\n }\n #endif\n void applyMorph (inout vec4 position, inout vec3 normal, inout vec4 tangent) {\n int vertexId = getVertexId();\n #if CC_MORPH_TARGET_HAS_POSITION\n position.xyz = position.xyz + getPositionDisplacement(vertexId);\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n normal.xyz = normal.xyz + getNormalDisplacement(vertexId);\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n tangent.xyz = tangent.xyz + getTangentDisplacement(vertexId);\n #endif\n }\n void applyMorph (inout vec4 position) {\n #if CC_MORPH_TARGET_HAS_POSITION\n position.xyz = position.xyz + getPositionDisplacement(getVertexId());\n #endif\n }\n#endif\n#if CC_USE_SKINNING\n #if CC_USE_BAKED_ANIMATION\n layout(set = 2, binding = 3) uniform CCSkinningTexture {\n highp vec4 cc_jointTextureInfo;\n };\n layout(set = 2, binding = 2) uniform CCSkinningAnimation {\n highp vec4 cc_jointAnimInfo;\n };\n layout(set = 2, binding = 7) uniform highp sampler2D cc_jointTexture;\n void CCGetJointTextureCoords(float pixelsPerJoint, float jointIdx, out highp float x, out highp float y, out highp float invSize)\n {\n #if USE_INSTANCING\n highp float temp = pixelsPerJoint * (a_jointAnimInfo.x * a_jointAnimInfo.y + jointIdx) + a_jointAnimInfo.z;\n #else\n highp float temp = pixelsPerJoint * (cc_jointAnimInfo.x * cc_jointTextureInfo.y + jointIdx) + cc_jointTextureInfo.z;\n #endif\n invSize = cc_jointTextureInfo.w;\n highp float tempY = floor(temp * invSize);\n x = floor(temp - tempY * cc_jointTextureInfo.x);\n y = (tempY + 0.5) * invSize;\n }\n #else\n #if CC_USE_REAL_TIME_JOINT_TEXTURE\n layout(set = 2, binding = 7) uniform highp sampler2D cc_realtimeJoint;\n #else\n layout(set = 2, binding = 3) uniform CCSkinning {\n highp vec4 cc_joints[CC_JOINT_UNIFORM_CAPACITY * 3];\n };\n #endif\n #endif\n #if CC_USE_BAKED_ANIMATION\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n mat4 getJointMatrix (float i) {\n highp float x, y, invSize;\n CCGetJointTextureCoords(3.0, i, x, y, invSize);\n vec4 v1 = texture(cc_jointTexture, vec2((x + 0.5) * invSize, y));\n vec4 v2 = texture(cc_jointTexture, vec2((x + 1.5) * invSize, y));\n vec4 v3 = texture(cc_jointTexture, vec2((x + 2.5) * invSize, y));\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #else\n mat4 getJointMatrix (float i) {\n highp float x, y, invSize;\n CCGetJointTextureCoords(12.0, i, x, y, invSize);\n vec4 v1 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 0.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 1.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 2.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 3.5) * invSize, y)))\n );\n vec4 v2 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 4.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 5.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 6.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 7.5) * invSize, y)))\n );\n vec4 v3 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 8.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 9.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 10.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 11.5) * invSize, y)))\n );\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #else\n #if CC_USE_REAL_TIME_JOINT_TEXTURE\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n mat4 getJointMatrix (float i) {\n float x = i;\n vec4 v1 = texture(cc_realtimeJoint, vec2( x / 256.0, 0.5 / 3.0));\n vec4 v2 = texture(cc_realtimeJoint, vec2( x / 256.0, 1.5 / 3.0));\n vec4 v3 = texture(cc_realtimeJoint, vec2( x / 256.0, 2.5 / 3.0));\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #else\n mat4 getJointMatrix (float i) {\n float x = 4.0 * i;\n vec4 v1 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 0.5 / 3.0)))\n );\n vec4 v2 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 1.5 / 3.0)))\n );\n vec4 v3 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 2.5 / 3.0)))\n );\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #else\n mat4 getJointMatrix (float i) {\n int idx = int(i);\n vec4 v1 = cc_joints[idx * 3];\n vec4 v2 = cc_joints[idx * 3 + 1];\n vec4 v3 = cc_joints[idx * 3 + 2];\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #endif\n mat4 skinMatrix () {\n vec4 joints = vec4(a_joints);\n return getJointMatrix(joints.x) * a_weights.x\n + getJointMatrix(joints.y) * a_weights.y\n + getJointMatrix(joints.z) * a_weights.z\n + getJointMatrix(joints.w) * a_weights.w;\n }\n void CCSkin (inout vec4 position) {\n mat4 m = skinMatrix();\n position = m * position;\n }\n void CCSkin (inout vec4 position, inout vec3 normal, inout vec4 tangent) {\n mat4 m = skinMatrix();\n position = m * position;\n normal = (m * vec4(normal, 0.0)).xyz;\n tangent.xyz = (m * vec4(tangent.xyz, 0.0)).xyz;\n }\n#endif\nvoid CCVertInput(inout StandardVertInput In)\n{\n In.position = vec4(a_position, 1.0);\n In.normal = a_normal;\n In.tangent = a_tangent;\n #if CC_USE_MORPH\n applyMorph(In.position, In.normal, In.tangent);\n #endif\n #if CC_USE_SKINNING\n CCSkin(In.position, In.normal, In.tangent);\n #endif\n}\n#if !USE_INSTANCING\n layout(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 };\n#endif\nvoid CCGetWorldMatrixFull(out mat4 matWorld, out mat4 matWorldIT)\n{\n #if USE_INSTANCING\n matWorld = mat4(\n vec4(a_matWorld0.xyz, 0.0),\n vec4(a_matWorld1.xyz, 0.0),\n vec4(a_matWorld2.xyz, 0.0),\n vec4(a_matWorld0.w, a_matWorld1.w, a_matWorld2.w, 1.0)\n );\n vec3 scale = 1.0 / vec3(length(a_matWorld0.xyz), length(a_matWorld1.xyz), length(a_matWorld2.xyz));\n vec3 scale2 = scale * scale;\n matWorldIT = mat4(\n vec4(a_matWorld0.xyz * scale2.x, 0.0),\n vec4(a_matWorld1.xyz * scale2.y, 0.0),\n vec4(a_matWorld2.xyz * scale2.z, 0.0),\n vec4(0.0, 0.0, 0.0, 1.0)\n );\n #else\n matWorld = cc_matWorld;\n matWorldIT = cc_matWorldIT;\n #endif\n}\nlayout(set = 1, binding = 0) uniform Constants {\n vec4 tilingOffset;\n vec4 albedo;\n vec4 albedoScaleAndCutoff;\n vec4 pbrParams;\n vec4 emissive;\n vec4 emissiveScaleParam;\n};\nlayout(set = 0, binding = 2) uniform CCShadow {\n highp mat4 cc_matLightView;\n highp mat4 cc_matLightViewProj;\n highp vec4 cc_shadowInvProjDepthInfo;\n highp vec4 cc_shadowProjDepthInfo;\n highp vec4 cc_shadowProjInfo;\n mediump vec4 cc_shadowNFLSInfo;\n mediump vec4 cc_shadowWHPBInfo;\n mediump vec4 cc_shadowLPNNInfo;\n lowp vec4 cc_shadowColor;\n mediump vec4 cc_planarNDInfo;\n};\n#if HAS_SECOND_UV || CC_USE_LIGHTMAP\n layout(location = 17) in vec2 a_texCoord1;\n#endif\nlayout(location = 0) out vec2 v_uv;\n#if HAS_SECOND_UV\n layout(location = 1) out vec2 v_uv1;\n#endif\nlayout(location = 2) out vec4 v_worldPos;\nlayout(location = 3) out highp vec2 v_clip_depth;\nvec4 vert () {\n StandardVertInput In;\n CCVertInput(In);\n mat4 matWorld, matWorldIT;\n CCGetWorldMatrixFull(matWorld, matWorldIT);\n v_worldPos = matWorld * In.position;\n vec4 clipPos = cc_matLightViewProj * v_worldPos;\n v_uv = a_texCoord * tilingOffset.xy + tilingOffset.zw;\n #if HAS_SECOND_UV\n v_uv1 = a_texCoord1 * tilingOffset.xy + tilingOffset.zw;\n #endif\n v_clip_depth = clipPos.zw;\n return clipPos;\n}\nvoid main() { gl_Position = vert(); }","frag":"\nprecision highp float;\nlayout(set = 1, binding = 0) uniform Constants {\n vec4 tilingOffset;\n vec4 albedo;\n vec4 albedoScaleAndCutoff;\n vec4 pbrParams;\n vec4 emissive;\n vec4 emissiveScaleParam;\n};\nvec4 packDepthToRGBA (float depth) {\n vec4 ret = vec4(1.0, 255.0, 65025.0, 16581375.0) * depth;\n ret = fract(ret);\n ret -= vec4(ret.yzw, 0.0) / 255.0;\n return ret;\n}\n#define UnpackBitFromFloat(value, bit) (mod(floor(value / pow(10.0, float(bit))), 10.0) > 0.0)\nlayout(set = 0, binding = 2) uniform CCShadow {\n highp mat4 cc_matLightView;\n highp mat4 cc_matLightViewProj;\n highp vec4 cc_shadowInvProjDepthInfo;\n highp vec4 cc_shadowProjDepthInfo;\n highp vec4 cc_shadowProjInfo;\n mediump vec4 cc_shadowNFLSInfo;\n mediump vec4 cc_shadowWHPBInfo;\n mediump vec4 cc_shadowLPNNInfo;\n lowp vec4 cc_shadowColor;\n mediump vec4 cc_planarNDInfo;\n};\n#if CC_SUPPORT_CASCADED_SHADOW_MAP\n layout(set = 0, binding = 3) uniform CCCSM {\n highp vec4 cc_csmViewDir0[4];\n highp vec4 cc_csmViewDir1[4];\n highp vec4 cc_csmViewDir2[4];\n highp vec4 cc_csmAtlas[4];\n highp mat4 cc_matCSMViewProj[4];\n highp vec4 cc_csmProjDepthInfo[4];\n highp vec4 cc_csmProjInfo[4];\n highp vec4 cc_csmSplitsInfo;\n };\n#endif\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\n#if defined(CC_USE_METAL) || defined(CC_USE_WGPU)\n#define CC_HANDLE_SAMPLE_NDC_FLIP_STATIC(y) y = -y\n#else\n#define CC_HANDLE_SAMPLE_NDC_FLIP_STATIC(y)\n#endif\nfloat GetLinearDepthFromViewSpace(vec3 viewPos, float near, float far) {\n float dist = length(viewPos);\n return (dist - near) / (far - near);\n}\nfloat CCGetLinearDepth(vec3 worldPos, float viewSpaceBias) {\n\tvec4 viewPos = cc_matLightView * vec4(worldPos.xyz, 1.0);\n viewPos.z += viewSpaceBias;\n\treturn GetLinearDepthFromViewSpace(viewPos.xyz, cc_shadowNFLSInfo.x, cc_shadowNFLSInfo.y);\n}\nfloat CCGetLinearDepth(vec3 worldPos) {\n\treturn CCGetLinearDepth(worldPos, 0.0);\n}\n#if CC_RECEIVE_SHADOW\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 layout(set = 0, binding = 4) uniform highp sampler2D cc_shadowMap;\n layout(set = 0, binding = 6) uniform highp sampler2D cc_spotShadowMap;\n #if CC_SUPPORT_CASCADED_SHADOW_MAP\n #else\n #endif\n#endif\nlayout(location = 0) in vec2 v_uv;\n#if HAS_SECOND_UV\n layout(location = 1) in vec2 v_uv1;\n#endif\nlayout(location = 2) in vec4 v_worldPos;\nlayout(location = 3) in highp vec2 v_clip_depth;\n#if USE_ALBEDO_MAP\n layout(set = 1, binding = 1) uniform sampler2D albedoMap;\n#endif\n#if USE_ALPHA_TEST\n#endif\nvec4 frag () {\n vec4 baseColor = albedo;\n #if USE_ALPHA_TEST\n #if USE_ALBEDO_MAP\n baseColor *= texture(albedoMap, ALBEDO_UV);\n #endif\n if (baseColor.ALPHA_TEST_CHANNEL < albedoScaleAndCutoff.w) discard;\n #endif\n highp float clipDepth = v_clip_depth.x / v_clip_depth.y * 0.5 + 0.5;\n #if CC_SHADOWMAP_USE_LINEAR_DEPTH\n if (IS_SPOT_LIGHT(cc_shadowLPNNInfo.x)) {\n clipDepth = CCGetLinearDepth(v_worldPos.xyz);\n }\n #endif\n #if CC_SHADOWMAP_FORMAT == 1\n return packDepthToRGBA(clipDepth);\n #else\n return vec4(clipDepth, 1.0, 1.0, 1.0);\n #endif\n}\nlayout(location = 0) out vec4 cc_FragColor;\nvoid main() { cc_FragColor = frag(); }"},"builtins":{"globals":{"blocks":[{"name":"CCShadow","defines":[]},{"name":"CCCSM","defines":["CC_SUPPORT_CASCADED_SHADOW_MAP"]},{"name":"CCGlobal","defines":["CC_RECEIVE_SHADOW"]},{"name":"CCCamera","defines":["CC_RECEIVE_SHADOW"]}],"samplerTextures":[{"name":"cc_shadowMap","defines":["CC_RECEIVE_SHADOW"]},{"name":"cc_spotShadowMap","defines":["CC_RECEIVE_SHADOW"]}],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCMorph","defines":["CC_USE_MORPH"]},{"name":"CCSkinningTexture","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinningAnimation","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinning","defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","!CC_USE_REAL_TIME_JOINT_TEXTURE"]},{"name":"CCLocal","defines":["!USE_INSTANCING"]}],"samplerTextures":[{"name":"cc_PositionDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_POSITION"]},{"name":"cc_NormalDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_NORMAL"]},{"name":"cc_TangentDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_TANGENT"]},{"name":"cc_jointTexture","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"cc_realtimeJoint","defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","CC_USE_REAL_TIME_JOINT_TEXTURE"]}],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":54,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":105}},"defines":[{"name":"USE_INSTANCING","type":"boolean"},{"name":"CC_USE_SKINNING","type":"boolean"},{"name":"CC_USE_BAKED_ANIMATION","type":"boolean"},{"name":"CC_USE_LIGHTMAP","type":"boolean"},{"name":"CC_USE_REFLECTION_PROBE","type":"boolean"},{"name":"CC_RECEIVE_SHADOW","type":"boolean"},{"name":"CC_USE_LIGHT_PROBE","type":"boolean"},{"name":"CC_USE_MORPH","type":"boolean"},{"name":"CC_MORPH_TARGET_COUNT","type":"number","range":[2,8]},{"name":"CC_MORPH_TARGET_HAS_POSITION","type":"boolean"},{"name":"CC_MORPH_TARGET_HAS_NORMAL","type":"boolean"},{"name":"CC_MORPH_TARGET_HAS_TANGENT","type":"boolean"},{"name":"CC_MORPH_PRECOMPUTED","type":"boolean"},{"name":"CC_USE_REAL_TIME_JOINT_TEXTURE","type":"boolean"},{"name":"HAS_SECOND_UV","type":"boolean"},{"name":"CC_SUPPORT_CASCADED_SHADOW_MAP","type":"boolean"},{"name":"USE_ALBEDO_MAP","type":"boolean"},{"name":"ALBEDO_UV","type":"string","options":["v_uv","v_uv1"]},{"name":"USE_ALPHA_TEST","type":"boolean"},{"name":"ALPHA_TEST_CHANNEL","type":"string","options":["a","r"]},{"name":"CC_SHADOWMAP_USE_LINEAR_DEPTH","type":"boolean"},{"name":"CC_SHADOWMAP_FORMAT","type":"number","range":[0,3]}]},{"hash":3680218420,"name":"legacy/standard|planar-shadow-vs:vert|planar-shadow-fs:frag","blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[],"attributes":[{"name":"a_position","format":32,"location":0,"defines":[]},{"name":"a_normal","format":32,"location":1,"defines":[]},{"name":"a_texCoord","format":21,"location":2,"defines":[]},{"name":"a_tangent","format":44,"location":3,"defines":[]},{"name":"a_joints","location":4,"defines":["CC_USE_SKINNING"]},{"name":"a_weights","format":44,"location":5,"defines":["CC_USE_SKINNING"]},{"name":"a_jointAnimInfo","format":44,"isInstanced":true,"location":6,"defines":["USE_INSTANCING","CC_USE_BAKED_ANIMATION"]},{"name":"a_matWorld0","format":44,"isInstanced":true,"location":7,"defines":["USE_INSTANCING"]},{"name":"a_matWorld1","format":44,"isInstanced":true,"location":8,"defines":["USE_INSTANCING"]},{"name":"a_matWorld2","format":44,"isInstanced":true,"location":9,"defines":["USE_INSTANCING"]},{"name":"a_lightingMapUVParam","format":44,"isInstanced":true,"location":10,"defines":["USE_INSTANCING","CC_USE_LIGHTMAP"]},{"name":"a_localShadowBiasAndProbeId","format":44,"isInstanced":true,"location":11,"defines":["USE_INSTANCING"]},{"name":"a_reflectionProbeData","format":44,"isInstanced":true,"location":12,"defines":["USE_INSTANCING","CC_USE_REFLECTION_PROBE"]},{"name":"a_sh_linear_const_r","format":44,"isInstanced":true,"location":13,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_sh_linear_const_g","format":44,"isInstanced":true,"location":14,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_sh_linear_const_b","format":44,"isInstanced":true,"location":15,"defines":["USE_INSTANCING","CC_USE_LIGHT_PROBE"]},{"name":"a_vertexId","format":11,"location":16,"defines":["CC_USE_MORPH"]}],"fragColors":[{"name":"cc_FragColor","typename":"vec4","type":16,"count":1,"stageFlags":16,"location":0,"defines":[]}],"descriptors":[{"rate":0,"blocks":[{"name":"CCMorph","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_displacementWeights","typename":"vec4","type":16,"count":15,"isArray":true},{"name":"cc_displacementTextureInfo","typename":"vec4","type":16,"count":1}],"defines":["CC_USE_MORPH"]},{"name":"CCSkinningTexture","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_jointTextureInfo","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinningAnimation","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_jointAnimInfo","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinning","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_joints","typename":"vec4","type":16,"count":0,"precision":"highp ","isArray":true}],"defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","!CC_USE_REAL_TIME_JOINT_TEXTURE"]},{"name":"CCLocal","stageFlags":1,"tags":{"builtin":"local"},"members":[{"name":"cc_matWorld","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matWorldIT","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_lightingMapUVParam","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_localShadowBias","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeData2","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData1","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_reflectionProbeBlendData2","typename":"vec4","type":16,"count":1,"precision":"highp "}],"defines":["!USE_INSTANCING"]}],"samplerTextures":[{"name":"cc_PositionDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_POSITION"]},{"name":"cc_NormalDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_NORMAL"]},{"name":"cc_TangentDisplacements","typename":"sampler2D","type":28,"count":1,"stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_TANGENT"]},{"name":"cc_jointTexture","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"cc_realtimeJoint","typename":"sampler2D","type":28,"count":1,"precision":"highp ","stageFlags":1,"tags":{"builtin":"local"},"defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","CC_USE_REAL_TIME_JOINT_TEXTURE"]}],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":1,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":2,"blocks":[],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]},{"rate":3,"blocks":[{"name":"CCGlobal","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_time","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_screenSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nativeSize","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_probeInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_debug_view_mode","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCCamera","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matViewProjInv","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_cameraPos","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_surfaceTransform","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_screenScale","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_exposure","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitDir","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_mainLitColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientSky","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_ambientGround","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogColor","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogBase","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_fogAdd","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_nearFar","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_viewPort","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]},{"name":"CCShadow","stageFlags":17,"tags":{"builtin":"global"},"members":[{"name":"cc_matLightView","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_matLightViewProj","typename":"mat4","type":25,"count":1,"precision":"highp "},{"name":"cc_shadowInvProjDepthInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowProjDepthInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowProjInfo","typename":"vec4","type":16,"count":1,"precision":"highp "},{"name":"cc_shadowNFLSInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowWHPBInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowLPNNInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "},{"name":"cc_shadowColor","typename":"vec4","type":16,"count":1,"precision":"lowp "},{"name":"cc_planarNDInfo","typename":"vec4","type":16,"count":1,"precision":"mediump "}],"defines":[]}],"samplerTextures":[],"samplers":[],"textures":[],"buffers":[],"images":[],"subpassInputs":[]}],"glsl4":{"vert":"#extension GL_EXT_shader_explicit_arithmetic_types_int32: require\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)\nfloat saturate(float value) { return clamp(value, 0.0, 1.0); }\nvec2 saturate(vec2 value) { return clamp(value, vec2(0.0), vec2(1.0)); }\nvec3 saturate(vec3 value) { return clamp(value, vec3(0.0), vec3(1.0)); }\nvec4 saturate(vec4 value) { return clamp(value, vec4(0.0), vec4(1.0)); }\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 int getVertexId() {\n return gl_VertexIndex;\n }\n#endif\nhighp float decode32 (highp vec4 rgba) {\n rgba = rgba * 255.0;\n highp float Sign = 1.0 - (step(128.0, (rgba[3]) + 0.5)) * 2.0;\n highp float Exponent = 2.0 * (mod(float(int((rgba[3]) + 0.5)), 128.0)) + (step(128.0, (rgba[2]) + 0.5)) - 127.0;\n highp float Mantissa = (mod(float(int((rgba[2]) + 0.5)), 128.0)) * 65536.0 + rgba[1] * 256.0 + rgba[0] + 8388608.0;\n return Sign * exp2(Exponent - 23.0) * Mantissa;\n}\n#if CC_USE_MORPH\n layout(set = 2, binding = 4) uniform CCMorph {\n vec4 cc_displacementWeights[15];\n vec4 cc_displacementTextureInfo;\n };\n #if CC_MORPH_TARGET_HAS_POSITION\n layout(set = 2, binding = 8) uniform sampler2D cc_PositionDisplacements;\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n layout(set = 2, binding = 9) uniform sampler2D cc_NormalDisplacements;\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n layout(set = 2, binding = 10) uniform sampler2D cc_TangentDisplacements;\n #endif\n vec2 getPixelLocation(vec2 textureResolution, int pixelIndex) {\n float pixelIndexF = float(pixelIndex);\n float x = mod(pixelIndexF, textureResolution.x);\n float y = floor(pixelIndexF / textureResolution.x);\n return vec2(x, y);\n }\n vec2 getPixelCoordFromLocation(vec2 location, vec2 textureResolution) {\n return (vec2(location.x, location.y) + .5) / textureResolution;\n }\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n vec4 fetchVec3ArrayFromTexture(sampler2D tex, int pixelIndex) {\n ivec2 texSize = textureSize(tex, 0);\n return texelFetch(tex, ivec2(pixelIndex % texSize.x, pixelIndex / texSize.x), 0);\n }\n #else\n vec4 fetchVec3ArrayFromTexture(sampler2D tex, int elementIndex) {\n int pixelIndex = elementIndex * 4;\n vec2 location = getPixelLocation(cc_displacementTextureInfo.xy, pixelIndex);\n vec2 x = getPixelCoordFromLocation(location + vec2(0.0, 0.0), cc_displacementTextureInfo.xy);\n vec2 y = getPixelCoordFromLocation(location + vec2(1.0, 0.0), cc_displacementTextureInfo.xy);\n vec2 z = getPixelCoordFromLocation(location + vec2(2.0, 0.0), cc_displacementTextureInfo.xy);\n return vec4(\n decode32(texture(tex, x)),\n decode32(texture(tex, y)),\n decode32(texture(tex, z)),\n 1.0\n );\n }\n #endif\n float getDisplacementWeight(int index) {\n int quot = index / 4;\n int remainder = index - quot * 4;\n if (remainder == 0) {\n return cc_displacementWeights[quot].x;\n } else if (remainder == 1) {\n return cc_displacementWeights[quot].y;\n } else if (remainder == 2) {\n return cc_displacementWeights[quot].z;\n } else {\n return cc_displacementWeights[quot].w;\n }\n }\n vec3 getVec3DisplacementFromTexture(sampler2D tex, int vertexIndex) {\n #if CC_MORPH_PRECOMPUTED\n return fetchVec3ArrayFromTexture(tex, vertexIndex).rgb;\n #else\n vec3 result = vec3(0, 0, 0);\n int nVertices = int(cc_displacementTextureInfo.z);\n for (int iTarget = 0; iTarget < CC_MORPH_TARGET_COUNT; ++iTarget) {\n result += (fetchVec3ArrayFromTexture(tex, nVertices * iTarget + vertexIndex).rgb * getDisplacementWeight(iTarget));\n }\n return result;\n #endif\n }\n #if CC_MORPH_TARGET_HAS_POSITION\n vec3 getPositionDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_PositionDisplacements, vertexId);\n }\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n vec3 getNormalDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_NormalDisplacements, vertexId);\n }\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n vec3 getTangentDisplacement(int vertexId) {\n return getVec3DisplacementFromTexture(cc_TangentDisplacements, vertexId);\n }\n #endif\n void applyMorph (inout vec4 position, inout vec3 normal, inout vec4 tangent) {\n int vertexId = getVertexId();\n #if CC_MORPH_TARGET_HAS_POSITION\n position.xyz = position.xyz + getPositionDisplacement(vertexId);\n #endif\n #if CC_MORPH_TARGET_HAS_NORMAL\n normal.xyz = normal.xyz + getNormalDisplacement(vertexId);\n #endif\n #if CC_MORPH_TARGET_HAS_TANGENT\n tangent.xyz = tangent.xyz + getTangentDisplacement(vertexId);\n #endif\n }\n void applyMorph (inout vec4 position) {\n #if CC_MORPH_TARGET_HAS_POSITION\n position.xyz = position.xyz + getPositionDisplacement(getVertexId());\n #endif\n }\n#endif\n#if CC_USE_SKINNING\n #if CC_USE_BAKED_ANIMATION\n layout(set = 2, binding = 3) uniform CCSkinningTexture {\n highp vec4 cc_jointTextureInfo;\n };\n layout(set = 2, binding = 2) uniform CCSkinningAnimation {\n highp vec4 cc_jointAnimInfo;\n };\n layout(set = 2, binding = 7) uniform highp sampler2D cc_jointTexture;\n void CCGetJointTextureCoords(float pixelsPerJoint, float jointIdx, out highp float x, out highp float y, out highp float invSize)\n {\n #if USE_INSTANCING\n highp float temp = pixelsPerJoint * (a_jointAnimInfo.x * a_jointAnimInfo.y + jointIdx) + a_jointAnimInfo.z;\n #else\n highp float temp = pixelsPerJoint * (cc_jointAnimInfo.x * cc_jointTextureInfo.y + jointIdx) + cc_jointTextureInfo.z;\n #endif\n invSize = cc_jointTextureInfo.w;\n highp float tempY = floor(temp * invSize);\n x = floor(temp - tempY * cc_jointTextureInfo.x);\n y = (tempY + 0.5) * invSize;\n }\n #else\n #if CC_USE_REAL_TIME_JOINT_TEXTURE\n layout(set = 2, binding = 7) uniform highp sampler2D cc_realtimeJoint;\n #else\n layout(set = 2, binding = 3) uniform CCSkinning {\n highp vec4 cc_joints[CC_JOINT_UNIFORM_CAPACITY * 3];\n };\n #endif\n #endif\n #if CC_USE_BAKED_ANIMATION\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n mat4 getJointMatrix (float i) {\n highp float x, y, invSize;\n CCGetJointTextureCoords(3.0, i, x, y, invSize);\n vec4 v1 = texture(cc_jointTexture, vec2((x + 0.5) * invSize, y));\n vec4 v2 = texture(cc_jointTexture, vec2((x + 1.5) * invSize, y));\n vec4 v3 = texture(cc_jointTexture, vec2((x + 2.5) * invSize, y));\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #else\n mat4 getJointMatrix (float i) {\n highp float x, y, invSize;\n CCGetJointTextureCoords(12.0, i, x, y, invSize);\n vec4 v1 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 0.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 1.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 2.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 3.5) * invSize, y)))\n );\n vec4 v2 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 4.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 5.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 6.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 7.5) * invSize, y)))\n );\n vec4 v3 = vec4(\n decode32(texture(cc_jointTexture, vec2((x + 8.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 9.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 10.5) * invSize, y))),\n decode32(texture(cc_jointTexture, vec2((x + 11.5) * invSize, y)))\n );\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #else\n #if CC_USE_REAL_TIME_JOINT_TEXTURE\n #if CC_DEVICE_SUPPORT_FLOAT_TEXTURE\n mat4 getJointMatrix (float i) {\n float x = i;\n vec4 v1 = texture(cc_realtimeJoint, vec2( x / 256.0, 0.5 / 3.0));\n vec4 v2 = texture(cc_realtimeJoint, vec2( x / 256.0, 1.5 / 3.0));\n vec4 v3 = texture(cc_realtimeJoint, vec2( x / 256.0, 2.5 / 3.0));\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #else\n mat4 getJointMatrix (float i) {\n float x = 4.0 * i;\n vec4 v1 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 0.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 0.5 / 3.0)))\n );\n vec4 v2 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 1.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 1.5 / 3.0)))\n );\n vec4 v3 = vec4(\n decode32(texture(cc_realtimeJoint, vec2((x + 0.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 1.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 2.5)/ 1024.0, 2.5 / 3.0))),\n decode32(texture(cc_realtimeJoint, vec2((x + 3.5)/ 1024.0, 2.5 / 3.0)))\n );\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #else\n mat4 getJointMatrix (float i) {\n int idx = int(i);\n vec4 v1 = cc_joints[idx * 3];\n vec4 v2 = cc_joints[idx * 3 + 1];\n vec4 v3 = cc_joints[idx * 3 + 2];\n return mat4(vec4(v1.xyz, 0.0), vec4(v2.xyz, 0.0), vec4(v3.xyz, 0.0), vec4(v1.w, v2.w, v3.w, 1.0));\n }\n #endif\n #endif\n mat4 skinMatrix () {\n vec4 joints = vec4(a_joints);\n return getJointMatrix(joints.x) * a_weights.x\n + getJointMatrix(joints.y) * a_weights.y\n + getJointMatrix(joints.z) * a_weights.z\n + getJointMatrix(joints.w) * a_weights.w;\n }\n void CCSkin (inout vec4 position) {\n mat4 m = skinMatrix();\n position = m * position;\n }\n void CCSkin (inout vec4 position, inout vec3 normal, inout vec4 tangent) {\n mat4 m = skinMatrix();\n position = m * position;\n normal = (m * vec4(normal, 0.0)).xyz;\n tangent.xyz = (m * vec4(tangent.xyz, 0.0)).xyz;\n }\n#endif\nvoid CCVertInput(inout vec4 In)\n{\n In = vec4(a_position, 1.0);\n #if CC_USE_MORPH\n applyMorph(In);\n #endif\n #if CC_USE_SKINNING\n CCSkin(In);\n #endif\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};\n#if !USE_INSTANCING\n layout(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 };\n#endif\nvoid CCGetWorldMatrixFull(out mat4 matWorld, out mat4 matWorldIT)\n{\n #if USE_INSTANCING\n matWorld = mat4(\n vec4(a_matWorld0.xyz, 0.0),\n vec4(a_matWorld1.xyz, 0.0),\n vec4(a_matWorld2.xyz, 0.0),\n vec4(a_matWorld0.w, a_matWorld1.w, a_matWorld2.w, 1.0)\n );\n vec3 scale = 1.0 / vec3(length(a_matWorld0.xyz), length(a_matWorld1.xyz), length(a_matWorld2.xyz));\n vec3 scale2 = scale * scale;\n matWorldIT = mat4(\n vec4(a_matWorld0.xyz * scale2.x, 0.0),\n vec4(a_matWorld1.xyz * scale2.y, 0.0),\n vec4(a_matWorld2.xyz * scale2.z, 0.0),\n vec4(0.0, 0.0, 0.0, 1.0)\n );\n #else\n matWorld = cc_matWorld;\n matWorldIT = cc_matWorldIT;\n #endif\n}\nlayout(set = 0, binding = 2) uniform CCShadow {\n highp mat4 cc_matLightView;\n highp mat4 cc_matLightViewProj;\n highp vec4 cc_shadowInvProjDepthInfo;\n highp vec4 cc_shadowProjDepthInfo;\n highp vec4 cc_shadowProjInfo;\n mediump vec4 cc_shadowNFLSInfo;\n mediump vec4 cc_shadowWHPBInfo;\n mediump vec4 cc_shadowLPNNInfo;\n lowp vec4 cc_shadowColor;\n mediump vec4 cc_planarNDInfo;\n};\nvec4 CalculatePlanarShadowPos(vec3 meshWorldPos, vec3 cameraPos, vec3 lightDir, vec4 plane) {\n vec3 P = meshWorldPos;\n vec3 L = lightDir;\n vec3 N = plane.xyz;\n float d = plane.w + EPSILON_LOWP;\n float dist = (-d - dot(P, N)) / (dot(L, N) + EPSILON_LOWP);\n vec3 shadowPos = P + L * dist;\n return vec4(shadowPos, dist);\n}\nvec4 CalculatePlanarShadowClipPos(vec4 shadowPos, vec3 cameraPos, mat4 matView, mat4 matProj, vec4 nearFar, float bias) {\n vec4 camPos = matView * vec4(shadowPos.xyz, 1.0);\n float lerpCoef = saturate((nearFar.z < 0.0 ? -camPos.z : camPos.z) / (nearFar.y - nearFar.x));\n camPos.z += mix(nearFar.x * 0.01, nearFar.y * EPSILON_LOWP * bias, lerpCoef);\n return matProj * camPos;\n}\nlayout(location = 0) out float v_dist;\nvec4 vert () {\n vec4 position;\n CCVertInput(position);\n mat4 matWorld, matWorldIT;\n CCGetWorldMatrixFull(matWorld, matWorldIT);\n vec3 worldPos = (matWorld * position).xyz;\n vec4 shadowPos = CalculatePlanarShadowPos(worldPos, cc_cameraPos.xyz, cc_mainLitDir.xyz, cc_planarNDInfo);\n position = CalculatePlanarShadowClipPos(shadowPos, cc_cameraPos.xyz, cc_matView, cc_matProj, cc_nearFar, cc_shadowWHPBInfo.w);\n v_dist = shadowPos.w;\n return position;\n}\nvoid main() { gl_Position = vert(); }","frag":"\nprecision highp float;\nlayout(set = 0, binding = 2) uniform CCShadow {\n highp mat4 cc_matLightView;\n highp mat4 cc_matLightViewProj;\n highp vec4 cc_shadowInvProjDepthInfo;\n highp vec4 cc_shadowProjDepthInfo;\n highp vec4 cc_shadowProjInfo;\n mediump vec4 cc_shadowNFLSInfo;\n mediump vec4 cc_shadowWHPBInfo;\n mediump vec4 cc_shadowLPNNInfo;\n lowp vec4 cc_shadowColor;\n mediump vec4 cc_planarNDInfo;\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};\nvec4 CCFragOutput (vec4 color) {\n return color;\n}\nlayout(location = 0) in float v_dist;\nvec4 frag () {\n if(v_dist < 0.0)\n discard;\n return CCFragOutput(cc_shadowColor);\n}\nlayout(location = 0) out vec4 cc_FragColor;\nvoid main() { cc_FragColor = frag(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]},{"name":"CCCamera","defines":[]},{"name":"CCShadow","defines":[]}],"samplerTextures":[],"buffers":[],"images":[]},"locals":{"blocks":[{"name":"CCMorph","defines":["CC_USE_MORPH"]},{"name":"CCSkinningTexture","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinningAnimation","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"CCSkinning","defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","!CC_USE_REAL_TIME_JOINT_TEXTURE"]},{"name":"CCLocal","defines":["!USE_INSTANCING"]}],"samplerTextures":[{"name":"cc_PositionDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_POSITION"]},{"name":"cc_NormalDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_NORMAL"]},{"name":"cc_TangentDisplacements","defines":["CC_USE_MORPH","CC_MORPH_TARGET_HAS_TANGENT"]},{"name":"cc_jointTexture","defines":["CC_USE_SKINNING","CC_USE_BAKED_ANIMATION"]},{"name":"cc_realtimeJoint","defines":["CC_USE_SKINNING","!CC_USE_BAKED_ANIMATION","CC_USE_REAL_TIME_JOINT_TEXTURE"]}],"buffers":[],"images":[]},"statistics":{"CC_EFFECT_USED_VERTEX_UNIFORM_VECTORS":90,"CC_EFFECT_USED_FRAGMENT_UNIFORM_VECTORS":58}},"defines":[{"name":"USE_INSTANCING","type":"boolean"},{"name":"CC_USE_SKINNING","type":"boolean"},{"name":"CC_USE_BAKED_ANIMATION","type":"boolean"},{"name":"CC_USE_LIGHTMAP","type":"boolean"},{"name":"CC_USE_REFLECTION_PROBE","type":"boolean"},{"name":"CC_RECEIVE_SHADOW","type":"boolean"},{"name":"CC_USE_LIGHT_PROBE","type":"boolean"},{"name":"CC_USE_MORPH","type":"boolean"},{"name":"CC_MORPH_TARGET_COUNT","type":"number","range":[2,8]},{"name":"CC_MORPH_TARGET_HAS_POSITION","type":"boolean"},{"name":"CC_MORPH_TARGET_HAS_NORMAL","type":"boolean"},{"name":"CC_MORPH_TARGET_HAS_TANGENT","type":"boolean"},{"name":"CC_MORPH_PRECOMPUTED","type":"boolean"},{"name":"CC_USE_REAL_TIME_JOINT_TEXTURE","type":"boolean"}]}],[{"name":"opaque","passes":[{"program":"legacy/standard|standard-vs|standard-fs","properties":{"tilingOffset":{"type":16,"value":[1,1,0,0]},"mainColor":{"linear":true,"type":16,"value":[1,1,1,1],"handleInfo":["albedo",0,16]},"albedoScale":{"type":15,"value":[1,1,1],"handleInfo":["albedoScaleAndCutoff",0,15]},"alphaThreshold":{"type":13,"value":[0.5],"handleInfo":["albedoScaleAndCutoff",3,13]},"occlusion":{"type":13,"value":[0],"handleInfo":["pbrParams",0,13]},"roughness":{"type":13,"value":[0.5],"handleInfo":["pbrParams",1,13]},"metallic":{"type":13,"value":[0],"handleInfo":["pbrParams",2,13]},"specularIntensity":{"type":13,"value":[0.5],"handleInfo":["pbrParams",3,13]},"emissive":{"linear":true,"type":16,"value":[0,0,0,1]},"emissiveScale":{"type":15,"value":[1,1,1],"handleInfo":["emissiveScaleParam",0,15]},"normalStrength":{"type":13,"value":[1],"handleInfo":["emissiveScaleParam",3,13]},"mainTexture":{"value":"grey","type":28,"handleInfo":["albedoMap",0,28]},"normalMap":{"value":"normal","type":28},"pbrMap":{"value":"grey","type":28},"metallicRoughnessMap":{"value":"grey","type":28},"occlusionMap":{"value":"white","type":28},"emissiveMap":{"value":"grey","type":28},"albedo":{"type":16,"value":[1,1,1,1]},"albedoScaleAndCutoff":{"type":16,"value":[1,1,1,0.5]},"pbrParams":{"type":16,"value":[0,0.5,0,0.5]},"emissiveScaleParam":{"type":16,"value":[1,1,1,1]},"albedoMap":{"type":28,"value":"grey"}}},{"phase":"forward-add","propertyIndex":0,"program":"legacy/standard|standard-vs|standard-fs","embeddedMacros":{"CC_FORWARD_ADD":true},"blendState":{"targets":[{"blend":true,"blendSrc":1,"blendDst":1,"blendSrcAlpha":0,"blendDstAlpha":1}]},"depthStencilState":{"depthFunc":2,"depthTest":true,"depthWrite":false}},{"phase":"shadow-caster","propertyIndex":0,"program":"legacy/standard|shadow-caster-vs:vert|shadow-caster-fs:frag","rasterizerState":{"cullMode":1},"properties":{"tilingOffset":{"type":16,"value":[1,1,0,0]},"mainColor":{"type":16,"value":[1,1,1,1],"handleInfo":["albedo",0,16]},"albedoScale":{"type":15,"value":[1,1,1],"handleInfo":["albedoScaleAndCutoff",0,15]},"alphaThreshold":{"type":13,"value":[0.5],"handleInfo":["albedoScaleAndCutoff",3,13]},"mainTexture":{"value":"grey","type":28,"handleInfo":["albedoMap",0,28]},"albedo":{"type":16,"value":[1,1,1,1]},"albedoScaleAndCutoff":{"type":16,"value":[1,1,1,0.5]},"albedoMap":{"type":28,"value":"grey"}}},{"phase":"planar-shadow","propertyIndex":0,"program":"legacy/standard|planar-shadow-vs:vert|planar-shadow-fs:frag","blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":4,"blendDstAlpha":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false,"stencilTestFront":true,"stencilFuncFront":5,"stencilPassOpFront":2,"stencilRefBack":128,"stencilRefFront":128,"stencilReadMaskBack":128,"stencilReadMaskFront":128,"stencilWriteMaskBack":128,"stencilWriteMaskFront":128}},{"pass":"gbuffer","phase":"gbuffer","propertyIndex":0,"program":"legacy/standard|standard-vs|standard-fs","embeddedMacros":{"CC_PIPELINE_TYPE":1}}]},{"name":"transparent","passes":[{"program":"legacy/standard|standard-vs|standard-fs","embeddedMacros":{"CC_FORCE_FORWARD_SHADING":true},"blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":4,"blendDstAlpha":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"tilingOffset":{"type":16,"value":[1,1,0,0]},"mainColor":{"linear":true,"type":16,"value":[1,1,1,1],"handleInfo":["albedo",0,16]},"albedoScale":{"type":15,"value":[1,1,1],"handleInfo":["albedoScaleAndCutoff",0,15]},"alphaThreshold":{"type":13,"value":[0.5],"handleInfo":["albedoScaleAndCutoff",3,13]},"occlusion":{"type":13,"value":[0],"handleInfo":["pbrParams",0,13]},"roughness":{"type":13,"value":[0.5],"handleInfo":["pbrParams",1,13]},"metallic":{"type":13,"value":[0],"handleInfo":["pbrParams",2,13]},"specularIntensity":{"type":13,"value":[0.5],"handleInfo":["pbrParams",3,13]},"emissive":{"linear":true,"type":16,"value":[0,0,0,1]},"emissiveScale":{"type":15,"value":[1,1,1],"handleInfo":["emissiveScaleParam",0,15]},"normalStrength":{"type":13,"value":[1],"handleInfo":["emissiveScaleParam",3,13]},"mainTexture":{"value":"grey","type":28,"handleInfo":["albedoMap",0,28]},"normalMap":{"value":"normal","type":28},"pbrMap":{"value":"grey","type":28},"metallicRoughnessMap":{"value":"grey","type":28},"occlusionMap":{"value":"white","type":28},"emissiveMap":{"value":"grey","type":28},"albedo":{"type":16,"value":[1,1,1,1]},"albedoScaleAndCutoff":{"type":16,"value":[1,1,1,0.5]},"pbrParams":{"type":16,"value":[0,0.5,0,0.5]},"emissiveScaleParam":{"type":16,"value":[1,1,1,1]},"albedoMap":{"type":28,"value":"grey"}}},{"phase":"forward-add","propertyIndex":0,"program":"legacy/standard|standard-vs|standard-fs","embeddedMacros":{"CC_FORWARD_ADD":true},"blendState":{"targets":[{"blend":true,"blendSrc":1,"blendDst":1,"blendSrcAlpha":0,"blendDstAlpha":1}]},"depthStencilState":{"depthFunc":2,"depthTest":true,"depthWrite":false}},{"phase":"shadow-caster","propertyIndex":0,"program":"legacy/standard|shadow-caster-vs:vert|shadow-caster-fs:frag","rasterizerState":{"cullMode":1},"properties":{"tilingOffset":{"type":16,"value":[1,1,0,0]},"mainColor":{"type":16,"value":[1,1,1,1],"handleInfo":["albedo",0,16]},"albedoScale":{"type":15,"value":[1,1,1],"handleInfo":["albedoScaleAndCutoff",0,15]},"alphaThreshold":{"type":13,"value":[0.5],"handleInfo":["albedoScaleAndCutoff",3,13]},"mainTexture":{"value":"grey","type":28,"handleInfo":["albedoMap",0,28]},"albedo":{"type":16,"value":[1,1,1,1]},"albedoScaleAndCutoff":{"type":16,"value":[1,1,1,0.5]},"albedoMap":{"type":28,"value":"grey"}}},{"phase":"planar-shadow","propertyIndex":0,"program":"legacy/standard|planar-shadow-vs:vert|planar-shadow-fs:frag","blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":4,"blendDstAlpha":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false,"stencilTestFront":true,"stencilFuncFront":5,"stencilPassOpFront":2,"stencilRefBack":128,"stencilRefFront":128,"stencilReadMaskBack":128,"stencilReadMaskFront":128,"stencilWriteMaskBack":128,"stencilWriteMaskFront":128}},{"phase":"deferred-forward","propertyIndex":0,"program":"legacy/standard|standard-vs|standard-fs","embeddedMacros":{"CC_PIPELINE_TYPE":0},"blendState":{"targets":[{"blend":true,"blendSrc":2,"blendDst":4,"blendDstAlpha":4}]},"depthStencilState":{"depthTest":true,"depthWrite":false}}]}]]],0,0,[],[],[]],[[[1,"seafloor",[{"rasterizerState":{},"blendState":{"targets":[{}]},"depthStencilState":{}}],[{"USE_ALBEDO_MAP":true}],[[[{"metallic":0.400000005960464,"roughness":0.70710676908493,"alphaThreshold":0},"albedoScale",8,[1,1,1,1],"mainTexture",6,0]],11]]],0,0,[0,0],[0,1],[0,1]]]] diff --git a/cocos_view_pod/Assets/assets/main/import/0d/0d0d3c8df.json b/cocos_view_pod/Assets/assets/main/import/0d/0d0d3c8df.json new file mode 100644 index 0000000..1484f38 --- /dev/null +++ b/cocos_view_pod/Assets/assets/main/import/0d/0d0d3c8df.json @@ -0,0 +1 @@ +[1,0,0,["cc.ImageAsset","cc.TextureCube"],0,[[[{"base":"2,2,0,0,2,1","rgbe":false,"mipmaps":[{"front":"5a8gG1WVFOLKgfrEqtkTLL@b47c0@e9a6d","back":"5a8gG1WVFOLKgfrEqtkTLL@b47c0@40c10","left":"5a8gG1WVFOLKgfrEqtkTLL@b47c0@8fd34","right":"5a8gG1WVFOLKgfrEqtkTLL@b47c0@74afd","top":"5a8gG1WVFOLKgfrEqtkTLL@b47c0@bb97f","bottom":"5a8gG1WVFOLKgfrEqtkTLL@b47c0@7d38f"}]}],[1],0,[],[],[]],[[{"fmt":"1","w":0,"h":0},-1],[0],0,[],[],[]],[[{"fmt":"1","w":0,"h":0},-1],[0],0,[],[],[]],[[{"fmt":"1","w":0,"h":0},-1],[0],0,[],[],[]],[[{"fmt":"1","w":0,"h":0},-1],[0],0,[],[],[]],[[{"fmt":"1","w":0,"h":0},-1],[0],0,[],[],[]],[[{"fmt":"1","w":0,"h":0},-1],[0],0,[],[],[]]]] diff --git a/cocos_view_pod/Assets/assets/main/import/4f/4f4c4a34-2d08-4a4d-9169-834d7ce82cee.json b/cocos_view_pod/Assets/assets/main/import/4f/4f4c4a34-2d08-4a4d-9169-834d7ce82cee.json new file mode 100644 index 0000000..95c3eaa --- /dev/null +++ b/cocos_view_pod/Assets/assets/main/import/4f/4f4c4a34-2d08-4a4d-9169-834d7ce82cee.json @@ -0,0 +1 @@ +[1,0,0,["cc.ImageAsset"],0,[{"fmt":"1","w":0,"h":0},-1],[0],0,[],[],[]] diff --git a/cocos_view_pod/Assets/assets/main/import/6f/6f891a7b-5a08-48e6-9841-ddb364ac86b1.json b/cocos_view_pod/Assets/assets/main/import/6f/6f891a7b-5a08-48e6-9841-ddb364ac86b1.json new file mode 100644 index 0000000..b15f35a --- /dev/null +++ b/cocos_view_pod/Assets/assets/main/import/6f/6f891a7b-5a08-48e6-9841-ddb364ac86b1.json @@ -0,0 +1 @@ +[1,0,0,["cc.ImageAsset"],0,[{"fmt":"0","w":0,"h":0},-1],[0],0,[],[],[]] diff --git a/cocos_view_pod/Assets/assets/main/import/95/95e5b02a-e338-423c-bdbb-17486db1d9eb.json b/cocos_view_pod/Assets/assets/main/import/95/95e5b02a-e338-423c-bdbb-17486db1d9eb.json new file mode 100644 index 0000000..95c3eaa --- /dev/null +++ b/cocos_view_pod/Assets/assets/main/import/95/95e5b02a-e338-423c-bdbb-17486db1d9eb.json @@ -0,0 +1 @@ +[1,0,0,["cc.ImageAsset"],0,[{"fmt":"1","w":0,"h":0},-1],[0],0,[],[],[]] diff --git a/cocos_view_pod/Assets/assets/main/import/aa/aade09ee-8f9d-413c-a9e8-8c686ea5e160@73b7f.bin b/cocos_view_pod/Assets/assets/main/import/aa/aade09ee-8f9d-413c-a9e8-8c686ea5e160@73b7f.bin new file mode 100644 index 0000000000000000000000000000000000000000..e447d58a85928ff278a1ec25208d5f78af33257c GIT binary patch literal 10016 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 sK~1vcI6gf+LK z1v^)MWpYONgJSFYSCOy5&3tf)8FqZ`KWYPV&JNv@*?!J) z^Z$l(cFKv#eB;jt(aL)nd`+d5z*PJ3%P$^8YQ9_fpE|CDz{YF*cf38w<7*$v?am7L zvX(&VB|8T87Vn{U4_t)m6i-rf zl4D@m$nBKptQE*x_cS#yH3k+vPowk-lTqhwr>K#6G2l)wq|VfBL=(rKpyW@+KzCz` zTJ4mJZkLIuLr-FWJ)uZFTyzM%)+(ZI|A>M6&o}X-Czhj`Vf!eN+zR+M$csnUoJAg! z_E76_{1;^#u|eKVw7jT*I-VH=>F-a8S-B=u8_ZI#d&WSY8XXjN<_F@GU89DCEC(Na z@3m>a3N!A>TWU{!G}N5*MbpRWFgB)&wC}lPFvTwl4H?jj$*|L+9lu6_`jOS><4O+m zHm(P~X>=6KPg#fL)(>C?8}+82T#kgzW4EHMQO1mpWp8@t!AOX=+=3>U_GhxzcBdby zML|(yDjHbPo7wb9gRXiI1#+6fXv-sQW{TH0s(b4)m^sD)>DYE;ay_q7LW||_Y1BvY z(aA57oAy3Rb!-f*I6Yr{K>G?Be032OZoUFsTKf$dU0#kx<*HH*)hqt>oJ~KpopKPK zrT&)dtZ`~uNgv$aceDl4cJR|n*5M|#m31mCgK?AE-q&W?KDNJATBv9X_Bg)v-iWf+ z+m#NnUu|GkXInV`#M?GI`1Y^OjU?t@XJds#Jn$-TO ztZ4tDG)ZKqZVN>}ZJ_IGqobGnw%Ntu+#oz=B`@E~eE7y+`AbGWwIWTLpYH#*^u&;0 zhdP|w1#?84I#RkQ)ym;>s|~zSwFPRFLD`IX+a2`3+dz#b=ES)hW%94w(koj!DAS<} z?ytlBt0pp~iD!8ZQ8+(X%@#cS#o2_tS1Gl^T8>~%-dHY_GVm$+ z6p;O^f5_I!B|U9-{<8IEMI2rvGk$?Zx6&8so9xvUY~i+&EhKKxw<~{@TgFkgg{lsC zK36xFp5LME&`sVJE~(hUpX*mX?D^5b<#X(Z<9s2`zw&B*>HB_K4y>Fl48Ze8AyaMc zEJH{8V*S-ve-zd}R!0AydxO8>x(Ys-Xz!!hd`^#4MDV_LJQU+{jJeoPW4s$26(U#So%g0!%!4_kpf#ecSg2`9}pT?NXk%#flcI=2T;U|8gU&>G7ceLjc4O?aK zk#;N_FN?`~N_n6i6MotC{2R^(`BoEpuSzs@&vHc;mr5!1Z>F@|&t>p>s4IGOzm#&A zHH@C8vJ4`FU66}w88vX|1iCdi3dYPFg&qVPp==I%()Qh>pu;t1SU0do!Z+;sI z#p}kRhr{<#ZaUty_-Q0)a3-RC3x!ntWpDcWqe$p-VG zozx9gf7-k#5{@o(Lmgk|Q5$Cm&}r)s3OTZedR6UDH>5`bW9^K_)E=VVT=1p2 z*^zK)juWbyb%aXCb!|F#?0PyNZZT|scvw7mXE!=;)FxV|ITZYk>=uU|)uUIx+(h@j7z%f5^2Lic z^rQ<{Y@iPfUko!^io{}v9`y76>GW(^0tu_niqlygIy@zb-nnrp>}_onr@T_5>BW(B za@TO^rLBrSFOjDe(*o)AoCxT1wKqDZ@tX3CA5Uv^iGnWutkABS8&tq%ds@e98Mr2l zKpo4f$n*EV?pYUw>nZN-FNKSA61W6ET(+r@{OyoB>$)(+694{N5S-McXBDlxwxq58 z5?YcNN9?z@K3tSh88(>sqjd|4o7_aj1UI>578f{AFKUbDmS7%9u1|)OWr6ds5|VrV z{CUf0UGowLjFXzQOEM~3Bs{pj6XJL-i7`lOD#Ds1oR5}m!aQ6FPY5-}DuhZc;o}(W zv%)Q(jD_Dzup;p!7xP)-cNQf4eUs)}BsHzKA~8fe`Lt;h3fKJ_SI8y&B)7@U!NOg{ zw9i+fUy^H(WJ+`vwU28-#%`aZC62cue!@-WOXlS+GAO}oB3VQ1!*wgyi17btZI!Gu zS#!)+OmfKQzrJrg{Nyt3@<-{0&0ile8j-W0hsPGKPw;lZe)}g(xbZCLHg>a6tH(&; z3MDzVN0Bf1XbjHFi$5+@=&r`LW=w$|QD?ZOOKu2tw`;SWYu#bm`U!%YcHKF+u^2&2DZN;)=&{f=#Z<6}JPPKG{gVTcQK{Fa~Bz3dBjq@Wkea~cbQ zYk@PSdpfu0;O?x_)(NoM-%VK5bE$A*oDSRdjT_9}6wBqVRTO%7cVaJAdB6*cPDU;B z;sh@R>a6d&$*`rH0w*uzjc|mMI@|B!WH`VkaoLDq5|V6J1j zxSMt{)qmSVdVR@E$clMY-i10w`B}WB>mCJwvDZAF{>2JPQ~x`CA;uS$DbD2Y{BV|9 z`Mv|pj+q8Q86tkaXP2mnNC^~_rh;$nGrrr8tJIhMs_;X7GDNt%=g%v>K{aNp!-3-- zuwc|&_FDBs{A0z`0PT-- z-C%#HPW3|ZD-TdM$#3bri~v{|ycYHCvYYbPe@z#D34rk)#b{iYJj%%J4Sm-=08~ut z(E+{fRJ!APy6mPO^h|C+UZ1y6UNN8Ph6W!P*F%jtTECv6d;g?s&rXArQQeu$k83Em zZSvrJW-638bC}_~k}1B#elFuVS^ zwyMB2)`Er%yCo$$A{)$Af;s=J$8xK$m8@&1DVFkiCRiVKm#L@!cl9h+_2%LAuT!i) zV11;1-v3Ddu;0}agQa|jaXsuHQxE@H&z?@1a`d3M&JJO{##nF8MTJt$LkaeQxE4&n zHDR)9y7iDJ)<>%_Hy6+Ue^<{2*reKM-q$S+$MK;!{^YskrJdfi+9N!7W4s1`*0V#7 zgq18fa`9Kad(-dak$dwr?MN=+;I=HWi$^VG{c-Mze_6jD)<><>a6K)(f56I@l%(J$ zoxc_C)0U~X|6izQldkE}#y-uW6i4$iDZbv0lf3b>^dW8j%2~}KxuND|={Ua04L?hF zHZM!XxWx}YOSd#HOU77jHhwnl(B?0|@j-N3yfCC$WNmF;mO|pEHH)tE+G2txV;=i9 zzkwIVlzG`|91|3T-!;IPa6a^C7Ukny;j`JHH#?BLo^dTBt8S<5FGOn zbFLyWp3Nd-tcQ$SfafB@bCL2_VjiMji23hWw8gm3!Sl6h)12gsH5<3<#CjgK=ZbL5 z;bCn&=NI4@Xv1=39qiiT$$ILVw`q%>(JYFUSxmbLGVvt;7`D5%^O5{ZGW}%y92uMRKf<r4)mFXvTnM^;?dji|i`H}qn*p{vj(NiIlPvXUY*hHV~_i+;2()kd* zH?b|{C;3FLw4aP88&CS#Kl-oB*rflCjQwXlOYB3DX}BH}4j|_%`TW;=!(?l9q_XD) zokUS+`@}#PXrhJ^4!xikI`fdVTOiyR_e7lL+DJE-YNA@tKnQxlh^JLG(%aY6i*qIg zg5xoPxV}ddP4&(ZTTKXripsU(z3xqP@!G}WV3$DHsu3?<5#B^=Om`B$8y*PDO(Mig zlbh)M_l?C1h6O_Ok)`50X-#yxZ9nnLp@EQ9u}mD9&_q`pv=H}m3WO;I3F1egO|;26 z7x9J>flvf%#HC(MG*4}=c)N2TOw!pR-a$3d=Q*pzXiOl?G|d%H=-WiAkJ=_qA0G&V z*6kDT>)1pu);%b$bq$1Jbg}r%t47*Qcw8KS=QqT$`MT{9e#VQ}!>!b=bB`yCm+owvk@&rA0gyuc!LE>*AB)jdX)t z2XqwMH}2gRZ})Aa2PCSZ+t{9J+8}OqYNXv~Xd^MUU5eg{{RcGC+TnW01KV+=&D4)@|c*tw|1v$Na_QUJ!{P+VNP2IT+)A zdt#lLb<>Jq!b3hJK3cbvH6B+o7s8EmO4>MuMh}jx7P?gv-71B|Y?aEzYYw=yxWe4*zdU*TSLIqp7nIadFWFYM~C zkl*O5A#~K0V~zLvg1M)%k*)7luFj5D#{ZHp+^E?py!T08aCY}kreAkIc=)uFaIxd( zz8PUZ82^QSp#KrS6LBz+o8kDK(L3V@BbGMgd0a^l)){?cY`Xb_g|Lgzr^_i}$=t8Z zsWJZ0<4Uez(#e+`HIuJQwvRvDnpw+@pX$!7Wxg<3%lyITNF?WG)qRfFkIMpGhlxg7=Xmy{THy)GEvc`IaPZcSFkPz@1BsVfnwmQ*gy+ z9Qhk9lAgE!^*Ot{GY`K{GNC+v(ivV#r8%tZ!ef&+jVZ6^Rr8iH=J0I+k8QYn__$r{ zTHaBAbMP+VvCW%%4=J_K*j!;?fF z>*$%q&n`|Eiw2lO;xZoVHYl0jw>Vtf>}U?p7xGw_%=!F?S+3&mMx!hfa5)QY}Cfy{QfPU%4?RG17{SEMG;NBhDt$sofJ!@u;5Jyy!FL|M;Di?hUiD zvW)S0yX$Yb&Mw)th;}_u&jfd|Wa4-Dz@r0;=x4|3nKFM%=Ik~f;13U>e;U;@uiP9M zD=!~7QyM~-7Su6jzGA5XQ^N2O7OY=nfk73@6f&=`q0v(9jS%dO$rh-Nu2LIL!ydMj>?8@OtLS zb33Lo$Oq=CgwQwq>zPBDwv6o(AK<-QM2n;AnN{O#n8hn`{G~X|7=Etqq;KL0pp|Aupv?3M6dMmW{cM!K&Nl06RD zvtYl4iBE=P??ax=8T%9-Zr{5}_C6$6WRN7g*Tefkkrmk!wG7;DN%m=NJmmQnSF%4^ zSGk$&8H-6wf%8MM7nAJ!@IH(@yV^zkWL>0w@;r=S!h^>mJeFi%R(pO;G1)gt_j=eb z*^7}}{JhJ8@L(T)ekPR63-19-$o{ZRzfkgT-wbgK@#ANM(!HSt)+Eu7^MsWx4J9Oo zV9X`i7vufhV5xrWmpoS^oS2&Elg?eclfkm%+Wd_JHMuS~G}+<$o={s}C-8id z!SQ_3nXN6K1XCVs8RcF*EnMTN&8o5PAU3zkSMzTb+;-Aocl5;1_rhY0W)2ezVk&f4 zs?rTylOA%tHf-Z|d8WhW?sbD_A5-(y$0Zv@pVDC$<9CHq6&eJm6RWtsOLbU-&u-AM z*_W%=&>%dnq{A*4;SLLT3^2;sH!OeiI&Icvi#sSNlyKEU6F3$9wOQx;?hqLCeQ7}PAK<)((rNlA8uA~{YGlCCu2O} zalmfF+52*YDxcKZWUtAvJ#BUV_|wH4agrL_;4%fOdbJ3xYc>i~KdZ12qo%?^C4q1o zCpv%AWM%f#I4@{@BWEOkH!^SG9z}NWlxbj6P{VEhIw&8#Q(#R3yrF(nU!!+g#`*n+ zc3@osec;27kKC{d?R>ATa;&9~FO(h{$Xyjaiu+dXCzCzO59Tb^5whPn`E!-OG0_J8 z|F~w6-`VSUZ`gK@{~f=xry}{Fsj-ckk0v0cB2)OXoDWV5w^3F2J(%EqrjUP^4|lwU zR3`0>K6EmLCj%(Za^Fw6Z<&dvZ8m{Oe+m>c3n}aU^U($e6F9euf@<%>)X}mK^u5Ix zbaE*eeC{aa{e20ls4<4QhbWldwTy}_3quzV8$)do1;KO6DCdFU=+hx%&^t)Ml@F!V z*|ad!rPLS<@+i=GdX&=cvlO+QF~-kaDd;};2-VYYF`D$)7|ySx;9_A3b??$5^jO{m zjDsmS@vMkiGCvqCGcB*+AGhf&b$$U&fZNChR&Mwb?vz+*=W3KS1g8ux?HvIrAU zwZi(H4^Tz-XQAXo6R5}Qvt{CbDtOaOv=pz;`d$=d4%|l#P!2?*eI~G0lY&0i_fR99 zrlXn@CeY(2AD#s6rj#f8Bg0!J5c7%;6R+h{ONaO(`xX;Wzr%;ewnA!+x;IMEHU-@p zJ~*f5Q3bVA(OPp;cwWW_+uJ#mLE2j16JJr9h zJ35$X3R4pJpw%&(($koTd~-};{SrPTZ^)wh>Q6wnBGZ4Iv*cX;uj`jRk&5(E9i<^3 zcbQNNT9oJ~^Lp`?IQ9Jh_&-<&at-TIs0J@aX)^CxUQ?m{-T!gUkeDD&0DeE2n~Q(f zd;JaPP=BTbT~M4^&J9mw=8X)8Nka}Jo16aS!?3L|A{@>QsX&q07mja=Ok{THg@f=x z9r8<@HKb!yBI9r;3{qR4qk`8#JS`l*dSe(=-T8{9HdOJnLK2zrqr<@GK}TkAZU=s^ zxrxjgwJ^B%MuoX*uFGFOGm)u!wiJ5Wt1w48YxBKkB{H_JmV!ZoJhRobfwy8oBI7e4 z3?8|^M0%W6yiZFL8Rdj9u&=p@DhCuhn&a^YHHN_@=K^%hHmO`GERnHu4+o3tWTa=^ zMO=yb?-hkZLDEo^+-06PYGfkg`y(9o=v^0gT_F(9?wZK7SVVvj?J9S>c1dhipTI14 zj({JJ6Zn(9{}eaHComZh0d8};QKqlEA_JoYCbMS*Xl)LnO3h8t!}55h;!Zf2TW3;R zkJ2d1HJ%Zz35Py!MU;E1D-u49WBOQ!!+=%wR6?pB>XsD8{J0qg-9NmbUS64tqHW`t zUTeZYWyojhsYfWX{~60DdxSw##t-TfXDRCOB9^hD!+8@@QG*6Yzc?`D*dQ+7xfTVCxLO&j)15$`+539pNmfx zBrpr{{Hn4)iLEbWi7)m^WTqKMz{&hLBp=5Sy96XMBTj_>XC-;j(sZ>i6lh}0GlH?Lh z=817J;lVY=;GiI-V!}`M*FG7Q5*~a{7{4D_(atZ~Ut500G5EeQe(!EX5#h)02IBj? zn~DghvCm+94>ztzs!ggB-`mA?jHdI7gKGw>{18+q6EE@Oc?eapPU(E{ zJA{_f7+kYhyv4ahKlzYxvHrrWEU)5s7-RkTeZupScw9GFW@10dCF>)N$90AkwmC#U zK3b|?7fRN79p=F`+F+UWF(lV8x!7SjQ`fBSeI-jCQ^fw`oRP#3^7hZ4_WyYf`Tteg zK1Z}JA0|A}D+`^Z?N8ozo5dOIi`G^~Lr(5rwat&=^6@+i@%Ldwa_%2W=`TM~d_^hS#O-|DGXs6HiP%3|FTv z-|QjzziH-oGlB@K9ZW-CWj3SN>wo-zHEkSnau1d4$vEQnaahw1F^*)MjhegvbsVBi k`uVM+%`+`|;1S}JemCSO9q0cx2Y)x^BnKaP|0m=84~%;n5dZ)H literal 0 HcmV?d00001 diff --git a/cocos_view_pod/Assets/assets/main/import/e3/e3553cad-2f15-4293-859a-8f43c780f289@73b7f.json b/cocos_view_pod/Assets/assets/main/import/e3/e3553cad-2f15-4293-859a-8f43c780f289@73b7f.json new file mode 100644 index 0000000..3644a45 --- /dev/null +++ b/cocos_view_pod/Assets/assets/main/import/e3/e3553cad-2f15-4293-859a-8f43c780f289@73b7f.json @@ -0,0 +1 @@ +{"version":1,"document":[{"__type__":"cc.AnimationClip","_name":"Take 001","_objFlags":0,"__editorExtras__":{},"_native":"","sample":30,"speed":1,"wrapMode":2,"enableTrsBlending":true,"_duration":1.3000000397364297,"_hash":3067012107,"_tracks":[],"_exoticAnimation":{"__id__":1},"_events":[],"_embeddedPlayers":[],"_additiveSettings":{"__id__":233},"_auxiliaryCurveEntries":[]},{"__type__":"cc.animation.ExoticAnimation","_nodeAnimations":[{"__id__":2},{"__id__":9},{"__id__":16},{"__id__":23},{"__id__":30},{"__id__":37},{"__id__":44},{"__id__":51},{"__id__":58},{"__id__":65},{"__id__":72},{"__id__":79},{"__id__":86},{"__id__":93},{"__id__":100},{"__id__":107},{"__id__":114},{"__id__":121},{"__id__":128},{"__id__":135},{"__id__":142},{"__id__":149},{"__id__":156},{"__id__":163},{"__id__":170},{"__id__":177},{"__id__":184},{"__id__":191},{"__id__":198},{"__id__":205},{"__id__":212},{"__id__":219},{"__id__":226}]},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/Bip001","_position":{"__id__":3},"_rotation":{"__id__":5},"_scale":{"__id__":7}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":0,"length":33},"values":{"__id__":4}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":132,"length":99},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":528,"length":33},"values":{"__id__":6}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":660,"length":132},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":1188,"length":1},"values":{"__id__":8}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":1192,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/Bip001/Bip001 Footsteps","_position":{"__id__":10},"_rotation":{"__id__":12},"_scale":{"__id__":14}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":1204,"length":33},"values":{"__id__":11}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":1336,"length":99},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":1732,"length":33},"values":{"__id__":13}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":1864,"length":132},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":2392,"length":1},"values":{"__id__":15}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":2396,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/Bip001/Bip001 Pelvis/Bip001 Spine","_position":{"__id__":17},"_rotation":{"__id__":19},"_scale":{"__id__":21}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":2408,"length":33},"values":{"__id__":18}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":2540,"length":99},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":2936,"length":33},"values":{"__id__":20}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":3068,"length":132},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":3596,"length":1},"values":{"__id__":22}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":3600,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 L Thigh","_position":{"__id__":24},"_rotation":{"__id__":26},"_scale":{"__id__":28}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":3612,"length":33},"values":{"__id__":25}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":3744,"length":99},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":4140,"length":33},"values":{"__id__":27}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":4272,"length":132},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":4800,"length":1},"values":{"__id__":29}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":4804,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 L Thigh/Bip001 L Calf","_position":{"__id__":31},"_rotation":{"__id__":33},"_scale":{"__id__":35}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":4816,"length":1},"values":{"__id__":32}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":4820,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":4832,"length":33},"values":{"__id__":34}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":4964,"length":132},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":5492,"length":1},"values":{"__id__":36}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":5496,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 L Thigh/Bip001 L Calf/Bip001 L Foot","_position":{"__id__":38},"_rotation":{"__id__":40},"_scale":{"__id__":42}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":5508,"length":1},"values":{"__id__":39}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":5512,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":5524,"length":33},"values":{"__id__":41}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":5656,"length":132},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":6184,"length":1},"values":{"__id__":43}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":6188,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 L Thigh/Bip001 L Calf/Bip001 L Foot/Bip001 L Toe0","_position":{"__id__":45},"_rotation":{"__id__":47},"_scale":{"__id__":49}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":6200,"length":1},"values":{"__id__":46}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":6204,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":6216,"length":33},"values":{"__id__":48}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":6348,"length":132},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":6876,"length":1},"values":{"__id__":50}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":6880,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 R Thigh","_position":{"__id__":52},"_rotation":{"__id__":54},"_scale":{"__id__":56}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":6892,"length":33},"values":{"__id__":53}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":7024,"length":99},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":7420,"length":33},"values":{"__id__":55}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":7552,"length":132},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":8080,"length":1},"values":{"__id__":57}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":8084,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 R Thigh/Bip001 R Calf","_position":{"__id__":59},"_rotation":{"__id__":61},"_scale":{"__id__":63}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":8096,"length":33},"values":{"__id__":60}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":8228,"length":99},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":8624,"length":33},"values":{"__id__":62}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":8756,"length":132},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":9284,"length":1},"values":{"__id__":64}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":9288,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 R Thigh/Bip001 R Calf/Bip001 R Foot","_position":{"__id__":66},"_rotation":{"__id__":68},"_scale":{"__id__":70}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":9300,"length":1},"values":{"__id__":67}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":9304,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":9316,"length":33},"values":{"__id__":69}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":9448,"length":132},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":9976,"length":1},"values":{"__id__":71}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":9980,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 R Thigh/Bip001 R Calf/Bip001 R Foot/Bip001 R Toe0","_position":{"__id__":73},"_rotation":{"__id__":75},"_scale":{"__id__":77}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":9992,"length":1},"values":{"__id__":74}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":9996,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":10008,"length":33},"values":{"__id__":76}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":10140,"length":132},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":10668,"length":1},"values":{"__id__":78}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":10672,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1","_position":{"__id__":80},"_rotation":{"__id__":82},"_scale":{"__id__":84}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":10684,"length":33},"values":{"__id__":81}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":10816,"length":99},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":11212,"length":33},"values":{"__id__":83}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":11344,"length":132},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":11872,"length":1},"values":{"__id__":85}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":11876,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 L Clavicle/Bip001 L UpperArm","_position":{"__id__":87},"_rotation":{"__id__":89},"_scale":{"__id__":91}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":11888,"length":1},"values":{"__id__":88}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":11892,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":11904,"length":33},"values":{"__id__":90}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":12036,"length":132},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":12564,"length":1},"values":{"__id__":92}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":12568,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 L Clavicle/Bip001 L UpperArm/Bip001 L Forearm","_position":{"__id__":94},"_rotation":{"__id__":96},"_scale":{"__id__":98}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":12580,"length":33},"values":{"__id__":95}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":12712,"length":99},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":13108,"length":33},"values":{"__id__":97}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":13240,"length":132},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":13768,"length":1},"values":{"__id__":99}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":13772,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 L Clavicle/Bip001 L UpperArm/Bip001 L Forearm/Bip001 L Hand","_position":{"__id__":101},"_rotation":{"__id__":103},"_scale":{"__id__":105}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":13784,"length":1},"values":{"__id__":102}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":13788,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":13800,"length":33},"values":{"__id__":104}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":13932,"length":132},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":14460,"length":1},"values":{"__id__":106}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":14464,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 R Clavicle/Bip001 R UpperArm","_position":{"__id__":108},"_rotation":{"__id__":110},"_scale":{"__id__":112}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":14476,"length":1},"values":{"__id__":109}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":14480,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":14492,"length":33},"values":{"__id__":111}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":14624,"length":132},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":15152,"length":1},"values":{"__id__":113}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":15156,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 R Clavicle/Bip001 R UpperArm/Bip001 R Forearm","_position":{"__id__":115},"_rotation":{"__id__":117},"_scale":{"__id__":119}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":15168,"length":33},"values":{"__id__":116}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":15300,"length":99},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":15696,"length":33},"values":{"__id__":118}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":15828,"length":132},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":16356,"length":1},"values":{"__id__":120}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":16360,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 R Clavicle/Bip001 R UpperArm/Bip001 R Forearm/Bip001 R Hand","_position":{"__id__":122},"_rotation":{"__id__":124},"_scale":{"__id__":126}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":16372,"length":1},"values":{"__id__":123}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":16376,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":16388,"length":33},"values":{"__id__":125}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":16520,"length":132},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":17048,"length":1},"values":{"__id__":127}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":17052,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 R Clavicle/Bip001 R UpperArm/Bip001 R Forearm/Bip001 R Hand/shield01","_position":{"__id__":129},"_rotation":{"__id__":131},"_scale":{"__id__":133}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":17064,"length":33},"values":{"__id__":130}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":17196,"length":99},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":17592,"length":1},"values":{"__id__":132}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":17596,"length":4},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":17612,"length":1},"values":{"__id__":134}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":17616,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 Head","_position":{"__id__":136},"_rotation":{"__id__":138},"_scale":{"__id__":140}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":17628,"length":1},"values":{"__id__":137}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":17632,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":17644,"length":33},"values":{"__id__":139}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":17776,"length":132},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":18304,"length":1},"values":{"__id__":141}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":18308,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 Head/Bip001 HeadNub","_position":{"__id__":143},"_rotation":{"__id__":145},"_scale":{"__id__":147}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":18320,"length":33},"values":{"__id__":144}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":18452,"length":99},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":18848,"length":1},"values":{"__id__":146}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":18852,"length":4},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":18868,"length":1},"values":{"__id__":148}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":18872,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode","_position":{"__id__":150},"_rotation":{"__id__":152},"_scale":{"__id__":154}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":18884,"length":1},"values":{"__id__":151}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":18888,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":18900,"length":1},"values":{"__id__":153}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":18904,"length":4},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":18920,"length":1},"values":{"__id__":155}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":18924,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/soldier","_position":{"__id__":157},"_rotation":{"__id__":159},"_scale":{"__id__":161}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":18936,"length":1},"values":{"__id__":158}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":18940,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":18952,"length":1},"values":{"__id__":160}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":18956,"length":4},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":18972,"length":1},"values":{"__id__":162}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":18976,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/Bip001/Bip001 Pelvis","_position":{"__id__":164},"_rotation":{"__id__":166},"_scale":{"__id__":168}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":18988,"length":1},"values":{"__id__":165}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":18992,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19004,"length":1},"values":{"__id__":167}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19008,"length":4},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19024,"length":1},"values":{"__id__":169}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19028,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 L Thigh/Bip001 L Calf/Bip001 L Foot/Bip001 L Toe0/Bip001 L Toe0Nub","_position":{"__id__":171},"_rotation":{"__id__":173},"_scale":{"__id__":175}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19040,"length":1},"values":{"__id__":172}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19044,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19056,"length":1},"values":{"__id__":174}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19060,"length":4},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19076,"length":1},"values":{"__id__":176}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19080,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 R Thigh/Bip001 R Calf/Bip001 R Foot/Bip001 R Toe0/Bip001 R Toe0Nub","_position":{"__id__":178},"_rotation":{"__id__":180},"_scale":{"__id__":182}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19092,"length":1},"values":{"__id__":179}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19096,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19108,"length":1},"values":{"__id__":181}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19112,"length":4},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19128,"length":1},"values":{"__id__":183}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19132,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck","_position":{"__id__":185},"_rotation":{"__id__":187},"_scale":{"__id__":189}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19144,"length":1},"values":{"__id__":186}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19148,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19160,"length":1},"values":{"__id__":188}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19164,"length":4},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19180,"length":1},"values":{"__id__":190}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19184,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 L Clavicle","_position":{"__id__":192},"_rotation":{"__id__":194},"_scale":{"__id__":196}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19196,"length":1},"values":{"__id__":193}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19200,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19212,"length":1},"values":{"__id__":195}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19216,"length":4},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19232,"length":1},"values":{"__id__":197}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19236,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 L Clavicle/Bip001 L UpperArm/Bip001 L Forearm/Bip001 L Hand/sword01","_position":{"__id__":199},"_rotation":{"__id__":201},"_scale":{"__id__":203}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19248,"length":1},"values":{"__id__":200}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19252,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19264,"length":1},"values":{"__id__":202}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19268,"length":4},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19284,"length":1},"values":{"__id__":204}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19288,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 R Clavicle","_position":{"__id__":206},"_rotation":{"__id__":208},"_scale":{"__id__":210}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19300,"length":1},"values":{"__id__":207}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19304,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19316,"length":1},"values":{"__id__":209}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19320,"length":4},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19336,"length":1},"values":{"__id__":211}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19340,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/shield","_position":{"__id__":213},"_rotation":{"__id__":215},"_scale":{"__id__":217}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19352,"length":1},"values":{"__id__":214}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19356,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19368,"length":1},"values":{"__id__":216}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19372,"length":4},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19388,"length":1},"values":{"__id__":218}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19392,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/sword","_position":{"__id__":220},"_rotation":{"__id__":222},"_scale":{"__id__":224}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19404,"length":1},"values":{"__id__":221}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19408,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19420,"length":1},"values":{"__id__":223}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19424,"length":4},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19440,"length":1},"values":{"__id__":225}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19444,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticNodeAnimation","_path":"RootNode/shield01","_position":{"__id__":227},"_rotation":{"__id__":229},"_scale":{"__id__":231}},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19456,"length":1},"values":{"__id__":228}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19460,"length":3},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19472,"length":1},"values":{"__id__":230}},{"__type__":"cc.animation.ExoticQuatTrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19476,"length":4},"_isQuantized":false},{"__type__":"cc.animation.ExoticTrack","times":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19492,"length":1},"values":{"__id__":232}},{"__type__":"cc.animation.ExoticVec3TrackValues","_values":{"__type__":"TypedArrayRef","ctor":"Float32Array","offset":19496,"length":3},"_isQuantized":false},{"__type__":"cc.AnimationClipAdditiveSettings","enabled":false,"refClip":null}],"chunks":[".bin"]} diff --git a/cocos_view_pod/Assets/assets/main/import/fd/fd8ec536-a354-4a17-9c74-4f3883c378c8.json b/cocos_view_pod/Assets/assets/main/import/fd/fd8ec536-a354-4a17-9c74-4f3883c378c8.json new file mode 100644 index 0000000..2c029ec --- /dev/null +++ b/cocos_view_pod/Assets/assets/main/import/fd/fd8ec536-a354-4a17-9c74-4f3883c378c8.json @@ -0,0 +1 @@ +[1,0,0,[["RenderQueueDesc",["stages","isTransparent","sortMode"],0],["ForwardPipeline",["_flows"],3,9],["ShadowFlow",["_name","_stages"],2,9],["ShadowStage",["_name"],2],["ForwardFlow",["_name","_priority","_stages"],1,9],["ForwardStage",["_name","renderQueues"],2,9]],[[1,0,1],[2,0,1,2],[3,0,2],[4,0,1,2,3],[5,0,1,2],[0,0,2],[0,1,2,0,4]],[[0,[[1,"ShadowFlow",[[2,"ShadowStage"]]],[3,"ForwardFlow",1,[[4,"ForwardStage",[[5,["default"]],[6,true,1,["default"]]]]]]]]],0,0,[],[],[]] diff --git a/cocos_view_pod/Assets/assets/main/index.js b/cocos_view_pod/Assets/assets/main/index.js new file mode 100644 index 0000000..494b452 --- /dev/null +++ b/cocos_view_pod/Assets/assets/main/index.js @@ -0,0 +1,22 @@ +System.register("chunks:///_virtual/debug-view-runtime-control.ts",["./rollupPluginModLoBabelHelpers.js","cc"],(function(t){var e,o,i,n,s,l,r,h,g,a,c,p,C,d,m;return{setters:[function(t){e=t.applyDecoratedDescriptor,o=t.initializerDefineProperty},function(t){i=t.cclegacy,n=t.Node,s=t._decorator,l=t.Component,r=t.Color,h=t.Canvas,g=t.UITransform,a=t.instantiate,c=t.Label,p=t.RichText,C=t.Toggle,d=t.Button,m=t.director}],execute:function(){var u,L,M,b,T,f,x,S,E;i._RF.push({},"b2bd1+njXxJxaFY3ymm06WU","debug-view-runtime-control",void 0);const{ccclass:v,property:I}=s;t("DebugViewRuntimeControl",(u=v("internal.DebugViewRuntimeControl"),L=I(n),M=I(n),b=I(n),u((x=e((f=class extends l{constructor(...t){super(...t),o(this,"compositeModeToggle",x,this),o(this,"singleModeToggle",S,this),o(this,"EnableAllCompositeModeButton",E,this),this._single=0,this.strSingle=["No Single Debug","Vertex Color","Vertex Normal","Vertex Tangent","World Position","Vertex Mirror","Face Side","UV0","UV1","UV Lightmap","Project Depth","Linear Depth","Fragment Normal","Fragment Tangent","Fragment Binormal","Base Color","Diffuse Color","Specular Color","Transparency","Metallic","Roughness","Specular Intensity","IOR","Direct Diffuse","Direct Specular","Direct All","Env Diffuse","Env Specular","Env All","Emissive","Light Map","Shadow","AO","Fresnel","Direct Transmit Diffuse","Direct Transmit Specular","Env Transmit Diffuse","Env Transmit Specular","Transmit All","Direct Internal Specular","Env Internal Specular","Internal All","Fog"],this.strComposite=["Direct Diffuse","Direct Specular","Env Diffuse","Env Specular","Emissive","Light Map","Shadow","AO","Normal Map","Fog","Tone Mapping","Gamma Correction","Fresnel","Transmit Diffuse","Transmit Specular","Internal Specular","TT"],this.strMisc=["CSM Layer Coloration","Lighting With Albedo"],this.compositeModeToggleList=[],this.singleModeToggleList=[],this.miscModeToggleList=[],this.textComponentList=[],this.labelComponentList=[],this.textContentList=[],this.hideButtonLabel=void 0,this._currentColorIndex=0,this.strColor=["","","","",""],this.color=[r.WHITE,r.BLACK,r.RED,r.GREEN,r.BLUE]}start(){if(!this.node.parent.getComponent(h))return void console.error("debug-view-runtime-control should be child of Canvas");const t=this.node.parent.getComponent(g),e=.5*t.width,o=.5*t.height;let i=.1*e-e,n=o-.1*o;const s=this.node.getChildByName("MiscMode"),l=a(s);l.parent=this.node,l.name="Buttons";const m=a(s);m.parent=this.node,m.name="Titles";for(let t=0;t<2;t++){const e=a(this.EnableAllCompositeModeButton.getChildByName("Label"));e.setPosition(i+(t>0?450:150),n,0),e.setScale(.75,.75,.75),e.parent=m;const o=e.getComponent(c);o.string=t?"----------Composite Mode----------":"----------Single Mode----------",o.color=r.WHITE,o.overflow=0,this.labelComponentList[this.labelComponentList.length]=o}n-=20;let u=0;for(let t=0;t>1&&(i+=200,u=0);const e=t?a(this.singleModeToggle):this.singleModeToggle;e.setPosition(i,n-20*u,0),e.setScale(.5,.5,.5),e.parent=this.singleModeToggle.parent;const o=e.getComponentInChildren(p);o.string=this.strSingle[t],this.textComponentList[this.textComponentList.length]=o,this.textContentList[this.textContentList.length]=o.string,e.on(C.EventType.TOGGLE,this.toggleSingleMode,this),this.singleModeToggleList[t]=e}i+=200,this.EnableAllCompositeModeButton.setPosition(i+15,n,0),this.EnableAllCompositeModeButton.setScale(.5,.5,.5),this.EnableAllCompositeModeButton.on(d.EventType.CLICK,this.enableAllCompositeMode,this),this.EnableAllCompositeModeButton.parent=l;let L=this.EnableAllCompositeModeButton.getComponentInChildren(c);this.labelComponentList[this.labelComponentList.length]=L;const M=a(this.EnableAllCompositeModeButton);M.setPosition(i+90,n,0),M.setScale(.5,.5,.5),M.on(d.EventType.CLICK,this.changeTextColor,this),M.parent=l,L=M.getComponentInChildren(c),L.string="TextColor",this.labelComponentList[this.labelComponentList.length]=L;const b=a(this.EnableAllCompositeModeButton);b.setPosition(i+200,n,0),b.setScale(.5,.5,.5),b.on(d.EventType.CLICK,this.hideUI,this),b.parent=this.node.parent,L=b.getComponentInChildren(c),L.string="Hide UI",this.labelComponentList[this.labelComponentList.length]=L,this.hideButtonLabel=L,n-=40;for(let t=0;t");return-1===i?t===e:(o=o.substr(i+1),o=o.substr(0,o.search("<")),o===e)}toggleSingleMode(t){const e=m.root.debugView,o=t.getComponentInChildren(p);for(let t=0;t=this.strColor.length&&(this._currentColorIndex=0);for(let t=0;t";for(let t=0;tz1cJM}(;>JtE(yWiJGi?$ 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 literal 0 HcmV?d00001 diff --git a/cocos_view_pod/Assets/assets/main/native/0a/0ab3142a-6968-4073-95af-026bc3b23623@0e750.bin b/cocos_view_pod/Assets/assets/main/native/0a/0ab3142a-6968-4073-95af-026bc3b23623@0e750.bin new file mode 100644 index 0000000000000000000000000000000000000000..bf0d58c64c2f7d30ccd617d039b11aa95f23169f GIT binary patch literal 25852 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 literal 0 HcmV?d00001 diff --git a/cocos_view_pod/Assets/assets/main/native/0a/0ab3142a-6968-4073-95af-026bc3b23623@1332c.bin b/cocos_view_pod/Assets/assets/main/native/0a/0ab3142a-6968-4073-95af-026bc3b23623@1332c.bin new file mode 100644 index 0000000000000000000000000000000000000000..063696ccfc4c0540cb8187f4cb4a4f72614a68c4 GIT binary patch literal 25788 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 Ai zCimzYLofb^*O$@she=@VpGPn6#`|kwL1hcRXO$B|#M=+_I39M^Sz&*#m^s%T0_V$M z{BnuT?o0xu!*-$erzbRebCO`PUXwrc4TBOuDsc1u=&hv;HUkMu#=7kjj@Pao@kIHFJbPKn7xMfI50Ou8%D} zG6+YgHjixEm0{;D5wCZnJj!ucyAn6-btMzXM8u?v zSRKhE;*Qdt$Wh7>qdm?(8l?`Rvd2*e{BkB9C_VApgLq*}fjwhTdSLBB1Pq%lXx9y; z0{dOCSmBo|&N2~GHgB}zh;}C7?>%uQA2J!`WSq^NOu;WtwCII$3Tk+v&8cJ>77vsj zXm1)?_r;<>yA;0^DE+WUz!@f@birD{mN)*NPG+DLceFEw%q0FOJ+bz|)-0^ONB~Mt zUI$_;hy-I#5Ed_#UN~nE2_c~*4C|>V8ICY4z9_?S#1H53M(K^S_#p}b>j-Q`qWwUW z!6XV>kvNw>&N&6;OzaOt`@z`vA(@SGGL8hJ{ZN#VI2MKdktjn+G|Ff)2jv_x7r$fh zD-^$iu@#E5$6$Xn%2*PIGLFo{z92*vf<3G^g3L!5f=I)$*B7NP_C=udLpcLSBXB$% z>o~0Eqpubqk3T@}3_vD~LaC38?T>OGo)!~4HN)^En4z>rJv)@P$QxJW5}>yy;7VrU dil(Eb87RH6_e1Q7L>Yzn=OCteIMaNb<$o(jQv(11 literal 0 HcmV?d00001 diff --git a/cocos_view_pod/Assets/assets/main/native/0a/0ab3142a-6968-4073-95af-026bc3b23623@426f2.bin b/cocos_view_pod/Assets/assets/main/native/0a/0ab3142a-6968-4073-95af-026bc3b23623@426f2.bin new file mode 100644 index 0000000000000000000000000000000000000000..e1a030404b10da0393aa8d1eae3a13a11d8f4650 GIT binary patch literal 19640 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 VOEST6Hxz$r3Iy>}GaZ85{{z&>Of~=j literal 0 HcmV?d00001 diff --git a/cocos_view_pod/Assets/assets/main/native/0a/0ab3142a-6968-4073-95af-026bc3b23623@4a7d8.bin b/cocos_view_pod/Assets/assets/main/native/0a/0ab3142a-6968-4073-95af-026bc3b23623@4a7d8.bin new file mode 100644 index 0000000000000000000000000000000000000000..2c2e5a2b64fa333a1c0545c06508477c5fb6e09a GIT binary patch literal 49300 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 literal 0 HcmV?d00001 diff --git a/cocos_view_pod/Assets/assets/main/native/0a/0ab3142a-6968-4073-95af-026bc3b23623@4d16f.bin b/cocos_view_pod/Assets/assets/main/native/0a/0ab3142a-6968-4073-95af-026bc3b23623@4d16f.bin new file mode 100644 index 0000000000000000000000000000000000000000..3c17d0d1ba0362200bf0d4301b92aae3342bf117 GIT binary patch literal 19640 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 literal 0 HcmV?d00001 diff --git a/cocos_view_pod/Assets/assets/main/native/0a/0ab3142a-6968-4073-95af-026bc3b23623@71919.bin b/cocos_view_pod/Assets/assets/main/native/0a/0ab3142a-6968-4073-95af-026bc3b23623@71919.bin new file mode 100644 index 0000000000000000000000000000000000000000..f9f07acc8d996f43c47c5df2272862227f2fef73 GIT binary patch literal 25660 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 literal 0 HcmV?d00001 diff --git a/cocos_view_pod/Assets/assets/main/native/0a/0ab3142a-6968-4073-95af-026bc3b23623@754a2.bin b/cocos_view_pod/Assets/assets/main/native/0a/0ab3142a-6968-4073-95af-026bc3b23623@754a2.bin new file mode 100644 index 0000000000000000000000000000000000000000..f2d7a2c8ef0269751ff29f8e11ab4fa63fe0ea4d GIT binary patch literal 25660 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≤v$nm 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 wNUR_J?fa9=Cao}VWjgP=JPH%0w1BJ0()$-a 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 literal 0 HcmV?d00001 diff --git a/cocos_view_pod/Assets/assets/main/native/0a/0ab3142a-6968-4073-95af-026bc3b23623@ef86b.bin b/cocos_view_pod/Assets/assets/main/native/0a/0ab3142a-6968-4073-95af-026bc3b23623@ef86b.bin new file mode 100644 index 0000000000000000000000000000000000000000..8b279118f907580875a7b916e9124cc0112e0060 GIT binary patch literal 19838 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

N{X>RZOdjIk?=V&M4GftG^`9(MR9y?8IuY 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

W~}!2Q6Q>bT~uXSYT_SjMxQZWQDwp? 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

Emw8|*HOKATd?jTDZVBAqT&sp3`2@l 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

N0Y~g72j6`A_N>PS)jVv=ItG>{niG@e!~iH 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

xM4TP8W7&YIZiHQDITr`4Sx>Z`TeT zcn-<{F6w}5{?0PL+E^?n1VVZNr)G9Kt8zM40q%UVrFBXBDW{)pL?ApBC5+Do3?o9E z`T?S#Tdu1am#|a_=+Q9SZJYh$TPbtmC3)fl289PG8s$eoHV_^u?%V#8V>FXvkB-wh zpPH;#<5qAj;qs@mz|ivKr$(!`!(}Uu+thD9P8tBh4?b_bbQT9}U&qz~tEZ*!061JT zE;D4AjjUf1S^tHD7@7hDc6Z`vvzI=W{ldANextIWMhyaQuik@Mh7@hHi^8;AJ&v}?j^Jz)moae-8(Z;P*tY5I1~d3Mj4Uws6%5ROBsOhr?oEJ zpoo$L2qQ@cV)V`(GlBOX69_Gf*e^7mW{)Gz6tU`nGj$Z%LAlM%hb@ zaf%OYZW=Ko{mLeY@@>0BCWs({e^~=nq=T}csha9 zk(Y~dZ)VaKd>9E};+yvoK2)M7vzf(R`Gk>yZ%T0s=JFt5?QrXARVm0RR0LDx%v*z#J z-fS_h=I^eC$Q?~)p<_OEN1Da0+A>_7^sHUGhS^r^FPYAFmXntRyYev`Jr<<=?A45` zK6};2-0)(k-jDq(KPfpXf~4xYZ)*;;KKE`RFTS`ZC)qi7#!blW?#VdYMM$O=z5Lt`e;KJv7xj2nWvTY zlbeOro|VBbE3dO*iB{KLCJCv=KOUaX247Y;LhL>=HJhJ?)1FL}75%ES-Z&Pj@0nRQ zUkcZJZ|6--ec*MeG-IeVV8xX=HsSibq0_{)2@ja0e0x^^=`i40Ih%7ITh{}a?(m5t z|0UZQV;%#d<+vPS{x{bUBs)cV3r#uN2!|%`3Q>SUMT8r^pCZcds;hl zQI)V0z`iJc@U*J-j5c4b(^@@EEDnFM-pc^9M~A76!XvF;5%My6NfU#iPaHbj|NTdO zi}nLSQ*e~$ZYg@E^?J?3pq!!)+}aBokLYpj^{6^jo+RkIzZ6!3_5_*?Gypw-n=!CP zkNR|7rjlv-I+n$_y3G6Q0 zt~9+XiN1fiCh<)$@dB3(j_o8u=V!)$<&d4q74^ApbR^&$uq#N3 z2$DYeaXHsSTe6B_xLpqjT`imI9;#C_dq!r*EH@<@(JU5R>P{zGBo?xy1eztw(OBc}r?jASWq+$6B$__-Fz1$Rgft?; zXB$l9|3P$)JFp6~*QYH7timU(?M(gEWC9HAawK=?M68J-!wGE9?%DK>49=WtfPK7C z>$0G*R4$>mCyvr@8PbN>9iaE~Hl~#!DF6E|jW>P2(-m1&{-gVXz7FApE{RFu-nMW5Nriu?)O6gs~VkD+7{P zEe7KDCv94p0nY&7^<*O+69;qA8vORY5iZ@y=O}HA4|o%oup5V04L`Rgh`8Jx1KTMI zR*RP);=sH3d|h?b@bft&F1)&1>i*%|s>j0<3$AWn5|W}$4~CksixA|`3pwiFGF z^@CpNcX@WmVy@oo-O1C3^fD|Z1`hT*p2|+XXK98QBX|*`((5i|fYai_!3?XhhhdsT5OPa*!)AI>*#=dD3 zmUeOKZfMTRN+9rurHt+e$9%bsZ_WPRY8ng47dV+U+i6S3VG#@5&;hs5C{UoK`{9a9 zNj{RO5KfOw(8e>~`E)PiH{40YMB#oVDlq?&d`5^%m3Zy$yHM)dD#_Z8=h|H_TX}zG ziSnF0Tp!9`p6;Q>-zn?YgKftnZ}^eTWye>4f!=b}1v3&P^u={NZjw{1eGO+*{~XdK zLKVa}1e2x%08(UzxZST3d%4rO+;q6ofCZx$m%Ci_d(s*?vF@wCa0&hl5*zU8o3sfJp-sOCw&|nbuct9PY=bS z{_C#*CnTE?VTi&?3_7Bp#om(OijPCYGlg~fAJs!Y*rogZ;tI!MErb`9uBgPu(A~iZ z&zW$`bI@pz-~=Zdg9y+NKWl3BOpD<0L`?6xh{swUZrA;l3ZnK9{)_HEj6fZ1_E~gA8nf4P7LP=hPMXU1g zpsFPltF!v4Vfilq-5Kfz!I`#4n|CDwydS?B!D}e^q2b-;*}95xS=%6r!#3kM7~0v9 zMn!Yo)Cj0yTcNJ+u4`~eZE;dNVcAg!cvh4EdU|r*T zt(#q)0~e1)1&zsJYwfVqpn%3KM?kD{$|voqoi4;vr_^?$|2W;Largk!)+TnO>Ry95!&5o`U>^ z->k9;0Bh;R>S$@iBB)*bk0jJ6G(Inr{YAkne4|PN!&=CAvGu+CPz3MHn&{S?b$*c? zQ^(f&Ug_UP13Jc2ErCHzE?cvcquihLoe23M2}4TGZD(G5R5OL}8H8@l52%6iTlxMp z0lUp(H@F2G>9FW_lMuh{66dvz!3z<@LViKlu3Xs zfrhdR0h*uy2SqZh$VeDwz}O-=v(iU+O%AK&ECEn`-E$<=zM97mRrFzh&-h;9ILj1h zOae=O;B4LzD60EdGmB%V$W3E)u6<+TENE&70Sr#{LSk&WRpCft6dTfHb)=%xl|TH+ zsTc(msex_$2eHI_29SzsY}&a5p*q5I5dJzDZWJZ6C9=sA)Kmd&r=K^4)$xY5y9R_~`M)*Fv?zx2Z?&-RmMF>bL&V zH={)4C)fMmkH~1*!-emi+otY!$k*4fGIa~UQkC{g}e++ zlaNH{X2r6^@!s)twF!K6^7npC{vPJnEPB=qraXmrF7-6ZBaz7m%v{bV&=(HFET$HY zmR35RDGXj>`HJO@8UaGZ96vHTPP=PH&fB9acE9g5z8|{T)g4I)Ox5tXW-5zp?a2lY z#wE3S!!gamvcI?ha^K729!ym5P+{YZdqSR6e~#i?u7+l{l|ds?0B5?ZR`UJt@CaW# z?cnY*l_inH1B}xKD>62Eu?`9-K3vnf7jVW81rI>MG{D*ujbkv?jQ@d{Jbz)SFln4bvmhvo>}FTXZ?xg4;A#$xG_wKnBBh8@xsuxN|Cq%ZILd?6pC7oz zFbdw~gHc`i(ljio0!7*?C7*!3zeWJ>@rzes{-nS;%sB~vrFaa)dbPOw#a`=o3cZ}9 zQkr0rpToC$P-w>zwr@OZRMvU=Xcn|oTEw`zs|@|@$=1MK0Rz{b1m`h|nA+=}19A?O z)VcS}ddI2|0_is&WG=HG2AJvc5pdFz_LCAihhQ>KF0evCI@^~UR!Sf-@9Luo)}PoO zK(xH1y7Kz2w@S{+gM(TuATGrR+V2s_JcI&E#{{X*4v(Ih2lMfc-x$c%#53F<;?ki zA%^beJuv>3bMLt#Z!+Zx{lOEXQ3j)P1|u03t{SNzZ^_j;YaHSub%NJ0Dm)|;0g~jK zutsgei11H({^u4i4(0HLIk@VyBsH=uaFSX7scsZ*O9jweYBe0!Kwvr2~gX?L>!w4cTs~C@Uu8R zhDp<&jE~8PlOQNrgxx*UJ@S2kEH^HHoj!>kb(dE7LD58%=?SBAICNj|kcT32 z!!JkLtxNj>N_c8rXmF^ZcJ6F5sW@c!8R&~>kLE|kbkp5A`r|H6B1?Po)A4ARD8pCy zX=fYx?Yd#$=x^{bb6C6vwJqHOMVOox!CJi$+!dwiwzl$cBlo_qxI#oHD=i-9hWWlW zDnp;AXIHOXj)p!JvoaP_am+&vG>mk{iN(J1HUyb((T&GFJ56JR4;%elzZXLfxdhqSjZQn56IPJjPJwo?jEP3gPN9;<_`uZk6?*Ab z(D6UK$1HsGg6hfvs{gY~LqiPEM7_EWbiu!e!>NbLgIz=moU$q0nC@Nw*lTeQSe4020MDo$e|BTI88(~TedI|lbG9L@x#u0c_%pwNks(1{=)N)GLn&!NZ~ z5R07!kPNW53LiWLH!(VgtjyBCt9|`Pd29}yNhDn$$QzSeTJ9XL=d;_>T`R#&fc>+W z%zk{$#`8ib@J$DyJ79~;Im(jF z_cxPWB^dzsT|-b0_AEsEfNEkXbA1kYdJJ+1S`}T~=$%pS{kqX9z8ofIU)D)fx^Me& z-?prcjXH{;>ngF+RmuTq6;P!T!SDfVanrqwX>_e-^sTJoflAKX*5%$-#opoOtDU`5 z4aK#t+5>1x7d5@?p0KMK$5veRpP6%(2{-+0kX8Elg)#-+rRemFkCR$9xdJ-0L2j+0 zipP=rbQUOXp=cfJu+9LKW$gy&mx;HLY$XBg$zmZ6h)Re+s*GNC%N%kPypoOsGBDMBmb~4l&fAy zGwA=c08ms=`3e{Y|DpHF3v@SaP50t~ymTR4z_dgTm_BnPx4PPpSWLld%s%lJ`SX>v z=??K+wmCk5EHAkYgI}MtGXs)i;7B$%qG$d3ch-jA%)d4mlm zn?35dSY$N5Q;y8F8{5i6DT;P6Cs}wbcLtWmt*zL@f`jPJv)+y0%%4)&zWhg(s_kxT z`LO?cL$T1B?y8P0Yz$g#&{BGk5Y-i=?wR85#lc{uvqdM?S`;WD>%{Fk{ELOpFAV|v zC6n-Z2k+dD`R1qU>iw;&mD`rx->ua)eQk}#jWt3ZHjmDJOv)nI%pLMxO)7{b7+{iFle)95w5AS&+1uIHv$Uv#tG>%yUy=B(E(*-LhnsJtAK2;CryK>cYbQXfLLA7Z z-Fn{B)e!z|uVsK4j|Tvj_U|OtQShI}eAdqh!GRQ^uUElI1pHhVM1F2CjXYMTZk#h9 zn&)bxxw+^;3-GiSRD*4qH4BG85$RT11{-a{cJ1UFFo=GzfZk@pp{EK%%ebJ+hg0z6 ziLT-N$CsR^+#@>_##k!gTToYbyq0|#YuXgG6Vd}9=ZP6-!hE;72M!@09TBH1T<)F$ z$j#~y!D*~FfC4SeVn8SN=YBD1pqWG!9A}qyX&oKPnDVEOGCq2M_(Nf^lNs}E4#9$Z zv*P+K(?psxCU8ZFR1c{$5*7(PZLUoeva@Pu%utUm?H4)c^iC)s2r#d&yk&KOmp2coRfh zzc_z{{9>ORC^B%&J9?;1$EUDb+i3rZ(LiXu+H`9~L)7_L%yOL2RXgHJ#V zPeTk7UC-8JC^}!d9=eDUWBv{vbqU|cf{n)I$+*$kmC*Y3BnV#GbW}Ckb2yaF+OMp0< z)DI&JhLU(>lEnWZ-dJhFm6TSmSLRpDK;*N+%w_27Xz${X*DG>7t8WUNUcdEbF5JJ+ zu73QsCn#FD60SR3XB2*Y{i^Z$Rqbkka^cm}hWe=`N-Lo+>pjV=xaps)8=NWzl}xyV zYusOtc#j^JDVy$4DLcmxDeMhxzpmMS|F0*jAi_%AUswhawVrS-z`ls3vFM(DTJi+y z{K(=x|GtD|>gB!BWcJl})cblSP0Ciww>Nd!G7qhzv0IFVZ&@$?8LqW?#;}5KA8GiR z44h0R{&U_}IU4ibL2trMiyr=P<1Hp>S;!5cbrT_Ip!~Se;sjFB5TdBGzuNY!>P$~d zpQ0AA;2Kv)KQa#B1M^p{aH>ts?CrGE;?Zd4h^@f$V<}N}OPg&Aj{qT2S=!tsA|eb? zvgPJ$j6~qWMEF;AQQRnFQ7S=;7G;BbG!+Dw>Pu`Q@V91>z)g;wK-|I(f z(sTe>e2Z^rmUsQ2ve`!Zk@Bbj6VSBwaS_xhA!Y1l15BI{g22*Vt{o#ze@gSF?+j=(WL%4DxxGPDof$J;teWpIzo%s~h) zz%ri33~1^j`2kck8Q9Ynge6u)^8vM7Q2}(Q!inzGx9W7LbPygt_JF1aH~6IkLz~vQ z>NFyp^5*IB(u!QAot2qk^G2MKg9~YtqAY$l6d!aaRF- zXx&-wS@Hm zf35He)75r&R19^{o<92eBs#3m`mv|GyQg;c^T!7*t6~M~Y(w=A5}~86*{(jLe^%a( zciw%!`@^cEkL8WtbZd=d+KL1T6( zp4Z#8D%t7B3_)o(J`uLqg#ms}-2i#SuM|AcLqpzfNJRmJYPWVih=koKgv_Plc>V=V zs%ue}_yGQQU}>8Qg8DeHV4mRs?w)=ScKv3rTBv2Yjj;8MHn8i-`>l?N+jnFMU146g zoxL~O`KLN@8%$o2%_34Q!ZKXj77o;;UKL|y>@sYIH@0|bHI`dO$_1A6L%wL!IOU*y%Pfg*C zo59t_4Z_B`n*%40smd(~jbfLmIKcB=m7C~+Gri2K>oh1JD{$!9asffqzGYp(+=l|~ z#lKMl;f*^Y+u++(D2U3nn$ zlPdu=^HwA97jyB5@DWPio?KqZ?PvH`10ga5Feb)!@fo3em-?(OaE$Os46X3s{>!IB z_)u4oKffcoJ}@?D5@)IsaV{T!w*f;|_7&%|t(?SgzX-RiFVWN%oaP)L71ff9(VTDB z=HVBeh0n&&n9>wydrYRY&4c>tctcsETGjD3;YdHD-lImHqX#D?{EB7j5Ck2#q8yGR zs0)9Dx9$b&r_H;#7lYZi8VT`fTj~5=>Ztdje)d&!t_CT8Gm%R>hs!G(w^YLLXV34E ziJ9Tw^lUv5A=P3yO?dsU^Mn*a7ACvb038y*-NZcEjI0Iek?4cU?)>?$>Rxzgt#&>D z=#}&y5%q-=*8;H8xETSVU&vhQU#yMbAhjCb>zO8os10nVt176`pC19_a&%7_9#FK> zk&^;$58eFmP^7r=pxto4mUsz|u9&!1BIWS*k`65h$05VV6(T-5OpT{_9FM%MZRq8EW#TRKuY z*bPVYM~_jxtm;wLIa2EG=@m>oCY*3Ba8@8b@^G2?W-|lh6}MG!HSmHa_gc^UFL%>( z6-pGi)ajPz0LuqOK3p`a5S+}_QhrnJZ|56eQyKU8^Lq~_Wz+dC!6tOf`;wR(qSo0* zUqsTkHw@P!4p)75Zi8Xv7U>XPQ0XfSUI|`Buibaf6&A;T3vjgINMbVmw*X*tb&3)f zB#mW@R`=qf{0Fhbz}PA!3xF>UC{jG{@|`palHls)#QpZCa$s*RcezpMy|=H*>~2%| zsu0V?_U&2@_19ICv>QuT<;k_1s&0+!u4P)r{AkI!YDxL(kNK}4zn<}wQj3;LDmrL@ zy>?XPSpbwD;ny#XC%#xvns;wf_d@Nq%ng&XbRoiv^}JUjqee6K`_Y_|vWY9UapKA% z{<0%n?b_$ud+@+IYo$@Yx==)BID3bJtJOTiCyYV;ol@b_KWlMpqi~2<%8Tvp9VMd; zG5|L7L&8XLGzA%}cC$fxiKFdj;a?%?H^uV}sqC4EJNo+{m8>WwGfbWFioWHPOc_d* z3~}WC<@=S+so;KeFhKqd*wkL%Q#za+z(MJE>1HU)8L%Xl2qBnw7;u1$Z%NNq=|gGY ztGF$3IE)W0xZwGJRM82PU!ji5loMr&P|jLF{IiLXE7ifdiwEnx!?6b+ zQvwbJ#g=7?+VCnjXzOn;+EeZnQpR2bwFH0#5)FhZ&_Pgn(0>r%417quK&v(sD8RFQ zUn{%6tk1}+Qt3pxq zZIvx)ffKdSw54Y9h-7E}uLh_r4T}`I;SKM>S@d7REVD-87nw+Du;D zN?h1XUf4`pbcjdGs65SzqIwf$x%a-aFbK;Ol)m{jz~ayY*NX_rtAB-0rS&+%J?q=~ zQz!~ajQ_!fkXMvHgYVbmXU7}uPm+eqg>RsL)IOk)hSgtDFL1e|rV=35H*TV2Pidow zBy_(u-GX1XEh!v86eByYyGzN|7IBUaVF=>AXLRAaXM#g#f*@88r$-n3P=%WduoCF} zVzLlmwcud16?!jz{42bS73lejq|*R^?iS=;77)ehHpWIY@;3pBTDxJLxjG(!UxTMV zk>|F=`0`Zb?i$h7tE>fhZZZfu0Ef}7of~K(k5~-5NW~o4>?VZ7K$L`o*B*)ffsw;Q z*RBrOykOXy{wF^(j&u6R$*u&L2#?-YoE235yD|K8dys)~`!iN-rRYm_)^0m@KC>V5 z_50VtRhhyM!FFy8ZPif$?*{TF_U^d%8cOLIN$L4x%u3>JSbb>TQbqCszZ$UuUHcDI zt|xD#FC=Yb_)WrJGBQWcEQ-v`M}Mlr+|WHtiafKw&>uh-^c)1eF6VqLEUf!u*l*Y3 z@5rNZs}|mZ(=_Tl$M4)-*R*k=CRo}@q^!y4gSEoerL7+@>KI*Eff_gu0lp$!Jsa9 z0-f_g4a&k7*Wu9xO3s7`dDnX{jH1@{156A2owHrn7(19{tYI{*wn?FxP-MfQ!PXVTTdxewb6I zfyH`UMzDk`7XHO_=2F1{Sz>ZGe9=$67w9HqbQ#%SugG77Fu++2Y*o8K+il&-h|#Bz ze}W=g7QtI@k}5yg$XUyiKZm(kHMyz?*lQy|unIW?Z)EA3-Q+OXvqq0{lKWIc&6I*CKy@phJp!y$T6N%P6`2#`SPuUF*1;`ZZ*abtMRd zj8Dd_*^4@$ScmeJO`0Ey()ra7KCT};_N3N>12tyc$_j+q-03c4y%{n9F76WofN8g# zPMk%NY@L!p$!mdWL1Vh?@;p=5Ag_VLuuId??z@=7SLnK05mt+?PXRa98#fILQ5C(x z)!k28zCYH0<#o?aJ#X;as)f$A4{>R&}2>mn?^*(?;RK^6%PE$W+CBrkAe5si^dQV|`?lsTg8!CWgw zhVG6!0R`7&Ux5q&sZJy82;fJ4Jg>n;&AH<5I2=ETg&-(uSX)l@`X_jt|G?w{?Cxg4 z&6$6)!ACXsXZ7*pcGHw=3(z}wN%vO7?C-*gADyy005m{oU2(3kyl!cCkfe_Qa!Kol zqR`m}>;xmh~((fJop* z!>19p@VNq)Vu?wI2?KUk@*Wz9sXQ*6<-qC%f%=)r{T~_wnpv+z8Xl!+UHIWl9xj4`p_tIX!o=jg9%C4r;c@5kM zK-%iP+txHcXYIqhv{<`U5aw|G7nLS&W_j<;@ZQWsH$;TSMx70XArKaSb#lpe>_^`PlJDRH4Y)Kj%WX{~(Ap7C(@k@m7Tn^(&^H7~MvDuMNWc zoRAs{>tv7S5@0(2X~RLoRN{mevzdjfKh#nwlM82JLJ;yt#_m zUBnw<9a>I=h~7ErKi+jZ92hikgBrJV*3|x&L>BY?;}gZBgZDc5o3IyimsXhVvfesn zMul01r2*ZQU)+Z;xa$ck>2;^WzNh05=5#rS@&2uN?nDLrv+O>n4Zhi>VT;+D87JQO zV7;Yfa<^J)L1e~a)cD2CN$5r1zYIMV;tr#wuDe~H4HZEJnv8js1!1t^17)L@EZtS8 zaAL=3JaEK5|MQf2C01E=zBoE~Awl5sdI!Un?S}hO66>#a-K5|8k%r2bCVGh*{S83$ zaKp%e+t(G>_X&0S$4t>DlDax?2h2feftjzC-%#*Tb|Hk6>J1r{IT!=+_T*3$*4R(l+UZCP70nZB z)EY02me0baN3~+Jl9OQQP-4;4@j}oBWdsNUwJ_zi>y~^x^6-5h@IFtE9K##~i1uZ& z8D|KPH2J$f`@CRF0(hc4i6dn0*s>2EdGFAY5fYnN^SbQ6HHuZ^!#-e{&q>kTN$fx3PVe zc;J!yx+3qPj_40B0$kvPe{96h;& zo$9&BWZX3mgA4syIZdFAOqkk62Wbv(dq42LAAi1ydUN!EEXrKkZ+m6U^BjJjP3#Mv zmw1<{cw#&ibi`~Eq6a8cHki94T@-*^_H|MF_JP~YRk(vjqV-Y` zN^Unj(MKKYM>R<}bOkPkyf-6gDn2{ayWgze`8~_^bag5#yz9y#{wgl*ZS>FJD-#F{UIgbYrqjY%qvNPUb+e8JAq zz!xtbmRB-@F*!YFkK}AeYWE+~&ZYfgZe7USFY3`@1M3A8zJ%*&xuKk{drsJV#Y-JY z@($JD6qc(aDwr6ehgzmVvXBp7u4e#5z#&ZrH>w5(-l&;ze$t@;bPQC$9e0kGU~lw0 z-dRVBv@^16N^7PL699=O4E6o2qPyk%wQ+w^5StU)a@I!&AO({I0DK3QIFWr2QK&)c5h zajt1YRCDxv%KR13g+vq!5PWG&wK)1{i^LgqcWwaHheONC04y{*>es0a5qCuZ)^cCT zVE?kLH@r1?&ue*(l|)Zi`uVNJA(t+2*Z@B~?H%9!amx)<#=PW1z=48CncM&r>2PiC zu$9@KTK6_}d^k95X`8~`X7Q$D%?rx^6luPj!h$)Rm5T1FzRXLX#U6U@=rg0RE#vGT z^f!NZs5k>ZU1=2?Wx$zBsig#-Zgim?)bFK_D1r> z)9~``_Fvjg6r{w>|GLb#?h%vIE8qa_1L`tC1$pwLBtlE<%@aRcrncqm4&{xUunh~O z#7Fkqm~fcy3geue_?O?Nqc4e#N^sunY+t& zD`gl^oMF!d$jWh7y|lVfq6{Ed*qc`Y+Mv8zCo*~)Q0){#x=46* zALczwH=hexMg>)51QElJ=umh-rxSDx51k3!&655GMBJDGz}=m=hG-U`GRJB*!*eEd zkGM+t6eGY18~Xm=r$E`>A5Zh-qI=5CY~c2x;45WgJn)LIN+3d*U_eK_76m0`xCBu9 zFn#Gqt1El`Z^?kQ3F!{vBhzA%Yd{blVZL|uVJaySHTpnw`!Aj!&qZ58!C{LMSfF@V z+wOqmssjet2*VKUg23v_=j^_?-N^Jmbg5?nGyvBTmTjTO{EW})3v!u zpPTKL+rvCFmq6{nkvxy!z$XB`DNv1_$g@@e zH%{jk5Edibdz5`Q@%C!adr{3=(VAlAh5LYdJq7tfcNz@H;C)$uI;>?lVREbF*TG3T z@i+V`_}Ztqr&ju1kgHGMZc~_2`)qW3#D)3`OcR_3ihe;e3dSk-?DV~@=|`i~6mw+f zJ(5hIY_v2Z)Ar+)!NXP_*~Q03TWli7rGMJp!=TN3_7XkIUO<@GrMjT6dZ0Dfl`V=smX3b-E7@3IzwdWO)= z%fbhKmtuF!&N=9=(j3)fR7LUii@uZf0xJ?&>Ou1aVKg>qMp+)fU#3qaCEz|&$^!s= zX`G%=47qm<`Q2`DW`FDsqRt+mLpH_}PpwX-ZQt7I5b>JTT75V6%0c-cevrrU(tS&Q zQRlcV!I`|y?f$rajTdQG0|{VCx#9Dq4nfS3%Mk!oThj&*rnOKi^Py(3xJ zQ~W!EdqQg)7>iVlMT{4+GkGCre<^2Q0iDFajb$iPHUu~Q%{8;dm;&*T_EUi`czbwp zqT1+CAv)9aIACpBbx{C!#*E1O0#GMaEBy~i>Byrj`Ty9lAG}kgK>45|{PF{GNnj+npe0jQ?R)a?7<>NQ+EcPe zz&oKE42xWsE@TZ^5VwLK-Z7R6W=Va3t8nuA$TA*RDEIKgYryVh zB+8eiwM*puR)78S4jme^%b|(?y}=#_H7VuCwRXNxcPzD%(omosbTD*Upv-u`=H)wk znY?vjItRdq(fr;|)DfK@&1>kOCvzM(ayK)!aeUGHUHtw#T<>=l+%;Ndv^ATspFySl0EKx{OU_KHK<@bhq-923{XwGu{ox$#9&dE_FrSiaYJO zyLdpcY&4i#zpjWxE}p@G?y*rU5-2iajP*aJ^m{L+T9`@%UpI>EF+P8%3XL&fEni{v zI*&WGJE7fd*%>RavRAW*dcumMhDyMR)ScfVP?SC=Qq6eeNgn3qt;@A@s1j?j^Ako;S5e=?rZO4wdVq z;`Hl}i8`VRaS~7MJ~7$$HAlNKf2jO`*cA~)P~F=Th|@TvdHlZfSK|-DyFpl9oTO<( zO<{1FMI9pP25|rB!(|QD zl?+rGq5R8T#;TNSRC0Ix$``_`A5qb-1z@(b;D^)Yb)G_{1Z#LG9(+JNfE?uvQFMV6 z)$ae+n!@6@!|`_HnkUdJ|mCBGv0X5Q?Ph;a`RKhT=o(b)#tgPP8d6F8KO z7yJk=DCi$Qe*4Ew5lFT086<`c3`*9zN!?ap&0yeKD>G*sD2@=Wa7#@ z{?h!iKfwj&yS%?*HrK*Y6X_JZxHCLM{ikY3V$syKscOL8E^o1p`+cOY>EfV{xtDqN zc&nznjv>RQfbQe0-j+dASxy}k&%??WcRU@xF%jr!P>@@0xl}33tcpzQ1LTRlX+=Au z3n!v~l_Vx#NJyM0;LhISE=L=ubY;NMPi^R{FbV$(i$5Tw2hDG`jg;QyEl1x2=**&k zH8D`jO^)-Rj(opgKU9Gn3SW0A(!W8`kzcrygbP2t%OI{X zI7&^@V8wJRO@A-L@KJ8|vk-@c&4IhL{B1eBVc7%WX8qTu{ntl==rHQ%u>Yp)Ts=u1 zOBGam1o{sDkEZL6hx-5H?{l0P5+!>iLY$G!k&%iJ+2hEl?7iJtrO2Mym62p;k3&Ue zrtEP-_TCQn`+WcSJsvOjxQ7QGkMnrEKJWMI^<0W6Mz#h2Wm~-^A@t;UtwLql0scb; znJZi<-!b{qC^x}Kn01$~RkgYQBnOePbuO~u<>W`2T$6lgQvznS_UyvnbFttkanL|R zPYSd+L070Tz@Grw)NF`QMcG~X%Mh#~Y-64J*v68@pfSl$^@N`H32muSJDgGKf|R{+ zas8*i${ZAL!`w8ix=#q6flFbc+Q+sIXR|(`UQbeDE*b6fn+mfUUt6~lST+-YA&jrB zSfmeE8&B40QC-=9@KA%fPHgYJYMg8Z?j3qU91`L)3Tj|Vw(x2LIw?81g0qs$d(ic+=wox+F*80cV6#ADGsT`0#3$iCj8_`0 z8^770Y@x(vf@{=IgzK_PVQye+UMhpSLye1#^yFRpj$?1P!(pIR+f?nX`)v>NwG*E% z-t(5wzxDFQcs--GR@Iw57+Pb&{~KxbcUj{a1S0+obRJ09ej2)_(Q|ag^!Te9@h%z2 zVuyx8JPZUT`!;8sf3G|j21i;L+;_7W(nwV!CGGn|UthhhUien9{E4;7njGJf*gnTJ zocqz)VRcqulM}sdVf5xs`R5pmr&~GYkrLKzf8?W_7FXA=u&`ZWT~B+%W@KuPDVb98 zFF%?jF3XMd|B1bnGCcJ8fVwvab*o}IdPvDDNWg@8NR3`<<&rRv48*v)<(7G$8&lrL zb^UyS3PgInui5OCw;-o#I$-qK6j&O2GxJ&YN{3e66`%Fysp?h3{=SZl_2cY`9l6?t z_OxM#&*gojw~bTBS|vXQyZaCn3PNH@3Ue52$Ng^f(DugT&Vgx=PuG>#Ap+Y$s9Pt^ zTK#x)VqP&PM2cX;L-ZP~59lz%Tn0QJChv&PpsWG@_1Wp4ImOD*e^3g?2`}67Ril@( zjbGR-)Bt@(e-2w0Crf$`6YygtA##AIj_o^A;*2F0^d)elHM9>I9J;ImIW2t!r9n@h z&?f>F^7o-zi4=g#(&i1XvlZ8-`L$J3hyZYX-GuvvTHdXDF8s`gFfM)f=%}Bv!r#W?Bj`7=e+9dgxwf3 zaT-U1lLe|dl9wSlUywrDoVg|0Id6lPudDq%-Lf^KvnG?xASn*q~a* zjk|-javwbdq4;rMa-~MpsdGWL6Hv_{Lhwr*qN_lo|LgVsNW|gTGnt{l#^I2{%YEKw zmQV!39rz?o>+kvc$+ZZ2ozJTt(Ti`#J@dzQ&B9lUo{dPyInN}=ofyys~Vv&ugBlz(plbuEr+CCkLq2Uq(x{wHx_XCou!K|rM8?iBMwy+q(@tHZCYf- ze;tZvZaO1GBMzpQ10lGnb)toQ(&UDxoPq#7Za7y$B*nXl>gkk3KiWLR8 zb}BIGIujwrWy3&ETkz_1{m2MH44t0jMO;CU_(E_f`V}3p<`WWi^Qfh9}*NGPg9w1XNCK9%*0p;@feYo~FGH-WW$i!B%w>kcAH)KC#SL@5!^VRj=UC+uLzQD{i3(&VJ<%`u8_*_(W_?@HtAmqCtAw^#Jv#MEMx}G~6=`*6NA$3km>wnv&Uy;+2T-)0aSQ^h7X%H(4 zwy<1$l@(iH;v6kudgVRq;s>qjKHBf3q&%T*Cp`HpOb6Vf1-aN{gV-ClN7UYBe(jZd-0-};+l46Jb7w3UuV-M&8Pll z%Tmcc##Q_G&nz`(OOdQrbDS>i;!^gD1X_DVU$`h$XZRM_I$WKL0fXszTRhhWI%3bs z9k3cPFrp#g!jryuVsq`AUxs^Y)ngO;#c$26Y1HHtz_{(BS5B#W_DA2@QdB)rPJCB? zQ9+*^xHS&bZnO=0w|@7}zsg4B^JrYXUA-EVL^#wKY0!Yqs6_~%;w%yF5)|e{F(21^ zZBGqLc;`J;k$ zuv2~UDv&OP zrrBhic+Y+2XI*36f;Uc0S7eQ{v}eOugBhLwL&oTXPV(yC_iva#1jrqx1!@BNtm9)L z02#A1^8zA2z#R_N*Z8h%cJYOdQeHmqS_TnvlkztJ{ii9q^UEj@LC5+A8zzTHINykY zVqMN3sxu?ef3=S_r9+e&p{{ zQCu|r$ZY(P85e95!}PcHz8(2YxyRa%icJGqpTY^Bq6xhSs?#us^uGeMnnzbCyPxPn ze&h0DcgRGA#Ei&D972NtS3UjOl{tK{87$;t*CvWfIb6;CBzFR~^_ppr?IEp1#0enp zwgb?ng_(^yP*z7d)EVZY=Vun1(g9kyaa43PuH1?+LrIgU=hUAL7hb;|ey_T<^z6@; zTuP)uC$Zl0R@i5Mnw55{v+HEiWz`R4n>EC0ZYxz7AX-s3pyc#o$IxQOoMO+ide7Jz z$J!bpsZZWNynCrfe(RT&6j}cHGC9zH&pA_c!&G3|glF9XV$DLF^moi}*?|jXdNZ9~ z)H``b(tDla*#0jBrXPDR*u-oCXcJ;+wqqG8q`Si+9P-7G$?_}}Y2jw+By#bKbPYSV zs_AAIaMow*XS+iurdX>?ljcwS zE@~Yq+<60v7j?BlbMr|Qm!5Alu(JH79+~Bp-qz7L2sf9PC2@P*grI+qjq2BoFi~E6 zEI8hdX400%s*@0bj$ccB3E!{X`AotKc`&5*<|>0lb5A;#bg%ZN*1b*RgfZxL=b&Rf zlm9nC6#7s`aXBB@6|EMJTZV(nhTU7I{mWo|9@(F&=SXl3h$Tw%CqR?Ski)BNa38vs zYK8CGwydgMKyv&$U~5Hr)xRf(Cx*VW3%5!&YsEMbKYa6PoOW;IQ2u*({V>v=P0ZuW za#6v8`c4$4toBUzDFLE(|9QNc7FU}4C>>Q^5p3w9Xi6)yZTXa#>DxFhyb@AWv)S@% znr`zDW2$ue_3_W`uHnb?=D4mya#Z~YrnvsF_w97JdT=@8h323l*Ffw3)YCF=*$R_0*+l`-8NkO*>g!tQ@oVg;x z?LS-R1pQW}Z@+`ay{Lhl%8d;Z#MxYgf&<>DYdbf;v<<%-Hmx|i_ab9ir`wSK-xHoR z0JNwOY9A@iuU;nyJQ;|<%OL7Kd`p;D^^%f;!mK=eR*VZm8u^NrJyc6$gh`Wvv0s1W zEWDb2BuERS=pA�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 literal 0 HcmV?d00001 diff --git a/cocos_view_pod/Assets/assets/main/native/5a/5af201b5-5951-4e2c-a81f-ac4aad9132cb@b47c0@74afd.jpg b/cocos_view_pod/Assets/assets/main/native/5a/5af201b5-5951-4e2c-a81f-ac4aad9132cb@b47c0@74afd.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4e336c06cd5d0cf21bbc3f08586d623c554ac3ce GIT binary patch literal 432844 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 z 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

RsUUQ}YK3+=5ENtByg{R_?j4ox~4 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�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

s>D}L_x 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�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

0uwODTzD0N@1a|J?zS> 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 literal 0 HcmV?d00001 diff --git a/cocos_view_pod/Assets/assets/main/native/5a/5af201b5-5951-4e2c-a81f-ac4aad9132cb@b47c0@8fd34.jpg b/cocos_view_pod/Assets/assets/main/native/5a/5af201b5-5951-4e2c-a81f-ac4aad9132cb@b47c0@8fd34.jpg new file mode 100644 index 0000000000000000000000000000000000000000..940fb61e7dddb342cc15dfb7ccc75542422752b6 GIT binary patch literal 408311 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ξ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⋘SpR(xAm(>B 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