@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,134 @@
1
+ import { b0 as a } from "./index-CS3Icp_r.js";
2
+ import "./clipPlaneFragment-DJwQynjA.js";
3
+ const e = "bumpFragmentMainFunctions", f = `#ifndef TEXRD_DEFINED
4
+ fn TEXRD(t: texture_2d<f32>,ts: sampler,uv: vec2f)->vec4f {return textureSample(t,ts,uv);}
5
+ #define TEXRD_DEFINED
6
+ #endif
7
+ #if defined(BUMP) || defined(CLEARCOAT_BUMP) || defined(ANISOTROPIC) || defined(DETAIL)
8
+ #if defined(TANGENT) && defined(NORMAL)
9
+ varying vTBN0: vec3f;varying vTBN1: vec3f;varying vTBN2: vec3f;
10
+ #endif
11
+ #ifdef OBJECTSPACE_NORMALMAP
12
+ uniform normalMatrix: mat4x4f;fn toNormalMatrix(m: mat4x4f)->mat4x4f
13
+ {var a00=m[0][0];var a01=m[0][1];var a02=m[0][2];var a03=m[0][3];var a10=m[1][0];var a11=m[1][1];var a12=m[1][2];var a13=m[1][3];var a20=m[2][0];
14
+ var a21=m[2][1];var a22=m[2][2];var a23=m[2][3];var a30=m[3][0];
15
+ var a31=m[3][1];var a32=m[3][2];var a33=m[3][3];var b00=a00*a11-a01*a10;var b01=a00*a12-a02*a10;var b02=a00*a13-a03*a10;var b03=a01*a12-a02*a11;var b04=a01*a13-a03*a11;var b05=a02*a13-a03*a12;var b06=a20*a31-a21*a30;var b07=a20*a32-a22*a30;var b08=a20*a33-a23*a30;var b09=a21*a32-a22*a31;var b10=a21*a33-a23*a31;var b11=a22*a33-a23*a32;var det=b00*b11-b01*b10+b02*b09+b03*b08-b04*b07+b05*b06;var mi=mat4x4<f32>(
16
+ (a11*b11-a12*b10+a13*b09)/det,
17
+ (a02*b10-a01*b11-a03*b09)/det,
18
+ (a31*b05-a32*b04+a33*b03)/det,
19
+ (a22*b04-a21*b05-a23*b03)/det,
20
+ (a12*b08-a10*b11-a13*b07)/det,
21
+ (a00*b11-a02*b08+a03*b07)/det,
22
+ (a32*b02-a30*b05-a33*b01)/det,
23
+ (a20*b05-a22*b02+a23*b01)/det,
24
+ (a10*b10-a11*b08+a13*b06)/det,
25
+ (a01*b08-a00*b10-a03*b06)/det,
26
+ (a30*b04-a31*b02+a33*b00)/det,
27
+ (a21*b02-a20*b04-a23*b00)/det,
28
+ (a11*b07-a10*b09-a12*b06)/det,
29
+ (a00*b09-a01*b07+a02*b06)/det,
30
+ (a31*b01-a30*b03-a32*b00)/det,
31
+ (a20*b03-a21*b01+a22*b00)/det);return mat4x4<f32>(mi[0][0],mi[1][0],mi[2][0],mi[3][0],
32
+ mi[0][1],mi[1][1],mi[2][1],mi[3][1],
33
+ mi[0][2],mi[1][2],mi[2][2],mi[3][2],
34
+ mi[0][3],mi[1][3],mi[2][3],mi[3][3]);}
35
+ #endif
36
+ fn perturbNormalBase(cotangentFrame: mat3x3f,normal: vec3f,scale: f32)->vec3f
37
+ {var output=normal;
38
+ #ifdef NORMALXYSCALE
39
+ output=normalize(output* vec3f(scale,scale,1.0));
40
+ #endif
41
+ return normalize(cotangentFrame*output);}
42
+ fn perturbNormal(cotangentFrame: mat3x3f,textureSample: vec3f,scale: f32)->vec3f
43
+ {return perturbNormalBase(cotangentFrame,textureSample*2.0-1.0,scale);}
44
+ fn cotangent_frame(normal: vec3f,p: vec3f,uv: vec2f,tangentSpaceParams: vec2f)->mat3x3f
45
+ {var dp1: vec3f=dpdx(p);var dp2: vec3f=dpdy(p);var duv1: vec2f=dpdx(uv);var duv2: vec2f=dpdy(uv);var dp2perp: vec3f=cross(dp2,normal);var dp1perp: vec3f=cross(normal,dp1);var tangent: vec3f=dp2perp*duv1.x+dp1perp*duv2.x;var bitangent: vec3f=dp2perp*duv1.y+dp1perp*duv2.y;tangent*=tangentSpaceParams.x;bitangent*=tangentSpaceParams.y;var det: f32=max(dot(tangent,tangent),dot(bitangent,bitangent));var invmax: f32=select(inverseSqrt(det),0.0,det==0.0);return mat3x3f(tangent*invmax,bitangent*invmax,normal);}
46
+ #endif
47
+ `;
48
+ a.IncludesShadersStoreWGSL[e] || (a.IncludesShadersStoreWGSL[e] = f);
49
+ const r = "bumpFragmentFunctions", m = `#if defined(BUMP)
50
+ #include<samplerFragmentDeclaration>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump,_SAMPLERNAME_,bump)
51
+ #endif
52
+ #if defined(DETAIL)
53
+ #include<samplerFragmentDeclaration>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail,_SAMPLERNAME_,detail)
54
+ #endif
55
+ #if defined(BUMP) && defined(PARALLAX)
56
+ const minSamples: f32=4.;const maxSamples: f32=15.;const iMaxSamples: i32=15;fn parallaxOcclusion(vViewDirCoT: vec3f,vNormalCoT: vec3f,texCoord: vec2f,parallaxScale: f32)->vec2f {var parallaxLimit: f32=length(vViewDirCoT.xy)/vViewDirCoT.z;parallaxLimit*=parallaxScale;var vOffsetDir: vec2f=normalize(vViewDirCoT.xy);var vMaxOffset: vec2f=vOffsetDir*parallaxLimit;var numSamples: f32=maxSamples+(dot(vViewDirCoT,vNormalCoT)*(minSamples-maxSamples));var stepSize: f32=1.0/numSamples;var currRayHeight: f32=1.0;var vCurrOffset: vec2f= vec2f(0,0);var vLastOffset: vec2f= vec2f(0,0);var lastSampledHeight: f32=1.0;var currSampledHeight: f32=1.0;var keepWorking: bool=true;for (var i: i32=0; i<iMaxSamples; i++)
57
+ {currSampledHeight=textureSample(bumpSampler,bumpSamplerSampler,texCoord+vCurrOffset).w;if (!keepWorking)
58
+ {}
59
+ else if (currSampledHeight>currRayHeight)
60
+ {var delta1: f32=currSampledHeight-currRayHeight;var delta2: f32=(currRayHeight+stepSize)-lastSampledHeight;var ratio: f32=delta1/(delta1+delta2);vCurrOffset=(ratio)* vLastOffset+(1.0-ratio)*vCurrOffset;keepWorking=false;}
61
+ else
62
+ {currRayHeight-=stepSize;vLastOffset=vCurrOffset;
63
+ #ifdef PARALLAX_RHS
64
+ vCurrOffset-=stepSize*vMaxOffset;
65
+ #else
66
+ vCurrOffset+=stepSize*vMaxOffset;
67
+ #endif
68
+ lastSampledHeight=currSampledHeight;}}
69
+ return vCurrOffset;}
70
+ fn parallaxOffset(viewDir: vec3f,heightScale: f32)->vec2f
71
+ {var height: f32=textureSample(bumpSampler,bumpSamplerSampler,fragmentInputs.vBumpUV).w;var texCoordOffset: vec2f=heightScale*viewDir.xy*height;
72
+ #ifdef PARALLAX_RHS
73
+ return texCoordOffset;
74
+ #else
75
+ return -texCoordOffset;
76
+ #endif
77
+ }
78
+ #endif
79
+ `;
80
+ a.IncludesShadersStoreWGSL[r] || (a.IncludesShadersStoreWGSL[r] = m);
81
+ const t = "bumpFragment", n = `var uvOffset: vec2f= vec2f(0.0,0.0);
82
+ #if defined(BUMP) || defined(PARALLAX) || defined(DETAIL)
83
+ #ifdef NORMALXYSCALE
84
+ var normalScale: f32=1.0;
85
+ #elif defined(BUMP)
86
+ var normalScale: f32=uniforms.vBumpInfos.y;
87
+ #else
88
+ var normalScale: f32=1.0;
89
+ #endif
90
+ #if defined(TANGENT) && defined(NORMAL)
91
+ var TBN: mat3x3f=mat3x3<f32>(input.vTBN0,input.vTBN1,input.vTBN2);
92
+ #elif defined(BUMP)
93
+ var TBNUV: vec2f=select(-fragmentInputs.vBumpUV,fragmentInputs.vBumpUV,fragmentInputs.frontFacing);var TBN: mat3x3f=cotangent_frame(normalW*normalScale,input.vPositionW,TBNUV,uniforms.vTangentSpaceParams);
94
+ #else
95
+ var TBNUV: vec2f=select(-fragmentInputs.vDetailUV,fragmentInputs.vDetailUV,fragmentInputs.frontFacing);var TBN: mat3x3f=cotangent_frame(normalW*normalScale,input.vPositionW,TBNUV, vec2f(1.,1.));
96
+ #endif
97
+ #elif defined(ANISOTROPIC)
98
+ #if defined(TANGENT) && defined(NORMAL)
99
+ var TBN: mat3x3f=mat3x3<f32>(input.vTBN0,input.vTBN1,input.vTBN2);
100
+ #else
101
+ var TBNUV: vec2f=select( -fragmentInputs.vMainUV1,fragmentInputs.vMainUV1,fragmentInputs.frontFacing);var TBN: mat3x3f=cotangent_frame(normalW,input.vPositionW,TBNUV, vec2f(1.,1.));
102
+ #endif
103
+ #endif
104
+ #ifdef PARALLAX
105
+ var invTBN: mat3x3f=transposeMat3(TBN);
106
+ #ifdef PARALLAXOCCLUSION
107
+ uvOffset=parallaxOcclusion(invTBN*-viewDirectionW,invTBN*normalW,fragmentInputs.vBumpUV,uniforms.vBumpInfos.z);
108
+ #else
109
+ uvOffset=parallaxOffset(invTBN*viewDirectionW,uniforms.vBumpInfos.z);
110
+ #endif
111
+ #endif
112
+ #ifdef DETAIL
113
+ var detailColor: vec4f=textureSample(detailSampler,detailSamplerSampler,fragmentInputs.vDetailUV+uvOffset);var detailNormalRG: vec2f=detailColor.wy*2.0-1.0;var detailNormalB: f32=sqrt(1.-saturate(dot(detailNormalRG,detailNormalRG)));var detailNormal: vec3f= vec3f(detailNormalRG,detailNormalB);
114
+ #endif
115
+ #ifdef BUMP
116
+ #ifdef OBJECTSPACE_NORMALMAP
117
+ #define CUSTOM_FRAGMENT_BUMP_FRAGMENT
118
+ normalW=normalize(TEXRD(bumpSampler,bumpSamplerSampler,fragmentInputs.vBumpUV).xyz *2.0-1.0);normalW=normalize(mat3x3f(uniforms.normalMatrix[0].xyz,uniforms.normalMatrix[1].xyz,uniforms.normalMatrix[2].xyz)*normalW);
119
+ #elif !defined(DETAIL)
120
+ normalW=perturbNormal(TBN,TEXRD(bumpSampler,bumpSamplerSampler,fragmentInputs.vBumpUV+uvOffset).xyz,uniforms.vBumpInfos.y);
121
+ #else
122
+ var bumpNormal: vec3f=TEXRD(bumpSampler,bumpSamplerSampler,fragmentInputs.vBumpUV+uvOffset).xyz*2.0-1.0;
123
+ #if DETAIL_NORMALBLENDMETHOD==0
124
+ detailNormal=vec3f(detailNormal.xy*uniforms.vDetailInfos.z,detailNormal.z);var blendedNormal: vec3f=normalize( vec3f(bumpNormal.xy+detailNormal.xy,bumpNormal.z*detailNormal.z));
125
+ #elif DETAIL_NORMALBLENDMETHOD==1
126
+ detailNormal=vec3f(detailNormal.xy*uniforms.vDetailInfos.z,detailNormal.z);bumpNormal+= vec3f(0.0,0.0,1.0);detailNormal*= vec3f(-1.0,-1.0,1.0);var blendedNormal: vec3f=bumpNormal*dot(bumpNormal,detailNormal)/bumpNormal.z-detailNormal;
127
+ #endif
128
+ normalW=perturbNormalBase(TBN,blendedNormal,uniforms.vBumpInfos.y);
129
+ #endif
130
+ #elif defined(DETAIL)
131
+ detailNormal=vec3f(detailNormal.xy*uniforms.vDetailInfos.z,detailNormal.z);normalW=perturbNormalBase(TBN,detailNormal,uniforms.vDetailInfos.z);
132
+ #endif
133
+ `;
134
+ a.IncludesShadersStoreWGSL[t] || (a.IncludesShadersStoreWGSL[t] = n);
@@ -0,0 +1,287 @@
1
+ import { b0 as e } from "./index-CS3Icp_r.js";
2
+ const a = "samplerFragmentDeclaration", d = `#ifdef _DEFINENAME_
3
+ #if _DEFINENAME_DIRECTUV==1
4
+ #define v_VARYINGNAME_UV vMainUV1
5
+ #elif _DEFINENAME_DIRECTUV==2
6
+ #define v_VARYINGNAME_UV vMainUV2
7
+ #elif _DEFINENAME_DIRECTUV==3
8
+ #define v_VARYINGNAME_UV vMainUV3
9
+ #elif _DEFINENAME_DIRECTUV==4
10
+ #define v_VARYINGNAME_UV vMainUV4
11
+ #elif _DEFINENAME_DIRECTUV==5
12
+ #define v_VARYINGNAME_UV vMainUV5
13
+ #elif _DEFINENAME_DIRECTUV==6
14
+ #define v_VARYINGNAME_UV vMainUV6
15
+ #else
16
+ varying vec2 v_VARYINGNAME_UV;
17
+ #endif
18
+ uniform sampler2D _SAMPLERNAME_Sampler;
19
+ #endif
20
+ `;
21
+ e.IncludesShadersStore[a] || (e.IncludesShadersStore[a] = d);
22
+ const r = "reflectionFunction", f = `vec3 computeFixedEquirectangularCoords(vec4 worldPos,vec3 worldNormal,vec3 direction)
23
+ {float lon=atan(direction.z,direction.x);float lat=acos(direction.y);vec2 sphereCoords=vec2(lon,lat)*RECIPROCAL_PI2*2.0;float s=sphereCoords.x*0.5+0.5;float t=sphereCoords.y;return vec3(s,t,0); }
24
+ vec3 computeMirroredFixedEquirectangularCoords(vec4 worldPos,vec3 worldNormal,vec3 direction)
25
+ {float lon=atan(direction.z,direction.x);float lat=acos(direction.y);vec2 sphereCoords=vec2(lon,lat)*RECIPROCAL_PI2*2.0;float s=sphereCoords.x*0.5+0.5;float t=sphereCoords.y;return vec3(1.0-s,t,0); }
26
+ vec3 computeEquirectangularCoords(vec4 worldPos,vec3 worldNormal,vec3 eyePosition,mat4 reflectionMatrix)
27
+ {vec3 cameraToVertex=normalize(worldPos.xyz-eyePosition);vec3 r=normalize(reflect(cameraToVertex,worldNormal));r=vec3(reflectionMatrix*vec4(r,0));float lon=atan(r.z,r.x);float lat=acos(r.y);vec2 sphereCoords=vec2(lon,lat)*RECIPROCAL_PI2*2.0;float s=sphereCoords.x*0.5+0.5;float t=sphereCoords.y;return vec3(s,t,0);}
28
+ vec3 computeSphericalCoords(vec4 worldPos,vec3 worldNormal,mat4 view,mat4 reflectionMatrix)
29
+ {vec3 viewDir=normalize(vec3(view*worldPos));vec3 viewNormal=normalize(vec3(view*vec4(worldNormal,0.0)));vec3 r=reflect(viewDir,viewNormal);r=vec3(reflectionMatrix*vec4(r,0));r.z=r.z-1.0;float m=2.0*length(r);return vec3(r.x/m+0.5,1.0-r.y/m-0.5,0);}
30
+ vec3 computePlanarCoords(vec4 worldPos,vec3 worldNormal,vec3 eyePosition,mat4 reflectionMatrix)
31
+ {vec3 viewDir=worldPos.xyz-eyePosition;vec3 coords=normalize(reflect(viewDir,worldNormal));return vec3(reflectionMatrix*vec4(coords,1));}
32
+ vec3 computeCubicCoords(vec4 worldPos,vec3 worldNormal,vec3 eyePosition,mat4 reflectionMatrix)
33
+ {vec3 viewDir=normalize(worldPos.xyz-eyePosition);vec3 coords=reflect(viewDir,worldNormal);coords=vec3(reflectionMatrix*vec4(coords,0));
34
+ #ifdef INVERTCUBICMAP
35
+ coords.y*=-1.0;
36
+ #endif
37
+ return coords;}
38
+ vec3 computeCubicLocalCoords(vec4 worldPos,vec3 worldNormal,vec3 eyePosition,mat4 reflectionMatrix,vec3 reflectionSize,vec3 reflectionPosition)
39
+ {vec3 viewDir=normalize(worldPos.xyz-eyePosition);vec3 coords=reflect(viewDir,worldNormal);coords=parallaxCorrectNormal(worldPos.xyz,coords,reflectionSize,reflectionPosition);coords=vec3(reflectionMatrix*vec4(coords,0));
40
+ #ifdef INVERTCUBICMAP
41
+ coords.y*=-1.0;
42
+ #endif
43
+ return coords;}
44
+ vec3 computeProjectionCoords(vec4 worldPos,mat4 view,mat4 reflectionMatrix)
45
+ {return vec3(reflectionMatrix*(view*worldPos));}
46
+ vec3 computeSkyBoxCoords(vec3 positionW,mat4 reflectionMatrix)
47
+ {return vec3(reflectionMatrix*vec4(positionW,1.));}
48
+ #ifdef REFLECTION
49
+ vec3 computeReflectionCoords(vec4 worldPos,vec3 worldNormal)
50
+ {
51
+ #ifdef REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED
52
+ vec3 direction=normalize(vDirectionW);return computeMirroredFixedEquirectangularCoords(worldPos,worldNormal,direction);
53
+ #endif
54
+ #ifdef REFLECTIONMAP_EQUIRECTANGULAR_FIXED
55
+ vec3 direction=normalize(vDirectionW);return computeFixedEquirectangularCoords(worldPos,worldNormal,direction);
56
+ #endif
57
+ #ifdef REFLECTIONMAP_EQUIRECTANGULAR
58
+ return computeEquirectangularCoords(worldPos,worldNormal,vEyePosition.xyz,reflectionMatrix);
59
+ #endif
60
+ #ifdef REFLECTIONMAP_SPHERICAL
61
+ return computeSphericalCoords(worldPos,worldNormal,view,reflectionMatrix);
62
+ #endif
63
+ #ifdef REFLECTIONMAP_PLANAR
64
+ return computePlanarCoords(worldPos,worldNormal,vEyePosition.xyz,reflectionMatrix);
65
+ #endif
66
+ #ifdef REFLECTIONMAP_CUBIC
67
+ #ifdef USE_LOCAL_REFLECTIONMAP_CUBIC
68
+ return computeCubicLocalCoords(worldPos,worldNormal,vEyePosition.xyz,reflectionMatrix,vReflectionSize,vReflectionPosition);
69
+ #else
70
+ return computeCubicCoords(worldPos,worldNormal,vEyePosition.xyz,reflectionMatrix);
71
+ #endif
72
+ #endif
73
+ #ifdef REFLECTIONMAP_PROJECTION
74
+ return computeProjectionCoords(worldPos,view,reflectionMatrix);
75
+ #endif
76
+ #ifdef REFLECTIONMAP_SKYBOX
77
+ return computeSkyBoxCoords(vPositionUVW,reflectionMatrix);
78
+ #endif
79
+ #ifdef REFLECTIONMAP_EXPLICIT
80
+ return vec3(0,0,0);
81
+ #endif
82
+ }
83
+ #endif
84
+ `;
85
+ e.IncludesShadersStore[r] || (e.IncludesShadersStore[r] = f);
86
+ const i = "bumpFragmentMainFunctions", c = `#ifndef TEXRD_DEFINED
87
+ #define TEXRD(s,uv) texture2D(s,uv)
88
+ #define TEXRD_DEFINED
89
+ #endif
90
+ #if defined(BUMP) || defined(CLEARCOAT_BUMP) || defined(ANISOTROPIC) || defined(DETAIL)
91
+ #if defined(TANGENT) && defined(NORMAL)
92
+ varying mat3 vTBN;
93
+ #endif
94
+ #ifdef OBJECTSPACE_NORMALMAP
95
+ uniform mat4 normalMatrix;
96
+ #if defined(WEBGL2) || defined(WEBGPU)
97
+ mat4 toNormalMatrix(mat4 wMatrix)
98
+ {mat4 ret=inverse(wMatrix);ret=transpose(ret);ret[0][3]=0.;ret[1][3]=0.;ret[2][3]=0.;ret[3]=vec4(0.,0.,0.,1.);return ret;}
99
+ #else
100
+ mat4 toNormalMatrix(mat4 m)
101
+ {float
102
+ a00=m[0][0],a01=m[0][1],a02=m[0][2],a03=m[0][3],
103
+ a10=m[1][0],a11=m[1][1],a12=m[1][2],a13=m[1][3],
104
+ a20=m[2][0],a21=m[2][1],a22=m[2][2],a23=m[2][3],
105
+ a30=m[3][0],a31=m[3][1],a32=m[3][2],a33=m[3][3],
106
+ b00=a00*a11-a01*a10,
107
+ b01=a00*a12-a02*a10,
108
+ b02=a00*a13-a03*a10,
109
+ b03=a01*a12-a02*a11,
110
+ b04=a01*a13-a03*a11,
111
+ b05=a02*a13-a03*a12,
112
+ b06=a20*a31-a21*a30,
113
+ b07=a20*a32-a22*a30,
114
+ b08=a20*a33-a23*a30,
115
+ b09=a21*a32-a22*a31,
116
+ b10=a21*a33-a23*a31,
117
+ b11=a22*a33-a23*a32,
118
+ det=b00*b11-b01*b10+b02*b09+b03*b08-b04*b07+b05*b06;mat4 mi=mat4(
119
+ a11*b11-a12*b10+a13*b09,
120
+ a02*b10-a01*b11-a03*b09,
121
+ a31*b05-a32*b04+a33*b03,
122
+ a22*b04-a21*b05-a23*b03,
123
+ a12*b08-a10*b11-a13*b07,
124
+ a00*b11-a02*b08+a03*b07,
125
+ a32*b02-a30*b05-a33*b01,
126
+ a20*b05-a22*b02+a23*b01,
127
+ a10*b10-a11*b08+a13*b06,
128
+ a01*b08-a00*b10-a03*b06,
129
+ a30*b04-a31*b02+a33*b00,
130
+ a21*b02-a20*b04-a23*b00,
131
+ a11*b07-a10*b09-a12*b06,
132
+ a00*b09-a01*b07+a02*b06,
133
+ a31*b01-a30*b03-a32*b00,
134
+ a20*b03-a21*b01+a22*b00)/det;return mat4(mi[0][0],mi[1][0],mi[2][0],mi[3][0],
135
+ mi[0][1],mi[1][1],mi[2][1],mi[3][1],
136
+ mi[0][2],mi[1][2],mi[2][2],mi[3][2],
137
+ mi[0][3],mi[1][3],mi[2][3],mi[3][3]);}
138
+ #endif
139
+ #endif
140
+ vec3 perturbNormalBase(mat3 cotangentFrame,vec3 normal,float scale)
141
+ {
142
+ #ifdef NORMALXYSCALE
143
+ normal=normalize(normal*vec3(scale,scale,1.0));
144
+ #endif
145
+ return normalize(cotangentFrame*normal);}
146
+ vec3 perturbNormal(mat3 cotangentFrame,vec3 textureSample,float scale)
147
+ {return perturbNormalBase(cotangentFrame,textureSample*2.0-1.0,scale);}
148
+ mat3 cotangent_frame(vec3 normal,vec3 p,vec2 uv,vec2 tangentSpaceParams)
149
+ {vec3 dp1=dFdx(p);vec3 dp2=dFdy(p);vec2 duv1=dFdx(uv);vec2 duv2=dFdy(uv);vec3 dp2perp=cross(dp2,normal);vec3 dp1perp=cross(normal,dp1);vec3 tangent=dp2perp*duv1.x+dp1perp*duv2.x;vec3 bitangent=dp2perp*duv1.y+dp1perp*duv2.y;tangent*=tangentSpaceParams.x;bitangent*=tangentSpaceParams.y;float det=max(dot(tangent,tangent),dot(bitangent,bitangent));float invmax=det==0.0 ? 0.0 : inversesqrt(det);return mat3(tangent*invmax,bitangent*invmax,normal);}
150
+ #endif
151
+ `;
152
+ e.IncludesShadersStore[i] || (e.IncludesShadersStore[i] = c);
153
+ const o = "bumpFragmentFunctions", m = `#if defined(BUMP)
154
+ #include<samplerFragmentDeclaration>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump,_SAMPLERNAME_,bump)
155
+ #endif
156
+ #if defined(DETAIL)
157
+ #include<samplerFragmentDeclaration>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail,_SAMPLERNAME_,detail)
158
+ #endif
159
+ #if defined(BUMP) && defined(PARALLAX)
160
+ const float minSamples=4.;const float maxSamples=15.;const int iMaxSamples=15;vec2 parallaxOcclusion(vec3 vViewDirCoT,vec3 vNormalCoT,vec2 texCoord,float parallaxScale) {float parallaxLimit=length(vViewDirCoT.xy)/vViewDirCoT.z;parallaxLimit*=parallaxScale;vec2 vOffsetDir=normalize(vViewDirCoT.xy);vec2 vMaxOffset=vOffsetDir*parallaxLimit;float numSamples=maxSamples+(dot(vViewDirCoT,vNormalCoT)*(minSamples-maxSamples));float stepSize=1.0/numSamples;float currRayHeight=1.0;vec2 vCurrOffset=vec2(0,0);vec2 vLastOffset=vec2(0,0);float lastSampledHeight=1.0;float currSampledHeight=1.0;bool keepWorking=true;for (int i=0; i<iMaxSamples; i++)
161
+ {currSampledHeight=texture2D(bumpSampler,texCoord+vCurrOffset).w;if (!keepWorking)
162
+ {}
163
+ else if (currSampledHeight>currRayHeight)
164
+ {float delta1=currSampledHeight-currRayHeight;float delta2=(currRayHeight+stepSize)-lastSampledHeight;float ratio=delta1/(delta1+delta2);vCurrOffset=(ratio)* vLastOffset+(1.0-ratio)*vCurrOffset;keepWorking=false;}
165
+ else
166
+ {currRayHeight-=stepSize;vLastOffset=vCurrOffset;
167
+ #ifdef PARALLAX_RHS
168
+ vCurrOffset-=stepSize*vMaxOffset;
169
+ #else
170
+ vCurrOffset+=stepSize*vMaxOffset;
171
+ #endif
172
+ lastSampledHeight=currSampledHeight;}}
173
+ return vCurrOffset;}
174
+ vec2 parallaxOffset(vec3 viewDir,float heightScale)
175
+ {float height=texture2D(bumpSampler,vBumpUV).w;vec2 texCoordOffset=heightScale*viewDir.xy*height;
176
+ #ifdef PARALLAX_RHS
177
+ return texCoordOffset;
178
+ #else
179
+ return -texCoordOffset;
180
+ #endif
181
+ }
182
+ #endif
183
+ `;
184
+ e.IncludesShadersStore[o] || (e.IncludesShadersStore[o] = m);
185
+ const t = "clipPlaneFragmentDeclaration", s = `#ifdef CLIPPLANE
186
+ varying float fClipDistance;
187
+ #endif
188
+ #ifdef CLIPPLANE2
189
+ varying float fClipDistance2;
190
+ #endif
191
+ #ifdef CLIPPLANE3
192
+ varying float fClipDistance3;
193
+ #endif
194
+ #ifdef CLIPPLANE4
195
+ varying float fClipDistance4;
196
+ #endif
197
+ #ifdef CLIPPLANE5
198
+ varying float fClipDistance5;
199
+ #endif
200
+ #ifdef CLIPPLANE6
201
+ varying float fClipDistance6;
202
+ #endif
203
+ `;
204
+ e.IncludesShadersStore[t] || (e.IncludesShadersStore[t] = s);
205
+ const l = "clipPlaneFragment", v = `#if defined(CLIPPLANE) || defined(CLIPPLANE2) || defined(CLIPPLANE3) || defined(CLIPPLANE4) || defined(CLIPPLANE5) || defined(CLIPPLANE6)
206
+ if (false) {}
207
+ #endif
208
+ #ifdef CLIPPLANE
209
+ else if (fClipDistance>0.0)
210
+ {discard;}
211
+ #endif
212
+ #ifdef CLIPPLANE2
213
+ else if (fClipDistance2>0.0)
214
+ {discard;}
215
+ #endif
216
+ #ifdef CLIPPLANE3
217
+ else if (fClipDistance3>0.0)
218
+ {discard;}
219
+ #endif
220
+ #ifdef CLIPPLANE4
221
+ else if (fClipDistance4>0.0)
222
+ {discard;}
223
+ #endif
224
+ #ifdef CLIPPLANE5
225
+ else if (fClipDistance5>0.0)
226
+ {discard;}
227
+ #endif
228
+ #ifdef CLIPPLANE6
229
+ else if (fClipDistance6>0.0)
230
+ {discard;}
231
+ #endif
232
+ `;
233
+ e.IncludesShadersStore[l] || (e.IncludesShadersStore[l] = v);
234
+ const n = "bumpFragment", N = `vec2 uvOffset=vec2(0.0,0.0);
235
+ #if defined(BUMP) || defined(PARALLAX) || defined(DETAIL)
236
+ #ifdef NORMALXYSCALE
237
+ float normalScale=1.0;
238
+ #elif defined(BUMP)
239
+ float normalScale=vBumpInfos.y;
240
+ #else
241
+ float normalScale=1.0;
242
+ #endif
243
+ #if defined(TANGENT) && defined(NORMAL)
244
+ mat3 TBN=vTBN;
245
+ #elif defined(BUMP)
246
+ vec2 TBNUV=gl_FrontFacing ? vBumpUV : -vBumpUV;mat3 TBN=cotangent_frame(normalW*normalScale,vPositionW,TBNUV,vTangentSpaceParams);
247
+ #else
248
+ vec2 TBNUV=gl_FrontFacing ? vDetailUV : -vDetailUV;mat3 TBN=cotangent_frame(normalW*normalScale,vPositionW,TBNUV,vec2(1.,1.));
249
+ #endif
250
+ #elif defined(ANISOTROPIC)
251
+ #if defined(TANGENT) && defined(NORMAL)
252
+ mat3 TBN=vTBN;
253
+ #else
254
+ vec2 TBNUV=gl_FrontFacing ? vMainUV1 : -vMainUV1;mat3 TBN=cotangent_frame(normalW,vPositionW,TBNUV,vec2(1.,1.));
255
+ #endif
256
+ #endif
257
+ #ifdef PARALLAX
258
+ mat3 invTBN=transposeMat3(TBN);
259
+ #ifdef PARALLAXOCCLUSION
260
+ uvOffset=parallaxOcclusion(invTBN*-viewDirectionW,invTBN*normalW,vBumpUV,vBumpInfos.z);
261
+ #else
262
+ uvOffset=parallaxOffset(invTBN*viewDirectionW,vBumpInfos.z);
263
+ #endif
264
+ #endif
265
+ #ifdef DETAIL
266
+ vec4 detailColor=texture2D(detailSampler,vDetailUV+uvOffset);vec2 detailNormalRG=detailColor.wy*2.0-1.0;float detailNormalB=sqrt(1.-saturate(dot(detailNormalRG,detailNormalRG)));vec3 detailNormal=vec3(detailNormalRG,detailNormalB);
267
+ #endif
268
+ #ifdef BUMP
269
+ #ifdef OBJECTSPACE_NORMALMAP
270
+ #define CUSTOM_FRAGMENT_BUMP_FRAGMENT
271
+ normalW=normalize(TEXRD(bumpSampler,vBumpUV).xyz *2.0-1.0);normalW=normalize(mat3(normalMatrix)*normalW);
272
+ #elif !defined(DETAIL)
273
+ normalW=perturbNormal(TBN,TEXRD(bumpSampler,vBumpUV+uvOffset).xyz,vBumpInfos.y);
274
+ #else
275
+ vec3 bumpNormal=TEXRD(bumpSampler,vBumpUV+uvOffset).xyz*2.0-1.0;
276
+ #if DETAIL_NORMALBLENDMETHOD==0
277
+ detailNormal.xy*=vDetailInfos.z;vec3 blendedNormal=normalize(vec3(bumpNormal.xy+detailNormal.xy,bumpNormal.z*detailNormal.z));
278
+ #elif DETAIL_NORMALBLENDMETHOD==1
279
+ detailNormal.xy*=vDetailInfos.z;bumpNormal+=vec3(0.0,0.0,1.0);detailNormal*=vec3(-1.0,-1.0,1.0);vec3 blendedNormal=bumpNormal*dot(bumpNormal,detailNormal)/bumpNormal.z-detailNormal;
280
+ #endif
281
+ normalW=perturbNormalBase(TBN,blendedNormal,vBumpInfos.y);
282
+ #endif
283
+ #elif defined(DETAIL)
284
+ detailNormal.xy*=vDetailInfos.z;normalW=perturbNormalBase(TBN,detailNormal,vDetailInfos.z);
285
+ #endif
286
+ `;
287
+ e.IncludesShadersStore[n] || (e.IncludesShadersStore[n] = N);
@@ -0,0 +1,8 @@
1
+ import { b0 as e } from "./index-CS3Icp_r.js";
2
+ const t = "bumpVertex", n = `#if defined(BUMP) || defined(PARALLAX) || defined(CLEARCOAT_BUMP) || defined(ANISOTROPIC)
3
+ #if defined(TANGENT) && defined(NORMAL)
4
+ var tbnNormal: vec3f=normalize(normalUpdated);var tbnTangent: vec3f=normalize(tangentUpdated.xyz);var tbnBitangent: vec3f=cross(tbnNormal,tbnTangent)*tangentUpdated.w;var matTemp= mat3x3f(finalWorld[0].xyz,finalWorld[1].xyz,finalWorld[2].xyz)* mat3x3f(tbnTangent,tbnBitangent,tbnNormal);vertexOutputs.vTBN0=matTemp[0];vertexOutputs.vTBN1=matTemp[1];vertexOutputs.vTBN2=matTemp[2];
5
+ #endif
6
+ #endif
7
+ `;
8
+ e.IncludesShadersStoreWGSL[t] || (e.IncludesShadersStoreWGSL[t] = n);
@@ -0,0 +1,8 @@
1
+ import { b0 as e } from "./index-CS3Icp_r.js";
2
+ const d = "bumpVertexDeclaration", n = `#if defined(BUMP) || defined(PARALLAX) || defined(CLEARCOAT_BUMP) || defined(ANISOTROPIC)
3
+ #if defined(TANGENT) && defined(NORMAL)
4
+ varying mat3 vTBN;
5
+ #endif
6
+ #endif
7
+ `;
8
+ e.IncludesShadersStore[d] || (e.IncludesShadersStore[d] = n);
@@ -0,0 +1,8 @@
1
+ import { b0 as e } from "./index-CS3Icp_r.js";
2
+ const d = "bumpVertexDeclaration", n = `#if defined(BUMP) || defined(PARALLAX) || defined(CLEARCOAT_BUMP) || defined(ANISOTROPIC)
3
+ #if defined(TANGENT) && defined(NORMAL)
4
+ varying vTBN0: vec3f;varying vTBN1: vec3f;varying vTBN2: vec3f;
5
+ #endif
6
+ #endif
7
+ `;
8
+ e.IncludesShadersStoreWGSL[d] || (e.IncludesShadersStoreWGSL[d] = n);
@@ -0,0 +1,136 @@
1
+ import { b0 as e } from "./index-CS3Icp_r.js";
2
+ const r = "samplerFragmentDeclaration", n = `#ifdef _DEFINENAME_
3
+ #if _DEFINENAME_DIRECTUV==1
4
+ #define v_VARYINGNAME_UV vMainUV1
5
+ #elif _DEFINENAME_DIRECTUV==2
6
+ #define v_VARYINGNAME_UV vMainUV2
7
+ #elif _DEFINENAME_DIRECTUV==3
8
+ #define v_VARYINGNAME_UV vMainUV3
9
+ #elif _DEFINENAME_DIRECTUV==4
10
+ #define v_VARYINGNAME_UV vMainUV4
11
+ #elif _DEFINENAME_DIRECTUV==5
12
+ #define v_VARYINGNAME_UV vMainUV5
13
+ #elif _DEFINENAME_DIRECTUV==6
14
+ #define v_VARYINGNAME_UV vMainUV6
15
+ #else
16
+ varying v_VARYINGNAME_UV: vec2f;
17
+ #endif
18
+ var _SAMPLERNAME_SamplerSampler: sampler;var _SAMPLERNAME_Sampler: texture_2d<f32>;
19
+ #endif
20
+ `;
21
+ e.IncludesShadersStoreWGSL[r] || (e.IncludesShadersStoreWGSL[r] = n);
22
+ const o = "reflectionFunction", t = `fn computeFixedEquirectangularCoords(worldPos: vec4f,worldNormal: vec3f,direction: vec3f)->vec3f
23
+ {var lon: f32=atan2(direction.z,direction.x);var lat: f32=acos(direction.y);var sphereCoords: vec2f= vec2f(lon,lat)*RECIPROCAL_PI2*2.0;var s: f32=sphereCoords.x*0.5+0.5;var t: f32=sphereCoords.y;return vec3f(s,t,0); }
24
+ fn computeMirroredFixedEquirectangularCoords(worldPos: vec4f,worldNormal: vec3f,direction: vec3f)->vec3f
25
+ {var lon: f32=atan2(direction.z,direction.x);var lat: f32=acos(direction.y);var sphereCoords: vec2f= vec2f(lon,lat)*RECIPROCAL_PI2*2.0;var s: f32=sphereCoords.x*0.5+0.5;var t: f32=sphereCoords.y;return vec3f(1.0-s,t,0); }
26
+ fn computeEquirectangularCoords(worldPos: vec4f,worldNormal: vec3f,eyePosition: vec3f,reflectionMatrix: mat4x4f)->vec3f
27
+ {var cameraToVertex: vec3f=normalize(worldPos.xyz-eyePosition);var r: vec3f=normalize(reflect(cameraToVertex,worldNormal));r= (reflectionMatrix* vec4f(r,0)).xyz;var lon: f32=atan2(r.z,r.x);var lat: f32=acos(r.y);var sphereCoords: vec2f= vec2f(lon,lat)*RECIPROCAL_PI2*2.0;var s: f32=sphereCoords.x*0.5+0.5;var t: f32=sphereCoords.y;return vec3f(s,t,0);}
28
+ fn computeSphericalCoords(worldPos: vec4f,worldNormal: vec3f,view: mat4x4f,reflectionMatrix: mat4x4f)->vec3f
29
+ {var viewDir: vec3f=normalize((view*worldPos).xyz);var viewNormal: vec3f=normalize((view* vec4f(worldNormal,0.0)).xyz);var r: vec3f=reflect(viewDir,viewNormal);r= (reflectionMatrix* vec4f(r,0)).xyz;r.z=r.z-1.0;var m: f32=2.0*length(r);return vec3f(r.x/m+0.5,1.0-r.y/m-0.5,0);}
30
+ fn computePlanarCoords(worldPos: vec4f,worldNormal: vec3f,eyePosition: vec3f,reflectionMatrix: mat4x4f)->vec3f
31
+ {var viewDir: vec3f=worldPos.xyz-eyePosition;var coords: vec3f=normalize(reflect(viewDir,worldNormal));return (reflectionMatrix* vec4f(coords,1)).xyz;}
32
+ fn computeCubicCoords(worldPos: vec4f,worldNormal: vec3f,eyePosition: vec3f,reflectionMatrix: mat4x4f)->vec3f
33
+ {var viewDir: vec3f=normalize(worldPos.xyz-eyePosition);var coords: vec3f=reflect(viewDir,worldNormal);coords= (reflectionMatrix* vec4f(coords,0)).xyz;
34
+ #ifdef INVERTCUBICMAP
35
+ coords.y*=-1.0;
36
+ #endif
37
+ return coords;}
38
+ fn computeCubicLocalCoords(worldPos: vec4f,worldNormal: vec3f,eyePosition: vec3f,reflectionMatrix: mat4x4f,reflectionSize: vec3f,reflectionPosition: vec3f)->vec3f
39
+ {var viewDir: vec3f=normalize(worldPos.xyz-eyePosition);var coords: vec3f=reflect(viewDir,worldNormal);coords=parallaxCorrectNormal(worldPos.xyz,coords,reflectionSize,reflectionPosition);coords=(reflectionMatrix* vec4f(coords,0)).xyz;
40
+ #ifdef INVERTCUBICMAP
41
+ coords.y*=-1.0;
42
+ #endif
43
+ return coords;}
44
+ fn computeProjectionCoords(worldPos: vec4f,view: mat4x4f,reflectionMatrix: mat4x4f)->vec3f
45
+ {return (reflectionMatrix*(view*worldPos)).xyz;}
46
+ fn computeSkyBoxCoords(positionW: vec3f,reflectionMatrix: mat4x4f)->vec3f
47
+ {return (reflectionMatrix* vec4f(positionW,1.)).xyz;}
48
+ #ifdef REFLECTION
49
+ fn computeReflectionCoords(worldPos: vec4f,worldNormal: vec3f)->vec3f
50
+ {
51
+ #ifdef REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED
52
+ var direction: vec3f=normalize(fragmentInputs.vDirectionW);return computeMirroredFixedEquirectangularCoords(worldPos,worldNormal,direction);
53
+ #endif
54
+ #ifdef REFLECTIONMAP_EQUIRECTANGULAR_FIXED
55
+ var direction: vec3f=normalize(fragmentInputs.vDirectionW);return computeFixedEquirectangularCoords(worldPos,worldNormal,direction);
56
+ #endif
57
+ #ifdef REFLECTIONMAP_EQUIRECTANGULAR
58
+ return computeEquirectangularCoords(worldPos,worldNormal,scene.vEyePosition.xyz,uniforms.reflectionMatrix);
59
+ #endif
60
+ #ifdef REFLECTIONMAP_SPHERICAL
61
+ return computeSphericalCoords(worldPos,worldNormal,scene.view,uniforms.reflectionMatrix);
62
+ #endif
63
+ #ifdef REFLECTIONMAP_PLANAR
64
+ return computePlanarCoords(worldPos,worldNormal,scene.vEyePosition.xyz,uniforms.reflectionMatrix);
65
+ #endif
66
+ #ifdef REFLECTIONMAP_CUBIC
67
+ #ifdef USE_LOCAL_REFLECTIONMAP_CUBIC
68
+ return computeCubicLocalCoords(worldPos,worldNormal,scene.vEyePosition.xyz,uniforms.reflectionMatrix,uniforms.vReflectionSize,uniforms.vReflectionPosition);
69
+ #else
70
+ return computeCubicCoords(worldPos,worldNormal,scene.vEyePosition.xyz,uniforms.reflectionMatrix);
71
+ #endif
72
+ #endif
73
+ #ifdef REFLECTIONMAP_PROJECTION
74
+ return computeProjectionCoords(worldPos,scene.view,uniforms.reflectionMatrix);
75
+ #endif
76
+ #ifndef REFLECTIONMAP_CUBIC
77
+ #ifdef REFLECTIONMAP_SKYBOX
78
+ return computeSkyBoxCoords(fragmentInputs.vPositionUVW,uniforms.reflectionMatrix);
79
+ #endif
80
+ #endif
81
+ #ifdef REFLECTIONMAP_EXPLICIT
82
+ return vec3f(0,0,0);
83
+ #endif
84
+ }
85
+ #endif
86
+ `;
87
+ e.IncludesShadersStoreWGSL[o] || (e.IncludesShadersStoreWGSL[o] = t);
88
+ const i = "clipPlaneFragmentDeclaration", c = `#ifdef CLIPPLANE
89
+ varying fClipDistance: f32;
90
+ #endif
91
+ #ifdef CLIPPLANE2
92
+ varying fClipDistance2: f32;
93
+ #endif
94
+ #ifdef CLIPPLANE3
95
+ varying fClipDistance3: f32;
96
+ #endif
97
+ #ifdef CLIPPLANE4
98
+ varying fClipDistance4: f32;
99
+ #endif
100
+ #ifdef CLIPPLANE5
101
+ varying fClipDistance5: f32;
102
+ #endif
103
+ #ifdef CLIPPLANE6
104
+ varying fClipDistance6: f32;
105
+ #endif
106
+ `;
107
+ e.IncludesShadersStoreWGSL[i] || (e.IncludesShadersStoreWGSL[i] = c);
108
+ const f = "clipPlaneFragment", d = `#if defined(CLIPPLANE) || defined(CLIPPLANE2) || defined(CLIPPLANE3) || defined(CLIPPLANE4) || defined(CLIPPLANE5) || defined(CLIPPLANE6)
109
+ if (false) {}
110
+ #endif
111
+ #ifdef CLIPPLANE
112
+ else if (fragmentInputs.fClipDistance>0.0)
113
+ {discard;}
114
+ #endif
115
+ #ifdef CLIPPLANE2
116
+ else if (fragmentInputs.fClipDistance2>0.0)
117
+ {discard;}
118
+ #endif
119
+ #ifdef CLIPPLANE3
120
+ else if (fragmentInputs.fClipDistance3>0.0)
121
+ {discard;}
122
+ #endif
123
+ #ifdef CLIPPLANE4
124
+ else if (fragmentInputs.fClipDistance4>0.0)
125
+ {discard;}
126
+ #endif
127
+ #ifdef CLIPPLANE5
128
+ else if (fragmentInputs.fClipDistance5>0.0)
129
+ {discard;}
130
+ #endif
131
+ #ifdef CLIPPLANE6
132
+ else if (fragmentInputs.fClipDistance6>0.0)
133
+ {discard;}
134
+ #endif
135
+ `;
136
+ e.IncludesShadersStoreWGSL[f] || (e.IncludesShadersStoreWGSL[f] = d);