@vived/component-abb-6700 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/.todo.md +13 -0
  2. package/README.md +122 -0
  3. package/dist/.gitkeep +0 -0
  4. package/dist/Adapters/aBB6700PMAdapter.d.ts +10 -0
  5. package/dist/Adapters/aBB6700PMAdapter.d.ts.map +1 -0
  6. package/dist/Controllers/createABB6700.d.ts +12 -0
  7. package/dist/Controllers/createABB6700.d.ts.map +1 -0
  8. package/dist/Controllers/getPose.d.ts +11 -0
  9. package/dist/Controllers/getPose.d.ts.map +1 -0
  10. package/dist/Controllers/setJointAngle.d.ts +12 -0
  11. package/dist/Controllers/setJointAngle.d.ts.map +1 -0
  12. package/dist/Controllers/setPose.d.ts +11 -0
  13. package/dist/Controllers/setPose.d.ts.map +1 -0
  14. package/dist/Entities/ABB6700Entity.d.ts +35 -0
  15. package/dist/Entities/ABB6700Entity.d.ts.map +1 -0
  16. package/dist/Entities/ABB6700Repo.d.ts +32 -0
  17. package/dist/Entities/ABB6700Repo.d.ts.map +1 -0
  18. package/dist/Factory/ABB6700FeatureFactory.d.ts +26 -0
  19. package/dist/Factory/ABB6700FeatureFactory.d.ts.map +1 -0
  20. package/dist/Mocks/MockABB6700PM.d.ts +11 -0
  21. package/dist/Mocks/MockABB6700PM.d.ts.map +1 -0
  22. package/dist/Mocks/MockSetJointAngleUC.d.ts +7 -0
  23. package/dist/Mocks/MockSetJointAngleUC.d.ts.map +1 -0
  24. package/dist/Mocks/MockSetPoseUC.d.ts +7 -0
  25. package/dist/Mocks/MockSetPoseUC.d.ts.map +1 -0
  26. package/dist/PMs/ABB6700PM.d.ts +32 -0
  27. package/dist/PMs/ABB6700PM.d.ts.map +1 -0
  28. package/dist/UCs/CalcStabilizerUC.d.ts +7 -0
  29. package/dist/UCs/CalcStabilizerUC.d.ts.map +1 -0
  30. package/dist/UCs/SetJointAngleUC.d.ts +15 -0
  31. package/dist/UCs/SetJointAngleUC.d.ts.map +1 -0
  32. package/dist/UCs/SetPoseUC.d.ts +22 -0
  33. package/dist/UCs/SetPoseUC.d.ts.map +1 -0
  34. package/dist/Views/ABB6700BabylonView.d.ts +27 -0
  35. package/dist/Views/ABB6700BabylonView.d.ts.map +1 -0
  36. package/dist/abb_6700.glb +0 -0
  37. package/dist/abstractAudioBus-CyBWsmuN.js +14 -0
  38. package/dist/animationGroup-BhNThqQe.js +1454 -0
  39. package/dist/basisTextureLoader-BT391BsV.js +310 -0
  40. package/dist/brdfTextureTools-DUyKBAXf.js +79 -0
  41. package/dist/bumpFragment-Dd-ojPA1.js +134 -0
  42. package/dist/bumpFragment-KE1_PuMl.js +287 -0
  43. package/dist/bumpVertex-BcdvVFVx.js +8 -0
  44. package/dist/bumpVertexDeclaration-B5Uvs-RS.js +8 -0
  45. package/dist/bumpVertexDeclaration-ixSg-yGI.js +8 -0
  46. package/dist/clipPlaneFragment-DJwQynjA.js +136 -0
  47. package/dist/clipPlaneVertex-D4Wk50XG.js +376 -0
  48. package/dist/clipPlaneVertex-eQ147Tn2.js +350 -0
  49. package/dist/component.config.d.ts +17 -0
  50. package/dist/component.config.d.ts.map +1 -0
  51. package/dist/ddsTextureLoader-DeoF3iGO.js +331 -0
  52. package/dist/default.fragment-DKnTR9nY.js +548 -0
  53. package/dist/default.fragment-rIGWrUS5.js +486 -0
  54. package/dist/default.vertex-Bt5y1VyA.js +212 -0
  55. package/dist/default.vertex-Dext1liJ.js +224 -0
  56. package/dist/defaultUboDeclaration-BwslQZX8.js +11 -0
  57. package/dist/defaultUboDeclaration-DSXACgip.js +9 -0
  58. package/dist/easing-BAt0SO-B.js +163 -0
  59. package/dist/envTextureLoader-CBiW_Q-U.js +40 -0
  60. package/dist/exrTextureLoader-5SC6PKIA.js +740 -0
  61. package/dist/flowGraphApplyForceBlock-6e8-wcaw.js +32 -0
  62. package/dist/flowGraphApplyImpulseBlock-B27EZQow.js +32 -0
  63. package/dist/flowGraphArrayIndexBlock-DIUn5e4i.js +31 -0
  64. package/dist/flowGraphBezierCurveEasingBlock-BJmiHk40.js +25 -0
  65. package/dist/flowGraphBinaryOperationBlock-Bj7TANCc.js +25 -0
  66. package/dist/flowGraphBranchBlock-7CRvIKWc.js +19 -0
  67. package/dist/flowGraphCachedOperationBlock-CP1ZiuIB.js +26 -0
  68. package/dist/flowGraphCancelDelayBlock-DqtgzBGm.js +20 -0
  69. package/dist/flowGraphCodeExecutionBlock-CaYXCGqo.js +23 -0
  70. package/dist/flowGraphConditionalDataBlock-DJ7evX8_.js +28 -0
  71. package/dist/flowGraphConsoleLogBlock-cMkpqLzO.js +68 -0
  72. package/dist/flowGraphConstantBlock-JWybwT0A.js +28 -0
  73. package/dist/flowGraphContextBlock-CFDXHcbn.js +19 -0
  74. package/dist/flowGraphCounterBlock-B0uPkgw9.js +24 -0
  75. package/dist/flowGraphDataSwitchBlock-B0GSifvJ.js +27 -0
  76. package/dist/flowGraphDebounceBlock-CSw8zKym.js +24 -0
  77. package/dist/flowGraphDebugBlock-DiSR6Ahn.js +65 -0
  78. package/dist/flowGraphDoNBlock-C-48oQ2H.js +24 -0
  79. package/dist/flowGraphEasingBlock-DKUaE7Rp.js +50 -0
  80. package/dist/flowGraphFlipFlopBlock-DX5BGhMV.js +20 -0
  81. package/dist/flowGraphForLoopBlock-Di-Qwg23.js +27 -0
  82. package/dist/flowGraphFunctionReferenceBlock-D8X5TFsO.js +20 -0
  83. package/dist/flowGraphGLTFDataProvider-C4j7nPQv.js +16 -0
  84. package/dist/flowGraphGetAngularVelocityBlock-Cq-yTQ4D.js +31 -0
  85. package/dist/flowGraphGetAssetBlock-B36eioor.js +21 -0
  86. package/dist/flowGraphGetLinearVelocityBlock-MdrV0eUD.js +31 -0
  87. package/dist/flowGraphGetPhysicsMassPropertiesBlock-wXDZP1wM.js +30 -0
  88. package/dist/flowGraphGetPropertyBlock-eP0badwf.js +46 -0
  89. package/dist/flowGraphGetSoundVolumeBlock-D3gXGHXa.js +29 -0
  90. package/dist/flowGraphGetVariableBlock-C7-qZAec.js +31 -0
  91. package/dist/flowGraphIndexOfBlock-CC5l9n9P.js +31 -0
  92. package/dist/flowGraphInterpolationBlock-B6922jzt.js +50 -0
  93. package/dist/flowGraphIsKeyPressedBlock-X_iuiUOX.js +31 -0
  94. package/dist/flowGraphIsSoundPlayingBlock-DONQX8N8.js +29 -0
  95. package/dist/flowGraphJsonPointerParserBlock-DBH_gN8I.js +95 -0
  96. package/dist/flowGraphKeyDownEventBlock-D5T1Uyfv.js +26 -0
  97. package/dist/flowGraphKeyUpEventBlock-BPY_Kgkm.js +21 -0
  98. package/dist/flowGraphKeyboardEventBlock-C49fx3TC.js +20 -0
  99. package/dist/flowGraphMathBlocks-CkvrN3VJ.js +864 -0
  100. package/dist/flowGraphMathCombineExtractBlocks-QSjGlnoz.js +248 -0
  101. package/dist/flowGraphMatrixMathBlocks-B3D7Cz9p.js +117 -0
  102. package/dist/flowGraphMeshPickEventBlock-BBTz-taa.js +35 -0
  103. package/dist/flowGraphMultiGateBlock-BhY1y5BG.js +50 -0
  104. package/dist/flowGraphPauseAnimationBlock-CHZZXMbg.js +19 -0
  105. package/dist/flowGraphPauseSoundBlock-B7hMmJ0c.js +31 -0
  106. package/dist/flowGraphPhysicsCollisionEventBlock-CxoPpT-q.js +56 -0
  107. package/dist/flowGraphPlayAnimationBlock-DVAvIFux.js +99 -0
  108. package/dist/flowGraphPlaySoundBlock-DjHGrqbC.js +32 -0
  109. package/dist/flowGraphPointerDownEventBlock-qI-H0JST.js +31 -0
  110. package/dist/flowGraphPointerMoveEventBlock-DAi4VUyy.js +31 -0
  111. package/dist/flowGraphPointerOutEventBlock-CFtj68aC.js +21 -0
  112. package/dist/flowGraphPointerOverEventBlock-VxdHhFuu.js +23 -0
  113. package/dist/flowGraphPointerUpEventBlock-DRR1f07q.js +31 -0
  114. package/dist/flowGraphReceiveCustomEventBlock-B3bwdB66.js +52 -0
  115. package/dist/flowGraphSceneReadyEventBlock-Dy6lDT3j.js +23 -0
  116. package/dist/flowGraphSceneTickEventBlock-Bl9BF_Xw.js +32 -0
  117. package/dist/flowGraphSendCustomEventBlock-BAR4PGFq.js +35 -0
  118. package/dist/flowGraphSequenceBlock-veqU32ZZ.js +32 -0
  119. package/dist/flowGraphSetAngularVelocityBlock-Dj9b-zu6.js +31 -0
  120. package/dist/flowGraphSetDelayBlock-CMjudtvk.js +131 -0
  121. package/dist/flowGraphSetLinearVelocityBlock-DVDhhJBd.js +31 -0
  122. package/dist/flowGraphSetPhysicsMotionTypeBlock-CL3cxNCO.js +36 -0
  123. package/dist/flowGraphSetPropertyBlock-D3sWL3Ss.js +47 -0
  124. package/dist/flowGraphSetSoundVolumeBlock-CxVk45yR.js +32 -0
  125. package/dist/flowGraphSetVariableBlock-D1oJiwLj.js +47 -0
  126. package/dist/flowGraphSoundEndedEventBlock-CubEwii0.js +47 -0
  127. package/dist/flowGraphStopAnimationBlock-B9inwIQx.js +48 -0
  128. package/dist/flowGraphStopSoundBlock-BijIX2jC.js +31 -0
  129. package/dist/flowGraphSwitchBlock-BMhPb4OX.js +54 -0
  130. package/dist/flowGraphThrottleBlock-C7vrnkb1.js +37 -0
  131. package/dist/flowGraphTransformCoordinatesSystemBlock-DoISqaUG.js +29 -0
  132. package/dist/flowGraphTypeToTypeBlocks-CSML6QWx.js +57 -0
  133. package/dist/flowGraphUnaryOperationBlock-B0Shf-lJ.js +24 -0
  134. package/dist/flowGraphVectorMathBlocks-DoTRR_E0.js +178 -0
  135. package/dist/flowGraphWaitAllBlock-BvmDMc24.js +54 -0
  136. package/dist/flowGraphWhileLoopBlock-BaIq4-K2.js +27 -0
  137. package/dist/geometry.fragment-Bsis3UG2.js +275 -0
  138. package/dist/geometry.vertex-DskQ5b8j.js +222 -0
  139. package/dist/harmonicsFunctions-CtNrRfir.js +193 -0
  140. package/dist/harmonicsFunctions-PEz6APC7.js +18 -0
  141. package/dist/hdrTextureLoader-D9rYxJ9q.js +112 -0
  142. package/dist/helperFunctions-Bt7Zfkrp.js +89 -0
  143. package/dist/helperFunctions-CPmRxd37.js +121 -0
  144. package/dist/iesTextureLoader-BGUFjVhI.js +93 -0
  145. package/dist/index-CS3Icp_r.js +67657 -0
  146. package/dist/index.d.ts +23 -0
  147. package/dist/index.d.ts.map +1 -0
  148. package/dist/index.js +27 -0
  149. package/dist/ktxTextureLoader-cUaGg9_L.js +459 -0
  150. package/dist/lightFragment-BRDibDKG.js +404 -0
  151. package/dist/lightFragment-DCqtGMp_.js +402 -0
  152. package/dist/logDepthDeclaration-Bwm-3KyB.js +16 -0
  153. package/dist/logDepthDeclaration-gUfeSnXX.js +20 -0
  154. package/dist/logDepthVertex-CKeuJ6ae.js +213 -0
  155. package/dist/logDepthVertex-CXkmZels.js +459 -0
  156. package/dist/mesh.vertexData.functions-Bc9lJlrU.js +74 -0
  157. package/dist/oitFragment-B8zuQigp.js +792 -0
  158. package/dist/oitFragment-DH3h3T6x.js +657 -0
  159. package/dist/openpbr.fragment-BglYS6LA.js +1405 -0
  160. package/dist/openpbr.fragment-DrOTZs4m.js +1553 -0
  161. package/dist/openpbr.vertex-B-PaLFOR.js +384 -0
  162. package/dist/openpbr.vertex-DMdFRTnX.js +268 -0
  163. package/dist/openpbrMaterial-HCU0aOca.js +2880 -0
  164. package/dist/openpbrMaterialLoadingAdapter-CWRAa-7S.js +1122 -0
  165. package/dist/openpbrTransmissionLayerData-CfDVObj5.js +352 -0
  166. package/dist/openpbrUboDeclaration-CA2pvSbt.js +9 -0
  167. package/dist/openpbrUboDeclaration-xU8VOaib.js +10 -0
  168. package/dist/pass.fragment-1mMP54bb.js +10 -0
  169. package/dist/pass.fragment-DzaUp_jk.js +10 -0
  170. package/dist/passCube.fragment-CQaXS7g3.js +29 -0
  171. package/dist/passCube.fragment-QJGPwAXI.js +29 -0
  172. package/dist/pbr.fragment-BnaAAGxb.js +2775 -0
  173. package/dist/pbr.fragment-CYZk_EGU.js +2619 -0
  174. package/dist/pbr.vertex-CyvdCw91.js +372 -0
  175. package/dist/pbr.vertex-DJMAkDxs.js +270 -0
  176. package/dist/pbrBRDFFunctions-EugoWm6O.js +175 -0
  177. package/dist/pbrDebug-Bk3sPoEG.js +719 -0
  178. package/dist/pbrDebug-Cdalzb1I.js +614 -0
  179. package/dist/pbrIBLFunctions-B0bVAXCF.js +47 -0
  180. package/dist/pbrIBLFunctions-C06z-ouZ.js +51 -0
  181. package/dist/pbrMaterial-C4FCKBZQ.js +1660 -0
  182. package/dist/pbrMaterialLoadingAdapter-BGHlS_ZN.js +1032 -0
  183. package/dist/pbrUboDeclaration-1lN5_-Bw.js +9 -0
  184. package/dist/pbrUboDeclaration-BJOUUOZ2.js +10 -0
  185. package/dist/procedural.vertex-CFPKczKj.js +14 -0
  186. package/dist/procedural.vertex-DUW7bYZt.js +13 -0
  187. package/dist/rgbdDecode.fragment-CEGgE4tL.js +8 -0
  188. package/dist/rgbdDecode.fragment-FT0wkgah.js +8 -0
  189. package/dist/rgbdEncode.fragment-CLnJJf6E.js +8 -0
  190. package/dist/rgbdEncode.fragment-CaAcMsY9.js +8 -0
  191. package/dist/sceneUboDeclaration-B6oxsfcj.js +8 -0
  192. package/dist/sceneUboDeclaration-JByfVKik.js +13 -0
  193. package/dist/setupABB6700InstanceFactory.d.ts +7 -0
  194. package/dist/setupABB6700InstanceFactory.d.ts.map +1 -0
  195. package/dist/studio.env +0 -0
  196. package/dist/textureProcessor.fragment-BYPw6SMQ.js +152 -0
  197. package/dist/textureProcessor.fragment-Ciw9-F3w.js +157 -0
  198. package/dist/textureTools-Cct_bGgp.js +40 -0
  199. package/dist/tgaTextureLoader-BJOIdnFr.js +198 -0
  200. package/dist/thinEngine-Bt9FW4dD.js +2425 -0
  201. package/dist/webAudioBus-BUzRHSxr.js +88 -0
  202. package/dist/webAudioMainBus-Dds1TgJG.js +49 -0
  203. package/package.json +49 -0
@@ -0,0 +1,402 @@
1
+ import { b0 as e } from "./index-CS3Icp_r.js";
2
+ const i = "decalFragment", o = `#ifdef DECAL
3
+ var decalTempColor=decalColor.rgb;var decalTempAlpha=decalColor.a;
4
+ #ifdef GAMMADECAL
5
+ decalTempColor=toLinearSpaceVec3(decalColor.rgb);
6
+ #endif
7
+ #ifdef DECAL_SMOOTHALPHA
8
+ decalTempAlpha=decalColor.a*decalColor.a;
9
+ #endif
10
+ surfaceAlbedo=mix(surfaceAlbedo.rgb,decalTempColor,decalTempAlpha);
11
+ #endif
12
+ `;
13
+ e.IncludesShadersStoreWGSL[i] || (e.IncludesShadersStoreWGSL[i] = o);
14
+ const t = "lightFragment", n = `#ifdef LIGHT{X}
15
+ #if defined(SHADOWONLY) || defined(LIGHTMAP) && defined(LIGHTMAPEXCLUDED{X}) && defined(LIGHTMAPNOSPECULAR{X})
16
+ #else
17
+ var diffuse{X}: vec4f=light{X}.vLightDiffuse;
18
+ #define CUSTOM_LIGHT{X}_COLOR
19
+ #if defined(PBR) && defined(CLUSTLIGHT{X})
20
+ {let sliceIndex=min(getClusteredSliceIndex(light{X}.vSliceData,fragmentInputs.vViewDepth),CLUSTLIGHT_SLICES-1);info=computeClusteredLighting(
21
+ lightDataTexture{X},
22
+ &tileMaskBuffer{X},
23
+ light{X}.vLightData,
24
+ vec2u(light{X}.vSliceRanges[sliceIndex].xy),
25
+ viewDirectionW,
26
+ normalW,
27
+ fragmentInputs.vPositionW,
28
+ surfaceAlbedo,
29
+ reflectivityOut,
30
+ #ifdef IRIDESCENCE
31
+ iridescenceIntensity,
32
+ #endif
33
+ #ifdef SS_TRANSLUCENCY
34
+ subSurfaceOut,
35
+ #endif
36
+ #ifdef SPECULARTERM
37
+ AARoughnessFactors.x,
38
+ #endif
39
+ #ifdef ANISOTROPIC
40
+ anisotropicOut,
41
+ #endif
42
+ #ifdef SHEEN
43
+ sheenOut,
44
+ #endif
45
+ #ifdef CLEARCOAT
46
+ clearcoatOut,
47
+ #endif
48
+ );}
49
+ #elif defined(PBR)
50
+ #ifdef SPOTLIGHT{X}
51
+ preInfo=computePointAndSpotPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW,fragmentInputs.vPositionW);
52
+ #elif defined(POINTLIGHT{X})
53
+ preInfo=computePointAndSpotPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW,fragmentInputs.vPositionW);
54
+ #elif defined(HEMILIGHT{X})
55
+ preInfo=computeHemisphericPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW);
56
+ #elif defined(DIRLIGHT{X})
57
+ preInfo=computeDirectionalPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW);
58
+ #elif defined(AREALIGHT{X}) && defined(AREALIGHTUSED) && defined(AREALIGHTSUPPORTED)
59
+ #if defined(RECTAREALIGHTEMISSIONTEXTURE{X})
60
+ preInfo=computeAreaPreLightingInfoWithTexture(areaLightsLTC1Sampler,areaLightsLTC1SamplerSampler,areaLightsLTC2Sampler,areaLightsLTC2SamplerSampler,rectAreaLightEmissionTexture{X},rectAreaLightEmissionTexture{X}Sampler,viewDirectionW,normalW,fragmentInputs.vPositionW,light{X}.vLightData.xyz,light{X}.vLightWidth.xyz,light{X}.vLightHeight.xyz,roughness);
61
+ #else
62
+ preInfo=computeAreaPreLightingInfo(areaLightsLTC1Sampler,areaLightsLTC1SamplerSampler,areaLightsLTC2Sampler,areaLightsLTC2SamplerSampler,viewDirectionW,normalW,fragmentInputs.vPositionW,light{X}.vLightData.xyz,light{X}.vLightWidth.xyz,light{X}.vLightHeight.xyz,roughness);
63
+ #endif
64
+ #endif
65
+ preInfo.NdotV=NdotV;
66
+ #ifdef SPOTLIGHT{X}
67
+ #ifdef LIGHT_FALLOFF_GLTF{X}
68
+ preInfo.attenuation=computeDistanceLightFalloff_GLTF(preInfo.lightDistanceSquared,light{X}.vLightFalloff.y);
69
+ #ifdef IESLIGHTTEXTURE{X}
70
+ preInfo.attenuation*=computeDirectionalLightFalloff_IES(light{X}.vLightDirection.xyz,preInfo.L,iesLightTexture{X},iesLightTexture{X}Sampler);
71
+ #else
72
+ preInfo.attenuation*=computeDirectionalLightFalloff_GLTF(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightFalloff.z,light{X}.vLightFalloff.w);
73
+ #endif
74
+ #elif defined(LIGHT_FALLOFF_PHYSICAL{X})
75
+ preInfo.attenuation=computeDistanceLightFalloff_Physical(preInfo.lightDistanceSquared);
76
+ #ifdef IESLIGHTTEXTURE{X}
77
+ preInfo.attenuation*=computeDirectionalLightFalloff_IES(light{X}.vLightDirection.xyz,preInfo.L,iesLightTexture{X},iesLightTexture{X}Sampler);
78
+ #else
79
+ preInfo.attenuation*=computeDirectionalLightFalloff_Physical(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightDirection.w);
80
+ #endif
81
+ #elif defined(LIGHT_FALLOFF_STANDARD{X})
82
+ preInfo.attenuation=computeDistanceLightFalloff_Standard(preInfo.lightOffset,light{X}.vLightFalloff.x);
83
+ #ifdef IESLIGHTTEXTURE{X}
84
+ preInfo.attenuation*=computeDirectionalLightFalloff_IES(light{X}.vLightDirection.xyz,preInfo.L,iesLightTexture{X},iesLightTexture{X}Sampler);
85
+ #else
86
+ preInfo.attenuation*=computeDirectionalLightFalloff_Standard(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightDirection.w,light{X}.vLightData.w);
87
+ #endif
88
+ #else
89
+ preInfo.attenuation=computeDistanceLightFalloff(preInfo.lightOffset,preInfo.lightDistanceSquared,light{X}.vLightFalloff.x,light{X}.vLightFalloff.y);
90
+ #ifdef IESLIGHTTEXTURE{X}
91
+ preInfo.attenuation*=computeDirectionalLightFalloff_IES(light{X}.vLightDirection.xyz,preInfo.L,iesLightTexture{X},iesLightTexture{X}Sampler);
92
+ #else
93
+ preInfo.attenuation*=computeDirectionalLightFalloff(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightDirection.w,light{X}.vLightData.w,light{X}.vLightFalloff.z,light{X}.vLightFalloff.w);
94
+ #endif
95
+ #endif
96
+ #elif defined(POINTLIGHT{X})
97
+ #ifdef LIGHT_FALLOFF_GLTF{X}
98
+ preInfo.attenuation=computeDistanceLightFalloff_GLTF(preInfo.lightDistanceSquared,light{X}.vLightFalloff.y);
99
+ #elif defined(LIGHT_FALLOFF_PHYSICAL{X})
100
+ preInfo.attenuation=computeDistanceLightFalloff_Physical(preInfo.lightDistanceSquared);
101
+ #elif defined(LIGHT_FALLOFF_STANDARD{X})
102
+ preInfo.attenuation=computeDistanceLightFalloff_Standard(preInfo.lightOffset,light{X}.vLightFalloff.x);
103
+ #else
104
+ preInfo.attenuation=computeDistanceLightFalloff(preInfo.lightOffset,preInfo.lightDistanceSquared,light{X}.vLightFalloff.x,light{X}.vLightFalloff.y);
105
+ #endif
106
+ #else
107
+ preInfo.attenuation=1.0;
108
+ #endif
109
+ #if defined(HEMILIGHT{X})
110
+ preInfo.roughness=roughness;
111
+ #elif defined(AREALIGHT{X}) && defined(AREALIGHTUSED) && defined(AREALIGHTSUPPORTED)
112
+ preInfo.roughness=roughness;
113
+ #else
114
+ preInfo.roughness=adjustRoughnessFromLightProperties(roughness,light{X}.vLightSpecular.a,preInfo.lightDistance);
115
+ #endif
116
+ preInfo.diffuseRoughness=diffuseRoughness;preInfo.surfaceAlbedo=surfaceAlbedo;
117
+ #ifdef IRIDESCENCE
118
+ preInfo.iridescenceIntensity=iridescenceIntensity;
119
+ #endif
120
+ #ifdef SS_TRANSLUCENCY
121
+ info.diffuseTransmission=vec3f(0.0);
122
+ #endif
123
+ #ifdef HEMILIGHT{X}
124
+ info.diffuse=computeHemisphericDiffuseLighting(preInfo,diffuse{X}.rgb,light{X}.vLightGround);
125
+ #elif defined(AREALIGHT{X}) && defined(AREALIGHTUSED) && defined(AREALIGHTSUPPORTED)
126
+ info.diffuse=computeAreaDiffuseLighting(preInfo,diffuse{X}.rgb);
127
+ #elif defined(SS_TRANSLUCENCY)
128
+ #ifndef SS_TRANSLUCENCY_LEGACY
129
+ info.diffuse=computeDiffuseLighting(preInfo,diffuse{X}.rgb)*(1.0-subSurfaceOut.translucencyIntensity);info.diffuseTransmission=computeDiffuseTransmittedLighting(preInfo,diffuse{X}.rgb,subSurfaceOut.transmittance);
130
+ #else
131
+ info.diffuse=computeDiffuseTransmittedLighting(preInfo,diffuse{X}.rgb,subSurfaceOut.transmittance);
132
+ #endif
133
+ #else
134
+ info.diffuse=computeDiffuseLighting(preInfo,diffuse{X}.rgb);
135
+ #endif
136
+ #ifdef SPECULARTERM
137
+ #if defined(AREALIGHT{X}) && defined(AREALIGHTUSED) && defined(AREALIGHTSUPPORTED)
138
+ info.specular=computeAreaSpecularLighting(preInfo,light{X}.vLightSpecular.rgb,clearcoatOut.specularEnvironmentR0,reflectivityOut.colorReflectanceF90);
139
+ #else
140
+ #if (CONDUCTOR_SPECULAR_MODEL==CONDUCTOR_SPECULAR_MODEL_OPENPBR)
141
+ {let metalFresnel: vec3f=vec3f(reflectivityOut.specularWeight)*getF82Specular(preInfo.VdotH,clearcoatOut.specularEnvironmentR0,reflectivityOut.colorReflectanceF90,reflectivityOut.roughness);let dielectricFresnel: vec3f=fresnelSchlickGGXVec3(preInfo.VdotH,reflectivityOut.dielectricColorF0,reflectivityOut.colorReflectanceF90);coloredFresnel=mix(dielectricFresnel,metalFresnel,reflectivityOut.metallic);}
142
+ #else
143
+ coloredFresnel=fresnelSchlickGGXVec3(preInfo.VdotH,clearcoatOut.specularEnvironmentR0,reflectivityOut.colorReflectanceF90);
144
+ #endif
145
+ #ifndef LEGACY_SPECULAR_ENERGY_CONSERVATION
146
+ {let NdotH: f32=dot(normalW,preInfo.H);let fresnel: vec3f=fresnelSchlickGGXVec3(NdotH,vec3f(reflectanceF0),specularEnvironmentR90);info.diffuse*=(vec3f(1.0)-fresnel);}
147
+ #endif
148
+ #ifdef ANISOTROPIC
149
+ info.specular=computeAnisotropicSpecularLighting(preInfo,viewDirectionW,normalW,anisotropicOut.anisotropicTangent,anisotropicOut.anisotropicBitangent,anisotropicOut.anisotropy,clearcoatOut.specularEnvironmentR0,specularEnvironmentR90,AARoughnessFactors.x,diffuse{X}.rgb);
150
+ #else
151
+ info.specular=computeSpecularLighting(preInfo,normalW,clearcoatOut.specularEnvironmentR0,coloredFresnel,AARoughnessFactors.x,diffuse{X}.rgb);
152
+ #endif
153
+ #endif
154
+ #endif
155
+ #ifndef AREALIGHT{X}
156
+ #ifdef SHEEN
157
+ #ifdef SHEEN_LINKWITHALBEDO
158
+ preInfo.roughness=sheenOut.sheenIntensity;
159
+ #else
160
+ #ifdef HEMILIGHT{X}
161
+ preInfo.roughness=sheenOut.sheenRoughness;
162
+ #else
163
+ preInfo.roughness=adjustRoughnessFromLightProperties(sheenOut.sheenRoughness,light{X}.vLightSpecular.a,preInfo.lightDistance);
164
+ #endif
165
+ #endif
166
+ info.sheen=computeSheenLighting(preInfo,normalW,sheenOut.sheenColor,specularEnvironmentR90,AARoughnessFactors.x,diffuse{X}.rgb);
167
+ #endif
168
+ #ifdef CLEARCOAT
169
+ #ifdef HEMILIGHT{X}
170
+ preInfo.roughness=clearcoatOut.clearCoatRoughness;
171
+ #else
172
+ preInfo.roughness=adjustRoughnessFromLightProperties(clearcoatOut.clearCoatRoughness,light{X}.vLightSpecular.a,preInfo.lightDistance);
173
+ #endif
174
+ info.clearCoat=computeClearCoatLighting(preInfo,clearcoatOut.clearCoatNormalW,clearcoatOut.clearCoatAARoughnessFactors.x,clearcoatOut.clearCoatIntensity,diffuse{X}.rgb);
175
+ #ifdef CLEARCOAT_TINT
176
+ absorption=computeClearCoatLightingAbsorption(clearcoatOut.clearCoatNdotVRefract,preInfo.L,clearcoatOut.clearCoatNormalW,clearcoatOut.clearCoatColor,clearcoatOut.clearCoatThickness,clearcoatOut.clearCoatIntensity);info.diffuse*=absorption;
177
+ #ifdef SS_TRANSLUCENCY
178
+ info.diffuseTransmission*=absorption;
179
+ #endif
180
+ #ifdef SPECULARTERM
181
+ info.specular*=absorption;
182
+ #endif
183
+ #endif
184
+ info.diffuse*=info.clearCoat.w;
185
+ #ifdef SS_TRANSLUCENCY
186
+ info.diffuseTransmission*=info.clearCoat.w;
187
+ #endif
188
+ #ifdef SPECULARTERM
189
+ info.specular*=info.clearCoat.w;
190
+ #endif
191
+ #ifdef SHEEN
192
+ info.sheen*=info.clearCoat.w;
193
+ #endif
194
+ #endif
195
+ #endif
196
+ #else
197
+ #ifdef SPOTLIGHT{X}
198
+ #ifdef IESLIGHTTEXTURE{X}
199
+ info=computeIESSpotLighting(viewDirectionW,normalW,light{X}.vLightData,light{X}.vLightDirection,diffuse{X}.rgb,light{X}.vLightSpecular.rgb,diffuse{X}.a,glossiness,iesLightTexture{X},iesLightTexture{X}Sampler);
200
+ #else
201
+ info=computeSpotLighting(viewDirectionW,normalW,light{X}.vLightData,light{X}.vLightDirection,diffuse{X}.rgb,light{X}.vLightSpecular.rgb,diffuse{X}.a,glossiness);
202
+ #endif
203
+ #elif defined(HEMILIGHT{X})
204
+ info=computeHemisphericLighting(viewDirectionW,normalW,light{X}.vLightData,diffuse{X}.rgb,light{X}.vLightSpecular.rgb,light{X}.vLightGround,glossiness);
205
+ #elif defined(POINTLIGHT{X}) || defined(DIRLIGHT{X})
206
+ info=computeLighting(viewDirectionW,normalW,light{X}.vLightData,diffuse{X}.rgb,light{X}.vLightSpecular.rgb,diffuse{X}.a,glossiness);
207
+ #elif define(AREALIGHT{X}) && defined(AREALIGHTSUPPORTED)
208
+ #if defined(RECTAREALIGHTEMISSIONTEXTURE{X})
209
+ info=computeAreaLightingWithTexture(areaLightsLTC1Sampler,areaLightsLTC1SamplerSampler,areaLightsLTC2Sampler,areaLightsLTC2SamplerSampler,rectAreaLightEmissionTexture{X},rectAreaLightEmissionTexture{X}Sampler,viewDirectionW,normalW,fragmentInputs.vPositionW,light{X}.vLightData.xyz,light{X}.vLightWidth.xyz,light{X}.vLightHeight.xyz,diffuse{X}.rgb,light{X}.vLightSpecular.rgb,
210
+ #ifdef AREALIGHTNOROUGHTNESS
211
+ 0.5
212
+ #else
213
+ uniforms.vReflectionInfos.y
214
+ #endif
215
+ );
216
+ #else
217
+ info=computeAreaLighting(areaLightsLTC1Sampler,areaLightsLTC1SamplerSampler,areaLightsLTC2Sampler,areaLightsLTC2SamplerSampler,viewDirectionW,normalW,fragmentInputs.vPositionW,light{X}.vLightData.xyz,light{X}.vLightWidth.xyz,light{X}.vLightHeight.xyz,diffuse{X}.rgb,light{X}.vLightSpecular.rgb,
218
+ #ifdef AREALIGHTNOROUGHTNESS
219
+ 0.5
220
+ #else
221
+ uniforms.vReflectionInfos.y
222
+ #endif
223
+ );
224
+ #endif
225
+ #elif defined(CLUSTLIGHT{X})
226
+ {let sliceIndex=min(getClusteredSliceIndex(light{X}.vSliceData,fragmentInputs.vViewDepth),CLUSTLIGHT_SLICES-1);info=computeClusteredLighting(lightDataTexture{X},&tileMaskBuffer{X},viewDirectionW,normalW,light{X}.vLightData,vec2u(light{X}.vSliceRanges[sliceIndex].xy),glossiness);}
227
+ #endif
228
+ #endif
229
+ #ifdef PROJECTEDLIGHTTEXTURE{X}
230
+ info.diffuse*=computeProjectionTextureDiffuseLighting(projectionLightTexture{X},projectionLightTexture{X}Sampler,uniforms.textureProjectionMatrix{X},fragmentInputs.vPositionW);
231
+ #endif
232
+ #endif
233
+ #ifdef SHADOW{X}
234
+ #ifdef SHADOWCSMDEBUG{X}
235
+ var shadowDebug{X}: vec3f;
236
+ #endif
237
+ #ifdef SHADOWCSM{X}
238
+ #ifdef SHADOWCSMUSESHADOWMAXZ{X}
239
+ var index{X}: i32=-1;
240
+ #else
241
+ var index{X}: i32=SHADOWCSMNUM_CASCADES{X}-1;
242
+ #endif
243
+ var diff{X}: f32=0.;vPositionFromLight{X}[0]=fragmentInputs.vPositionFromLight{X}_0;vPositionFromLight{X}[1]=fragmentInputs.vPositionFromLight{X}_1;vPositionFromLight{X}[2]=fragmentInputs.vPositionFromLight{X}_2;vPositionFromLight{X}[3]=fragmentInputs.vPositionFromLight{X}_3;vDepthMetric{X}[0]=fragmentInputs.vDepthMetric{X}_0;vDepthMetric{X}[1]=fragmentInputs.vDepthMetric{X}_1;vDepthMetric{X}[2]=fragmentInputs.vDepthMetric{X}_2;vDepthMetric{X}[3]=fragmentInputs.vDepthMetric{X}_3;for (var i:i32=0; i<SHADOWCSMNUM_CASCADES{X}; i++)
244
+ {
245
+ #ifdef SHADOWCSM_RIGHTHANDED{X}
246
+ diff{X}=uniforms.viewFrustumZ{X}[i]+fragmentInputs.vPositionFromCamera{X}.z;
247
+ #else
248
+ diff{X}=uniforms.viewFrustumZ{X}[i]-fragmentInputs.vPositionFromCamera{X}.z;
249
+ #endif
250
+ if (diff{X}>=0.) {index{X}=i;break;}}
251
+ #ifdef SHADOWCSMUSESHADOWMAXZ{X}
252
+ if (index{X}>=0)
253
+ #endif
254
+ {
255
+ #if defined(SHADOWPCF{X})
256
+ #if defined(SHADOWLOWQUALITY{X})
257
+ shadow=computeShadowWithCSMPCF1(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
258
+ #elif defined(SHADOWMEDIUMQUALITY{X})
259
+ shadow=computeShadowWithCSMPCF3(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
260
+ #else
261
+ shadow=computeShadowWithCSMPCF5(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
262
+ #endif
263
+ #elif defined(SHADOWPCSS{X})
264
+ #if defined(SHADOWLOWQUALITY{X})
265
+ shadow=computeShadowWithCSMPCSS16(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthTexture{X},depthTexture{X}Sampler,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,uniforms.lightSizeUVCorrection{X}[index{X}],uniforms.depthCorrection{X}[index{X}],uniforms.penumbraDarkness{X});
266
+ #elif defined(SHADOWMEDIUMQUALITY{X})
267
+ shadow=computeShadowWithCSMPCSS32(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthTexture{X},depthTexture{X}Sampler,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,uniforms.lightSizeUVCorrection{X}[index{X}],uniforms.depthCorrection{X}[index{X}],uniforms.penumbraDarkness{X});
268
+ #else
269
+ shadow=computeShadowWithCSMPCSS64(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthTexture{X},depthTexture{X}Sampler,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,uniforms.lightSizeUVCorrection{X}[index{X}],uniforms.depthCorrection{X}[index{X}],uniforms.penumbraDarkness{X});
270
+ #endif
271
+ #else
272
+ shadow=computeShadowCSM(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
273
+ #endif
274
+ #ifdef SHADOWCSMDEBUG{X}
275
+ shadowDebug{X}=vec3f(shadow)*vCascadeColorsMultiplier{X}[index{X}];
276
+ #endif
277
+ #ifndef SHADOWCSMNOBLEND{X}
278
+ var frustumLength:f32=uniforms.frustumLengths{X}[index{X}];var diffRatio:f32=clamp(diff{X}/frustumLength,0.,1.)*uniforms.cascadeBlendFactor{X};if (index{X}<(SHADOWCSMNUM_CASCADES{X}-1) && diffRatio<1.)
279
+ {index{X}+=1;var nextShadow: f32=0.;
280
+ #if defined(SHADOWPCF{X})
281
+ #if defined(SHADOWLOWQUALITY{X})
282
+ nextShadow=computeShadowWithCSMPCF1(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],,shadowTexture{X}Sampler,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
283
+ #elif defined(SHADOWMEDIUMQUALITY{X})
284
+ nextShadow=computeShadowWithCSMPCF3(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
285
+ #else
286
+ nextShadow=computeShadowWithCSMPCF5(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
287
+ #endif
288
+ #elif defined(SHADOWPCSS{X})
289
+ #if defined(SHADOWLOWQUALITY{X})
290
+ nextShadow=computeShadowWithCSMPCSS16(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthTexture{X},depthTexture{X}Sampler,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,uniforms.lightSizeUVCorrection{X}[index{X}],uniforms.depthCorrection{X}[index{X}],uniforms.penumbraDarkness{X});
291
+ #elif defined(SHADOWMEDIUMQUALITY{X})
292
+ nextShadow=computeShadowWithCSMPCSS32(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthTexture{X},depthTexture{X}Sampler,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,uniforms.lightSizeUVCorrection{X}[index{X}],uniforms.depthCorrection{X}[index{X}],uniforms.penumbraDarkness{X});
293
+ #else
294
+ nextShadow=computeShadowWithCSMPCSS64(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthTexture{X},depthTexture{X}Sampler,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,uniforms.lightSizeUVCorrection{X}[index{X}],uniforms.depthCorrection{X}[index{X}],uniforms.penumbraDarkness{X});
295
+ #endif
296
+ #else
297
+ nextShadow=computeShadowCSM(index{X},vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
298
+ #endif
299
+ shadow=mix(nextShadow,shadow,diffRatio);
300
+ #ifdef SHADOWCSMDEBUG{X}
301
+ shadowDebug{X}=mix(vec3(nextShadow)*vCascadeColorsMultiplier{X}[index{X}],shadowDebug{X},diffRatio);
302
+ #endif
303
+ }
304
+ #endif
305
+ }
306
+ #elif defined(SHADOWCLOSEESM{X})
307
+ #if defined(SHADOWCUBE{X})
308
+ shadow=computeShadowWithCloseESMCube(fragmentInputs.vPositionW,light{X}.vLightData.xyz,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.depthValues);
309
+ #else
310
+ shadow=computeShadowWithCloseESM(fragmentInputs.vPositionFromLight{X},fragmentInputs.vDepthMetric{X},shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.shadowsInfo.w);
311
+ #endif
312
+ #elif defined(SHADOWESM{X})
313
+ #if defined(SHADOWCUBE{X})
314
+ shadow=computeShadowWithESMCube(fragmentInputs.vPositionW,light{X}.vLightData.xyz,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.depthValues);
315
+ #else
316
+ shadow=computeShadowWithESM(fragmentInputs.vPositionFromLight{X},fragmentInputs.vDepthMetric{X},shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.shadowsInfo.w);
317
+ #endif
318
+ #elif defined(SHADOWPOISSON{X})
319
+ #if defined(SHADOWCUBE{X})
320
+ shadow=computeShadowWithPoissonSamplingCube(fragmentInputs.vPositionW,light{X}.vLightData.xyz,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.y,light{X}.shadowsInfo.x,light{X}.depthValues);
321
+ #else
322
+ shadow=computeShadowWithPoissonSampling(fragmentInputs.vPositionFromLight{X},fragmentInputs.vDepthMetric{X},shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.y,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
323
+ #endif
324
+ #elif defined(SHADOWPCF{X})
325
+ #if defined(SHADOWLOWQUALITY{X})
326
+ shadow=computeShadowWithPCF1(fragmentInputs.vPositionFromLight{X},fragmentInputs.vDepthMetric{X},shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
327
+ #elif defined(SHADOWMEDIUMQUALITY{X})
328
+ shadow=computeShadowWithPCF3(fragmentInputs.vPositionFromLight{X},fragmentInputs.vDepthMetric{X},shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
329
+ #else
330
+ shadow=computeShadowWithPCF5(fragmentInputs.vPositionFromLight{X},fragmentInputs.vDepthMetric{X},shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
331
+ #endif
332
+ #elif defined(SHADOWPCSS{X})
333
+ #if defined(SHADOWLOWQUALITY{X})
334
+ shadow=computeShadowWithPCSS16(fragmentInputs.vPositionFromLight{X},fragmentInputs.vDepthMetric{X},depthTexture{X},depthTexture{X}Sampler,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
335
+ #elif defined(SHADOWMEDIUMQUALITY{X})
336
+ shadow=computeShadowWithPCSS32(fragmentInputs.vPositionFromLight{X},fragmentInputs.vDepthMetric{X},depthTexture{X},depthTexture{X}Sampler,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
337
+ #else
338
+ shadow=computeShadowWithPCSS64(fragmentInputs.vPositionFromLight{X},fragmentInputs.vDepthMetric{X},depthTexture{X},depthTexture{X}Sampler,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
339
+ #endif
340
+ #else
341
+ #if defined(SHADOWCUBE{X})
342
+ shadow=computeShadowCube(fragmentInputs.vPositionW,light{X}.vLightData.xyz,shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.x,light{X}.depthValues);
343
+ #else
344
+ shadow=computeShadow(fragmentInputs.vPositionFromLight{X},fragmentInputs.vDepthMetric{X},shadowTexture{X},shadowTexture{X}Sampler,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);
345
+ #endif
346
+ #endif
347
+ #ifdef SHADOWONLY
348
+ #ifndef SHADOWINUSE
349
+ #define SHADOWINUSE
350
+ #endif
351
+ globalShadow+=shadow;shadowLightCount+=1.0;
352
+ #endif
353
+ #else
354
+ shadow=1.;
355
+ #endif
356
+ aggShadow+=shadow;numLights+=1.0;
357
+ #ifndef SHADOWONLY
358
+ #ifdef CUSTOMUSERLIGHTING
359
+ diffuseBase+=computeCustomDiffuseLighting(info,diffuseBase,shadow);
360
+ #ifdef SPECULARTERM
361
+ specularBase+=computeCustomSpecularLighting(info,specularBase,shadow);
362
+ #endif
363
+ #elif defined(LIGHTMAP) && defined(LIGHTMAPEXCLUDED{X})
364
+ diffuseBase+=lightmapColor.rgb*shadow;
365
+ #ifdef SPECULARTERM
366
+ #ifndef LIGHTMAPNOSPECULAR{X}
367
+ specularBase+=info.specular*shadow*lightmapColor.rgb;
368
+ #endif
369
+ #endif
370
+ #ifdef CLEARCOAT
371
+ #ifndef LIGHTMAPNOSPECULAR{X}
372
+ clearCoatBase+=info.clearCoat.rgb*shadow*lightmapColor.rgb;
373
+ #endif
374
+ #endif
375
+ #ifdef SHEEN
376
+ #ifndef LIGHTMAPNOSPECULAR{X}
377
+ sheenBase+=info.sheen.rgb*shadow;
378
+ #endif
379
+ #endif
380
+ #else
381
+ #ifdef SHADOWCSMDEBUG{X}
382
+ diffuseBase+=info.diffuse*shadowDebug{X};
383
+ #else
384
+ diffuseBase+=info.diffuse*shadow;
385
+ #endif
386
+ #ifdef SS_TRANSLUCENCY
387
+ diffuseTransmissionBase+=info.diffuseTransmission*shadow;
388
+ #endif
389
+ #ifdef SPECULARTERM
390
+ specularBase+=info.specular*shadow;
391
+ #endif
392
+ #ifdef CLEARCOAT
393
+ clearCoatBase+=info.clearCoat.rgb*shadow;
394
+ #endif
395
+ #ifdef SHEEN
396
+ sheenBase+=info.sheen.rgb*shadow;
397
+ #endif
398
+ #endif
399
+ #endif
400
+ #endif
401
+ `;
402
+ e.IncludesShadersStoreWGSL[t] || (e.IncludesShadersStoreWGSL[t] = n);
@@ -0,0 +1,16 @@
1
+ import { b0 as e } from "./index-CS3Icp_r.js";
2
+ const r = "meshUboDeclaration", s = `struct Mesh {world : mat4x4<f32>,
3
+ visibility : f32,};var<uniform> mesh : Mesh;
4
+ #define WORLD_UBO
5
+ `;
6
+ e.IncludesShadersStoreWGSL[r] || (e.IncludesShadersStoreWGSL[r] = s);
7
+ const n = "mainUVVaryingDeclaration", t = `#ifdef MAINUV{X}
8
+ varying vMainUV{X}: vec2f;
9
+ #endif
10
+ `;
11
+ e.IncludesShadersStoreWGSL[n] || (e.IncludesShadersStoreWGSL[n] = t);
12
+ const a = "logDepthDeclaration", i = `#ifdef LOGARITHMICDEPTH
13
+ uniform logarithmicDepthConstant: f32;varying vFragmentDepth: f32;
14
+ #endif
15
+ `;
16
+ e.IncludesShadersStoreWGSL[a] || (e.IncludesShadersStoreWGSL[a] = i);
@@ -0,0 +1,20 @@
1
+ import { b0 as e } from "./index-CS3Icp_r.js";
2
+ const a = "meshUboDeclaration", r = `#ifdef WEBGL2
3
+ uniform mat4 world;uniform float visibility;
4
+ #else
5
+ layout(std140,column_major) uniform;uniform Mesh
6
+ {mat4 world;float visibility;};
7
+ #endif
8
+ #define WORLD_UBO
9
+ `;
10
+ e.IncludesShadersStore[a] || (e.IncludesShadersStore[a] = r);
11
+ const n = "mainUVVaryingDeclaration", i = `#ifdef MAINUV{X}
12
+ varying vec2 vMainUV{X};
13
+ #endif
14
+ `;
15
+ e.IncludesShadersStore[n] || (e.IncludesShadersStore[n] = i);
16
+ const o = "logDepthDeclaration", t = `#ifdef LOGARITHMICDEPTH
17
+ uniform float logarithmicDepthConstant;varying float vFragmentDepth;
18
+ #endif
19
+ `;
20
+ e.IncludesShadersStore[o] || (e.IncludesShadersStore[o] = t);
@@ -0,0 +1,213 @@
1
+ import { b0 as e } from "./index-CS3Icp_r.js";
2
+ const i = "decalVertexDeclaration", h = `#ifdef DECAL
3
+ uniform vec4 vDecalInfos;uniform mat4 decalMatrix;
4
+ #endif
5
+ `;
6
+ e.IncludesShadersStore[i] || (e.IncludesShadersStore[i] = h);
7
+ const n = "uvAttributeDeclaration", I = `#ifdef UV{X}
8
+ attribute vec2 uv{X};
9
+ #endif
10
+ `;
11
+ e.IncludesShadersStore[n] || (e.IncludesShadersStore[n] = I);
12
+ const t = "prePassVertexDeclaration", u = `#ifdef PREPASS
13
+ #ifdef PREPASS_LOCAL_POSITION
14
+ varying vec3 vPosition;
15
+ #endif
16
+ #ifdef PREPASS_DEPTH
17
+ varying vec3 vViewPos;
18
+ #endif
19
+ #ifdef PREPASS_NORMALIZED_VIEW_DEPTH
20
+ varying float vNormViewDepth;
21
+ #endif
22
+ #if defined(PREPASS_VELOCITY) || defined(PREPASS_VELOCITY_LINEAR)
23
+ uniform mat4 previousViewProjection;varying vec4 vCurrentPosition;varying vec4 vPreviousPosition;
24
+ #endif
25
+ #endif
26
+ `;
27
+ e.IncludesShadersStore[t] || (e.IncludesShadersStore[t] = u);
28
+ const r = "samplerVertexDeclaration", A = `#if defined(_DEFINENAME_) && _DEFINENAME_DIRECTUV==0
29
+ varying vec2 v_VARYINGNAME_UV;
30
+ #endif
31
+ `;
32
+ e.IncludesShadersStore[r] || (e.IncludesShadersStore[r] = A);
33
+ const d = "fogVertexDeclaration", N = `#ifdef FOG
34
+ varying vec3 vFogDistance;
35
+ #endif
36
+ `;
37
+ e.IncludesShadersStore[d] || (e.IncludesShadersStore[d] = N);
38
+ const o = "lightVxFragmentDeclaration", m = `#ifdef LIGHT{X}
39
+ uniform vec4 vLightData{X};uniform vec4 vLightDiffuse{X};
40
+ #ifdef SPECULARTERM
41
+ uniform vec4 vLightSpecular{X};
42
+ #else
43
+ vec4 vLightSpecular{X}=vec4(0.);
44
+ #endif
45
+ #ifdef SHADOW{X}
46
+ #ifdef SHADOWCSM{X}
47
+ uniform mat4 lightMatrix{X}[SHADOWCSMNUM_CASCADES{X}];varying vec4 vPositionFromLight{X}[SHADOWCSMNUM_CASCADES{X}];varying float vDepthMetric{X}[SHADOWCSMNUM_CASCADES{X}];varying vec4 vPositionFromCamera{X};
48
+ #elif defined(SHADOWCUBE{X})
49
+ #else
50
+ varying vec4 vPositionFromLight{X};varying float vDepthMetric{X};uniform mat4 lightMatrix{X};
51
+ #endif
52
+ uniform vec4 shadowsInfo{X};uniform vec2 depthValues{X};
53
+ #endif
54
+ #ifdef SPOTLIGHT{X}
55
+ uniform vec4 vLightDirection{X};uniform vec4 vLightFalloff{X};
56
+ #elif defined(POINTLIGHT{X})
57
+ uniform vec4 vLightFalloff{X};
58
+ #elif defined(HEMILIGHT{X})
59
+ uniform vec3 vLightGround{X};
60
+ #endif
61
+ #if defined(AREALIGHT{X}) && defined(AREALIGHTUSED) && defined(AREALIGHTSUPPORTED)
62
+ uniform vec4 vLightWidth{X};uniform vec4 vLightHeight{X};
63
+ #endif
64
+ #endif
65
+ `;
66
+ e.IncludesShadersStore[o] || (e.IncludesShadersStore[o] = m);
67
+ const f = "lightVxUboDeclaration", _ = `#ifdef LIGHT{X}
68
+ uniform Light{X}
69
+ {vec4 vLightData;vec4 vLightDiffuse;vec4 vLightSpecular;
70
+ #ifdef SPOTLIGHT{X}
71
+ vec4 vLightDirection;vec4 vLightFalloff;
72
+ #elif defined(POINTLIGHT{X})
73
+ vec4 vLightFalloff;
74
+ #elif defined(HEMILIGHT{X})
75
+ vec3 vLightGround;
76
+ #elif defined(CLUSTLIGHT{X})
77
+ vec2 vSliceData;vec2 vSliceRanges[CLUSTLIGHT_SLICES];
78
+ #endif
79
+ #if defined(AREALIGHT{X}) && defined(AREALIGHTUSED) && defined(AREALIGHTSUPPORTED)
80
+ vec4 vLightWidth;vec4 vLightHeight;
81
+ #endif
82
+ vec4 shadowsInfo;vec2 depthValues;} light{X};
83
+ #ifdef SHADOW{X}
84
+ #ifdef SHADOWCSM{X}
85
+ uniform mat4 lightMatrix{X}[SHADOWCSMNUM_CASCADES{X}];varying vec4 vPositionFromLight{X}[SHADOWCSMNUM_CASCADES{X}];varying float vDepthMetric{X}[SHADOWCSMNUM_CASCADES{X}];varying vec4 vPositionFromCamera{X};
86
+ #elif defined(SHADOWCUBE{X})
87
+ #else
88
+ varying vec4 vPositionFromLight{X};varying float vDepthMetric{X};uniform mat4 lightMatrix{X};
89
+ #endif
90
+ #endif
91
+ #endif
92
+ `;
93
+ e.IncludesShadersStore[f] || (e.IncludesShadersStore[f] = _);
94
+ const s = "prePassVertex", X = `#ifdef PREPASS_DEPTH
95
+ vViewPos=(view*worldPos).rgb;
96
+ #endif
97
+ #ifdef PREPASS_NORMALIZED_VIEW_DEPTH
98
+ vNormViewDepth=((view*worldPos).z-cameraInfo.x)/(cameraInfo.y-cameraInfo.x);
99
+ #endif
100
+ #ifdef PREPASS_LOCAL_POSITION
101
+ vPosition=positionUpdated.xyz;
102
+ #endif
103
+ #if (defined(PREPASS_VELOCITY) || defined(PREPASS_VELOCITY_LINEAR)) && defined(BONES_VELOCITY_ENABLED)
104
+ vCurrentPosition=viewProjection*worldPos;
105
+ #if NUM_BONE_INFLUENCERS>0
106
+ mat4 previousInfluence;previousInfluence=mPreviousBones[int(matricesIndices[0])]*matricesWeights[0];
107
+ #if NUM_BONE_INFLUENCERS>1
108
+ previousInfluence+=mPreviousBones[int(matricesIndices[1])]*matricesWeights[1];
109
+ #endif
110
+ #if NUM_BONE_INFLUENCERS>2
111
+ previousInfluence+=mPreviousBones[int(matricesIndices[2])]*matricesWeights[2];
112
+ #endif
113
+ #if NUM_BONE_INFLUENCERS>3
114
+ previousInfluence+=mPreviousBones[int(matricesIndices[3])]*matricesWeights[3];
115
+ #endif
116
+ #if NUM_BONE_INFLUENCERS>4
117
+ previousInfluence+=mPreviousBones[int(matricesIndicesExtra[0])]*matricesWeightsExtra[0];
118
+ #endif
119
+ #if NUM_BONE_INFLUENCERS>5
120
+ previousInfluence+=mPreviousBones[int(matricesIndicesExtra[1])]*matricesWeightsExtra[1];
121
+ #endif
122
+ #if NUM_BONE_INFLUENCERS>6
123
+ previousInfluence+=mPreviousBones[int(matricesIndicesExtra[2])]*matricesWeightsExtra[2];
124
+ #endif
125
+ #if NUM_BONE_INFLUENCERS>7
126
+ previousInfluence+=mPreviousBones[int(matricesIndicesExtra[3])]*matricesWeightsExtra[3];
127
+ #endif
128
+ vPreviousPosition=previousViewProjection*finalPreviousWorld*previousInfluence*vec4(positionUpdated,1.0);
129
+ #else
130
+ vPreviousPosition=previousViewProjection*finalPreviousWorld*vec4(positionUpdated,1.0);
131
+ #endif
132
+ #endif
133
+ `;
134
+ e.IncludesShadersStore[s] || (e.IncludesShadersStore[s] = X);
135
+ const a = "uvVariableDeclaration", g = `#if !defined(UV{X}) && defined(MAINUV{X})
136
+ vec2 uv{X}=vec2(0.,0.);
137
+ #endif
138
+ #ifdef MAINUV{X}
139
+ vMainUV{X}=uv{X};
140
+ #endif
141
+ `;
142
+ e.IncludesShadersStore[a] || (e.IncludesShadersStore[a] = g);
143
+ const v = "samplerVertexImplementation", P = `#if defined(_DEFINENAME_) && _DEFINENAME_DIRECTUV==0
144
+ if (v_INFONAME_==0.)
145
+ {v_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uvUpdated,1.0,0.0));}
146
+ #ifdef UV2
147
+ else if (v_INFONAME_==1.)
148
+ {v_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv2Updated,1.0,0.0));}
149
+ #endif
150
+ #ifdef UV3
151
+ else if (v_INFONAME_==2.)
152
+ {v_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv3,1.0,0.0));}
153
+ #endif
154
+ #ifdef UV4
155
+ else if (v_INFONAME_==3.)
156
+ {v_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv4,1.0,0.0));}
157
+ #endif
158
+ #ifdef UV5
159
+ else if (v_INFONAME_==4.)
160
+ {v_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv5,1.0,0.0));}
161
+ #endif
162
+ #ifdef UV6
163
+ else if (v_INFONAME_==5.)
164
+ {v_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv6,1.0,0.0));}
165
+ #endif
166
+ #endif
167
+ `;
168
+ e.IncludesShadersStore[v] || (e.IncludesShadersStore[v] = P);
169
+ const c = "fogVertex", M = `#ifdef FOG
170
+ vFogDistance=(view*worldPos).xyz;
171
+ #endif
172
+ `;
173
+ e.IncludesShadersStore[c] || (e.IncludesShadersStore[c] = M);
174
+ const S = "shadowsVertex", L = `#ifdef SHADOWS
175
+ #if defined(SHADOWCSM{X})
176
+ vPositionFromCamera{X}=view*worldPos;for (int i=0; i<SHADOWCSMNUM_CASCADES{X}; i++) {vPositionFromLight{X}[i]=lightMatrix{X}[i]*worldPos;
177
+ #ifdef USE_REVERSE_DEPTHBUFFER
178
+ vDepthMetric{X}[i]=(-vPositionFromLight{X}[i].z+light{X}.depthValues.x)/light{X}.depthValues.y;
179
+ #else
180
+ vDepthMetric{X}[i]=(vPositionFromLight{X}[i].z+light{X}.depthValues.x)/light{X}.depthValues.y;
181
+ #endif
182
+ }
183
+ #elif defined(SHADOW{X}) && !defined(SHADOWCUBE{X})
184
+ vPositionFromLight{X}=lightMatrix{X}*worldPos;
185
+ #ifdef USE_REVERSE_DEPTHBUFFER
186
+ vDepthMetric{X}=(-vPositionFromLight{X}.z+light{X}.depthValues.x)/light{X}.depthValues.y;
187
+ #else
188
+ vDepthMetric{X}=(vPositionFromLight{X}.z+light{X}.depthValues.x)/light{X}.depthValues.y;
189
+ #endif
190
+ #endif
191
+ #endif
192
+ `;
193
+ e.IncludesShadersStore[S] || (e.IncludesShadersStore[S] = L);
194
+ const l = "vertexColorMixing", D = `#if defined(VERTEXCOLOR) || defined(INSTANCESCOLOR) && defined(INSTANCES)
195
+ vColor=vec4(1.0);
196
+ #ifdef VERTEXCOLOR
197
+ #ifdef VERTEXALPHA
198
+ vColor*=colorUpdated;
199
+ #else
200
+ vColor.rgb*=colorUpdated.rgb;
201
+ #endif
202
+ #endif
203
+ #ifdef INSTANCESCOLOR
204
+ vColor*=instanceColor;
205
+ #endif
206
+ #endif
207
+ `;
208
+ e.IncludesShadersStore[l] || (e.IncludesShadersStore[l] = D);
209
+ const E = "logDepthVertex", C = `#ifdef LOGARITHMICDEPTH
210
+ vFragmentDepth=1.0+gl_Position.w;gl_Position.z=log2(max(0.000001,vFragmentDepth))*logarithmicDepthConstant;
211
+ #endif
212
+ `;
213
+ e.IncludesShadersStore[E] || (e.IncludesShadersStore[E] = C);