@rings-webgpu/core 1.0.2 → 1.0.3

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 (1154) hide show
  1. package/dist/rings.es.js +181 -181
  2. package/dist/rings.es.js.map +3 -3
  3. package/dist/rings.es.max.js +474 -287
  4. package/dist/rings.umd.js +180 -180
  5. package/dist/rings.umd.js.map +3 -3
  6. package/dist/rings.umd.max.js +485 -286
  7. package/package.json +1 -1
  8. package/dist/package.json +0 -54
  9. package/dist/packages/wasm-matrix/WasmMatrix.d.ts +0 -26
  10. package/dist/packages/wasm-matrix/WasmMatrix.js +0 -88
  11. package/dist/src/Engine3D.d.ts +0 -107
  12. package/dist/src/Engine3D.js +0 -471
  13. package/dist/src/assets/Fonts.d.ts +0 -20
  14. package/dist/src/assets/Fonts.js +0 -24
  15. package/dist/src/assets/Res.d.ts +0 -72
  16. package/dist/src/assets/Res.js +0 -299
  17. package/dist/src/assets/shader/ShaderLib.d.ts +0 -5
  18. package/dist/src/assets/shader/ShaderLib.js +0 -128
  19. package/dist/src/assets/shader/anim/SkeletonAnimation_shader.d.ts +0 -3
  20. package/dist/src/assets/shader/anim/SkeletonAnimation_shader.js +0 -51
  21. package/dist/src/assets/shader/cluster/ClusterBoundsSource_cs.d.ts +0 -1
  22. package/dist/src/assets/shader/cluster/ClusterBoundsSource_cs.js +0 -88
  23. package/dist/src/assets/shader/cluster/ClusterLighting_cs.d.ts +0 -1
  24. package/dist/src/assets/shader/cluster/ClusterLighting_cs.js +0 -127
  25. package/dist/src/assets/shader/compute/BRDFLUT.d.ts +0 -1
  26. package/dist/src/assets/shader/compute/BRDFLUT.js +0 -90
  27. package/dist/src/assets/shader/compute/BloomEffect_cs.d.ts +0 -4
  28. package/dist/src/assets/shader/compute/BloomEffect_cs.js +0 -173
  29. package/dist/src/assets/shader/compute/BlurEffectCreator_cs.d.ts +0 -2
  30. package/dist/src/assets/shader/compute/BlurEffectCreator_cs.js +0 -84
  31. package/dist/src/assets/shader/compute/DDGIIrradiance_Cs.d.ts +0 -4
  32. package/dist/src/assets/shader/compute/DDGIIrradiance_Cs.js +0 -307
  33. package/dist/src/assets/shader/compute/DDGILighting_CSShader.d.ts +0 -4
  34. package/dist/src/assets/shader/compute/DDGILighting_CSShader.js +0 -285
  35. package/dist/src/assets/shader/compute/DepthOfView_cs.d.ts +0 -4
  36. package/dist/src/assets/shader/compute/DepthOfView_cs.js +0 -90
  37. package/dist/src/assets/shader/compute/ErpImage2CubeMapCreateCube_cs.d.ts +0 -1
  38. package/dist/src/assets/shader/compute/ErpImage2CubeMapCreateCube_cs.js +0 -64
  39. package/dist/src/assets/shader/compute/ErpImage2CubeMapRgbe2rgba_cs.d.ts +0 -1
  40. package/dist/src/assets/shader/compute/ErpImage2CubeMapRgbe2rgba_cs.js +0 -34
  41. package/dist/src/assets/shader/compute/GTAO_cs.d.ts +0 -4
  42. package/dist/src/assets/shader/compute/GTAO_cs.js +0 -133
  43. package/dist/src/assets/shader/compute/GodRay_cs.d.ts +0 -1
  44. package/dist/src/assets/shader/compute/GodRay_cs.js +0 -214
  45. package/dist/src/assets/shader/compute/IBLEnvMapCreator_cs.d.ts +0 -1
  46. package/dist/src/assets/shader/compute/IBLEnvMapCreator_cs.js +0 -164
  47. package/dist/src/assets/shader/compute/MergeRGBA_cs.d.ts +0 -1
  48. package/dist/src/assets/shader/compute/MergeRGBA_cs.js +0 -27
  49. package/dist/src/assets/shader/compute/MultiBouncePass_cs.d.ts +0 -4
  50. package/dist/src/assets/shader/compute/MultiBouncePass_cs.js +0 -169
  51. package/dist/src/assets/shader/compute/OutLineBlendColor_cs.d.ts +0 -1
  52. package/dist/src/assets/shader/compute/OutLineBlendColor_cs.js +0 -49
  53. package/dist/src/assets/shader/compute/OutlineCalcOutline_cs.d.ts +0 -1
  54. package/dist/src/assets/shader/compute/OutlineCalcOutline_cs.js +0 -95
  55. package/dist/src/assets/shader/compute/Outline_cs.d.ts +0 -1
  56. package/dist/src/assets/shader/compute/Outline_cs.js +0 -116
  57. package/dist/src/assets/shader/compute/Picker_cs.d.ts +0 -1
  58. package/dist/src/assets/shader/compute/Picker_cs.js +0 -40
  59. package/dist/src/assets/shader/compute/PreFilteredEnvironment_cs copy.d.ts +0 -1
  60. package/dist/src/assets/shader/compute/PreFilteredEnvironment_cs copy.js +0 -162
  61. package/dist/src/assets/shader/compute/PreFilteredEnvironment_cs.d.ts +0 -4
  62. package/dist/src/assets/shader/compute/PreFilteredEnvironment_cs.js +0 -201
  63. package/dist/src/assets/shader/compute/PreIntegratedLut.d.ts +0 -1
  64. package/dist/src/assets/shader/compute/PreIntegratedLut.js +0 -46
  65. package/dist/src/assets/shader/compute/SSAO_cs.d.ts +0 -1
  66. package/dist/src/assets/shader/compute/SSAO_cs.js +0 -82
  67. package/dist/src/assets/shader/compute/SSGI2_cs.d.ts +0 -7
  68. package/dist/src/assets/shader/compute/SSGI2_cs.js +0 -169
  69. package/dist/src/assets/shader/compute/SSR_BlendColor_cs.d.ts +0 -4
  70. package/dist/src/assets/shader/compute/SSR_BlendColor_cs.js +0 -53
  71. package/dist/src/assets/shader/compute/SSR_IS_cs.d.ts +0 -1
  72. package/dist/src/assets/shader/compute/SSR_IS_cs.js +0 -76
  73. package/dist/src/assets/shader/compute/SSR_RayTrace_cs.d.ts +0 -1
  74. package/dist/src/assets/shader/compute/SSR_RayTrace_cs.js +0 -289
  75. package/dist/src/assets/shader/compute/TAACopyTex_cs.d.ts +0 -4
  76. package/dist/src/assets/shader/compute/TAACopyTex_cs.js +0 -22
  77. package/dist/src/assets/shader/compute/TAASharpTex_cs.d.ts +0 -1
  78. package/dist/src/assets/shader/compute/TAASharpTex_cs.js +0 -42
  79. package/dist/src/assets/shader/compute/TAA_cs.d.ts +0 -4
  80. package/dist/src/assets/shader/compute/TAA_cs.js +0 -152
  81. package/dist/src/assets/shader/compute/utils/Combine_cs.d.ts +0 -4
  82. package/dist/src/assets/shader/compute/utils/Combine_cs.js +0 -47
  83. package/dist/src/assets/shader/compute/utils/Denoising_cs.d.ts +0 -4
  84. package/dist/src/assets/shader/compute/utils/Denoising_cs.js +0 -28
  85. package/dist/src/assets/shader/compute/utils/TestComputeLoadBuffer.d.ts +0 -1
  86. package/dist/src/assets/shader/compute/utils/TestComputeLoadBuffer.js +0 -128
  87. package/dist/src/assets/shader/compute/utils/TextureCompress.d.ts +0 -2
  88. package/dist/src/assets/shader/compute/utils/TextureCompress.js +0 -131
  89. package/dist/src/assets/shader/compute/utils/tw.d.ts +0 -4
  90. package/dist/src/assets/shader/compute/utils/tw.js +0 -43
  91. package/dist/src/assets/shader/core/base/Common_frag.d.ts +0 -1
  92. package/dist/src/assets/shader/core/base/Common_frag.js +0 -62
  93. package/dist/src/assets/shader/core/base/Common_vert.d.ts +0 -1
  94. package/dist/src/assets/shader/core/base/Common_vert.js +0 -12
  95. package/dist/src/assets/shader/core/common/BrdfLut_frag.d.ts +0 -1
  96. package/dist/src/assets/shader/core/common/BrdfLut_frag.js +0 -6
  97. package/dist/src/assets/shader/core/common/EnvMap_frag.d.ts +0 -1
  98. package/dist/src/assets/shader/core/common/EnvMap_frag.js +0 -10
  99. package/dist/src/assets/shader/core/common/GBufferStand.d.ts +0 -1
  100. package/dist/src/assets/shader/core/common/GBufferStand.js +0 -171
  101. package/dist/src/assets/shader/core/common/GlobalUniform.d.ts +0 -4
  102. package/dist/src/assets/shader/core/common/GlobalUniform.js +0 -117
  103. package/dist/src/assets/shader/core/common/InstanceUniform.d.ts +0 -1
  104. package/dist/src/assets/shader/core/common/InstanceUniform.js +0 -9
  105. package/dist/src/assets/shader/core/common/SHCommon_frag.d.ts +0 -1
  106. package/dist/src/assets/shader/core/common/SHCommon_frag.js +0 -82
  107. package/dist/src/assets/shader/core/common/WorldMatrixUniform.d.ts +0 -1
  108. package/dist/src/assets/shader/core/common/WorldMatrixUniform.js +0 -8
  109. package/dist/src/assets/shader/core/inline/Inline_vert.d.ts +0 -1
  110. package/dist/src/assets/shader/core/inline/Inline_vert.js +0 -59
  111. package/dist/src/assets/shader/core/pass/CastShadow_pass.d.ts +0 -4
  112. package/dist/src/assets/shader/core/pass/CastShadow_pass.js +0 -284
  113. package/dist/src/assets/shader/core/pass/FrustumCulling_cs.d.ts +0 -4
  114. package/dist/src/assets/shader/core/pass/FrustumCulling_cs.js +0 -91
  115. package/dist/src/assets/shader/core/pass/GBuffer_pass.d.ts +0 -1
  116. package/dist/src/assets/shader/core/pass/GBuffer_pass.js +0 -72
  117. package/dist/src/assets/shader/core/pass/SkyGBuffer_pass.d.ts +0 -1
  118. package/dist/src/assets/shader/core/pass/SkyGBuffer_pass.js +0 -34
  119. package/dist/src/assets/shader/core/pass/ZPassShader_cs.d.ts +0 -1
  120. package/dist/src/assets/shader/core/pass/ZPassShader_cs.js +0 -14
  121. package/dist/src/assets/shader/core/pass/ZPassShader_fs.d.ts +0 -1
  122. package/dist/src/assets/shader/core/pass/ZPassShader_fs.js +0 -15
  123. package/dist/src/assets/shader/core/pass/ZPassShader_vs.d.ts +0 -1
  124. package/dist/src/assets/shader/core/pass/ZPassShader_vs.js +0 -83
  125. package/dist/src/assets/shader/core/struct/ClusterLight.d.ts +0 -4
  126. package/dist/src/assets/shader/core/struct/ClusterLight.js +0 -98
  127. package/dist/src/assets/shader/core/struct/ColorPassFragmentOutput.d.ts +0 -1
  128. package/dist/src/assets/shader/core/struct/ColorPassFragmentOutput.js +0 -16
  129. package/dist/src/assets/shader/core/struct/FragmentOutput.d.ts +0 -1
  130. package/dist/src/assets/shader/core/struct/FragmentOutput.js +0 -18
  131. package/dist/src/assets/shader/core/struct/FragmentVarying.d.ts +0 -1
  132. package/dist/src/assets/shader/core/struct/FragmentVarying.js +0 -23
  133. package/dist/src/assets/shader/core/struct/ShadingInput.d.ts +0 -1
  134. package/dist/src/assets/shader/core/struct/ShadingInput.js +0 -21
  135. package/dist/src/assets/shader/core/struct/VertexAttributeIndexShader.d.ts +0 -1
  136. package/dist/src/assets/shader/core/struct/VertexAttributeIndexShader.js +0 -100
  137. package/dist/src/assets/shader/core/struct/VertexAttributes.d.ts +0 -1
  138. package/dist/src/assets/shader/core/struct/VertexAttributes.js +0 -160
  139. package/dist/src/assets/shader/env/ReflectionCG.d.ts +0 -1
  140. package/dist/src/assets/shader/env/ReflectionCG.js +0 -86
  141. package/dist/src/assets/shader/glsl/Quad_glsl.d.ts +0 -2
  142. package/dist/src/assets/shader/glsl/Quad_glsl.js +0 -55
  143. package/dist/src/assets/shader/lighting/BRDF_frag.d.ts +0 -4
  144. package/dist/src/assets/shader/lighting/BRDF_frag.js +0 -461
  145. package/dist/src/assets/shader/lighting/BsDF_frag.d.ts +0 -4
  146. package/dist/src/assets/shader/lighting/BsDF_frag.js +0 -139
  147. package/dist/src/assets/shader/lighting/BxDF_frag.d.ts +0 -4
  148. package/dist/src/assets/shader/lighting/BxDF_frag.js +0 -210
  149. package/dist/src/assets/shader/lighting/Hair_frag.d.ts +0 -1
  150. package/dist/src/assets/shader/lighting/Hair_frag.js +0 -277
  151. package/dist/src/assets/shader/lighting/IESProfiles_frag.d.ts +0 -1
  152. package/dist/src/assets/shader/lighting/IESProfiles_frag.js +0 -33
  153. package/dist/src/assets/shader/lighting/IrradianceVolumeData_frag.d.ts +0 -1
  154. package/dist/src/assets/shader/lighting/IrradianceVolumeData_frag.js +0 -40
  155. package/dist/src/assets/shader/lighting/Irradiance_frag.d.ts +0 -4
  156. package/dist/src/assets/shader/lighting/Irradiance_frag.js +0 -270
  157. package/dist/src/assets/shader/lighting/LightingFunction_frag.d.ts +0 -1
  158. package/dist/src/assets/shader/lighting/LightingFunction_frag.js +0 -203
  159. package/dist/src/assets/shader/lighting/UnLit_frag.d.ts +0 -1
  160. package/dist/src/assets/shader/lighting/UnLit_frag.js +0 -30
  161. package/dist/src/assets/shader/materials/ColorLitShader.d.ts +0 -1
  162. package/dist/src/assets/shader/materials/ColorLitShader.js +0 -22
  163. package/dist/src/assets/shader/materials/GIProbeShader.d.ts +0 -1
  164. package/dist/src/assets/shader/materials/GIProbeShader.js +0 -34
  165. package/dist/src/assets/shader/materials/GlassShader.d.ts +0 -1
  166. package/dist/src/assets/shader/materials/GlassShader.js +0 -26
  167. package/dist/src/assets/shader/materials/Hair_shader.d.ts +0 -2
  168. package/dist/src/assets/shader/materials/Hair_shader.js +0 -210
  169. package/dist/src/assets/shader/materials/Lambert_shader.d.ts +0 -1
  170. package/dist/src/assets/shader/materials/Lambert_shader.js +0 -56
  171. package/dist/src/assets/shader/materials/Lit_shader.d.ts +0 -1
  172. package/dist/src/assets/shader/materials/Lit_shader.js +0 -21
  173. package/dist/src/assets/shader/materials/OutlinePass.d.ts +0 -1
  174. package/dist/src/assets/shader/materials/OutlinePass.js +0 -73
  175. package/dist/src/assets/shader/materials/PBRLItShader.d.ts +0 -4
  176. package/dist/src/assets/shader/materials/PBRLItShader.js +0 -155
  177. package/dist/src/assets/shader/materials/PBRLitSSSShader.d.ts +0 -4
  178. package/dist/src/assets/shader/materials/PBRLitSSSShader.js +0 -192
  179. package/dist/src/assets/shader/materials/ReflectionShader_shader.d.ts +0 -1
  180. package/dist/src/assets/shader/materials/ReflectionShader_shader.js +0 -63
  181. package/dist/src/assets/shader/materials/UnLit.d.ts +0 -4
  182. package/dist/src/assets/shader/materials/UnLit.js +0 -41
  183. package/dist/src/assets/shader/materials/UnLitTextureArray.d.ts +0 -1
  184. package/dist/src/assets/shader/materials/UnLitTextureArray.js +0 -100
  185. package/dist/src/assets/shader/materials/program/BxdfDebug_frag.d.ts +0 -4
  186. package/dist/src/assets/shader/materials/program/BxdfDebug_frag.js +0 -180
  187. package/dist/src/assets/shader/materials/program/Clearcoat_frag.d.ts +0 -1
  188. package/dist/src/assets/shader/materials/program/Clearcoat_frag.js +0 -38
  189. package/dist/src/assets/shader/materials/program/ClusterDebug_frag.d.ts +0 -1
  190. package/dist/src/assets/shader/materials/program/ClusterDebug_frag.js +0 -40
  191. package/dist/src/assets/shader/materials/program/NormalMap_frag.d.ts +0 -4
  192. package/dist/src/assets/shader/materials/program/NormalMap_frag.js +0 -65
  193. package/dist/src/assets/shader/materials/program/ShadowMapping_frag.d.ts +0 -1
  194. package/dist/src/assets/shader/materials/program/ShadowMapping_frag.js +0 -210
  195. package/dist/src/assets/shader/materials/uniforms/PhysicMaterialUniform_frag.d.ts +0 -1
  196. package/dist/src/assets/shader/materials/uniforms/PhysicMaterialUniform_frag.js +0 -37
  197. package/dist/src/assets/shader/materials/uniforms/UnLitMaterialUniform_frag.d.ts +0 -1
  198. package/dist/src/assets/shader/materials/uniforms/UnLitMaterialUniform_frag.js +0 -14
  199. package/dist/src/assets/shader/materials/uniforms/VideoUniform_frag.d.ts +0 -1
  200. package/dist/src/assets/shader/materials/uniforms/VideoUniform_frag.js +0 -12
  201. package/dist/src/assets/shader/math/FastMathShader.d.ts +0 -1
  202. package/dist/src/assets/shader/math/FastMathShader.js +0 -91
  203. package/dist/src/assets/shader/math/MathShader.d.ts +0 -4
  204. package/dist/src/assets/shader/math/MathShader.js +0 -558
  205. package/dist/src/assets/shader/math/MatrixShader.d.ts +0 -1
  206. package/dist/src/assets/shader/math/MatrixShader.js +0 -104
  207. package/dist/src/assets/shader/post/FXAAShader.d.ts +0 -1
  208. package/dist/src/assets/shader/post/FXAAShader.js +0 -79
  209. package/dist/src/assets/shader/post/GlobalFog_shader.d.ts +0 -4
  210. package/dist/src/assets/shader/post/GlobalFog_shader.js +0 -191
  211. package/dist/src/assets/shader/quad/Quad_shader.d.ts +0 -24
  212. package/dist/src/assets/shader/quad/Quad_shader.js +0 -210
  213. package/dist/src/assets/shader/sky/AtmosphericScatteringSky_shader.d.ts +0 -6
  214. package/dist/src/assets/shader/sky/AtmosphericScatteringSky_shader.js +0 -312
  215. package/dist/src/assets/shader/sky/CubeSky_Shader.d.ts +0 -7
  216. package/dist/src/assets/shader/sky/CubeSky_Shader.js +0 -122
  217. package/dist/src/assets/shader/utils/BitUtil.d.ts +0 -1
  218. package/dist/src/assets/shader/utils/BitUtil.js +0 -108
  219. package/dist/src/assets/shader/utils/ColorUtil.d.ts +0 -1
  220. package/dist/src/assets/shader/utils/ColorUtil.js +0 -144
  221. package/dist/src/assets/shader/utils/GenerayRandomDir.d.ts +0 -1
  222. package/dist/src/assets/shader/utils/GenerayRandomDir.js +0 -22
  223. package/dist/src/components/AtmosphericComponent.d.ts +0 -28
  224. package/dist/src/components/AtmosphericComponent.js +0 -141
  225. package/dist/src/components/BillboardComponent.d.ts +0 -13
  226. package/dist/src/components/BillboardComponent.js +0 -30
  227. package/dist/src/components/ColliderComponent.d.ts +0 -15
  228. package/dist/src/components/ColliderComponent.js +0 -39
  229. package/dist/src/components/ComponentBase.d.ts +0 -43
  230. package/dist/src/components/ComponentBase.js +0 -141
  231. package/dist/src/components/IComponent.d.ts +0 -27
  232. package/dist/src/components/IComponent.js +0 -1
  233. package/dist/src/components/SkeletonAnimationComponent.d.ts +0 -52
  234. package/dist/src/components/SkeletonAnimationComponent.js +0 -225
  235. package/dist/src/components/Transform.d.ts +0 -119
  236. package/dist/src/components/Transform.js +0 -523
  237. package/dist/src/components/anim/AnimatorComponent.d.ts +0 -67
  238. package/dist/src/components/anim/AnimatorComponent.js +0 -411
  239. package/dist/src/components/anim/OAnimationEvent.d.ts +0 -6
  240. package/dist/src/components/anim/OAnimationEvent.js +0 -8
  241. package/dist/src/components/anim/curveAnim/AnimationMonitor.d.ts +0 -29
  242. package/dist/src/components/anim/curveAnim/AnimationMonitor.js +0 -159
  243. package/dist/src/components/anim/curveAnim/AttributeAnimCurve.d.ts +0 -8
  244. package/dist/src/components/anim/curveAnim/AttributeAnimCurve.js +0 -15
  245. package/dist/src/components/anim/curveAnim/PropertyAnimClip.d.ts +0 -29
  246. package/dist/src/components/anim/curveAnim/PropertyAnimClip.js +0 -54
  247. package/dist/src/components/anim/curveAnim/PropertyAnimation.d.ts +0 -31
  248. package/dist/src/components/anim/curveAnim/PropertyAnimation.js +0 -107
  249. package/dist/src/components/anim/curveAnim/PropertyAnimationEvent.d.ts +0 -14
  250. package/dist/src/components/anim/curveAnim/PropertyAnimationEvent.js +0 -11
  251. package/dist/src/components/anim/curveAnim/PropertyHelp.d.ts +0 -13
  252. package/dist/src/components/anim/curveAnim/PropertyHelp.js +0 -96
  253. package/dist/src/components/anim/morphAnim/MorphTargetBlender.d.ts +0 -18
  254. package/dist/src/components/anim/morphAnim/MorphTargetBlender.js +0 -81
  255. package/dist/src/components/anim/morphAnim/MorphTargetData.d.ts +0 -52
  256. package/dist/src/components/anim/morphAnim/MorphTargetData.js +0 -183
  257. package/dist/src/components/anim/morphAnim/MorphTargetFrame.d.ts +0 -68
  258. package/dist/src/components/anim/morphAnim/MorphTargetFrame.js +0 -4
  259. package/dist/src/components/anim/morphAnim/MorphTargetKey.d.ts +0 -58
  260. package/dist/src/components/anim/morphAnim/MorphTargetKey.js +0 -55
  261. package/dist/src/components/anim/morphAnim/MorphTarget_shader.d.ts +0 -8
  262. package/dist/src/components/anim/morphAnim/MorphTarget_shader.js +0 -101
  263. package/dist/src/components/anim/skeletonAnim/Joint.d.ts +0 -12
  264. package/dist/src/components/anim/skeletonAnim/Joint.js +0 -14
  265. package/dist/src/components/anim/skeletonAnim/JointPose.d.ts +0 -6
  266. package/dist/src/components/anim/skeletonAnim/JointPose.js +0 -7
  267. package/dist/src/components/anim/skeletonAnim/Skeleton.d.ts +0 -10
  268. package/dist/src/components/anim/skeletonAnim/Skeleton.js +0 -26
  269. package/dist/src/components/anim/skeletonAnim/SkeletonAnimationClip.d.ts +0 -22
  270. package/dist/src/components/anim/skeletonAnim/SkeletonAnimationClip.js +0 -70
  271. package/dist/src/components/anim/skeletonAnim/SkeletonAnimationClipState.d.ts +0 -21
  272. package/dist/src/components/anim/skeletonAnim/SkeletonAnimationClipState.js +0 -80
  273. package/dist/src/components/anim/skeletonAnim/SkeletonAnimationCompute.d.ts +0 -6
  274. package/dist/src/components/anim/skeletonAnim/SkeletonAnimationCompute.js +0 -27
  275. package/dist/src/components/anim/skeletonAnim/SkeletonPose.d.ts +0 -16
  276. package/dist/src/components/anim/skeletonAnim/SkeletonPose.js +0 -79
  277. package/dist/src/components/anim/skeletonAnim/buffer/SkeletonBlendComputeArgs.d.ts +0 -23
  278. package/dist/src/components/anim/skeletonAnim/buffer/SkeletonBlendComputeArgs.js +0 -61
  279. package/dist/src/components/anim/skeletonAnim/buffer/SkeletonTransformComputeArgs.d.ts +0 -23
  280. package/dist/src/components/anim/skeletonAnim/buffer/SkeletonTransformComputeArgs.js +0 -59
  281. package/dist/src/components/controller/CameraControllerBase.d.ts +0 -17
  282. package/dist/src/components/controller/CameraControllerBase.js +0 -33
  283. package/dist/src/components/controller/FirstPersonCameraController.d.ts +0 -15
  284. package/dist/src/components/controller/FirstPersonCameraController.js +0 -52
  285. package/dist/src/components/controller/FlyCameraController.d.ts +0 -36
  286. package/dist/src/components/controller/FlyCameraController.js +0 -180
  287. package/dist/src/components/controller/HoverCameraController.d.ts +0 -52
  288. package/dist/src/components/controller/HoverCameraController.js +0 -183
  289. package/dist/src/components/controller/OrbitController.d.ts +0 -170
  290. package/dist/src/components/controller/OrbitController.js +0 -339
  291. package/dist/src/components/controller/ThirdPersonCameraController.d.ts +0 -16
  292. package/dist/src/components/controller/ThirdPersonCameraController.js +0 -51
  293. package/dist/src/components/gui/GUIConfig.d.ts +0 -23
  294. package/dist/src/components/gui/GUIConfig.js +0 -26
  295. package/dist/src/components/gui/GUIExtension.d.ts +0 -5
  296. package/dist/src/components/gui/GUIExtension.js +0 -61
  297. package/dist/src/components/gui/GUIPick.d.ts +0 -36
  298. package/dist/src/components/gui/GUIPick.js +0 -178
  299. package/dist/src/components/gui/GUIPickHelper.d.ts +0 -25
  300. package/dist/src/components/gui/GUIPickHelper.js +0 -119
  301. package/dist/src/components/gui/core/GUIAtlasTexture.d.ts +0 -16
  302. package/dist/src/components/gui/core/GUIAtlasTexture.js +0 -22
  303. package/dist/src/components/gui/core/GUICanvas.d.ts +0 -21
  304. package/dist/src/components/gui/core/GUICanvas.js +0 -35
  305. package/dist/src/components/gui/core/GUIDefine.d.ts +0 -7
  306. package/dist/src/components/gui/core/GUIDefine.js +0 -8
  307. package/dist/src/components/gui/core/GUIGeometry.d.ts +0 -36
  308. package/dist/src/components/gui/core/GUIGeometry.js +0 -215
  309. package/dist/src/components/gui/core/GUIGeometryRebuild.d.ts +0 -21
  310. package/dist/src/components/gui/core/GUIGeometryRebuild.js +0 -105
  311. package/dist/src/components/gui/core/GUIMaterial.d.ts +0 -29
  312. package/dist/src/components/gui/core/GUIMaterial.js +0 -111
  313. package/dist/src/components/gui/core/GUIQuad.d.ts +0 -52
  314. package/dist/src/components/gui/core/GUIQuad.js +0 -154
  315. package/dist/src/components/gui/core/GUIRenderer.d.ts +0 -15
  316. package/dist/src/components/gui/core/GUIRenderer.js +0 -42
  317. package/dist/src/components/gui/core/GUIShader.d.ts +0 -8
  318. package/dist/src/components/gui/core/GUIShader.js +0 -267
  319. package/dist/src/components/gui/core/GUISprite.d.ts +0 -19
  320. package/dist/src/components/gui/core/GUISprite.js +0 -19
  321. package/dist/src/components/gui/core/GUITexture.d.ts +0 -12
  322. package/dist/src/components/gui/core/GUITexture.js +0 -25
  323. package/dist/src/components/gui/uiComponents/IUIInteractive.d.ts +0 -25
  324. package/dist/src/components/gui/uiComponents/IUIInteractive.js +0 -7
  325. package/dist/src/components/gui/uiComponents/TextFieldLayout.d.ts +0 -34
  326. package/dist/src/components/gui/uiComponents/TextFieldLayout.js +0 -265
  327. package/dist/src/components/gui/uiComponents/UIButton.d.ts +0 -45
  328. package/dist/src/components/gui/uiComponents/UIButton.js +0 -140
  329. package/dist/src/components/gui/uiComponents/UIComponentBase.d.ts +0 -15
  330. package/dist/src/components/gui/uiComponents/UIComponentBase.js +0 -33
  331. package/dist/src/components/gui/uiComponents/UIImage.d.ts +0 -21
  332. package/dist/src/components/gui/uiComponents/UIImage.js +0 -72
  333. package/dist/src/components/gui/uiComponents/UIImageGroup.d.ts +0 -31
  334. package/dist/src/components/gui/uiComponents/UIImageGroup.js +0 -87
  335. package/dist/src/components/gui/uiComponents/UIInteractive.d.ts +0 -25
  336. package/dist/src/components/gui/uiComponents/UIInteractive.js +0 -50
  337. package/dist/src/components/gui/uiComponents/UIPanel.d.ts +0 -38
  338. package/dist/src/components/gui/uiComponents/UIPanel.js +0 -173
  339. package/dist/src/components/gui/uiComponents/UIRenderAble.d.ts +0 -27
  340. package/dist/src/components/gui/uiComponents/UIRenderAble.js +0 -106
  341. package/dist/src/components/gui/uiComponents/UIShadow.d.ts +0 -31
  342. package/dist/src/components/gui/uiComponents/UIShadow.js +0 -117
  343. package/dist/src/components/gui/uiComponents/UITextField.d.ts +0 -36
  344. package/dist/src/components/gui/uiComponents/UITextField.js +0 -122
  345. package/dist/src/components/gui/uiComponents/UITransform.d.ts +0 -60
  346. package/dist/src/components/gui/uiComponents/UITransform.js +0 -243
  347. package/dist/src/components/gui/uiComponents/ViewPanel.d.ts +0 -9
  348. package/dist/src/components/gui/uiComponents/ViewPanel.js +0 -13
  349. package/dist/src/components/gui/uiComponents/WorldPanel.d.ts +0 -13
  350. package/dist/src/components/gui/uiComponents/WorldPanel.js +0 -34
  351. package/dist/src/components/lights/DirectLight.d.ts +0 -13
  352. package/dist/src/components/lights/DirectLight.js +0 -52
  353. package/dist/src/components/lights/GILighting.d.ts +0 -6
  354. package/dist/src/components/lights/GILighting.js +0 -15
  355. package/dist/src/components/lights/IESProfiles.d.ts +0 -14
  356. package/dist/src/components/lights/IESProfiles.js +0 -33
  357. package/dist/src/components/lights/ILight.d.ts +0 -12
  358. package/dist/src/components/lights/ILight.js +0 -1
  359. package/dist/src/components/lights/Light.d.ts +0 -32
  360. package/dist/src/components/lights/Light.js +0 -90
  361. package/dist/src/components/lights/LightBase.d.ts +0 -127
  362. package/dist/src/components/lights/LightBase.js +0 -238
  363. package/dist/src/components/lights/LightData.d.ts +0 -29
  364. package/dist/src/components/lights/LightData.js +0 -33
  365. package/dist/src/components/lights/PointLight.d.ts +0 -19
  366. package/dist/src/components/lights/PointLight.js +0 -67
  367. package/dist/src/components/lights/SpotLight.d.ts +0 -21
  368. package/dist/src/components/lights/SpotLight.js +0 -79
  369. package/dist/src/components/post/PostProcessingComponent.d.ts +0 -16
  370. package/dist/src/components/post/PostProcessingComponent.js +0 -52
  371. package/dist/src/components/renderer/GlobalIlluminationComponent.d.ts +0 -22
  372. package/dist/src/components/renderer/GlobalIlluminationComponent.js +0 -118
  373. package/dist/src/components/renderer/InstanceDrawComponent.d.ts +0 -19
  374. package/dist/src/components/renderer/InstanceDrawComponent.js +0 -120
  375. package/dist/src/components/renderer/MeshFilter.d.ts +0 -9
  376. package/dist/src/components/renderer/MeshFilter.js +0 -37
  377. package/dist/src/components/renderer/MeshRenderer.d.ts +0 -51
  378. package/dist/src/components/renderer/MeshRenderer.js +0 -156
  379. package/dist/src/components/renderer/Reflection.d.ts +0 -15
  380. package/dist/src/components/renderer/Reflection.js +0 -33
  381. package/dist/src/components/renderer/RenderNode.d.ts +0 -85
  382. package/dist/src/components/renderer/RenderNode.js +0 -518
  383. package/dist/src/components/renderer/SkinnedMeshRenderer.d.ts +0 -26
  384. package/dist/src/components/renderer/SkinnedMeshRenderer.js +0 -111
  385. package/dist/src/components/renderer/SkinnedMeshRenderer2.d.ts +0 -37
  386. package/dist/src/components/renderer/SkinnedMeshRenderer2.js +0 -138
  387. package/dist/src/components/renderer/SkyRenderer.d.ts +0 -36
  388. package/dist/src/components/renderer/SkyRenderer.js +0 -94
  389. package/dist/src/components/renderer/SphereReflection.d.ts +0 -12
  390. package/dist/src/components/renderer/SphereReflection.js +0 -45
  391. package/dist/src/components/shape/BoxColliderShape.d.ts +0 -9
  392. package/dist/src/components/shape/BoxColliderShape.js +0 -28
  393. package/dist/src/components/shape/CapsuleColliderShape.d.ts +0 -6
  394. package/dist/src/components/shape/CapsuleColliderShape.js +0 -9
  395. package/dist/src/components/shape/ColliderShape.d.ts +0 -35
  396. package/dist/src/components/shape/ColliderShape.js +0 -49
  397. package/dist/src/components/shape/MeshColliderShape.d.ts +0 -8
  398. package/dist/src/components/shape/MeshColliderShape.js +0 -55
  399. package/dist/src/components/shape/SphereColliderShape.d.ts +0 -26
  400. package/dist/src/components/shape/SphereColliderShape.js +0 -47
  401. package/dist/src/core/Camera3D.d.ts +0 -308
  402. package/dist/src/core/Camera3D.js +0 -534
  403. package/dist/src/core/CameraType.d.ts +0 -5
  404. package/dist/src/core/CameraType.js +0 -6
  405. package/dist/src/core/CubeCamera.d.ts +0 -18
  406. package/dist/src/core/CubeCamera.js +0 -67
  407. package/dist/src/core/PointShadowCubeCamera.d.ts +0 -13
  408. package/dist/src/core/PointShadowCubeCamera.js +0 -59
  409. package/dist/src/core/Scene3D.d.ts +0 -66
  410. package/dist/src/core/Scene3D.js +0 -88
  411. package/dist/src/core/View3D.d.ts +0 -85
  412. package/dist/src/core/View3D.js +0 -113
  413. package/dist/src/core/ViewQuad.d.ts +0 -19
  414. package/dist/src/core/ViewQuad.js +0 -84
  415. package/dist/src/core/bound/BoundingBox.d.ts +0 -34
  416. package/dist/src/core/bound/BoundingBox.js +0 -155
  417. package/dist/src/core/bound/BoundingSphere.d.ts +0 -34
  418. package/dist/src/core/bound/BoundingSphere.js +0 -71
  419. package/dist/src/core/bound/Frustum.d.ts +0 -17
  420. package/dist/src/core/bound/Frustum.js +0 -184
  421. package/dist/src/core/bound/IBound.d.ts +0 -19
  422. package/dist/src/core/bound/IBound.js +0 -1
  423. package/dist/src/core/csm/CSM.d.ts +0 -3
  424. package/dist/src/core/csm/CSM.js +0 -3
  425. package/dist/src/core/csm/FrustumCSM.d.ts +0 -32
  426. package/dist/src/core/csm/FrustumCSM.js +0 -106
  427. package/dist/src/core/entities/Entity.d.ts +0 -43
  428. package/dist/src/core/entities/Entity.js +0 -200
  429. package/dist/src/core/entities/InstancedMesh.d.ts +0 -11
  430. package/dist/src/core/entities/InstancedMesh.js +0 -32
  431. package/dist/src/core/entities/Object3D.d.ts +0 -66
  432. package/dist/src/core/entities/Object3D.js +0 -284
  433. package/dist/src/core/geometry/ExtrudeGeometry.d.ts +0 -31
  434. package/dist/src/core/geometry/ExtrudeGeometry.js +0 -156
  435. package/dist/src/core/geometry/GeometryBase.d.ts +0 -70
  436. package/dist/src/core/geometry/GeometryBase.js +0 -248
  437. package/dist/src/core/geometry/GeometryIndicesBuffer.d.ts +0 -15
  438. package/dist/src/core/geometry/GeometryIndicesBuffer.js +0 -33
  439. package/dist/src/core/geometry/GeometryVertexBuffer.d.ts +0 -23
  440. package/dist/src/core/geometry/GeometryVertexBuffer.js +0 -243
  441. package/dist/src/core/geometry/GeometryVertexType.d.ts +0 -5
  442. package/dist/src/core/geometry/GeometryVertexType.js +0 -6
  443. package/dist/src/core/geometry/VertexAttribute.d.ts +0 -15
  444. package/dist/src/core/geometry/VertexAttribute.js +0 -4
  445. package/dist/src/core/geometry/VertexAttributeData.d.ts +0 -5
  446. package/dist/src/core/geometry/VertexAttributeData.js +0 -1
  447. package/dist/src/core/geometry/VertexAttributeName.d.ts +0 -23
  448. package/dist/src/core/geometry/VertexAttributeName.js +0 -24
  449. package/dist/src/core/geometry/VertexAttributeSize.d.ts +0 -11
  450. package/dist/src/core/geometry/VertexAttributeSize.js +0 -12
  451. package/dist/src/core/geometry/VertexAttributeStride.d.ts +0 -15
  452. package/dist/src/core/geometry/VertexAttributeStride.js +0 -16
  453. package/dist/src/core/geometry/VertexFormat.d.ts +0 -1
  454. package/dist/src/core/geometry/VertexFormat.js +0 -8
  455. package/dist/src/core/pool/ObjectPool.d.ts +0 -11
  456. package/dist/src/core/pool/ObjectPool.js +0 -33
  457. package/dist/src/core/pool/memory/MemoryDO.d.ts +0 -14
  458. package/dist/src/core/pool/memory/MemoryDO.js +0 -48
  459. package/dist/src/core/pool/memory/MemoryInfo.d.ts +0 -83
  460. package/dist/src/core/pool/memory/MemoryInfo.js +0 -316
  461. package/dist/src/core/tree/kdTree/IKDTreeUserData.d.ts +0 -10
  462. package/dist/src/core/tree/kdTree/IKDTreeUserData.js +0 -9
  463. package/dist/src/core/tree/kdTree/KDTreeEntity.d.ts +0 -27
  464. package/dist/src/core/tree/kdTree/KDTreeEntity.js +0 -48
  465. package/dist/src/core/tree/kdTree/KDTreeNode.d.ts +0 -68
  466. package/dist/src/core/tree/kdTree/KDTreeNode.js +0 -257
  467. package/dist/src/core/tree/kdTree/KDTreeSpace.d.ts +0 -26
  468. package/dist/src/core/tree/kdTree/KDTreeSpace.js +0 -66
  469. package/dist/src/core/tree/octree/Octree.d.ts +0 -28
  470. package/dist/src/core/tree/octree/Octree.js +0 -133
  471. package/dist/src/core/tree/octree/OctreeEntity.d.ts +0 -11
  472. package/dist/src/core/tree/octree/OctreeEntity.js +0 -25
  473. package/dist/src/core/tree/quad/IQuadNode.d.ts +0 -9
  474. package/dist/src/core/tree/quad/IQuadNode.js +0 -1
  475. package/dist/src/core/tree/quad/QuadAABB.d.ts +0 -26
  476. package/dist/src/core/tree/quad/QuadAABB.js +0 -116
  477. package/dist/src/core/tree/quad/QuadRoot.d.ts +0 -14
  478. package/dist/src/core/tree/quad/QuadRoot.js +0 -67
  479. package/dist/src/core/tree/quad/QuadTree.d.ts +0 -22
  480. package/dist/src/core/tree/quad/QuadTree.js +0 -250
  481. package/dist/src/core/tree/quad/QuadTreeCell.d.ts +0 -23
  482. package/dist/src/core/tree/quad/QuadTreeCell.js +0 -36
  483. package/dist/src/event/CEvent.d.ts +0 -27
  484. package/dist/src/event/CEvent.js +0 -19
  485. package/dist/src/event/CEventDispatcher.d.ts +0 -13
  486. package/dist/src/event/CEventDispatcher.js +0 -129
  487. package/dist/src/event/CEventListener.d.ts +0 -13
  488. package/dist/src/event/CEventListener.js +0 -26
  489. package/dist/src/event/CResizeEvent.d.ts +0 -4
  490. package/dist/src/event/CResizeEvent.js +0 -4
  491. package/dist/src/event/KeyCode.d.ts +0 -110
  492. package/dist/src/event/KeyCode.js +0 -111
  493. package/dist/src/event/MouseCode.d.ts +0 -5
  494. package/dist/src/event/MouseCode.js +0 -6
  495. package/dist/src/event/eventConst/KeyEvent.d.ts +0 -6
  496. package/dist/src/event/eventConst/KeyEvent.js +0 -9
  497. package/dist/src/event/eventConst/LoaderEvent.d.ts +0 -5
  498. package/dist/src/event/eventConst/LoaderEvent.js +0 -5
  499. package/dist/src/event/eventConst/Object3DEvent.d.ts +0 -7
  500. package/dist/src/event/eventConst/Object3DEvent.js +0 -7
  501. package/dist/src/event/eventConst/PointerEvent3D.d.ts +0 -63
  502. package/dist/src/event/eventConst/PointerEvent3D.js +0 -54
  503. package/dist/src/event/eventConst/UIEvent.d.ts +0 -6
  504. package/dist/src/event/eventConst/UIEvent.js +0 -6
  505. package/dist/src/gfx/generate/BrdfLUTGenerate.d.ts +0 -7
  506. package/dist/src/gfx/generate/BrdfLUTGenerate.js +0 -20
  507. package/dist/src/gfx/generate/PassGenerate.d.ts +0 -9
  508. package/dist/src/gfx/generate/PassGenerate.js +0 -181
  509. package/dist/src/gfx/generate/convert/BlurEffectCreator.d.ts +0 -7
  510. package/dist/src/gfx/generate/convert/BlurEffectCreator.js +0 -79
  511. package/dist/src/gfx/generate/convert/ErpImage2CubeMap.d.ts +0 -9
  512. package/dist/src/gfx/generate/convert/ErpImage2CubeMap.js +0 -144
  513. package/dist/src/gfx/generate/convert/IBLEnvMapCreator.d.ts +0 -12
  514. package/dist/src/gfx/generate/convert/IBLEnvMapCreator.js +0 -109
  515. package/dist/src/gfx/generate/convert/MergeRGBACreator.d.ts +0 -5
  516. package/dist/src/gfx/generate/convert/MergeRGBACreator.js +0 -32
  517. package/dist/src/gfx/generate/convert/TextureCubeStdCreator.d.ts +0 -9
  518. package/dist/src/gfx/generate/convert/TextureCubeStdCreator.js +0 -117
  519. package/dist/src/gfx/generate/convert/TextureCubeUtils.d.ts +0 -12
  520. package/dist/src/gfx/generate/convert/TextureCubeUtils.js +0 -47
  521. package/dist/src/gfx/generate/convert/TextureScaleCompute.d.ts +0 -6
  522. package/dist/src/gfx/generate/convert/TextureScaleCompute.js +0 -18
  523. package/dist/src/gfx/graphics/webGpu/CanvasConfig.d.ts +0 -7
  524. package/dist/src/gfx/graphics/webGpu/CanvasConfig.js +0 -1
  525. package/dist/src/gfx/graphics/webGpu/Context3D.d.ts +0 -20
  526. package/dist/src/gfx/graphics/webGpu/Context3D.js +0 -112
  527. package/dist/src/gfx/graphics/webGpu/PipelinePool.d.ts +0 -5
  528. package/dist/src/gfx/graphics/webGpu/PipelinePool.js +0 -15
  529. package/dist/src/gfx/graphics/webGpu/WebGPUConst.d.ts +0 -154
  530. package/dist/src/gfx/graphics/webGpu/WebGPUConst.js +0 -154
  531. package/dist/src/gfx/graphics/webGpu/compute/PreIntegratedLutCompute.d.ts +0 -8
  532. package/dist/src/gfx/graphics/webGpu/compute/PreIntegratedLutCompute.js +0 -23
  533. package/dist/src/gfx/graphics/webGpu/compute/RenderShaderCompute.d.ts +0 -12
  534. package/dist/src/gfx/graphics/webGpu/compute/RenderShaderCompute.js +0 -19
  535. package/dist/src/gfx/graphics/webGpu/core/bindGroups/GlobalBindGroup.d.ts +0 -18
  536. package/dist/src/gfx/graphics/webGpu/core/bindGroups/GlobalBindGroup.js +0 -64
  537. package/dist/src/gfx/graphics/webGpu/core/bindGroups/GlobalBindGroupLayout.d.ts +0 -4
  538. package/dist/src/gfx/graphics/webGpu/core/bindGroups/GlobalBindGroupLayout.js +0 -29
  539. package/dist/src/gfx/graphics/webGpu/core/bindGroups/GlobalUniformGroup.d.ts +0 -25
  540. package/dist/src/gfx/graphics/webGpu/core/bindGroups/GlobalUniformGroup.js +0 -179
  541. package/dist/src/gfx/graphics/webGpu/core/bindGroups/MatrixBindGroup.d.ts +0 -11
  542. package/dist/src/gfx/graphics/webGpu/core/bindGroups/MatrixBindGroup.js +0 -22
  543. package/dist/src/gfx/graphics/webGpu/core/bindGroups/groups/LightEntries.d.ts +0 -11
  544. package/dist/src/gfx/graphics/webGpu/core/bindGroups/groups/LightEntries.js +0 -48
  545. package/dist/src/gfx/graphics/webGpu/core/bindGroups/groups/ProbeEntries.d.ts +0 -10
  546. package/dist/src/gfx/graphics/webGpu/core/bindGroups/groups/ProbeEntries.js +0 -41
  547. package/dist/src/gfx/graphics/webGpu/core/bindGroups/groups/ReflectionEntries.d.ts +0 -12
  548. package/dist/src/gfx/graphics/webGpu/core/bindGroups/groups/ReflectionEntries.js +0 -21
  549. package/dist/src/gfx/graphics/webGpu/core/buffer/ArrayBufferData.d.ts +0 -1
  550. package/dist/src/gfx/graphics/webGpu/core/buffer/ArrayBufferData.js +0 -1
  551. package/dist/src/gfx/graphics/webGpu/core/buffer/ComputeGPUBuffer.d.ts +0 -4
  552. package/dist/src/gfx/graphics/webGpu/core/buffer/ComputeGPUBuffer.js +0 -11
  553. package/dist/src/gfx/graphics/webGpu/core/buffer/GPUBufferBase.d.ts +0 -84
  554. package/dist/src/gfx/graphics/webGpu/core/buffer/GPUBufferBase.js +0 -493
  555. package/dist/src/gfx/graphics/webGpu/core/buffer/GPUBufferType.d.ts +0 -9
  556. package/dist/src/gfx/graphics/webGpu/core/buffer/GPUBufferType.js +0 -10
  557. package/dist/src/gfx/graphics/webGpu/core/buffer/IndicesGPUBuffer.d.ts +0 -14
  558. package/dist/src/gfx/graphics/webGpu/core/buffer/IndicesGPUBuffer.js +0 -44
  559. package/dist/src/gfx/graphics/webGpu/core/buffer/MaterialDataUniformGPUBuffer.d.ts +0 -10
  560. package/dist/src/gfx/graphics/webGpu/core/buffer/MaterialDataUniformGPUBuffer.js +0 -46
  561. package/dist/src/gfx/graphics/webGpu/core/buffer/MatrixGPUBuffer.d.ts +0 -8
  562. package/dist/src/gfx/graphics/webGpu/core/buffer/MatrixGPUBuffer.js +0 -57
  563. package/dist/src/gfx/graphics/webGpu/core/buffer/StorageGPUBuffer.d.ts +0 -11
  564. package/dist/src/gfx/graphics/webGpu/core/buffer/StorageGPUBuffer.js +0 -16
  565. package/dist/src/gfx/graphics/webGpu/core/buffer/StructStorageGPUBuffer.d.ts +0 -7
  566. package/dist/src/gfx/graphics/webGpu/core/buffer/StructStorageGPUBuffer.js +0 -9
  567. package/dist/src/gfx/graphics/webGpu/core/buffer/UniformGPUBuffer.d.ts +0 -11
  568. package/dist/src/gfx/graphics/webGpu/core/buffer/UniformGPUBuffer.js +0 -17
  569. package/dist/src/gfx/graphics/webGpu/core/buffer/VertexGPUBuffer.d.ts +0 -7
  570. package/dist/src/gfx/graphics/webGpu/core/buffer/VertexGPUBuffer.js +0 -29
  571. package/dist/src/gfx/graphics/webGpu/core/texture/ITexture.d.ts +0 -18
  572. package/dist/src/gfx/graphics/webGpu/core/texture/ITexture.js +0 -1
  573. package/dist/src/gfx/graphics/webGpu/core/texture/Texture.d.ts +0 -79
  574. package/dist/src/gfx/graphics/webGpu/core/texture/Texture.js +0 -307
  575. package/dist/src/gfx/graphics/webGpu/core/texture/TextureCube.d.ts +0 -11
  576. package/dist/src/gfx/graphics/webGpu/core/texture/TextureCube.js +0 -51
  577. package/dist/src/gfx/graphics/webGpu/core/texture/TextureMipmapCompute.d.ts +0 -9
  578. package/dist/src/gfx/graphics/webGpu/core/texture/TextureMipmapCompute.js +0 -134
  579. package/dist/src/gfx/graphics/webGpu/core/texture/TextureMipmapGenerator.d.ts +0 -9
  580. package/dist/src/gfx/graphics/webGpu/core/texture/TextureMipmapGenerator.js +0 -163
  581. package/dist/src/gfx/graphics/webGpu/core/uniforms/UniformNode.d.ts +0 -34
  582. package/dist/src/gfx/graphics/webGpu/core/uniforms/UniformNode.js +0 -176
  583. package/dist/src/gfx/graphics/webGpu/descriptor/RTDescriptor.d.ts +0 -5
  584. package/dist/src/gfx/graphics/webGpu/descriptor/RTDescriptor.js +0 -7
  585. package/dist/src/gfx/graphics/webGpu/descriptor/WebGPUDescriptorCreator.d.ts +0 -8
  586. package/dist/src/gfx/graphics/webGpu/descriptor/WebGPUDescriptorCreator.js +0 -174
  587. package/dist/src/gfx/graphics/webGpu/shader/ComputeShader.d.ts +0 -28
  588. package/dist/src/gfx/graphics/webGpu/shader/ComputeShader.js +0 -219
  589. package/dist/src/gfx/graphics/webGpu/shader/RenderShaderPass.d.ts +0 -206
  590. package/dist/src/gfx/graphics/webGpu/shader/RenderShaderPass.js +0 -888
  591. package/dist/src/gfx/graphics/webGpu/shader/Shader.d.ts +0 -53
  592. package/dist/src/gfx/graphics/webGpu/shader/Shader.js +0 -205
  593. package/dist/src/gfx/graphics/webGpu/shader/ShaderPassBase.d.ts +0 -60
  594. package/dist/src/gfx/graphics/webGpu/shader/ShaderPassBase.js +0 -150
  595. package/dist/src/gfx/graphics/webGpu/shader/ShaderStage.d.ts +0 -5
  596. package/dist/src/gfx/graphics/webGpu/shader/ShaderStage.js +0 -6
  597. package/dist/src/gfx/graphics/webGpu/shader/converter/GLSLLexer.d.ts +0 -16
  598. package/dist/src/gfx/graphics/webGpu/shader/converter/GLSLLexer.js +0 -422
  599. package/dist/src/gfx/graphics/webGpu/shader/converter/GLSLLexerToken.d.ts +0 -174
  600. package/dist/src/gfx/graphics/webGpu/shader/converter/GLSLLexerToken.js +0 -388
  601. package/dist/src/gfx/graphics/webGpu/shader/converter/GLSLPreprocessor.d.ts +0 -10
  602. package/dist/src/gfx/graphics/webGpu/shader/converter/GLSLPreprocessor.js +0 -198
  603. package/dist/src/gfx/graphics/webGpu/shader/converter/GLSLSyntax.d.ts +0 -14
  604. package/dist/src/gfx/graphics/webGpu/shader/converter/GLSLSyntax.js +0 -106
  605. package/dist/src/gfx/graphics/webGpu/shader/converter/Reader.d.ts +0 -30
  606. package/dist/src/gfx/graphics/webGpu/shader/converter/Reader.js +0 -136
  607. package/dist/src/gfx/graphics/webGpu/shader/converter/ShaderConverter.d.ts +0 -47
  608. package/dist/src/gfx/graphics/webGpu/shader/converter/ShaderConverter.js +0 -69
  609. package/dist/src/gfx/graphics/webGpu/shader/converter/StatementNode.d.ts +0 -309
  610. package/dist/src/gfx/graphics/webGpu/shader/converter/StatementNode.js +0 -1804
  611. package/dist/src/gfx/graphics/webGpu/shader/converter/WGSLTranslator.d.ts +0 -50
  612. package/dist/src/gfx/graphics/webGpu/shader/converter/WGSLTranslator.js +0 -272
  613. package/dist/src/gfx/graphics/webGpu/shader/util/MorePassParser.d.ts +0 -25
  614. package/dist/src/gfx/graphics/webGpu/shader/util/MorePassParser.js +0 -134
  615. package/dist/src/gfx/graphics/webGpu/shader/util/Preprocessor.d.ts +0 -28
  616. package/dist/src/gfx/graphics/webGpu/shader/util/Preprocessor.js +0 -304
  617. package/dist/src/gfx/graphics/webGpu/shader/util/ShaderUtil.d.ts +0 -23
  618. package/dist/src/gfx/graphics/webGpu/shader/util/ShaderUtil.js +0 -6
  619. package/dist/src/gfx/graphics/webGpu/shader/value/ConstValue.d.ts +0 -1
  620. package/dist/src/gfx/graphics/webGpu/shader/value/ConstValue.js +0 -1
  621. package/dist/src/gfx/graphics/webGpu/shader/value/DefineValue.d.ts +0 -4
  622. package/dist/src/gfx/graphics/webGpu/shader/value/DefineValue.js +0 -1
  623. package/dist/src/gfx/graphics/webGpu/shader/value/ShaderReflectionInfo.d.ts +0 -57
  624. package/dist/src/gfx/graphics/webGpu/shader/value/ShaderReflectionInfo.js +0 -421
  625. package/dist/src/gfx/graphics/webGpu/shader/value/ShaderState.d.ts +0 -30
  626. package/dist/src/gfx/graphics/webGpu/shader/value/ShaderState.js +0 -113
  627. package/dist/src/gfx/graphics/webGpu/shader/value/ShaderValue.d.ts +0 -32
  628. package/dist/src/gfx/graphics/webGpu/shader/value/ShaderValue.js +0 -1
  629. package/dist/src/gfx/graphics/webGpu/shader/value/UniformValue.d.ts +0 -13
  630. package/dist/src/gfx/graphics/webGpu/shader/value/UniformValue.js +0 -9
  631. package/dist/src/gfx/renderJob/GPUContext.d.ts +0 -32
  632. package/dist/src/gfx/renderJob/GPUContext.js +0 -152
  633. package/dist/src/gfx/renderJob/collect/CollectInfo.d.ts +0 -7
  634. package/dist/src/gfx/renderJob/collect/CollectInfo.js +0 -10
  635. package/dist/src/gfx/renderJob/collect/ComponentCollect.d.ts +0 -29
  636. package/dist/src/gfx/renderJob/collect/ComponentCollect.js +0 -134
  637. package/dist/src/gfx/renderJob/collect/EntityBatchCollect.d.ts +0 -7
  638. package/dist/src/gfx/renderJob/collect/EntityBatchCollect.js +0 -24
  639. package/dist/src/gfx/renderJob/collect/EntityCollect.d.ts +0 -48
  640. package/dist/src/gfx/renderJob/collect/EntityCollect.js +0 -260
  641. package/dist/src/gfx/renderJob/collect/RenderGroup.d.ts +0 -7
  642. package/dist/src/gfx/renderJob/collect/RenderGroup.js +0 -1
  643. package/dist/src/gfx/renderJob/collect/RenderShaderCollect.d.ts +0 -9
  644. package/dist/src/gfx/renderJob/collect/RenderShaderCollect.js +0 -51
  645. package/dist/src/gfx/renderJob/collect/ShadowLightsCollect.d.ts +0 -20
  646. package/dist/src/gfx/renderJob/collect/ShadowLightsCollect.js +0 -182
  647. package/dist/src/gfx/renderJob/config/RTResourceConfig.d.ts +0 -10
  648. package/dist/src/gfx/renderJob/config/RTResourceConfig.js +0 -10
  649. package/dist/src/gfx/renderJob/config/RenderLayer.d.ts +0 -11
  650. package/dist/src/gfx/renderJob/config/RenderLayer.js +0 -20
  651. package/dist/src/gfx/renderJob/frame/GBufferFrame.d.ts +0 -19
  652. package/dist/src/gfx/renderJob/frame/GBufferFrame.js +0 -74
  653. package/dist/src/gfx/renderJob/frame/ProbeGBufferFrame.d.ts +0 -5
  654. package/dist/src/gfx/renderJob/frame/ProbeGBufferFrame.js +0 -37
  655. package/dist/src/gfx/renderJob/frame/RTFrame.d.ts +0 -17
  656. package/dist/src/gfx/renderJob/frame/RTFrame.js +0 -34
  657. package/dist/src/gfx/renderJob/frame/RTResourceMap.d.ts +0 -13
  658. package/dist/src/gfx/renderJob/frame/RTResourceMap.js +0 -71
  659. package/dist/src/gfx/renderJob/jobs/ForwardRenderJob.d.ts +0 -7
  660. package/dist/src/gfx/renderJob/jobs/ForwardRenderJob.js +0 -45
  661. package/dist/src/gfx/renderJob/jobs/RenderMap.d.ts +0 -12
  662. package/dist/src/gfx/renderJob/jobs/RenderMap.js +0 -29
  663. package/dist/src/gfx/renderJob/jobs/RendererJob.d.ts +0 -43
  664. package/dist/src/gfx/renderJob/jobs/RendererJob.js +0 -123
  665. package/dist/src/gfx/renderJob/occlusion/OcclusionSystem.d.ts +0 -16
  666. package/dist/src/gfx/renderJob/occlusion/OcclusionSystem.js +0 -30
  667. package/dist/src/gfx/renderJob/passRenderer/RenderContext.d.ts +0 -20
  668. package/dist/src/gfx/renderJob/passRenderer/RenderContext.js +0 -68
  669. package/dist/src/gfx/renderJob/passRenderer/RendererBase.d.ts +0 -40
  670. package/dist/src/gfx/renderJob/passRenderer/RendererBase.js +0 -155
  671. package/dist/src/gfx/renderJob/passRenderer/cluster/ClusterConfig.d.ts +0 -5
  672. package/dist/src/gfx/renderJob/passRenderer/cluster/ClusterConfig.js +0 -5
  673. package/dist/src/gfx/renderJob/passRenderer/cluster/ClusterLightingBuffer.d.ts +0 -10
  674. package/dist/src/gfx/renderJob/passRenderer/cluster/ClusterLightingBuffer.js +0 -29
  675. package/dist/src/gfx/renderJob/passRenderer/cluster/ClusterLightingRender.d.ts +0 -20
  676. package/dist/src/gfx/renderJob/passRenderer/cluster/ClusterLightingRender.js +0 -74
  677. package/dist/src/gfx/renderJob/passRenderer/color/ColorPassRenderer.d.ts +0 -12
  678. package/dist/src/gfx/renderJob/passRenderer/color/ColorPassRenderer.js +0 -97
  679. package/dist/src/gfx/renderJob/passRenderer/color/GUIPassRenderer.d.ts +0 -13
  680. package/dist/src/gfx/renderJob/passRenderer/color/GUIPassRenderer.js +0 -79
  681. package/dist/src/gfx/renderJob/passRenderer/cubeRenderer/ReflectionRenderer.d.ts +0 -36
  682. package/dist/src/gfx/renderJob/passRenderer/cubeRenderer/ReflectionRenderer.js +0 -172
  683. package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIIrradianceComputePass.d.ts +0 -18
  684. package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIIrradianceComputePass.js +0 -52
  685. package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIIrradianceGPUBufferReader.d.ts +0 -22
  686. package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIIrradianceGPUBufferReader.js +0 -68
  687. package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIIrradianceVolume.d.ts +0 -32
  688. package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIIrradianceVolume.js +0 -113
  689. package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGILightingPass.d.ts +0 -17
  690. package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGILightingPass.js +0 -47
  691. package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIMultiBouncePass.d.ts +0 -13
  692. package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIMultiBouncePass.js +0 -40
  693. package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIProbeRenderer.d.ts +0 -46
  694. package/dist/src/gfx/renderJob/passRenderer/ddgi/DDGIProbeRenderer.js +0 -292
  695. package/dist/src/gfx/renderJob/passRenderer/ddgi/Probe.d.ts +0 -6
  696. package/dist/src/gfx/renderJob/passRenderer/ddgi/Probe.js +0 -8
  697. package/dist/src/gfx/renderJob/passRenderer/post/PostRenderer.d.ts +0 -19
  698. package/dist/src/gfx/renderJob/passRenderer/post/PostRenderer.js +0 -61
  699. package/dist/src/gfx/renderJob/passRenderer/preDepth/PreDepthPassRenderer.d.ts +0 -16
  700. package/dist/src/gfx/renderJob/passRenderer/preDepth/PreDepthPassRenderer.js +0 -80
  701. package/dist/src/gfx/renderJob/passRenderer/preDepth/ZCullingCompute.d.ts +0 -12
  702. package/dist/src/gfx/renderJob/passRenderer/preDepth/ZCullingCompute.js +0 -26
  703. package/dist/src/gfx/renderJob/passRenderer/shadow/PointLightShadowRenderer.d.ts +0 -32
  704. package/dist/src/gfx/renderJob/passRenderer/shadow/PointLightShadowRenderer.js +0 -193
  705. package/dist/src/gfx/renderJob/passRenderer/shadow/ShadowMapPassRenderer.d.ts +0 -27
  706. package/dist/src/gfx/renderJob/passRenderer/shadow/ShadowMapPassRenderer.js +0 -224
  707. package/dist/src/gfx/renderJob/passRenderer/state/PassType.d.ts +0 -13
  708. package/dist/src/gfx/renderJob/passRenderer/state/PassType.js +0 -14
  709. package/dist/src/gfx/renderJob/passRenderer/state/RendererMask.d.ts +0 -18
  710. package/dist/src/gfx/renderJob/passRenderer/state/RendererMask.js +0 -27
  711. package/dist/src/gfx/renderJob/passRenderer/state/RendererPassState.d.ts +0 -27
  712. package/dist/src/gfx/renderJob/passRenderer/state/RendererPassState.js +0 -24
  713. package/dist/src/gfx/renderJob/post/BloomPost.d.ts +0 -45
  714. package/dist/src/gfx/renderJob/post/BloomPost.js +0 -245
  715. package/dist/src/gfx/renderJob/post/DepthOfFieldPost.d.ts +0 -56
  716. package/dist/src/gfx/renderJob/post/DepthOfFieldPost.js +0 -146
  717. package/dist/src/gfx/renderJob/post/FXAAPost.d.ts +0 -18
  718. package/dist/src/gfx/renderJob/post/FXAAPost.js +0 -34
  719. package/dist/src/gfx/renderJob/post/GBufferPost.d.ts +0 -35
  720. package/dist/src/gfx/renderJob/post/GBufferPost.js +0 -107
  721. package/dist/src/gfx/renderJob/post/GTAOPost.d.ts +0 -67
  722. package/dist/src/gfx/renderJob/post/GTAOPost.js +0 -167
  723. package/dist/src/gfx/renderJob/post/GlobalFog.d.ts +0 -69
  724. package/dist/src/gfx/renderJob/post/GlobalFog.js +0 -208
  725. package/dist/src/gfx/renderJob/post/GodRayPost.d.ts +0 -56
  726. package/dist/src/gfx/renderJob/post/GodRayPost.js +0 -126
  727. package/dist/src/gfx/renderJob/post/OutlinePost.d.ts +0 -93
  728. package/dist/src/gfx/renderJob/post/OutlinePost.js +0 -212
  729. package/dist/src/gfx/renderJob/post/PostBase.d.ts +0 -35
  730. package/dist/src/gfx/renderJob/post/PostBase.js +0 -78
  731. package/dist/src/gfx/renderJob/post/SSGIPost.d.ts +0 -67
  732. package/dist/src/gfx/renderJob/post/SSGIPost.js +0 -210
  733. package/dist/src/gfx/renderJob/post/SSRPost.d.ts +0 -76
  734. package/dist/src/gfx/renderJob/post/SSRPost.js +0 -238
  735. package/dist/src/gfx/renderJob/post/TAAPost.d.ts +0 -40
  736. package/dist/src/gfx/renderJob/post/TAAPost.js +0 -183
  737. package/dist/src/index.d.ts +0 -571
  738. package/dist/src/index.js +0 -571
  739. package/dist/src/io/InputSystem.d.ts +0 -49
  740. package/dist/src/io/InputSystem.js +0 -382
  741. package/dist/src/io/OutlineManager.d.ts +0 -11
  742. package/dist/src/io/OutlineManager.js +0 -39
  743. package/dist/src/io/OutlinePostData.d.ts +0 -22
  744. package/dist/src/io/OutlinePostData.js +0 -54
  745. package/dist/src/io/PickFire.d.ts +0 -32
  746. package/dist/src/io/PickFire.js +0 -195
  747. package/dist/src/io/PickResult.d.ts +0 -59
  748. package/dist/src/io/PickResult.js +0 -29
  749. package/dist/src/io/RayCastMeshDetail.d.ts +0 -32
  750. package/dist/src/io/RayCastMeshDetail.js +0 -119
  751. package/dist/src/io/TouchData.d.ts +0 -12
  752. package/dist/src/io/TouchData.js +0 -13
  753. package/dist/src/io/picker/PickCompute.d.ts +0 -14
  754. package/dist/src/io/picker/PickCompute.js +0 -53
  755. package/dist/src/loader/FileLoader.d.ts +0 -7
  756. package/dist/src/loader/FileLoader.js +0 -70
  757. package/dist/src/loader/LoaderBase.d.ts +0 -30
  758. package/dist/src/loader/LoaderBase.js +0 -156
  759. package/dist/src/loader/LoaderFunctions.d.ts +0 -7
  760. package/dist/src/loader/LoaderFunctions.js +0 -1
  761. package/dist/src/loader/LoaderManager.d.ts +0 -36
  762. package/dist/src/loader/LoaderManager.js +0 -83
  763. package/dist/src/loader/parser/AtlasParser.d.ts +0 -10
  764. package/dist/src/loader/parser/AtlasParser.js +0 -31
  765. package/dist/src/loader/parser/B3DMParser.d.ts +0 -24
  766. package/dist/src/loader/parser/B3DMParser.js +0 -108
  767. package/dist/src/loader/parser/FontParser.d.ts +0 -54
  768. package/dist/src/loader/parser/FontParser.js +0 -171
  769. package/dist/src/loader/parser/I3DMParser.d.ts +0 -7
  770. package/dist/src/loader/parser/I3DMParser.js +0 -17
  771. package/dist/src/loader/parser/OBJParser.d.ts +0 -72
  772. package/dist/src/loader/parser/OBJParser.js +0 -289
  773. package/dist/src/loader/parser/ParserBase.d.ts +0 -18
  774. package/dist/src/loader/parser/ParserBase.js +0 -17
  775. package/dist/src/loader/parser/ParserFormat.d.ts +0 -5
  776. package/dist/src/loader/parser/ParserFormat.js +0 -6
  777. package/dist/src/loader/parser/RGBEParser.d.ts +0 -40
  778. package/dist/src/loader/parser/RGBEParser.js +0 -248
  779. package/dist/src/loader/parser/b3dm/B3DMLoader.d.ts +0 -10
  780. package/dist/src/loader/parser/b3dm/B3DMLoader.js +0 -56
  781. package/dist/src/loader/parser/b3dm/B3DMLoaderBase.d.ts +0 -9
  782. package/dist/src/loader/parser/b3dm/B3DMLoaderBase.js +0 -31
  783. package/dist/src/loader/parser/b3dm/FeatureTable.d.ts +0 -14
  784. package/dist/src/loader/parser/b3dm/FeatureTable.js +0 -104
  785. package/dist/src/loader/parser/b3dm/arrayToString.d.ts +0 -1
  786. package/dist/src/loader/parser/b3dm/arrayToString.js +0 -4
  787. package/dist/src/loader/parser/b3dm/readMagicBytes.d.ts +0 -1
  788. package/dist/src/loader/parser/b3dm/readMagicBytes.js +0 -17
  789. package/dist/src/loader/parser/gis/GeoJsonParser.d.ts +0 -29
  790. package/dist/src/loader/parser/gis/GeoJsonParser.js +0 -15
  791. package/dist/src/loader/parser/gis/GeoJsonUtil.d.ts +0 -5
  792. package/dist/src/loader/parser/gis/GeoJsonUtil.js +0 -30
  793. package/dist/src/loader/parser/gltf/GLBParser.d.ts +0 -21
  794. package/dist/src/loader/parser/gltf/GLBParser.js +0 -133
  795. package/dist/src/loader/parser/gltf/GLTFInfo.d.ts +0 -137
  796. package/dist/src/loader/parser/gltf/GLTFInfo.js +0 -20
  797. package/dist/src/loader/parser/gltf/GLTFMaterial.d.ts +0 -24
  798. package/dist/src/loader/parser/gltf/GLTFMaterial.js +0 -2
  799. package/dist/src/loader/parser/gltf/GLTFParser.d.ts +0 -45
  800. package/dist/src/loader/parser/gltf/GLTFParser.js +0 -153
  801. package/dist/src/loader/parser/gltf/GLTFSubParser.d.ts +0 -47
  802. package/dist/src/loader/parser/gltf/GLTFSubParser.js +0 -366
  803. package/dist/src/loader/parser/gltf/GLTFSubParserCamera.d.ts +0 -7
  804. package/dist/src/loader/parser/gltf/GLTFSubParserCamera.js +0 -41
  805. package/dist/src/loader/parser/gltf/GLTFSubParserConverter.d.ts +0 -17
  806. package/dist/src/loader/parser/gltf/GLTFSubParserConverter.js +0 -416
  807. package/dist/src/loader/parser/gltf/GLTFSubParserMaterial.d.ts +0 -10
  808. package/dist/src/loader/parser/gltf/GLTFSubParserMaterial.js +0 -182
  809. package/dist/src/loader/parser/gltf/GLTFSubParserMesh.d.ts +0 -11
  810. package/dist/src/loader/parser/gltf/GLTFSubParserMesh.js +0 -170
  811. package/dist/src/loader/parser/gltf/GLTFSubParserSkeleton.d.ts +0 -15
  812. package/dist/src/loader/parser/gltf/GLTFSubParserSkeleton.js +0 -313
  813. package/dist/src/loader/parser/gltf/GLTFSubParserSkin.d.ts +0 -10
  814. package/dist/src/loader/parser/gltf/GLTFSubParserSkin.js +0 -66
  815. package/dist/src/loader/parser/gltf/GLTFType.d.ts +0 -22
  816. package/dist/src/loader/parser/gltf/GLTFType.js +0 -21
  817. package/dist/src/loader/parser/gltf/TypeArray.d.ts +0 -4
  818. package/dist/src/loader/parser/gltf/TypeArray.js +0 -98
  819. package/dist/src/loader/parser/gltf/extends/KHR_draco_mesh_compression.d.ts +0 -9
  820. package/dist/src/loader/parser/gltf/extends/KHR_draco_mesh_compression.js +0 -157
  821. package/dist/src/loader/parser/gltf/extends/KHR_lights_punctual.d.ts +0 -2
  822. package/dist/src/loader/parser/gltf/extends/KHR_lights_punctual.js +0 -2
  823. package/dist/src/loader/parser/gltf/extends/KHR_materials_clearcoat.d.ts +0 -7
  824. package/dist/src/loader/parser/gltf/extends/KHR_materials_clearcoat.js +0 -26
  825. package/dist/src/loader/parser/gltf/extends/KHR_materials_emissive_strength.d.ts +0 -3
  826. package/dist/src/loader/parser/gltf/extends/KHR_materials_emissive_strength.js +0 -17
  827. package/dist/src/loader/parser/gltf/extends/KHR_materials_ior.d.ts +0 -2
  828. package/dist/src/loader/parser/gltf/extends/KHR_materials_ior.js +0 -2
  829. package/dist/src/loader/parser/gltf/extends/KHR_materials_unlit.d.ts +0 -3
  830. package/dist/src/loader/parser/gltf/extends/KHR_materials_unlit.js +0 -12
  831. package/dist/src/loader/parser/i3dm/I3DMLoader.d.ts +0 -17
  832. package/dist/src/loader/parser/i3dm/I3DMLoader.js +0 -97
  833. package/dist/src/loader/parser/i3dm/I3DMLoaderBase.d.ts +0 -9
  834. package/dist/src/loader/parser/i3dm/I3DMLoaderBase.js +0 -40
  835. package/dist/src/loader/parser/prefab/PrefabAvatarParser.d.ts +0 -9
  836. package/dist/src/loader/parser/prefab/PrefabAvatarParser.js +0 -38
  837. package/dist/src/loader/parser/prefab/PrefabMaterialParser.d.ts +0 -9
  838. package/dist/src/loader/parser/prefab/PrefabMaterialParser.js +0 -115
  839. package/dist/src/loader/parser/prefab/PrefabMeshParser.d.ts +0 -10
  840. package/dist/src/loader/parser/prefab/PrefabMeshParser.js +0 -133
  841. package/dist/src/loader/parser/prefab/PrefabParser.d.ts +0 -16
  842. package/dist/src/loader/parser/prefab/PrefabParser.js +0 -72
  843. package/dist/src/loader/parser/prefab/PrefabStringUtil.d.ts +0 -12
  844. package/dist/src/loader/parser/prefab/PrefabStringUtil.js +0 -41
  845. package/dist/src/loader/parser/prefab/PrefabTextureParser.d.ts +0 -10
  846. package/dist/src/loader/parser/prefab/PrefabTextureParser.js +0 -32
  847. package/dist/src/loader/parser/prefab/mats/MaterialUtilities.d.ts +0 -8
  848. package/dist/src/loader/parser/prefab/mats/MaterialUtilities.js +0 -138
  849. package/dist/src/loader/parser/prefab/mats/shader/LitSSSShader.d.ts +0 -24
  850. package/dist/src/loader/parser/prefab/mats/shader/LitSSSShader.js +0 -139
  851. package/dist/src/loader/parser/prefab/mats/shader/LitShader.d.ts +0 -19
  852. package/dist/src/loader/parser/prefab/mats/shader/LitShader.js +0 -117
  853. package/dist/src/loader/parser/prefab/mats/shader/QuadShader.d.ts +0 -4
  854. package/dist/src/loader/parser/prefab/mats/shader/QuadShader.js +0 -39
  855. package/dist/src/loader/parser/prefab/mats/shader/ReflectionShader.d.ts +0 -19
  856. package/dist/src/loader/parser/prefab/mats/shader/ReflectionShader.js +0 -79
  857. package/dist/src/loader/parser/prefab/mats/shader/SkyShader.d.ts +0 -4
  858. package/dist/src/loader/parser/prefab/mats/shader/SkyShader.js +0 -35
  859. package/dist/src/loader/parser/prefab/mats/shader/StandShader.d.ts +0 -220
  860. package/dist/src/loader/parser/prefab/mats/shader/StandShader.js +0 -420
  861. package/dist/src/loader/parser/prefab/mats/shader/UnLitShader.d.ts +0 -19
  862. package/dist/src/loader/parser/prefab/mats/shader/UnLitShader.js +0 -95
  863. package/dist/src/loader/parser/prefab/mats/shader/UnLitTexArrayShader.d.ts +0 -19
  864. package/dist/src/loader/parser/prefab/mats/shader/UnLitTexArrayShader.js +0 -100
  865. package/dist/src/loader/parser/prefab/prefabData/BlendShapeData.d.ts +0 -11
  866. package/dist/src/loader/parser/prefab/prefabData/BlendShapeData.js +0 -19
  867. package/dist/src/loader/parser/prefab/prefabData/BlendShapePropertyData.d.ts +0 -9
  868. package/dist/src/loader/parser/prefab/prefabData/BlendShapePropertyData.js +0 -17
  869. package/dist/src/loader/parser/prefab/prefabData/KVData.d.ts +0 -9
  870. package/dist/src/loader/parser/prefab/prefabData/KVData.js +0 -12
  871. package/dist/src/loader/parser/prefab/prefabData/PrefabAvatarData.d.ts +0 -9
  872. package/dist/src/loader/parser/prefab/prefabData/PrefabAvatarData.js +0 -15
  873. package/dist/src/loader/parser/prefab/prefabData/PrefabBoneData.d.ts +0 -16
  874. package/dist/src/loader/parser/prefab/prefabData/PrefabBoneData.js +0 -14
  875. package/dist/src/loader/parser/prefab/prefabData/PrefabMeshData.d.ts +0 -19
  876. package/dist/src/loader/parser/prefab/prefabData/PrefabMeshData.js +0 -2
  877. package/dist/src/loader/parser/prefab/prefabData/PrefabNode.d.ts +0 -19
  878. package/dist/src/loader/parser/prefab/prefabData/PrefabNode.js +0 -40
  879. package/dist/src/loader/parser/prefab/prefabData/PrefabTextureData.d.ts +0 -14
  880. package/dist/src/loader/parser/prefab/prefabData/PrefabTextureData.js +0 -2
  881. package/dist/src/loader/parser/prefab/prefabData/ValueParser.d.ts +0 -16
  882. package/dist/src/loader/parser/prefab/prefabData/ValueParser.js +0 -117
  883. package/dist/src/loader/parser/prefab/prefabData/ValueType.d.ts +0 -35
  884. package/dist/src/loader/parser/prefab/prefabData/ValueType.js +0 -36
  885. package/dist/src/loader/parser/tileRenderer/TileSet.d.ts +0 -45
  886. package/dist/src/loader/parser/tileRenderer/TileSet.js +0 -10
  887. package/dist/src/loader/parser/tileRenderer/TilesRenderer.d.ts +0 -12
  888. package/dist/src/loader/parser/tileRenderer/TilesRenderer.js +0 -88
  889. package/dist/src/materials/BlendMode.d.ts +0 -58
  890. package/dist/src/materials/BlendMode.js +0 -132
  891. package/dist/src/materials/ColorLitMaterial.d.ts +0 -14
  892. package/dist/src/materials/ColorLitMaterial.js +0 -45
  893. package/dist/src/materials/GIProbeMaterial.d.ts +0 -15
  894. package/dist/src/materials/GIProbeMaterial.js +0 -42
  895. package/dist/src/materials/LambertMaterial.d.ts +0 -39
  896. package/dist/src/materials/LambertMaterial.js +0 -71
  897. package/dist/src/materials/LitMaterial.d.ts +0 -49
  898. package/dist/src/materials/LitMaterial.js +0 -170
  899. package/dist/src/materials/Material.d.ts +0 -88
  900. package/dist/src/materials/Material.js +0 -194
  901. package/dist/src/materials/MaterialRegister.d.ts +0 -9
  902. package/dist/src/materials/MaterialRegister.js +0 -1
  903. package/dist/src/materials/ReflectionMaterial.d.ts +0 -13
  904. package/dist/src/materials/ReflectionMaterial.js +0 -29
  905. package/dist/src/materials/SkyMaterial.d.ts +0 -23
  906. package/dist/src/materials/SkyMaterial.js +0 -56
  907. package/dist/src/materials/UnLitMaterial.d.ts +0 -33
  908. package/dist/src/materials/UnLitMaterial.js +0 -45
  909. package/dist/src/materials/UnLitTexArrayMaterial.d.ts +0 -20
  910. package/dist/src/materials/UnLitTexArrayMaterial.js +0 -32
  911. package/dist/src/materials/multiPass/CastPointShadowMaterialPass.d.ts +0 -4
  912. package/dist/src/materials/multiPass/CastPointShadowMaterialPass.js +0 -16
  913. package/dist/src/materials/multiPass/CastShadowMaterialPass.d.ts +0 -4
  914. package/dist/src/materials/multiPass/CastShadowMaterialPass.js +0 -16
  915. package/dist/src/materials/multiPass/DepthMaterialPass.d.ts +0 -4
  916. package/dist/src/materials/multiPass/DepthMaterialPass.js +0 -11
  917. package/dist/src/materials/multiPass/GBufferPass.d.ts +0 -5
  918. package/dist/src/materials/multiPass/GBufferPass.js +0 -19
  919. package/dist/src/materials/multiPass/SkyGBufferPass.d.ts +0 -4
  920. package/dist/src/materials/multiPass/SkyGBufferPass.js +0 -18
  921. package/dist/src/math/AnimationCurve.d.ts +0 -42
  922. package/dist/src/math/AnimationCurve.js +0 -191
  923. package/dist/src/math/AnimationCurveClip.d.ts +0 -15
  924. package/dist/src/math/AnimationCurveClip.js +0 -46
  925. package/dist/src/math/AnimationCurveT.d.ts +0 -24
  926. package/dist/src/math/AnimationCurveT.js +0 -105
  927. package/dist/src/math/BiMap.d.ts +0 -9
  928. package/dist/src/math/BiMap.js +0 -37
  929. package/dist/src/math/Color.d.ts +0 -249
  930. package/dist/src/math/Color.js +0 -381
  931. package/dist/src/math/ColorGradient.d.ts +0 -6
  932. package/dist/src/math/ColorGradient.js +0 -14
  933. package/dist/src/math/CubicBezierCurve.d.ts +0 -47
  934. package/dist/src/math/CubicBezierCurve.js +0 -100
  935. package/dist/src/math/CubicBezierPath.d.ts +0 -37
  936. package/dist/src/math/CubicBezierPath.js +0 -234
  937. package/dist/src/math/HaltonSeq.d.ts +0 -13
  938. package/dist/src/math/HaltonSeq.js +0 -45
  939. package/dist/src/math/Line.d.ts +0 -39
  940. package/dist/src/math/Line.js +0 -240
  941. package/dist/src/math/MathUtil.d.ts +0 -86
  942. package/dist/src/math/MathUtil.js +0 -480
  943. package/dist/src/math/Matrix3.d.ts +0 -183
  944. package/dist/src/math/Matrix3.js +0 -511
  945. package/dist/src/math/Matrix4.d.ts +0 -557
  946. package/dist/src/math/Matrix4.js +0 -2571
  947. package/dist/src/math/OrderMap.d.ts +0 -11
  948. package/dist/src/math/OrderMap.js +0 -56
  949. package/dist/src/math/Orientation3D.d.ts +0 -5
  950. package/dist/src/math/Orientation3D.js +0 -5
  951. package/dist/src/math/ParticleMath.d.ts +0 -22
  952. package/dist/src/math/ParticleMath.js +0 -26
  953. package/dist/src/math/ParticleSystemCurves.d.ts +0 -85
  954. package/dist/src/math/ParticleSystemCurves.js +0 -184
  955. package/dist/src/math/Plane3D.d.ts +0 -173
  956. package/dist/src/math/Plane3D.js +0 -191
  957. package/dist/src/math/PlaneClassification.d.ts +0 -32
  958. package/dist/src/math/PlaneClassification.js +0 -32
  959. package/dist/src/math/PolynomialCurve.d.ts +0 -43
  960. package/dist/src/math/PolynomialCurve.js +0 -236
  961. package/dist/src/math/Polynomials.d.ts +0 -12
  962. package/dist/src/math/Polynomials.js +0 -73
  963. package/dist/src/math/Quaternion.d.ts +0 -42
  964. package/dist/src/math/Quaternion.js +0 -406
  965. package/dist/src/math/Rand.d.ts +0 -15
  966. package/dist/src/math/Rand.js +0 -48
  967. package/dist/src/math/Random.d.ts +0 -67
  968. package/dist/src/math/Random.js +0 -543
  969. package/dist/src/math/Ray.d.ts +0 -41
  970. package/dist/src/math/Ray.js +0 -304
  971. package/dist/src/math/Rect.d.ts +0 -21
  972. package/dist/src/math/Rect.js +0 -108
  973. package/dist/src/math/TimeInterpolator.d.ts +0 -179
  974. package/dist/src/math/TimeInterpolator.js +0 -334
  975. package/dist/src/math/Triangle.d.ts +0 -33
  976. package/dist/src/math/Triangle.js +0 -113
  977. package/dist/src/math/UV.d.ts +0 -10
  978. package/dist/src/math/UV.js +0 -21
  979. package/dist/src/math/Vector2.d.ts +0 -38
  980. package/dist/src/math/Vector2.js +0 -166
  981. package/dist/src/math/Vector3.d.ts +0 -107
  982. package/dist/src/math/Vector3.js +0 -561
  983. package/dist/src/math/Vector4.d.ts +0 -34
  984. package/dist/src/math/Vector4.js +0 -77
  985. package/dist/src/math/enum/FrameCache.d.ts +0 -6
  986. package/dist/src/math/enum/FrameCache.js +0 -5
  987. package/dist/src/math/enum/Keyframe.d.ts +0 -14
  988. package/dist/src/math/enum/Keyframe.js +0 -27
  989. package/dist/src/math/enum/T/KeyframeT.d.ts +0 -18
  990. package/dist/src/math/enum/T/KeyframeT.js +0 -113
  991. package/dist/src/math/enum/T/ValueOp.d.ts +0 -4
  992. package/dist/src/math/enum/T/ValueOp.js +0 -32
  993. package/dist/src/math/enum/WrapTimeMode.d.ts +0 -5
  994. package/dist/src/math/enum/WrapTimeMode.js +0 -6
  995. package/dist/src/math/navigation/DoubleArray.d.ts +0 -11
  996. package/dist/src/math/navigation/DoubleArray.js +0 -44
  997. package/dist/src/math/navigation/Navi3DAstar.d.ts +0 -16
  998. package/dist/src/math/navigation/Navi3DAstar.js +0 -82
  999. package/dist/src/math/navigation/Navi3DConst.d.ts +0 -5
  1000. package/dist/src/math/navigation/Navi3DConst.js +0 -8
  1001. package/dist/src/math/navigation/Navi3DEdge.d.ts +0 -33
  1002. package/dist/src/math/navigation/Navi3DEdge.js +0 -109
  1003. package/dist/src/math/navigation/Navi3DFunnel.d.ts +0 -19
  1004. package/dist/src/math/navigation/Navi3DFunnel.js +0 -254
  1005. package/dist/src/math/navigation/Navi3DMaskType.d.ts +0 -3
  1006. package/dist/src/math/navigation/Navi3DMaskType.js +0 -3
  1007. package/dist/src/math/navigation/Navi3DMesh.d.ts +0 -27
  1008. package/dist/src/math/navigation/Navi3DMesh.js +0 -122
  1009. package/dist/src/math/navigation/Navi3DPoint.d.ts +0 -13
  1010. package/dist/src/math/navigation/Navi3DPoint.js +0 -27
  1011. package/dist/src/math/navigation/Navi3DPoint2D.d.ts +0 -10
  1012. package/dist/src/math/navigation/Navi3DPoint2D.js +0 -26
  1013. package/dist/src/math/navigation/Navi3DPointFat.d.ts +0 -11
  1014. package/dist/src/math/navigation/Navi3DPointFat.js +0 -24
  1015. package/dist/src/math/navigation/Navi3DRouter.d.ts +0 -29
  1016. package/dist/src/math/navigation/Navi3DRouter.js +0 -173
  1017. package/dist/src/math/navigation/Navi3DTriangle.d.ts +0 -44
  1018. package/dist/src/math/navigation/Navi3DTriangle.js +0 -167
  1019. package/dist/src/setting/EngineSetting.d.ts +0 -23
  1020. package/dist/src/setting/EngineSetting.js +0 -1
  1021. package/dist/src/setting/GlobalIlluminationSetting.d.ts +0 -115
  1022. package/dist/src/setting/GlobalIlluminationSetting.js +0 -1
  1023. package/dist/src/setting/LightSetting.d.ts +0 -3
  1024. package/dist/src/setting/LightSetting.js +0 -1
  1025. package/dist/src/setting/LoaderSetting.d.ts +0 -3
  1026. package/dist/src/setting/LoaderSetting.js +0 -1
  1027. package/dist/src/setting/MaterialSetting.d.ts +0 -5
  1028. package/dist/src/setting/MaterialSetting.js +0 -1
  1029. package/dist/src/setting/OcclusionQuerySetting.d.ts +0 -12
  1030. package/dist/src/setting/OcclusionQuerySetting.js +0 -1
  1031. package/dist/src/setting/PickSetting.d.ts +0 -5
  1032. package/dist/src/setting/PickSetting.js +0 -1
  1033. package/dist/src/setting/ReflectionSetting.d.ts +0 -7
  1034. package/dist/src/setting/ReflectionSetting.js +0 -1
  1035. package/dist/src/setting/RenderSetting.d.ts +0 -51
  1036. package/dist/src/setting/RenderSetting.js +0 -1
  1037. package/dist/src/setting/ShadowSetting.d.ts +0 -17
  1038. package/dist/src/setting/ShadowSetting.js +0 -1
  1039. package/dist/src/setting/SkySetting.d.ts +0 -8
  1040. package/dist/src/setting/SkySetting.js +0 -1
  1041. package/dist/src/setting/post/BloomSetting.d.ts +0 -11
  1042. package/dist/src/setting/post/BloomSetting.js +0 -1
  1043. package/dist/src/setting/post/DepthOfViewSetting.d.ts +0 -7
  1044. package/dist/src/setting/post/DepthOfViewSetting.js +0 -1
  1045. package/dist/src/setting/post/GTAOSetting.d.ts +0 -11
  1046. package/dist/src/setting/post/GTAOSetting.js +0 -1
  1047. package/dist/src/setting/post/GlobalFogSetting.d.ts +0 -19
  1048. package/dist/src/setting/post/GlobalFogSetting.js +0 -1
  1049. package/dist/src/setting/post/GodRaySetting.d.ts +0 -7
  1050. package/dist/src/setting/post/GodRaySetting.js +0 -1
  1051. package/dist/src/setting/post/OutlineSetting.d.ts +0 -10
  1052. package/dist/src/setting/post/OutlineSetting.js +0 -1
  1053. package/dist/src/setting/post/SSRSetting.d.ts +0 -12
  1054. package/dist/src/setting/post/SSRSetting.js +0 -1
  1055. package/dist/src/setting/post/TAASetting.d.ts +0 -9
  1056. package/dist/src/setting/post/TAASetting.js +0 -1
  1057. package/dist/src/shape/BoxGeometry.d.ts +0 -28
  1058. package/dist/src/shape/BoxGeometry.js +0 -184
  1059. package/dist/src/shape/CylinderGeometry.d.ts +0 -60
  1060. package/dist/src/shape/CylinderGeometry.js +0 -171
  1061. package/dist/src/shape/PlaneGeometry.d.ts +0 -11
  1062. package/dist/src/shape/PlaneGeometry.js +0 -105
  1063. package/dist/src/shape/SphereGeometry.d.ts +0 -25
  1064. package/dist/src/shape/SphereGeometry.js +0 -102
  1065. package/dist/src/shape/TorusGeometry.d.ts +0 -33
  1066. package/dist/src/shape/TorusGeometry.js +0 -88
  1067. package/dist/src/shape/TrailGeometry.d.ts +0 -18
  1068. package/dist/src/shape/TrailGeometry.js +0 -68
  1069. package/dist/src/shape/TriGeometry.d.ts +0 -13
  1070. package/dist/src/shape/TriGeometry.js +0 -47
  1071. package/dist/src/textures/AtmosphericScatteringSky.d.ts +0 -42
  1072. package/dist/src/textures/AtmosphericScatteringSky.js +0 -97
  1073. package/dist/src/textures/BitmapTexture2D.d.ts +0 -12
  1074. package/dist/src/textures/BitmapTexture2D.js +0 -94
  1075. package/dist/src/textures/BitmapTexture2DArray.d.ts +0 -15
  1076. package/dist/src/textures/BitmapTexture2DArray.js +0 -87
  1077. package/dist/src/textures/BitmapTextureCube.d.ts +0 -14
  1078. package/dist/src/textures/BitmapTextureCube.js +0 -181
  1079. package/dist/src/textures/Depth2DTextureArray.d.ts +0 -9
  1080. package/dist/src/textures/Depth2DTextureArray.js +0 -43
  1081. package/dist/src/textures/DepthCubeArrayTexture.d.ts +0 -9
  1082. package/dist/src/textures/DepthCubeArrayTexture.js +0 -46
  1083. package/dist/src/textures/Float16ArrayTexture.d.ts +0 -28
  1084. package/dist/src/textures/Float16ArrayTexture.js +0 -84
  1085. package/dist/src/textures/Float32ArrayTexture.d.ts +0 -5
  1086. package/dist/src/textures/Float32ArrayTexture.js +0 -61
  1087. package/dist/src/textures/HDRTexture.d.ts +0 -7
  1088. package/dist/src/textures/HDRTexture.js +0 -52
  1089. package/dist/src/textures/HDRTextureCube.d.ts +0 -16
  1090. package/dist/src/textures/HDRTextureCube.js +0 -50
  1091. package/dist/src/textures/LDRTextureCube.d.ts +0 -13
  1092. package/dist/src/textures/LDRTextureCube.js +0 -49
  1093. package/dist/src/textures/RenderTexture.d.ts +0 -12
  1094. package/dist/src/textures/RenderTexture.js +0 -140
  1095. package/dist/src/textures/SolidColorSky.d.ts +0 -11
  1096. package/dist/src/textures/SolidColorSky.js +0 -29
  1097. package/dist/src/textures/TextureCubeFaceData.d.ts +0 -19
  1098. package/dist/src/textures/TextureCubeFaceData.js +0 -55
  1099. package/dist/src/textures/Uint8ArrayTexture.d.ts +0 -6
  1100. package/dist/src/textures/Uint8ArrayTexture.js +0 -63
  1101. package/dist/src/textures/VirtualTexture.d.ts +0 -29
  1102. package/dist/src/textures/VirtualTexture.js +0 -152
  1103. package/dist/src/util/AxisObject.d.ts +0 -11
  1104. package/dist/src/util/AxisObject.js +0 -52
  1105. package/dist/src/util/BoundUtil.d.ts +0 -12
  1106. package/dist/src/util/BoundUtil.js +0 -73
  1107. package/dist/src/util/BytesArray.d.ts +0 -49
  1108. package/dist/src/util/BytesArray.js +0 -257
  1109. package/dist/src/util/CameraUtil.d.ts +0 -10
  1110. package/dist/src/util/CameraUtil.js +0 -62
  1111. package/dist/src/util/Convert.d.ts +0 -1
  1112. package/dist/src/util/Convert.js +0 -24
  1113. package/dist/src/util/GeometryUtil.d.ts +0 -12
  1114. package/dist/src/util/GeometryUtil.js +0 -55
  1115. package/dist/src/util/Global.d.ts +0 -15
  1116. package/dist/src/util/Global.js +0 -57
  1117. package/dist/src/util/GridObject.d.ts +0 -12
  1118. package/dist/src/util/GridObject.js +0 -94
  1119. package/dist/src/util/KelvinUtil.d.ts +0 -40
  1120. package/dist/src/util/KelvinUtil.js +0 -79
  1121. package/dist/src/util/Object3DUtil.d.ts +0 -25
  1122. package/dist/src/util/Object3DUtil.js +0 -121
  1123. package/dist/src/util/ProfilerUtil.d.ts +0 -49
  1124. package/dist/src/util/ProfilerUtil.js +0 -141
  1125. package/dist/src/util/Reference.d.ts +0 -37
  1126. package/dist/src/util/Reference.js +0 -67
  1127. package/dist/src/util/SerializeDecoration.d.ts +0 -9
  1128. package/dist/src/util/SerializeDecoration.js +0 -95
  1129. package/dist/src/util/StringUtil.d.ts +0 -23
  1130. package/dist/src/util/StringUtil.js +0 -250
  1131. package/dist/src/util/Time.d.ts +0 -9
  1132. package/dist/src/util/Time.js +0 -14
  1133. package/dist/src/util/Vector3Ex.d.ts +0 -16
  1134. package/dist/src/util/Vector3Ex.js +0 -84
  1135. package/dist/src/util/ZSorterUtil.d.ts +0 -13
  1136. package/dist/src/util/ZSorterUtil.js +0 -51
  1137. package/dist/src/util/struct/Struct.d.ts +0 -17
  1138. package/dist/src/util/struct/Struct.js +0 -101
  1139. package/dist/src/util/transformUtil/Object3DTransformTools.d.ts +0 -37
  1140. package/dist/src/util/transformUtil/Object3DTransformTools.js +0 -136
  1141. package/dist/src/util/transformUtil/RotationControlComponents.d.ts +0 -21
  1142. package/dist/src/util/transformUtil/RotationControlComponents.js +0 -198
  1143. package/dist/src/util/transformUtil/ScaleControlComponents.d.ts +0 -11
  1144. package/dist/src/util/transformUtil/ScaleControlComponents.js +0 -132
  1145. package/dist/src/util/transformUtil/TransformAxisEnum.d.ts +0 -11
  1146. package/dist/src/util/transformUtil/TransformAxisEnum.js +0 -12
  1147. package/dist/src/util/transformUtil/TransformControllerBaseComponent.d.ts +0 -48
  1148. package/dist/src/util/transformUtil/TransformControllerBaseComponent.js +0 -283
  1149. package/dist/src/util/transformUtil/TransformMode.d.ts +0 -6
  1150. package/dist/src/util/transformUtil/TransformMode.js +0 -7
  1151. package/dist/src/util/transformUtil/TransformSpaceMode.d.ts +0 -4
  1152. package/dist/src/util/transformUtil/TransformSpaceMode.js +0 -5
  1153. package/dist/src/util/transformUtil/TranslationControlComponents.d.ts +0 -12
  1154. package/dist/src/util/transformUtil/TranslationControlComponents.js +0 -164
@@ -1,2571 +0,0 @@
1
- import { CreateFloatArray, WasmMatrix, } from "@rings/wasm-matrix/WasmMatrix";
2
- import { DEGREES_TO_RADIANS, clamp, RADIANS_TO_DEGREES } from "./MathUtil";
3
- import { Orientation3D } from "./Orientation3D";
4
- import { Quaternion } from "./Quaternion";
5
- import { Vector3 } from "./Vector3";
6
- const EPSILON = 0.000001;
7
- /**
8
- * math 4*4 matrix
9
- * @group Math
10
- */
11
- export class Matrix4 {
12
- /**
13
- * matrix44 bytes block size
14
- */
15
- static { this.blockBytes = 16 * 4; }
16
- /**
17
- * @internal
18
- */
19
- static { this.block = 16; }
20
- /**
21
- * matrix do total count
22
- */
23
- static { this.allocCount = 1000; }
24
- /**
25
- * quantity allocated for each capacity expansion
26
- */
27
- static { this.allocOnceCount = 1000; }
28
- /**
29
- * matrix has max limit count
30
- */
31
- static { this.maxCount = 50 * 10000; }
32
- /**
33
- * current matrix use count
34
- */
35
- static { this.useCount = 0; }
36
- /**
37
- * @internal
38
- * wasm use memory use first ptr
39
- */
40
- static { this.wasmMatrixPtr = 0; }
41
- static { this._zero = new Vector3(0, 0, 0); }
42
- static { this._one = new Vector3(1, 1, 1); }
43
- static { this._prs = [
44
- new Vector3(),
45
- new Vector3(),
46
- new Vector3(),
47
- ]; }
48
- /**
49
- * alloc web runtime cpu memory totalCount * 4(float) * 4
50
- * init matrix memory by totalCount * 4(float) * 4
51
- * @param count every alloc matrix count
52
- */
53
- /* eslint-disable */
54
- static allocMatrix(allocCount) {
55
- this.allocCount = allocCount;
56
- Matrix4.dynamicMatrixBytes = WasmMatrix.matrixBuffer;
57
- Matrix4.buffer = Matrix4.dynamicMatrixBytes.buffer;
58
- Matrix4.wasmMatrixPtr = WasmMatrix.matrixBufferPtr;
59
- this.dynamicGlobalMatrixRef ||= [];
60
- this.dynamicGlobalMatrixRef.forEach((m) => {
61
- m.offset = Matrix4.wasmMatrixPtr + m.index * Matrix4.blockBytes;
62
- m.rawData = CreateFloatArray(Matrix4.dynamicMatrixBytes.buffer, m.offset, 16);
63
- });
64
- Matrix4.help_matrix_0 ||= new Matrix4();
65
- Matrix4.help_matrix_1 ||= new Matrix4();
66
- Matrix4.help_matrix_2 ||= new Matrix4();
67
- Matrix4.helpMatrix ||= new Matrix4();
68
- Matrix4.helpMatrix2 ||= new Matrix4();
69
- Matrix4._getEulerMatrix ||= new Matrix4();
70
- Matrix4._getEulerMatrix.identity();
71
- }
72
- /**
73
- * create matrix from two direction
74
- * @param fromDirection first direction
75
- * @param toDirection second direction
76
- * @param target ref matrix
77
- * @returns return new one matrix
78
- */
79
- static fromToRotation(fromDirection, toDirection, target) {
80
- target ||= new Matrix4();
81
- target.transformDir(fromDirection, toDirection);
82
- return target;
83
- }
84
- /**
85
- * Generate a matrix (rotate degrees with x,y,z as the center axis)
86
- * @param x x on the central axis
87
- * @param y y on the central axis
88
- * @param z z on the central axis
89
- * @param degrees rotation angle
90
- * @returns Matrix4 result
91
- */
92
- static getAxisRotation(x, y, z, degrees) {
93
- let m = new Matrix4();
94
- let rad = degrees * (Math.PI / 180);
95
- let c = Math.cos(rad);
96
- let s = Math.sin(rad);
97
- let t = 1 - c;
98
- let tmp1, tmp2;
99
- m.rawData[0] = c + x * x * t;
100
- m.rawData[5] = c + y * y * t;
101
- m.rawData[10] = c + z * z * t;
102
- tmp1 = x * y * t;
103
- tmp2 = z * s;
104
- m.rawData[1] = tmp1 + tmp2;
105
- m.rawData[4] = tmp1 - tmp2;
106
- tmp1 = x * z * t;
107
- tmp2 = y * s;
108
- m.rawData[8] = tmp1 + tmp2;
109
- m.rawData[2] = tmp1 - tmp2;
110
- tmp1 = y * z * t;
111
- tmp2 = x * s;
112
- m.rawData[9] = tmp1 - tmp2;
113
- m.rawData[6] = tmp1 + tmp2;
114
- return m;
115
- }
116
- /**
117
- * Arrange the Euler values
118
- * @param euler Euler values
119
- */
120
- static sanitizeEuler(euler) {
121
- Matrix4.makePositive(euler);
122
- }
123
- /**
124
- *
125
- * @param euler
126
- */
127
- static makePositive(euler) {
128
- let negativeFlip = -0.0001;
129
- let positiveFlip = Math.PI * 2.0 - 0.0001;
130
- if (euler.x < negativeFlip) {
131
- euler.x += 2.0 * Math.PI;
132
- }
133
- else if (euler.x > positiveFlip) {
134
- euler.x -= 2.0 * Math.PI;
135
- }
136
- if (euler.y < negativeFlip) {
137
- euler.y += 2.0 * Math.PI;
138
- }
139
- else if (euler.y > positiveFlip) {
140
- euler.y -= 2.0 * Math.PI;
141
- }
142
- if (euler.z < negativeFlip) {
143
- euler.z += 2.0 * Math.PI;
144
- }
145
- else if (euler.z > positiveFlip) {
146
- euler.z -= 2.0 * Math.PI;
147
- }
148
- }
149
- /**
150
- * Convert the matrix to Euler angles
151
- * @param matrix Matrix to be transformed
152
- * @param v euler angle
153
- * @returns
154
- */
155
- static matrixToEuler(matrix, v) {
156
- if (matrix.get(1, 2) < 0.999) {
157
- // some fudge for imprecision
158
- if (matrix.get(1, 2) > -0.999) {
159
- // some fudge for imprecision
160
- v.x = Math.asin(-matrix.get(1, 2));
161
- v.y = Math.atan2(matrix.get(0, 2), matrix.get(2, 2));
162
- v.z = Math.atan2(matrix.get(1, 0), matrix.get(1, 1));
163
- Matrix4.sanitizeEuler(v);
164
- return true;
165
- }
166
- else {
167
- // WARNING. Not unique. YA - ZA = atan2(r01,r00)
168
- v.x = Math.PI * 0.5;
169
- v.y = Math.atan2(matrix.get(0, 1), matrix.get(0, 0));
170
- v.z = 0.0;
171
- Matrix4.sanitizeEuler(v);
172
- return false;
173
- }
174
- }
175
- else {
176
- // WARNING. Not unique. YA + ZA = atan2(-r01,r00)
177
- v.x = -Math.PI * 0.5;
178
- v.y = Math.atan2(-matrix.get(0, 1), matrix.get(0, 0));
179
- v.z = 0.0;
180
- Matrix4.sanitizeEuler(v);
181
- return false;
182
- }
183
- }
184
- /**
185
- * Multiply the world matrix, specifying parameters and results according to the index
186
- * @param aMat Matrix to be multiplied (please specify index)
187
- * @param bMat Matrix to be multiplied (please specify index)
188
- * @param target_Mat Result matrix (get results based on index)
189
- */
190
- static matrixMultiply(aMat, bMat, target_Mat) {
191
- Matrix4.wasm.Matrix_Multiply(aMat.index, bMat.index, target_Mat.index);
192
- }
193
- /**
194
- * World matrix extension, according to the index to specify parameters and results
195
- * @param aMat Matrix to be multiplied (please specify index)
196
- * @param bMat Matrix to be multiplied (please specify index)
197
- * @param target_Mat Result matrix (get results based on index)
198
- */
199
- static matrixAppend(aMat, bMat, target_Mat) {
200
- Matrix4.wasm.Matrix_Append(aMat.index, bMat.index, target_Mat.index);
201
- }
202
- /**
203
- * The Y-axis is rotated between the world matrix, and the parameters and results are specified according to the index
204
- * @param aMat Matrix to be multiplied (please specify index)
205
- * @param bMat Matrix to be multiplied (please specify index)
206
- * @param target_Mat Result matrix (get results based on index)
207
- */
208
- static matrixRotateY(rad, target_Mat) {
209
- Matrix4.wasm.Matrix_Append(rad, target_Mat.index);
210
- }
211
- /**
212
- * Rotate the world matrix, specifying parameters and results according to the index
213
- * @param aMat Matrix to be multiplied (please specify index)
214
- * @param bMat Matrix to be multiplied (please specify index)
215
- * @param target_Mat Result matrix (get results based on index)
216
- */
217
- static matrixRotate(rad, axis, target_Mat) {
218
- Matrix4.wasm.Matrix_Rotate(rad, axis, target_Mat.index);
219
- }
220
- /**
221
- *
222
- * @param local --
223
- */
224
- constructor(doMatrix = false) {
225
- /**
226
- * matrix index at global matrix list
227
- */
228
- this.index = 0;
229
- /**
230
- * @internal
231
- */
232
- this.offset = 0;
233
- // if (doMatrix) {
234
- if (Matrix4.useCount >= Matrix4.allocCount) {
235
- let allocCount = Matrix4.allocCount + Matrix4.allocOnceCount;
236
- import.meta.env.DEV && console.warn(`allocMatrix(${allocCount})`);
237
- WasmMatrix.allocMatrix(allocCount);
238
- }
239
- this.index = Matrix4.useCount;
240
- this.offset = Matrix4.wasmMatrixPtr + this.index * Matrix4.blockBytes;
241
- // if (Matrix4.dynamicGlobalMatrixRef) {
242
- Matrix4.dynamicGlobalMatrixRef[this.index] = this;
243
- Matrix4.useCount++;
244
- this.rawData = CreateFloatArray(Matrix4.dynamicMatrixBytes.buffer, this.offset, 16);
245
- this._position = new Vector3();
246
- this.identity();
247
- }
248
- /**
249
- * current matrix move position and rotation to target
250
- * @param eye eye position
251
- * @param at target position
252
- * @param up normalize axis way
253
- */
254
- lookAt(eye, at, up = Vector3.Y_AXIS) {
255
- let data = this.rawData;
256
- let zAxis = at.subtract(eye, Vector3.HELP_0);
257
- if (zAxis.length === 0) {
258
- zAxis.z = 1;
259
- }
260
- zAxis.normalize();
261
- let xAxis = up.crossProduct(zAxis, Vector3.HELP_1);
262
- if (xAxis.length === 0) {
263
- if (Math.abs(up.z) === 1) {
264
- zAxis.x += 0.0001;
265
- }
266
- else {
267
- zAxis.z -= 0.0001;
268
- }
269
- zAxis.normalize();
270
- xAxis = up.crossProduct(zAxis, Vector3.HELP_1);
271
- }
272
- xAxis.normalize();
273
- let yAxis = zAxis.crossProduct(xAxis, Vector3.HELP_2);
274
- data[0] = xAxis.x;
275
- data[1] = yAxis.x;
276
- data[2] = zAxis.x;
277
- data[3] = 0;
278
- data[4] = xAxis.y;
279
- data[5] = yAxis.y;
280
- data[6] = zAxis.y;
281
- data[7] = 0;
282
- data[8] = xAxis.z;
283
- data[9] = yAxis.z;
284
- data[10] = zAxis.z;
285
- data[11] = 0;
286
- data[12] = -xAxis.dotProduct(eye);
287
- data[13] = -yAxis.dotProduct(eye);
288
- data[14] = -zAxis.dotProduct(eye);
289
- data[15] = 1;
290
- }
291
- static { this.floatArray = new Float64Array(16).fill(0); }
292
- /**
293
- * matrix multiply
294
- * @param mat4 multiply target
295
- */
296
- multiply(mat4) {
297
- let a = this.rawData;
298
- let b = mat4.rawData;
299
- let r = Matrix4.floatArray;
300
- r[0] = a[0] * b[0] + a[1] * b[4] + a[2] * b[8] + a[3] * b[12];
301
- r[1] = a[0] * b[1] + a[1] * b[5] + a[2] * b[9] + a[3] * b[13];
302
- r[2] = a[0] * b[2] + a[1] * b[6] + a[2] * b[10] + a[3] * b[14];
303
- r[3] = a[0] * b[3] + a[1] * b[7] + a[2] * b[11] + a[3] * b[15];
304
- r[4] = a[4] * b[0] + a[5] * b[4] + a[6] * b[8] + a[7] * b[12];
305
- r[5] = a[4] * b[1] + a[5] * b[5] + a[6] * b[9] + a[7] * b[13];
306
- r[6] = a[4] * b[2] + a[5] * b[6] + a[6] * b[10] + a[7] * b[14];
307
- r[7] = a[4] * b[3] + a[5] * b[7] + a[6] * b[11] + a[7] * b[15];
308
- r[8] = a[8] * b[0] + a[9] * b[4] + a[10] * b[8] + a[11] * b[12];
309
- r[9] = a[8] * b[1] + a[9] * b[5] + a[10] * b[9] + a[11] * b[13];
310
- r[10] = a[8] * b[2] + a[9] * b[6] + a[10] * b[10] + a[11] * b[14];
311
- r[11] = a[8] * b[3] + a[9] * b[7] + a[10] * b[11] + a[11] * b[15];
312
- r[12] = a[12] * b[0] + a[13] * b[4] + a[14] * b[8] + a[15] * b[12];
313
- r[13] = a[12] * b[1] + a[13] * b[5] + a[14] * b[9] + a[15] * b[13];
314
- r[14] = a[12] * b[2] + a[13] * b[6] + a[14] * b[10] + a[15] * b[14];
315
- r[15] = a[12] * b[3] + a[13] * b[7] + a[14] * b[11] + a[15] * b[15];
316
- a[0] = r[0];
317
- a[1] = r[1];
318
- a[2] = r[2];
319
- a[3] = r[3];
320
- a[4] = r[4];
321
- a[5] = r[5];
322
- a[6] = r[6];
323
- a[7] = r[7];
324
- a[8] = r[8];
325
- a[9] = r[9];
326
- a[10] = r[10];
327
- a[11] = r[11];
328
- a[12] = r[12];
329
- a[13] = r[13];
330
- a[14] = r[14];
331
- a[15] = r[15];
332
- }
333
- /**
334
- *
335
- * @param a
336
- * @param b
337
- * @returns
338
- */
339
- multiplyMatrices(a, b) {
340
- const ae = a.rawData;
341
- const be = b.rawData;
342
- const te = this.rawData;
343
- const a11 = ae[0], a12 = ae[4], a13 = ae[8], a14 = ae[12];
344
- const a21 = ae[1], a22 = ae[5], a23 = ae[9], a24 = ae[13];
345
- const a31 = ae[2], a32 = ae[6], a33 = ae[10], a34 = ae[14];
346
- const a41 = ae[3], a42 = ae[7], a43 = ae[11], a44 = ae[15];
347
- const b11 = be[0], b12 = be[4], b13 = be[8], b14 = be[12];
348
- const b21 = be[1], b22 = be[5], b23 = be[9], b24 = be[13];
349
- const b31 = be[2], b32 = be[6], b33 = be[10], b34 = be[14];
350
- const b41 = be[3], b42 = be[7], b43 = be[11], b44 = be[15];
351
- te[0] = a11 * b11 + a12 * b21 + a13 * b31 + a14 * b41;
352
- te[4] = a11 * b12 + a12 * b22 + a13 * b32 + a14 * b42;
353
- te[8] = a11 * b13 + a12 * b23 + a13 * b33 + a14 * b43;
354
- te[12] = a11 * b14 + a12 * b24 + a13 * b34 + a14 * b44;
355
- te[1] = a21 * b11 + a22 * b21 + a23 * b31 + a24 * b41;
356
- te[5] = a21 * b12 + a22 * b22 + a23 * b32 + a24 * b42;
357
- te[9] = a21 * b13 + a22 * b23 + a23 * b33 + a24 * b43;
358
- te[13] = a21 * b14 + a22 * b24 + a23 * b34 + a24 * b44;
359
- te[2] = a31 * b11 + a32 * b21 + a33 * b31 + a34 * b41;
360
- te[6] = a31 * b12 + a32 * b22 + a33 * b32 + a34 * b42;
361
- te[10] = a31 * b13 + a32 * b23 + a33 * b33 + a34 * b43;
362
- te[14] = a31 * b14 + a32 * b24 + a33 * b34 + a34 * b44;
363
- te[3] = a41 * b11 + a42 * b21 + a43 * b31 + a44 * b41;
364
- te[7] = a41 * b12 + a42 * b22 + a43 * b32 + a44 * b42;
365
- te[11] = a41 * b13 + a42 * b23 + a43 * b33 + a44 * b43;
366
- te[15] = a41 * b14 + a42 * b24 + a43 * b34 + a44 * b44;
367
- return this;
368
- }
369
- /**
370
- * convert a vector3 to this matrix space
371
- * if output not set , return a new one
372
- * @param v target vector3
373
- * @param output save target
374
- * @returns save target
375
- */
376
- multiplyPoint3(v, output) {
377
- output ||= new Vector3();
378
- let rawData = this.rawData;
379
- output.x =
380
- rawData[0] * v.x + rawData[4] * v.y + rawData[8] * v.z + rawData[12];
381
- output.y =
382
- rawData[1] * v.x + rawData[5] * v.y + rawData[9] * v.z + rawData[13];
383
- output.z =
384
- rawData[2] * v.x + rawData[6] * v.y + rawData[10] * v.z + rawData[14];
385
- return output;
386
- }
387
- multiplyVector4(a, out) {
388
- out ||= new Vector3();
389
- let m = this.rawData;
390
- let x = a.x;
391
- let y = a.y;
392
- let z = a.z;
393
- let w = m[3] * x + m[7] * y + m[11] * z + m[15];
394
- w = w || 1.0;
395
- out.x = (m[0] * x + m[4] * y + m[8] * z + m[12]) / w;
396
- out.y = (m[1] * x + m[5] * y + m[9] * z + m[13]) / w;
397
- out.z = (m[2] * x + m[6] * y + m[10] * z + m[14]) / w;
398
- out.w = 1;
399
- return out;
400
- }
401
- /**
402
- * convert a vector3 to this matrix space
403
- * if output not set , return a new one
404
- * @param v convert target
405
- * @param target ref one vector3
406
- * @returns Vector3
407
- */
408
- transformVector4(v, target) {
409
- let data = this.rawData;
410
- target ||= new Vector3();
411
- let x = v.x;
412
- let y = v.y;
413
- let z = v.z;
414
- let w = v.w;
415
- target.x = x * data[0] + y * data[4] + z * data[8] + w * data[12];
416
- target.y = x * data[1] + y * data[5] + z * data[9] + w * data[13];
417
- target.z = x * data[2] + y * data[6] + z * data[10] + w * data[14];
418
- target.w = x * data[3] + y * data[7] + z * data[11] + w * data[15];
419
- return target;
420
- }
421
- /**
422
- * Convert projection coordinates to 3D coordinates
423
- * @param v vector3 target
424
- * @param output ref vector3d
425
- * @returns
426
- */
427
- perspectiveMultiplyPoint3(v, output) {
428
- let res = Vector3.HELP_2;
429
- let w;
430
- let rawData = this.rawData;
431
- res.x =
432
- rawData[0] * v.x + rawData[4] * v.y + rawData[8] * v.z + rawData[12];
433
- res.y =
434
- rawData[1] * v.x + rawData[5] * v.y + rawData[9] * v.z + rawData[13];
435
- res.z =
436
- rawData[2] * v.x + rawData[6] * v.y + rawData[10] * v.z + rawData[14];
437
- w = rawData[3] * v.x + rawData[7] * v.y + rawData[11] * v.z + rawData[15];
438
- if (Math.abs(w) > 1.0e-7) {
439
- let invW = 1.0 / w;
440
- output.x = res.x * invW;
441
- output.y = res.y * invW;
442
- output.z = res.z * invW;
443
- return true;
444
- }
445
- else {
446
- output.x = 0.0;
447
- output.y = 0.0;
448
- output.z = 0.0;
449
- return false;
450
- }
451
- }
452
- /**
453
- * set matrix perspective
454
- * @param fov perspective angle 0 ~ 90
455
- * @param aspect aspect ratio
456
- * @param zn near plane
457
- * @param zf far plane
458
- */
459
- perspective(fov, aspect, zn, zf) {
460
- let data = this.rawData;
461
- let angle = (fov * DEGREES_TO_RADIANS) / 2.0;
462
- let f = Math.cos(angle) / Math.sin(angle);
463
- // 0.5 / tan
464
- data[0] = -f / aspect;
465
- // data[0] = xScale;
466
- data[1] = 0;
467
- data[2] = 0;
468
- data[3] = 0;
469
- data[4] = 0;
470
- data[5] = f;
471
- data[6] = 0;
472
- data[7] = 0;
473
- data[8] = 0;
474
- data[9] = 0;
475
- data[10] = zf / (zf - zn);
476
- data[11] = 1;
477
- data[12] = 0;
478
- data[13] = 0;
479
- data[14] = (-zn * zf) / (zf - zn);
480
- data[15] = 0;
481
- }
482
- perspective3(fov, aspect, near, far) {
483
- let y = Math.tan((fov * Math.PI) / 360) * near;
484
- let x = y * aspect;
485
- this.frustum(-x, x, -y, y, near, far);
486
- }
487
- frustum(l, r, b, t, n, f) {
488
- let m = this.rawData;
489
- m[0] = (-2 * n) / (r - l);
490
- m[1] = 0;
491
- m[2] = 0;
492
- m[3] = 0;
493
- m[4] = 0;
494
- m[5] = (2 * n) / (t - b);
495
- m[6] = 0;
496
- m[7] = 0;
497
- m[8] = (r + l) / (r - l);
498
- m[9] = (t + b) / (t - b);
499
- m[10] = f / (f - n);
500
- m[11] = 1;
501
- m[12] = 0;
502
- m[13] = 0;
503
- m[14] = (-f * n) / (f - n);
504
- m[15] = 0;
505
- }
506
- /**
507
- * set matrix orthogonal projection
508
- * @param w screen width
509
- * @param h screen height
510
- * @param zn camera near plane
511
- * @param zf camera far plane
512
- * @returns this matrix
513
- */
514
- ortho(w, h, zn, zf) {
515
- let data = this.rawData;
516
- data[0] = 2 / w;
517
- data[1] = 0;
518
- data[2] = 0;
519
- data[3] = 0;
520
- data[4] = 0;
521
- data[5] = 2 / h;
522
- data[6] = 0;
523
- data[7] = 0;
524
- data[8] = 0;
525
- data[9] = 0;
526
- data[10] = 1 / (zf - zn);
527
- data[11] = 0;
528
- data[12] = 0;
529
- data[13] = 0;
530
- data[14] = zn / (zn - zf);
531
- data[15] = 1;
532
- return this;
533
- }
534
- /**
535
- * set matrix orthogonal projection by view side
536
- * @param left orthogonal view left
537
- * @param right orthogonal view right
538
- * @param bottom orthogonal view bottom
539
- * @param top orthogonal view top
540
- * @param near camera near plane
541
- * @param far camera far plane
542
- * @returns this matrix
543
- */
544
- orthoZO(left, right, bottom, top, near, far) {
545
- let data = this.rawData;
546
- let lr = 1 / (left - right);
547
- let bt = 1 / (bottom - top);
548
- let nf = 1 / (near - far);
549
- data[0] = -2 * lr;
550
- data[1] = 0;
551
- data[2] = 0;
552
- data[3] = 0;
553
- data[4] = 0;
554
- data[5] = -2 * bt;
555
- data[6] = 0;
556
- data[7] = 0;
557
- data[8] = 0;
558
- data[9] = 0;
559
- data[10] = nf;
560
- data[11] = 0;
561
- data[12] = (left + right) * lr;
562
- data[13] = (top + bottom) * bt;
563
- data[14] = near * nf;
564
- data[15] = 1;
565
- return this;
566
- }
567
- /**
568
- * set matrix orthogonal projection by view center
569
- */
570
- orthoOffCenter(l, r, b, t, zn, zf) {
571
- let data = this.rawData;
572
- data[0] = 2 / (r - l);
573
- data[1] = 0;
574
- data[2] = 0;
575
- data[3] = 0;
576
- data[4] = 0;
577
- data[5] = 2 / (t - b);
578
- data[6] = 0;
579
- data[7] = 0;
580
- data[8] = 0;
581
- data[9] = 0;
582
- data[10] = 1.0 / (zf - zn);
583
- data[11] = 0;
584
- data[12] = (l + r) / (l - r);
585
- data[13] = (t + b) / (b - t);
586
- data[14] = zn / (zn - zf);
587
- data[15] = 1;
588
- }
589
- /**
590
- * set matrix from two direction
591
- * @param fromDirection first direction
592
- * @param toDirection second direction
593
- */
594
- transformDir(fromDirection, toDirection) {
595
- let data = this.rawData;
596
- let EPSILON = 0.000001;
597
- let v = Vector3.ZERO;
598
- toDirection.crossProduct(fromDirection, v);
599
- let e = toDirection.dotProduct(fromDirection);
600
- if (e > 1.0 - EPSILON) {
601
- this.identity();
602
- }
603
- else if (e < -1.0 + EPSILON) {
604
- let up = Vector3.HELP_1;
605
- let left = Vector3.HELP_2; //
606
- let invLen = 0;
607
- let fxx;
608
- let fyy;
609
- let fzz;
610
- let fxy;
611
- let fxz;
612
- let fyz;
613
- let uxx;
614
- let uyy;
615
- let uzz;
616
- let uxy;
617
- let uxz;
618
- let uyz;
619
- let lxx;
620
- let lyy;
621
- let lzz;
622
- let lxy;
623
- let lxz;
624
- let lyz;
625
- left.x = 0.0;
626
- left.y = fromDirection.z;
627
- left.z = -fromDirection.y;
628
- if (left.dotProduct(left) < EPSILON) {
629
- left.x = -fromDirection.z;
630
- left.y = 0.0;
631
- left.z = fromDirection.x;
632
- }
633
- /* normalize "left" */
634
- invLen = 1.0 / Math.sqrt(left.dotProduct(left));
635
- left.x *= invLen;
636
- left.y *= invLen;
637
- left.z *= invLen;
638
- left.crossProduct(fromDirection, up);
639
- fxx = -fromDirection.x * fromDirection.x;
640
- fyy = -fromDirection.y * fromDirection.y;
641
- fzz = -fromDirection.z * fromDirection.z;
642
- fxy = -fromDirection.x * fromDirection.y;
643
- fxz = -fromDirection.x * fromDirection.z;
644
- fyz = -fromDirection.y * fromDirection.z;
645
- uxx = up.x * up.x;
646
- uyy = up.y * up.y;
647
- uzz = up.z * up.z;
648
- uxy = up.x * up.y;
649
- uxz = up.x * up.z;
650
- uyz = up.y * up.z;
651
- lxx = -left.x * left.x;
652
- lyy = -left.y * left.y;
653
- lzz = -left.z * left.z;
654
- lxy = -left.x * left.y;
655
- lxz = -left.x * left.z;
656
- lyz = -left.y * left.z;
657
- data[0] = fxx + uxx + lxx;
658
- data[1] = fxy + uxy + lxy;
659
- data[2] = fxz + uxz + lxz;
660
- data[4] = data[1];
661
- data[5] = fyy + uyy + lyy;
662
- data[6] = fyz + uyz + lyz;
663
- data[8] = data[2];
664
- data[9] = data[6];
665
- data[10] = fzz + uzz + lzz;
666
- data[3] = 0;
667
- data[7] = 0;
668
- data[11] = 0;
669
- data[15] = 1;
670
- }
671
- else {
672
- let hvx;
673
- let hvz;
674
- let hvxy;
675
- let hvxz;
676
- let hvyz;
677
- let v2 = v.dotProduct(v);
678
- let h = (1.0 - e) / v2;
679
- hvx = h * v.x;
680
- hvz = h * v.z;
681
- hvxy = hvx * v.y;
682
- hvxz = hvx * v.z;
683
- hvyz = hvz * v.y;
684
- data[0] = e + hvx * v.x;
685
- data[1] = hvxy - v.z;
686
- data[2] = hvxz + v.y;
687
- data[4] = hvxy + v.z;
688
- data[5] = e + h * v.y * v.y;
689
- data[6] = hvyz - v.x;
690
- data[8] = hvxz - v.y;
691
- data[9] = hvyz + v.x;
692
- data[10] = e + hvz * v.z;
693
- data[3] = 0;
694
- data[7] = 0;
695
- data[11] = 0;
696
- data[15] = 1;
697
- }
698
- return this;
699
- }
700
- /**
701
- * multiply matrix a b
702
- * @param lhs target matrix
703
- */
704
- append(lhs) {
705
- let data = this.rawData;
706
- let m111 = data[0];
707
- let m121 = data[4];
708
- let m131 = data[8];
709
- let m141 = data[12];
710
- let m112 = data[1];
711
- let m122 = data[5];
712
- let m132 = data[9];
713
- let m142 = data[13];
714
- let m113 = data[2];
715
- let m123 = data[6];
716
- let m133 = data[10];
717
- let m143 = data[14];
718
- let m114 = data[3];
719
- let m124 = data[7];
720
- let m134 = data[11];
721
- let m144 = data[15];
722
- data[0] =
723
- m111 * lhs.rawData[0] +
724
- m112 * lhs.rawData[4] +
725
- m113 * lhs.rawData[8] +
726
- m114 * lhs.rawData[12];
727
- data[1] =
728
- m111 * lhs.rawData[1] +
729
- m112 * lhs.rawData[5] +
730
- m113 * lhs.rawData[9] +
731
- m114 * lhs.rawData[13];
732
- data[2] =
733
- m111 * lhs.rawData[2] +
734
- m112 * lhs.rawData[6] +
735
- m113 * lhs.rawData[10] +
736
- m114 * lhs.rawData[14];
737
- data[3] =
738
- m111 * lhs.rawData[3] +
739
- m112 * lhs.rawData[7] +
740
- m113 * lhs.rawData[11] +
741
- m114 * lhs.rawData[15];
742
- data[4] =
743
- m121 * lhs.rawData[0] +
744
- m122 * lhs.rawData[4] +
745
- m123 * lhs.rawData[8] +
746
- m124 * lhs.rawData[12];
747
- data[5] =
748
- m121 * lhs.rawData[1] +
749
- m122 * lhs.rawData[5] +
750
- m123 * lhs.rawData[9] +
751
- m124 * lhs.rawData[13];
752
- data[6] =
753
- m121 * lhs.rawData[2] +
754
- m122 * lhs.rawData[6] +
755
- m123 * lhs.rawData[10] +
756
- m124 * lhs.rawData[14];
757
- data[7] =
758
- m121 * lhs.rawData[3] +
759
- m122 * lhs.rawData[7] +
760
- m123 * lhs.rawData[11] +
761
- m124 * lhs.rawData[15];
762
- data[8] =
763
- m131 * lhs.rawData[0] +
764
- m132 * lhs.rawData[4] +
765
- m133 * lhs.rawData[8] +
766
- m134 * lhs.rawData[12];
767
- data[9] =
768
- m131 * lhs.rawData[1] +
769
- m132 * lhs.rawData[5] +
770
- m133 * lhs.rawData[9] +
771
- m134 * lhs.rawData[13];
772
- data[10] =
773
- m131 * lhs.rawData[2] +
774
- m132 * lhs.rawData[6] +
775
- m133 * lhs.rawData[10] +
776
- m134 * lhs.rawData[14];
777
- data[11] =
778
- m131 * lhs.rawData[3] +
779
- m132 * lhs.rawData[7] +
780
- m133 * lhs.rawData[11] +
781
- m134 * lhs.rawData[15];
782
- data[12] =
783
- m141 * lhs.rawData[0] +
784
- m142 * lhs.rawData[4] +
785
- m143 * lhs.rawData[8] +
786
- m144 * lhs.rawData[12];
787
- data[13] =
788
- m141 * lhs.rawData[1] +
789
- m142 * lhs.rawData[5] +
790
- m143 * lhs.rawData[9] +
791
- m144 * lhs.rawData[13];
792
- data[14] =
793
- m141 * lhs.rawData[2] +
794
- m142 * lhs.rawData[6] +
795
- m143 * lhs.rawData[10] +
796
- m144 * lhs.rawData[14];
797
- data[15] =
798
- m141 * lhs.rawData[3] +
799
- m142 * lhs.rawData[7] +
800
- m143 * lhs.rawData[11] +
801
- m144 * lhs.rawData[15];
802
- }
803
- /**
804
- * matrix a add matrix b
805
- * @param lhs target matrix.
806
- * @returns Matrix4 result.
807
- */
808
- add(lhs) {
809
- let data = this.rawData;
810
- let m111 = data[0];
811
- let m121 = data[4];
812
- let m131 = data[8];
813
- let m141 = data[12];
814
- let m112 = data[1];
815
- let m122 = data[5];
816
- let m132 = data[9];
817
- let m142 = data[13];
818
- let m113 = data[2];
819
- let m123 = data[6];
820
- let m133 = data[10];
821
- let m143 = data[14];
822
- let m114 = data[3];
823
- let m124 = data[7];
824
- let m134 = data[11];
825
- let m144 = data[15];
826
- let m211 = lhs.rawData[0];
827
- let m221 = lhs.rawData[4];
828
- let m231 = lhs.rawData[8];
829
- let m241 = lhs.rawData[12];
830
- let m212 = lhs.rawData[1];
831
- let m222 = lhs.rawData[5];
832
- let m232 = lhs.rawData[9];
833
- let m242 = lhs.rawData[13];
834
- let m213 = lhs.rawData[2];
835
- let m223 = lhs.rawData[6];
836
- let m233 = lhs.rawData[10];
837
- let m243 = lhs.rawData[14];
838
- let m214 = lhs.rawData[3];
839
- let m224 = lhs.rawData[7];
840
- let m234 = lhs.rawData[11];
841
- let m244 = lhs.rawData[15];
842
- data[0] = m111 + m211;
843
- data[1] = m112 + m212;
844
- data[2] = m113 + m213;
845
- data[3] = m114 + m214;
846
- data[4] = m121 + m221;
847
- data[5] = m122 + m222;
848
- data[6] = m123 + m223;
849
- data[7] = m124 + m224;
850
- data[8] = m131 + m231;
851
- data[9] = m132 + m232;
852
- data[10] = m133 + m233;
853
- data[11] = m134 + m234;
854
- data[12] = m141 + m241;
855
- data[13] = m142 + m242;
856
- data[14] = m143 + m243;
857
- data[15] = m144 + m244;
858
- return this;
859
- }
860
- /**
861
- * matrix a sub matrix b
862
- * @param lhs target matrix b.
863
- * @returns Matrix4 .
864
- */
865
- sub(lhs) {
866
- let data = this.rawData;
867
- let m111 = data[0];
868
- let m121 = data[4];
869
- let m131 = data[8];
870
- let m141 = data[12];
871
- let m112 = data[1];
872
- let m122 = data[5];
873
- let m132 = data[9];
874
- let m142 = data[13];
875
- let m113 = data[2];
876
- let m123 = data[6];
877
- let m133 = data[10];
878
- let m143 = data[14];
879
- let m114 = data[3];
880
- let m124 = data[7];
881
- let m134 = data[11];
882
- let m144 = data[15];
883
- let m211 = lhs.rawData[0];
884
- let m221 = lhs.rawData[4];
885
- let m231 = lhs.rawData[8];
886
- let m241 = lhs.rawData[12];
887
- let m212 = lhs.rawData[1];
888
- let m222 = lhs.rawData[5];
889
- let m232 = lhs.rawData[9];
890
- let m242 = lhs.rawData[13];
891
- let m213 = lhs.rawData[2];
892
- let m223 = lhs.rawData[6];
893
- let m233 = lhs.rawData[10];
894
- let m243 = lhs.rawData[14];
895
- let m214 = lhs.rawData[3];
896
- let m224 = lhs.rawData[7];
897
- let m234 = lhs.rawData[11];
898
- let m244 = lhs.rawData[15];
899
- data[0] = m111 - m211;
900
- data[1] = m112 - m212;
901
- data[2] = m113 - m213;
902
- data[3] = m114 - m214;
903
- data[4] = m121 - m221;
904
- data[5] = m122 - m222;
905
- data[6] = m123 - m223;
906
- data[7] = m124 - m224;
907
- data[8] = m131 - m231;
908
- data[9] = m132 - m232;
909
- data[10] = m133 - m233;
910
- data[11] = m134 - m234;
911
- data[12] = m141 - m241;
912
- data[13] = m142 - m242;
913
- data[14] = m143 - m243;
914
- data[15] = m144 - m244;
915
- return this;
916
- }
917
- /**
918
- * Matrix times components.
919
- * @param v This matrix is going to be multiplied by this value
920
- * @returns Matrix4 Returns a multiplicative result matrix.
921
- */
922
- mult(v) {
923
- let data = this.rawData;
924
- data[0] *= v;
925
- data[1] *= v;
926
- data[2] *= v;
927
- data[3] *= v;
928
- data[4] *= v;
929
- data[5] *= v;
930
- data[6] *= v;
931
- data[7] *= v;
932
- data[8] *= v;
933
- data[9] *= v;
934
- data[10] *= v;
935
- data[11] *= v;
936
- data[12] *= v;
937
- data[13] *= v;
938
- data[14] *= v;
939
- data[15] *= v;
940
- return this;
941
- }
942
- appendRotation(degrees, axis) {
943
- let m = Matrix4.getAxisRotation(axis.x, axis.y, axis.z, degrees);
944
- this.append(m);
945
- }
946
- /**
947
- * Create a matrix based on the axis and rotation Angle (the matrix created by rotating the degrees according to the axis)
948
- * @param degrees Angle of rotation.
949
- * @param axis Rotation Angle around axis axis. Axis needs to be specified as the orientation of an axis between x/y/z
950
- */
951
- createByRotation(degrees, axis) {
952
- let tmp = Matrix4.helpMatrix;
953
- let s;
954
- let c;
955
- let angle = degrees * DEGREES_TO_RADIANS;
956
- s = Math.sin(angle);
957
- c = Math.cos(angle);
958
- if (axis.x == 1) {
959
- tmp.rawData[0] = 1.0;
960
- tmp.rawData[1] = 0.0;
961
- tmp.rawData[2] = 0.0;
962
- tmp.rawData[3] = 0.0;
963
- tmp.rawData[4] = 0.0;
964
- tmp.rawData[5] = c;
965
- tmp.rawData[6] = s;
966
- tmp.rawData[7] = 0.0;
967
- tmp.rawData[8] = 0.0;
968
- tmp.rawData[9] = -s;
969
- tmp.rawData[10] = c;
970
- tmp.rawData[11] = 0.0;
971
- tmp.rawData[12] = 0.0;
972
- tmp.rawData[13] = 0.0;
973
- tmp.rawData[14] = 0.0;
974
- tmp.rawData[15] = 1.0;
975
- }
976
- if (axis.y == 1) {
977
- tmp.rawData[0] = c;
978
- tmp.rawData[1] = 0.0;
979
- tmp.rawData[2] = -s;
980
- tmp.rawData[3] = 0.0;
981
- tmp.rawData[4] = 0.0;
982
- tmp.rawData[5] = 1.0;
983
- tmp.rawData[6] = 0.0;
984
- tmp.rawData[7] = 0.0;
985
- tmp.rawData[8] = s;
986
- tmp.rawData[9] = 0.0;
987
- tmp.rawData[10] = c;
988
- tmp.rawData[11] = 0.0;
989
- tmp.rawData[12] = 0.0;
990
- tmp.rawData[13] = 0.0;
991
- tmp.rawData[14] = 0.0;
992
- tmp.rawData[15] = 1.0;
993
- }
994
- if (axis.z == 1) {
995
- tmp.rawData[0] = c;
996
- tmp.rawData[1] = s;
997
- tmp.rawData[2] = 0.0;
998
- tmp.rawData[3] = 0.0;
999
- tmp.rawData[4] = -s;
1000
- tmp.rawData[5] = c;
1001
- tmp.rawData[6] = 0.0;
1002
- tmp.rawData[7] = 0.0;
1003
- tmp.rawData[8] = 0.0;
1004
- tmp.rawData[9] = 0.0;
1005
- tmp.rawData[10] = 1.0;
1006
- tmp.rawData[11] = 0.0;
1007
- tmp.rawData[12] = 0.0;
1008
- tmp.rawData[13] = 0.0;
1009
- tmp.rawData[14] = 0.0;
1010
- tmp.rawData[15] = 1.0;
1011
- }
1012
- this.append(tmp);
1013
- return this;
1014
- }
1015
- /**
1016
- * Append the triaxial scaling value
1017
- * @param xScale x axis scaling
1018
- * @param yScale y axis scaling
1019
- * @param zScale z axis scaling
1020
- */
1021
- appendScale(xScale, yScale, zScale) {
1022
- Matrix4.helpMatrix.createByScale(xScale, yScale, zScale);
1023
- this.append(Matrix4.helpMatrix);
1024
- }
1025
- /**
1026
- * A scaling matrix is generated and other properties are reset
1027
- * @param xScale x axis scaling
1028
- * @param yScale y axis scaling
1029
- * @param zScale z axis scaling
1030
- */
1031
- createByScale(xScale, yScale, zScale) {
1032
- let data = this.rawData;
1033
- data[0] = xScale;
1034
- data[1] = 0.0;
1035
- data[2] = 0.0;
1036
- data[3] = 0.0;
1037
- data[4] = 0.0;
1038
- data[5] = yScale;
1039
- data[6] = 0.0;
1040
- data[7] = 0.0;
1041
- data[8] = 0.0;
1042
- data[9] = 0.0;
1043
- data[10] = zScale;
1044
- data[11] = 0.0;
1045
- data[12] = 0.0;
1046
- data[13] = 0.0;
1047
- data[14] = 0.0;
1048
- data[15] = 1.0;
1049
- }
1050
- /**
1051
- * Plus a translation matrix
1052
- * @param x x axis scaling
1053
- * @param y y axis scaling
1054
- * @param z z axis scaling
1055
- */
1056
- appendTranslation(x, y, z) {
1057
- let data = this.rawData;
1058
- data[12] += x;
1059
- data[13] += y;
1060
- data[14] += z;
1061
- }
1062
- /**
1063
- * Returns a clone of the current matrix
1064
- * @returns Matrix4 The cloned matrix
1065
- */
1066
- clone() {
1067
- let ret = new Matrix4();
1068
- ret.copyFrom(this);
1069
- return ret;
1070
- }
1071
- /**
1072
- * Assigns a value to one row of the current matrix
1073
- * @param row Row of copy
1074
- * @param Vector3 Value of copy
1075
- */
1076
- copyRowFrom(row, Vector3) {
1077
- let data = this.rawData;
1078
- switch (row) {
1079
- case 0:
1080
- data[0] = Vector3.x;
1081
- data[1] = Vector3.y;
1082
- data[2] = Vector3.z;
1083
- data[3] = Vector3.w;
1084
- break;
1085
- case 1:
1086
- data[4] = Vector3.x;
1087
- data[5] = Vector3.y;
1088
- data[6] = Vector3.z;
1089
- data[7] = Vector3.w;
1090
- break;
1091
- case 2:
1092
- data[8] = Vector3.x;
1093
- data[9] = Vector3.y;
1094
- data[10] = Vector3.z;
1095
- data[11] = Vector3.w;
1096
- break;
1097
- case 3:
1098
- data[12] = Vector3.x;
1099
- data[13] = Vector3.y;
1100
- data[14] = Vector3.z;
1101
- data[15] = Vector3.w;
1102
- break;
1103
- default:
1104
- ///throw new ArgumentError("ArgumentError, Column " + column + " out of bounds [0, ..., 3]");
1105
- }
1106
- }
1107
- /**
1108
- * One of the rows in the copy matrix stores the values in Vector3.
1109
- * @param row Row of copy
1110
- * @param Vector3 Copy the storage target
1111
- */
1112
- copyRowTo(row, Vector3) {
1113
- let data = this.rawData;
1114
- switch (row) {
1115
- case 0:
1116
- Vector3.x = data[0];
1117
- Vector3.y = data[1];
1118
- Vector3.z = data[2];
1119
- Vector3.w = data[3];
1120
- break;
1121
- case 1:
1122
- Vector3.x = data[4];
1123
- Vector3.y = data[5];
1124
- Vector3.z = data[6];
1125
- Vector3.w = data[7];
1126
- break;
1127
- case 2:
1128
- Vector3.x = data[8];
1129
- Vector3.y = data[9];
1130
- Vector3.z = data[10];
1131
- Vector3.w = data[11];
1132
- break;
1133
- case 3:
1134
- Vector3.x = data[12];
1135
- Vector3.y = data[13];
1136
- Vector3.z = data[14];
1137
- Vector3.w = data[15];
1138
- break;
1139
- default:
1140
- /// throw new ArgumentError("ArgumentError, Column " + column + " out of bounds [0, ..., 3]");
1141
- }
1142
- }
1143
- /**
1144
- * Assigns the value of a matrix to the current matrix.
1145
- * @param sourceMatrix3D source Matrix
1146
- * @returns Returns the current matrix
1147
- */
1148
- copyFrom(sourceMatrix3D) {
1149
- let data = this.rawData;
1150
- data[0] = sourceMatrix3D.rawData[0];
1151
- data[1] = sourceMatrix3D.rawData[1];
1152
- data[2] = sourceMatrix3D.rawData[2];
1153
- data[3] = sourceMatrix3D.rawData[3];
1154
- data[4] = sourceMatrix3D.rawData[4];
1155
- data[5] = sourceMatrix3D.rawData[5];
1156
- data[6] = sourceMatrix3D.rawData[6];
1157
- data[7] = sourceMatrix3D.rawData[7];
1158
- data[8] = sourceMatrix3D.rawData[8];
1159
- data[9] = sourceMatrix3D.rawData[9];
1160
- data[10] = sourceMatrix3D.rawData[10];
1161
- data[11] = sourceMatrix3D.rawData[11];
1162
- data[12] = sourceMatrix3D.rawData[12];
1163
- data[13] = sourceMatrix3D.rawData[13];
1164
- data[14] = sourceMatrix3D.rawData[14];
1165
- data[15] = sourceMatrix3D.rawData[15];
1166
- return this;
1167
- }
1168
- /**
1169
- * CoMath.PIes the value of the current matrix to a float array.
1170
- * @param vector The target array.
1171
- * @param index copy from the index of the array.
1172
- * @param transpose Whether to transpose the current matrix.
1173
- */
1174
- copyRawDataTo(vector, index = 0, transpose = false) {
1175
- let data = this.rawData;
1176
- vector[0 + index] = data[0];
1177
- vector[1 + index] = data[1];
1178
- vector[2 + index] = data[2];
1179
- vector[3 + index] = data[3];
1180
- vector[4 + index] = data[4];
1181
- vector[5 + index] = data[5];
1182
- vector[6 + index] = data[6];
1183
- vector[7 + index] = data[7];
1184
- vector[8 + index] = data[8];
1185
- vector[9 + index] = data[9];
1186
- vector[10 + index] = data[10];
1187
- vector[11 + index] = data[11];
1188
- vector[12 + index] = data[12];
1189
- vector[13 + index] = data[13];
1190
- vector[14 + index] = data[14];
1191
- vector[15 + index] = data[15];
1192
- }
1193
- /**
1194
- * Assigns a value to a column of the current matrix
1195
- * @param col column
1196
- * @param Vector3 Source of value
1197
- */
1198
- copyColFrom(col, Vector3) {
1199
- let data = this.rawData;
1200
- switch (col) {
1201
- case 0:
1202
- data[0] = Vector3.x;
1203
- data[4] = Vector3.y;
1204
- data[8] = Vector3.z;
1205
- data[12] = Vector3.w;
1206
- break;
1207
- case 1:
1208
- data[1] = Vector3.x;
1209
- data[5] = Vector3.y;
1210
- data[9] = Vector3.z;
1211
- data[13] = Vector3.w;
1212
- break;
1213
- case 2:
1214
- data[2] = Vector3.x;
1215
- data[6] = Vector3.y;
1216
- data[10] = Vector3.z;
1217
- data[14] = Vector3.w;
1218
- break;
1219
- case 3:
1220
- data[3] = Vector3.x;
1221
- data[7] = Vector3.y;
1222
- data[11] = Vector3.z;
1223
- data[15] = Vector3.w;
1224
- break;
1225
- default:
1226
- new Error("no more raw!");
1227
- }
1228
- }
1229
- /**
1230
- * Copy a column of the current matrix
1231
- * @param col column
1232
- * @param Vector3 Target of copy
1233
- */
1234
- copyColTo(col, Vector3) {
1235
- let data = this.rawData;
1236
- switch (col) {
1237
- case 0:
1238
- Vector3.x = data[0];
1239
- Vector3.y = data[4];
1240
- Vector3.z = data[8];
1241
- Vector3.w = data[12];
1242
- break;
1243
- case 1:
1244
- Vector3.x = data[1];
1245
- Vector3.y = data[5];
1246
- Vector3.z = data[9];
1247
- Vector3.w = data[13];
1248
- break;
1249
- case 2:
1250
- Vector3.x = data[2];
1251
- Vector3.y = data[6];
1252
- Vector3.z = data[10];
1253
- Vector3.w = data[14];
1254
- break;
1255
- case 3:
1256
- Vector3.x = data[3];
1257
- Vector3.y = data[7];
1258
- Vector3.z = data[11];
1259
- Vector3.w = data[15];
1260
- break;
1261
- default:
1262
- new Error("no more raw!");
1263
- }
1264
- }
1265
- /**
1266
- * Copy the current matrix
1267
- * @param dest Target of copy
1268
- */
1269
- copyToMatrix3D(dest) {
1270
- dest.rawData = this.rawData.slice(0);
1271
- }
1272
- /**
1273
- * Calculate rotation matrix
1274
- * @param quaternion Rotate the quaternion
1275
- * @returns
1276
- */
1277
- makeRotationFromQuaternion(quaternion) {
1278
- this.compose(Matrix4._zero, quaternion, Matrix4._one);
1279
- return this;
1280
- }
1281
- static { this.decomposeRawData = new Float64Array(16).fill(0); }
1282
- /**
1283
- * Decompose the current matrix
1284
- * @param orientationStyle The default decomposition type is Orientation3D.EULER_ANGLES
1285
- * @see Orientation3D.AXIS_ANGLE
1286
- * @see Orientation3D.EULER_ANGLES
1287
- * @see Orientation3D.QUATERNION
1288
- * @returns Vector3[3] pos rot scale
1289
- */
1290
- decompose(orientationStyle = "eulerAngles", target) {
1291
- let q = Quaternion.CALCULATION_QUATERNION;
1292
- let vec = target ? target : Matrix4._prs;
1293
- this.copyRawDataTo(Matrix4.decomposeRawData);
1294
- let mr = Matrix4.decomposeRawData;
1295
- let pos = vec[0];
1296
- pos.x = mr[12];
1297
- pos.y = mr[13];
1298
- pos.z = mr[14];
1299
- mr[12] = 0;
1300
- mr[13] = 0;
1301
- mr[14] = 0;
1302
- let scale = vec[2];
1303
- scale.x = Math.sqrt(mr[0] * mr[0] + mr[1] * mr[1] + mr[2] * mr[2]);
1304
- scale.y = Math.sqrt(mr[4] * mr[4] + mr[5] * mr[5] + mr[6] * mr[6]);
1305
- scale.z = Math.sqrt(mr[8] * mr[8] + mr[9] * mr[9] + mr[10] * mr[10]);
1306
- if (mr[0] * (mr[5] * mr[10] - mr[6] * mr[9]) -
1307
- mr[1] * (mr[4] * mr[10] - mr[6] * mr[8]) +
1308
- mr[2] * (mr[4] * mr[9] - mr[5] * mr[8]) <
1309
- 0) {
1310
- scale.z = -scale.z;
1311
- }
1312
- mr[0] /= scale.x;
1313
- mr[1] /= scale.x;
1314
- mr[2] /= scale.x;
1315
- mr[4] /= scale.y;
1316
- mr[5] /= scale.y;
1317
- mr[6] /= scale.y;
1318
- mr[8] /= scale.z;
1319
- mr[9] /= scale.z;
1320
- mr[10] /= scale.z;
1321
- let rot = vec[1];
1322
- let tr;
1323
- switch (orientationStyle) {
1324
- case Orientation3D.AXIS_ANGLE:
1325
- rot.w = Math.acos((mr[0] + mr[5] + mr[10] - 1) / 2);
1326
- let len = Math.sqrt((mr[6] - mr[9]) * (mr[6] - mr[9]) +
1327
- (mr[8] - mr[2]) * (mr[8] - mr[2]) +
1328
- (mr[1] - mr[4]) * (mr[1] - mr[4]));
1329
- rot.x = (mr[6] - mr[9]) / len;
1330
- rot.y = (mr[8] - mr[2]) / len;
1331
- rot.z = (mr[1] - mr[4]) / len;
1332
- break;
1333
- case Orientation3D.QUATERNION:
1334
- tr = mr[0] + mr[5] + mr[10];
1335
- if (tr > 0) {
1336
- rot.w = Math.sqrt(1 + tr) / 2;
1337
- rot.x = (mr[6] - mr[9]) / (4 * rot.w);
1338
- rot.y = (mr[8] - mr[2]) / (4 * rot.w);
1339
- rot.z = (mr[1] - mr[4]) / (4 * rot.w);
1340
- }
1341
- else if (mr[0] > mr[5] && mr[0] > mr[10]) {
1342
- rot.x = Math.sqrt(1 + mr[0] - mr[5] - mr[10]) / 2;
1343
- rot.w = (mr[6] - mr[9]) / (4 * rot.x);
1344
- rot.y = (mr[1] + mr[4]) / (4 * rot.x);
1345
- rot.z = (mr[8] + mr[2]) / (4 * rot.x);
1346
- }
1347
- else if (mr[5] > mr[10]) {
1348
- rot.y = Math.sqrt(1 + mr[5] - mr[0] - mr[10]) / 2;
1349
- rot.x = (mr[1] + mr[4]) / (4 * rot.y);
1350
- rot.w = (mr[8] - mr[2]) / (4 * rot.y);
1351
- rot.z = (mr[6] + mr[9]) / (4 * rot.y);
1352
- }
1353
- else {
1354
- rot.z = Math.sqrt(1 + mr[10] - mr[0] - mr[5]) / 2;
1355
- rot.x = (mr[8] + mr[2]) / (4 * rot.z);
1356
- rot.y = (mr[6] + mr[9]) / (4 * rot.z);
1357
- rot.w = (mr[1] - mr[4]) / (4 * rot.z);
1358
- }
1359
- break;
1360
- case Orientation3D.EULER_ANGLES:
1361
- tr = mr[0] + mr[5] + mr[10];
1362
- if (tr > 0) {
1363
- q.w = Math.sqrt(1 + tr) / 2;
1364
- q.x = (mr[6] - mr[9]) / (4 * q.w);
1365
- q.y = (mr[8] - mr[2]) / (4 * q.w);
1366
- q.z = (mr[1] - mr[4]) / (4 * q.w);
1367
- }
1368
- else if (mr[0] > mr[5] && mr[0] > mr[10]) {
1369
- q.x = Math.sqrt(1 + mr[0] - mr[5] - mr[10]) / 2;
1370
- q.w = (mr[6] - mr[9]) / (4 * q.x);
1371
- q.y = (mr[1] + mr[4]) / (4 * q.x);
1372
- q.z = (mr[8] + mr[2]) / (4 * q.x);
1373
- }
1374
- else if (mr[5] > mr[10]) {
1375
- rot.y = Math.sqrt(1 + mr[5] - mr[0] - mr[10]) / 2;
1376
- q.x = (mr[1] + mr[4]) / (4 * q.y);
1377
- q.w = (mr[8] - mr[2]) / (4 * q.y);
1378
- q.z = (mr[6] + mr[9]) / (4 * q.y);
1379
- }
1380
- else {
1381
- q.z = Math.sqrt(1 + mr[10] - mr[0] - mr[5]) / 2;
1382
- q.x = (mr[8] + mr[2]) / (4 * q.z);
1383
- q.y = (mr[6] + mr[9]) / (4 * q.z);
1384
- q.w = (mr[1] - mr[4]) / (4 * q.z);
1385
- }
1386
- q.getEulerAngles(rot);
1387
- break;
1388
- }
1389
- vec[0] = pos;
1390
- vec[1] = rot;
1391
- vec[2] = scale;
1392
- return vec;
1393
- }
1394
- /**
1395
- * Get the Euler vector
1396
- * @param target Vector of results
1397
- * @param quaternion Rotate the quaternion
1398
- * @param isDegree Whether to convert to Angle
1399
- * @param order convert order
1400
- * @returns
1401
- */
1402
- static getEuler(target, quaternion, isDegree = true, order) {
1403
- target ||= new Vector3();
1404
- Matrix4._getEulerMatrix
1405
- .makeRotationFromQuaternion(quaternion)
1406
- .makeEuler(target, isDegree, order);
1407
- return target;
1408
- }
1409
- /**
1410
- * Calculate the combined matrix of displacement, rotation and scaling
1411
- * @param position translation
1412
- * @param quaternion rotation
1413
- * @param scale scale
1414
- * @returns
1415
- */
1416
- compose(position, quaternion, scale) {
1417
- const te = this.rawData;
1418
- const x = quaternion.x;
1419
- const y = quaternion.y;
1420
- const z = quaternion.z;
1421
- const w = quaternion.w;
1422
- const x2 = x + x;
1423
- const y2 = y + y;
1424
- const z2 = z + z;
1425
- const xx = x * x2;
1426
- const xy = x * y2;
1427
- const xz = x * z2;
1428
- const yy = y * y2;
1429
- const yz = y * z2;
1430
- const zz = z * z2;
1431
- const wx = w * x2;
1432
- const wy = w * y2;
1433
- const wz = w * z2;
1434
- const sx = scale.x;
1435
- const sy = scale.y;
1436
- const sz = scale.z;
1437
- te[0] = (1 - (yy + zz)) * sx;
1438
- te[1] = (xy + wz) * sx;
1439
- te[2] = (xz - wy) * sx;
1440
- te[3] = 0;
1441
- te[4] = (xy - wz) * sy;
1442
- te[5] = (1 - (xx + zz)) * sy;
1443
- te[6] = (yz + wx) * sy;
1444
- te[7] = 0;
1445
- te[8] = (xz + wy) * sz;
1446
- te[9] = (yz - wx) * sz;
1447
- te[10] = (1 - (xx + yy)) * sz;
1448
- te[11] = 0;
1449
- te[12] = position.x;
1450
- te[13] = position.y;
1451
- te[14] = position.z;
1452
- te[15] = 1;
1453
- return this;
1454
- }
1455
- /**
1456
- * The current matrix transforms a vector
1457
- * @param v Vector to transform
1458
- * @param target The default is null and if the current argument is null then a new Vector3 will be returned
1459
- * @returns Vector3 The transformed vector
1460
- */
1461
- deltaTransformVector(v, target) {
1462
- target ||= new Vector3();
1463
- let data = this.rawData;
1464
- let x = v.x;
1465
- let y = v.y;
1466
- let z = v.z;
1467
- target.x = x * data[0] + y * data[4] + z * data[8];
1468
- target.y = x * data[1] + y * data[5] + z * data[9];
1469
- target.z = x * data[2] + y * data[6] + z * data[10];
1470
- target.w = x * data[3] + y * data[7] + z * data[11];
1471
- return target;
1472
- }
1473
- /**
1474
- * Unifies the current matrix
1475
- */
1476
- identity() {
1477
- let data = this.rawData;
1478
- //1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1
1479
- data[0] = 1;
1480
- data[1] = 0;
1481
- data[2] = 0;
1482
- data[3] = 0;
1483
- data[4] = 0;
1484
- data[5] = 1;
1485
- data[6] = 0;
1486
- data[7] = 0;
1487
- data[8] = 0;
1488
- data[9] = 0;
1489
- data[10] = 1;
1490
- data[11] = 0;
1491
- data[12] = 0;
1492
- data[13] = 0;
1493
- data[14] = 0;
1494
- data[15] = 1;
1495
- return this;
1496
- }
1497
- /**
1498
- * Fill the current matrix
1499
- * @param value The filled value
1500
- */
1501
- fill(value) {
1502
- let data = this.rawData;
1503
- data[1] = value;
1504
- data[2] = value;
1505
- data[3] = value;
1506
- data[4] = value;
1507
- data[6] = value;
1508
- data[7] = value;
1509
- data[8] = value;
1510
- data[9] = value;
1511
- data[11] = value;
1512
- data[12] = value;
1513
- data[13] = value;
1514
- data[14] = value;
1515
- data[0] = value;
1516
- data[5] = value;
1517
- data[10] = value;
1518
- data[15] = value;
1519
- }
1520
- /**
1521
- * Invert the current matrix
1522
- */
1523
- invers33() {
1524
- /// Invert a 3x3 using cofactors. This is about 8 times faster than
1525
- /// the Numerical Recipes code which uses Gaussian elimination.
1526
- let data = this.rawData;
1527
- let rkInverse_00 = data[5] * data[10] - data[9] * data[6];
1528
- let rkInverse_01 = data[8] * data[6] - data[4] * data[10];
1529
- let rkInverse_02 = data[4] * data[9] - data[8] * data[5];
1530
- let rkInverse_10 = data[9] * data[2] - data[1] * data[10];
1531
- let rkInverse_11 = data[0] * data[10] - data[8] * data[2];
1532
- let rkInverse_12 = data[8] * data[1] - data[0] * data[9];
1533
- let rkInverse_20 = data[1] * data[6] - data[5] * data[2];
1534
- let rkInverse_21 = data[4] * data[2] - data[0] * data[6];
1535
- let rkInverse_22 = data[0] * data[5] - data[4] * data[1];
1536
- let fDet = data[0] * rkInverse_00 + data[4] * rkInverse_10 + data[8] * rkInverse_20;
1537
- if (Math.abs(fDet) > 0.00000000001) {
1538
- let fInvDet = 1.0 / fDet;
1539
- data[0] = fInvDet * rkInverse_00;
1540
- data[4] = fInvDet * rkInverse_01;
1541
- data[8] = fInvDet * rkInverse_02;
1542
- data[1] = fInvDet * rkInverse_10;
1543
- data[5] = fInvDet * rkInverse_11;
1544
- data[9] = fInvDet * rkInverse_12;
1545
- data[2] = fInvDet * rkInverse_20;
1546
- data[6] = fInvDet * rkInverse_21;
1547
- data[10] = fInvDet * rkInverse_22;
1548
- }
1549
- }
1550
- /**
1551
- * Invert the current matrix
1552
- * @returns boolean Whether can invert it
1553
- */
1554
- invert() {
1555
- let d = this.determinant;
1556
- let invertable = Math.abs(d) > 0.00000000001;
1557
- let data = this.rawData;
1558
- if (invertable) {
1559
- d = 1 / d;
1560
- let m11 = data[0];
1561
- let m21 = data[4];
1562
- let m31 = data[8];
1563
- let m41 = data[12];
1564
- let m12 = data[1];
1565
- let m22 = data[5];
1566
- let m32 = data[9];
1567
- let m42 = data[13];
1568
- let m13 = data[2];
1569
- let m23 = data[6];
1570
- let m33 = data[10];
1571
- let m43 = data[14];
1572
- let m14 = data[3];
1573
- let m24 = data[7];
1574
- let m34 = data[11];
1575
- let m44 = data[15];
1576
- data[0] =
1577
- d *
1578
- (m22 * (m33 * m44 - m43 * m34) -
1579
- m32 * (m23 * m44 - m43 * m24) +
1580
- m42 * (m23 * m34 - m33 * m24));
1581
- data[1] =
1582
- -d *
1583
- (m12 * (m33 * m44 - m43 * m34) -
1584
- m32 * (m13 * m44 - m43 * m14) +
1585
- m42 * (m13 * m34 - m33 * m14));
1586
- data[2] =
1587
- d *
1588
- (m12 * (m23 * m44 - m43 * m24) -
1589
- m22 * (m13 * m44 - m43 * m14) +
1590
- m42 * (m13 * m24 - m23 * m14));
1591
- data[3] =
1592
- -d *
1593
- (m12 * (m23 * m34 - m33 * m24) -
1594
- m22 * (m13 * m34 - m33 * m14) +
1595
- m32 * (m13 * m24 - m23 * m14));
1596
- data[4] =
1597
- -d *
1598
- (m21 * (m33 * m44 - m43 * m34) -
1599
- m31 * (m23 * m44 - m43 * m24) +
1600
- m41 * (m23 * m34 - m33 * m24));
1601
- data[5] =
1602
- d *
1603
- (m11 * (m33 * m44 - m43 * m34) -
1604
- m31 * (m13 * m44 - m43 * m14) +
1605
- m41 * (m13 * m34 - m33 * m14));
1606
- data[6] =
1607
- -d *
1608
- (m11 * (m23 * m44 - m43 * m24) -
1609
- m21 * (m13 * m44 - m43 * m14) +
1610
- m41 * (m13 * m24 - m23 * m14));
1611
- data[7] =
1612
- d *
1613
- (m11 * (m23 * m34 - m33 * m24) -
1614
- m21 * (m13 * m34 - m33 * m14) +
1615
- m31 * (m13 * m24 - m23 * m14));
1616
- data[8] =
1617
- d *
1618
- (m21 * (m32 * m44 - m42 * m34) -
1619
- m31 * (m22 * m44 - m42 * m24) +
1620
- m41 * (m22 * m34 - m32 * m24));
1621
- data[9] =
1622
- -d *
1623
- (m11 * (m32 * m44 - m42 * m34) -
1624
- m31 * (m12 * m44 - m42 * m14) +
1625
- m41 * (m12 * m34 - m32 * m14));
1626
- data[10] =
1627
- d *
1628
- (m11 * (m22 * m44 - m42 * m24) -
1629
- m21 * (m12 * m44 - m42 * m14) +
1630
- m41 * (m12 * m24 - m22 * m14));
1631
- data[11] =
1632
- -d *
1633
- (m11 * (m22 * m34 - m32 * m24) -
1634
- m21 * (m12 * m34 - m32 * m14) +
1635
- m31 * (m12 * m24 - m22 * m14));
1636
- data[12] =
1637
- -d *
1638
- (m21 * (m32 * m43 - m42 * m33) -
1639
- m31 * (m22 * m43 - m42 * m23) +
1640
- m41 * (m22 * m33 - m32 * m23));
1641
- data[13] =
1642
- d *
1643
- (m11 * (m32 * m43 - m42 * m33) -
1644
- m31 * (m12 * m43 - m42 * m13) +
1645
- m41 * (m12 * m33 - m32 * m13));
1646
- data[14] =
1647
- -d *
1648
- (m11 * (m22 * m43 - m42 * m23) -
1649
- m21 * (m12 * m43 - m42 * m13) +
1650
- m41 * (m12 * m23 - m22 * m13));
1651
- data[15] =
1652
- d *
1653
- (m11 * (m22 * m33 - m32 * m23) -
1654
- m21 * (m12 * m33 - m32 * m13) +
1655
- m31 * (m12 * m23 - m22 * m13));
1656
- }
1657
- return invertable;
1658
- }
1659
- /**
1660
- * Converts the current coordinates to the world coordinates
1661
- * @param v Current coordinates
1662
- * @param target world coordinate
1663
- * @returns world coordinate
1664
- */
1665
- transformPoint(v, target) {
1666
- let data = this.rawData;
1667
- target ||= new Vector3();
1668
- let x = v.x;
1669
- let y = v.y;
1670
- let z = v.z;
1671
- target.x = x * data[0] + y * data[4] + z * data[8] + data[12];
1672
- target.y = x * data[1] + y * data[5] + z * data[9] + data[13];
1673
- target.z = x * data[2] + y * data[6] + z * data[10] + data[14];
1674
- return target;
1675
- }
1676
- /**
1677
- * Transforming a 3D vector with the current matrix does not deal with displacement
1678
- * @param v Vector of transformation
1679
- * @param target If the current argument is null then a new Vector3 will be returned
1680
- * @returns Vector3 The transformed vector
1681
- */
1682
- transformVector(v, target) {
1683
- let data = this.rawData;
1684
- target ||= new Vector3();
1685
- let x = v.x;
1686
- let y = v.y;
1687
- let z = v.z;
1688
- target.x = x * data[0] + y * data[4] + z * data[8];
1689
- target.y = x * data[1] + y * data[5] + z * data[9];
1690
- target.z = x * data[2] + y * data[6] + z * data[10];
1691
- return target;
1692
- }
1693
- /**
1694
- * The current matrix transpose
1695
- */
1696
- transpose() {
1697
- let data = this.rawData;
1698
- for (let i = 0; i < Matrix4.helpMatrix.rawData.length; i++) {
1699
- Matrix4.helpMatrix.rawData[i] = data[i];
1700
- }
1701
- data[1] = Matrix4.helpMatrix.rawData[4];
1702
- data[2] = Matrix4.helpMatrix.rawData[8];
1703
- data[3] = Matrix4.helpMatrix.rawData[12];
1704
- data[4] = Matrix4.helpMatrix.rawData[1];
1705
- data[6] = Matrix4.helpMatrix.rawData[9];
1706
- data[7] = Matrix4.helpMatrix.rawData[13];
1707
- data[8] = Matrix4.helpMatrix.rawData[2];
1708
- data[9] = Matrix4.helpMatrix.rawData[6];
1709
- data[11] = Matrix4.helpMatrix.rawData[14];
1710
- data[12] = Matrix4.helpMatrix.rawData[3];
1711
- data[13] = Matrix4.helpMatrix.rawData[7];
1712
- data[14] = Matrix4.helpMatrix.rawData[11];
1713
- }
1714
- /**
1715
- * Returns the matrix determinant
1716
- * @returns number determinant
1717
- */
1718
- get determinant() {
1719
- let data = this.rawData;
1720
- return ((data[0] * data[5] - data[4] * data[1]) *
1721
- (data[10] * data[15] - data[14] * data[11]) -
1722
- (data[0] * data[9] - data[8] * data[1]) *
1723
- (data[6] * data[15] - data[14] * data[7]) +
1724
- (data[0] * data[13] - data[12] * data[1]) *
1725
- (data[6] * data[11] - data[10] * data[7]) +
1726
- (data[4] * data[9] - data[8] * data[5]) *
1727
- (data[2] * data[15] - data[14] * data[3]) -
1728
- (data[4] * data[13] - data[12] * data[5]) *
1729
- (data[2] * data[11] - data[10] * data[3]) +
1730
- (data[8] * data[13] - data[12] * data[9]) *
1731
- (data[2] * data[7] - data[6] * data[3]));
1732
- }
1733
- /**
1734
- * Return matrix displacement
1735
- * @param out Position of translation
1736
- * @returns Position of translation
1737
- */
1738
- getPosition(out) {
1739
- out ||= new Vector3();
1740
- let data = this.rawData;
1741
- out.x = data[12];
1742
- out.y = data[13];
1743
- out.z = data[14];
1744
- return out;
1745
- }
1746
- /**
1747
- * Return translation
1748
- * @returns Vector3 Position of translation
1749
- */
1750
- get position() {
1751
- this._position.set(this.rawData[12], this.rawData[13], this.rawData[14]);
1752
- return this._position;
1753
- }
1754
- /**
1755
- * Set Position of translation
1756
- * @param value Position of translation
1757
- */
1758
- set position(value) {
1759
- let data = this.rawData;
1760
- data[12] = value.x;
1761
- data[13] = value.y;
1762
- data[14] = value.z;
1763
- }
1764
- /**
1765
- * get Component of scale
1766
- *
1767
- * @returns Vector3 scale
1768
- */
1769
- get scale() {
1770
- let data = this.rawData;
1771
- return new Vector3(data[0], data[5], data[10]);
1772
- }
1773
- /**
1774
- * Set component of scale
1775
- */
1776
- set scale(value) {
1777
- let data = this.rawData;
1778
- data[0] = value.x;
1779
- data[5] = value.y;
1780
- data[10] = value.z;
1781
- }
1782
- // public setWorldTrans( pos:Vector3 , rotQ:Quaternion,scale:Vector3 = Vector3.SCALE){
1783
- // this.makeTransform(pos,scale,rotQ);
1784
- // }
1785
- /**
1786
- * Returns the value of the matrix as a string
1787
- *
1788
- * @returns string
1789
- */
1790
- toString() {
1791
- let data = this.rawData;
1792
- return ("matrix3d(" +
1793
- Math.round(data[0] * 1000) / 1000 +
1794
- "," +
1795
- Math.round(data[1] * 1000) / 1000 +
1796
- "," +
1797
- Math.round(data[2] * 1000) / 1000 +
1798
- "," +
1799
- Math.round(data[3] * 1000) / 1000 +
1800
- "," +
1801
- Math.round(data[4] * 1000) / 1000 +
1802
- "," +
1803
- Math.round(data[5] * 1000) / 1000 +
1804
- "," +
1805
- Math.round(data[6] * 1000) / 1000 +
1806
- "," +
1807
- Math.round(data[7] * 1000) / 1000 +
1808
- "," +
1809
- Math.round(data[8] * 1000) / 1000 +
1810
- "," +
1811
- Math.round(data[9] * 1000) / 1000 +
1812
- "," +
1813
- Math.round(data[10] * 1000) / 1000 +
1814
- "," +
1815
- Math.round(data[11] * 1000) / 1000 +
1816
- "," +
1817
- Math.round(data[12] * 1000) / 1000 +
1818
- "," +
1819
- Math.round(data[13] * 1000) / 1000 +
1820
- "," +
1821
- Math.round(data[14] * 1000) / 1000 +
1822
- "," +
1823
- Math.round(data[15] * 1000) / 1000 +
1824
- ")");
1825
- }
1826
- /**
1827
- * Interpolate between two matrices
1828
- * @param m0 Matrix 0
1829
- * @param m1 Matrix 1
1830
- * @param t Factor of interpolation 0.0 - 1.0
1831
- */
1832
- lerp(m0, m1, t) {
1833
- ///t(m1 - m0) + m0
1834
- this.copyFrom(m1).sub(m0).mult(t).add(m0);
1835
- }
1836
- /**
1837
- * Read matrix element values
1838
- * @param row row
1839
- * @param column column
1840
- * @returns
1841
- */
1842
- get(row, column) {
1843
- return this.rawData[row + column * 4];
1844
- }
1845
- /**
1846
- * Sets the matrix element values
1847
- * @param row row
1848
- * @param column column
1849
- * @param v value
1850
- */
1851
- set(row, column, v) {
1852
- this.rawData[row + column * 4] = v;
1853
- }
1854
- /**
1855
- * Get the maximum value of the matrix scaled on each axis
1856
- */
1857
- getMaxScaleOnAxis() {
1858
- let te = this.rawData;
1859
- let scaleXSq = te[0] * te[0] + te[1] * te[1] + te[2] * te[2];
1860
- let scaleYSq = te[4] * te[4] + te[5] * te[5] + te[6] * te[6];
1861
- let scaleZSq = te[8] * te[8] + te[9] * te[9] + te[10] * te[10];
1862
- return Math.sqrt(Math.max(scaleXSq, scaleYSq, scaleZSq));
1863
- }
1864
- /**
1865
- * Calculate the displacement from the vector
1866
- * @param inTrans Vector
1867
- * @returns current matrix
1868
- */
1869
- translate(inTrans) {
1870
- // let Get = this.Get ;
1871
- let x = this.get(0, 0) * inTrans.x +
1872
- this.get(0, 1) * inTrans.y +
1873
- this.get(0, 2) * inTrans.z +
1874
- this.get(0, 3);
1875
- let y = this.get(1, 0) * inTrans.x +
1876
- this.get(1, 1) * inTrans.y +
1877
- this.get(1, 2) * inTrans.z +
1878
- this.get(1, 3);
1879
- let z = this.get(2, 0) * inTrans.x +
1880
- this.get(2, 1) * inTrans.y +
1881
- this.get(2, 2) * inTrans.z +
1882
- this.get(2, 3);
1883
- let w = this.get(3, 0) * inTrans.x +
1884
- this.get(3, 1) * inTrans.y +
1885
- this.get(3, 2) * inTrans.z +
1886
- this.get(3, 3);
1887
- this.set(0, 3, x);
1888
- this.set(1, 3, y);
1889
- this.set(2, 3, z);
1890
- this.set(3, 3, w);
1891
- return this;
1892
- }
1893
- /**
1894
- * from unity AMath.PI
1895
- */
1896
- setTRInverse(pos, q) {
1897
- q = q.inverse();
1898
- Quaternion.quaternionToMatrix(q, this);
1899
- this.translate(new Vector3(-pos.x, -pos.y, -pos.z));
1900
- }
1901
- /**
1902
- * Set scale value
1903
- * @param inScale scale value
1904
- * @returns this matrix
1905
- */
1906
- setScale(inScale) {
1907
- this.set(0, 0, inScale.x);
1908
- this.set(0, 1, 0.0);
1909
- this.set(0, 2, 0.0);
1910
- this.set(0, 3, 0.0);
1911
- this.set(1, 0, 0.0);
1912
- this.set(1, 1, inScale.y);
1913
- this.set(1, 2, 0.0);
1914
- this.set(1, 3, 0.0);
1915
- this.set(2, 0, 0.0);
1916
- this.set(2, 1, 0.0);
1917
- this.set(2, 2, inScale.z);
1918
- this.set(2, 3, 0.0);
1919
- this.set(3, 0, 0.0);
1920
- this.set(3, 1, 0.0);
1921
- this.set(3, 2, 0.0);
1922
- this.set(3, 3, 1.0);
1923
- return this;
1924
- }
1925
- /**
1926
- * Generate the matrix according to the three axes
1927
- * @param xAxis
1928
- * @param yAxis
1929
- * @param zAxis
1930
- */
1931
- makeBasis(xAxis, yAxis, zAxis) {
1932
- this.setElements(xAxis.x, yAxis.x, zAxis.x, 0, xAxis.y, yAxis.y, zAxis.y, 0, xAxis.z, yAxis.z, zAxis.z, 0, 0, 0, 0, 1);
1933
- return this;
1934
- }
1935
- makeRotationAxis(axis, angle) {
1936
- const c = Math.cos(angle);
1937
- const s = Math.sin(angle);
1938
- const t = 1 - c;
1939
- const x = axis.x, y = axis.y, z = axis.z;
1940
- const tx = t * x, ty = t * y;
1941
- this.setElements(tx * x + c, tx * y - s * z, tx * z + s * y, 0, tx * y + s * z, ty * y + c, ty * z - s * x, 0, tx * z - s * y, ty * z + s * x, t * z * z + c, 0, 0, 0, 0, 1);
1942
- return this;
1943
- }
1944
- /**
1945
- * private
1946
- */
1947
- static transpose(matrix, result) {
1948
- result ||= new Matrix4();
1949
- let m = matrix.rawData;
1950
- let r = result.rawData;
1951
- r[0] = m[0];
1952
- r[1] = m[4];
1953
- r[2] = m[8];
1954
- r[3] = m[12];
1955
- r[4] = m[1];
1956
- r[5] = m[5];
1957
- r[6] = m[9];
1958
- r[7] = m[13];
1959
- r[8] = m[2];
1960
- r[9] = m[6];
1961
- r[10] = m[10];
1962
- r[11] = m[14];
1963
- r[12] = m[3];
1964
- r[13] = m[7];
1965
- r[14] = m[11];
1966
- r[15] = m[15];
1967
- return result;
1968
- }
1969
- /**
1970
- * private
1971
- */
1972
- static inverse(matrix, result) {
1973
- result ||= new Matrix4();
1974
- let m = matrix.rawData;
1975
- let r = result.rawData;
1976
- r[0] =
1977
- m[5] * m[10] * m[15] -
1978
- m[5] * m[14] * m[11] -
1979
- m[6] * m[9] * m[15] +
1980
- m[6] * m[13] * m[11] +
1981
- m[7] * m[9] * m[14] -
1982
- m[7] * m[13] * m[10];
1983
- r[1] =
1984
- -m[1] * m[10] * m[15] +
1985
- m[1] * m[14] * m[11] +
1986
- m[2] * m[9] * m[15] -
1987
- m[2] * m[13] * m[11] -
1988
- m[3] * m[9] * m[14] +
1989
- m[3] * m[13] * m[10];
1990
- r[2] =
1991
- m[1] * m[6] * m[15] -
1992
- m[1] * m[14] * m[7] -
1993
- m[2] * m[5] * m[15] +
1994
- m[2] * m[13] * m[7] +
1995
- m[3] * m[5] * m[14] -
1996
- m[3] * m[13] * m[6];
1997
- r[3] =
1998
- -m[1] * m[6] * m[11] +
1999
- m[1] * m[10] * m[7] +
2000
- m[2] * m[5] * m[11] -
2001
- m[2] * m[9] * m[7] -
2002
- m[3] * m[5] * m[10] +
2003
- m[3] * m[9] * m[6];
2004
- r[4] =
2005
- -m[4] * m[10] * m[15] +
2006
- m[4] * m[14] * m[11] +
2007
- m[6] * m[8] * m[15] -
2008
- m[6] * m[12] * m[11] -
2009
- m[7] * m[8] * m[14] +
2010
- m[7] * m[12] * m[10];
2011
- r[5] =
2012
- m[0] * m[10] * m[15] -
2013
- m[0] * m[14] * m[11] -
2014
- m[2] * m[8] * m[15] +
2015
- m[2] * m[12] * m[11] +
2016
- m[3] * m[8] * m[14] -
2017
- m[3] * m[12] * m[10];
2018
- r[6] =
2019
- -m[0] * m[6] * m[15] +
2020
- m[0] * m[14] * m[7] +
2021
- m[2] * m[4] * m[15] -
2022
- m[2] * m[12] * m[7] -
2023
- m[3] * m[4] * m[14] +
2024
- m[3] * m[12] * m[6];
2025
- r[7] =
2026
- m[0] * m[6] * m[11] -
2027
- m[0] * m[10] * m[7] -
2028
- m[2] * m[4] * m[11] +
2029
- m[2] * m[8] * m[7] +
2030
- m[3] * m[4] * m[10] -
2031
- m[3] * m[8] * m[6];
2032
- r[8] =
2033
- m[4] * m[9] * m[15] -
2034
- m[4] * m[13] * m[11] -
2035
- m[5] * m[8] * m[15] +
2036
- m[5] * m[12] * m[11] +
2037
- m[7] * m[8] * m[13] -
2038
- m[7] * m[12] * m[9];
2039
- r[9] =
2040
- -m[0] * m[9] * m[15] +
2041
- m[0] * m[13] * m[11] +
2042
- m[1] * m[8] * m[15] -
2043
- m[1] * m[12] * m[11] -
2044
- m[3] * m[8] * m[13] +
2045
- m[3] * m[12] * m[9];
2046
- r[10] =
2047
- m[0] * m[5] * m[15] -
2048
- m[0] * m[13] * m[7] -
2049
- m[1] * m[4] * m[15] +
2050
- m[1] * m[12] * m[7] +
2051
- m[3] * m[4] * m[13] -
2052
- m[3] * m[12] * m[5];
2053
- r[11] =
2054
- -m[0] * m[5] * m[11] +
2055
- m[0] * m[9] * m[7] +
2056
- m[1] * m[4] * m[11] -
2057
- m[1] * m[8] * m[7] -
2058
- m[3] * m[4] * m[9] +
2059
- m[3] * m[8] * m[5];
2060
- r[12] =
2061
- -m[4] * m[9] * m[14] +
2062
- m[4] * m[13] * m[10] +
2063
- m[5] * m[8] * m[14] -
2064
- m[5] * m[12] * m[10] -
2065
- m[6] * m[8] * m[13] +
2066
- m[6] * m[12] * m[9];
2067
- r[13] =
2068
- m[0] * m[9] * m[14] -
2069
- m[0] * m[13] * m[10] -
2070
- m[1] * m[8] * m[14] +
2071
- m[1] * m[12] * m[10] +
2072
- m[2] * m[8] * m[13] -
2073
- m[2] * m[12] * m[9];
2074
- r[14] =
2075
- -m[0] * m[5] * m[14] +
2076
- m[0] * m[13] * m[6] +
2077
- m[1] * m[4] * m[14] -
2078
- m[1] * m[12] * m[6] -
2079
- m[2] * m[4] * m[13] +
2080
- m[2] * m[12] * m[5];
2081
- r[15] =
2082
- m[0] * m[5] * m[10] -
2083
- m[0] * m[9] * m[6] -
2084
- m[1] * m[4] * m[10] +
2085
- m[1] * m[8] * m[6] +
2086
- m[2] * m[4] * m[9] -
2087
- m[2] * m[8] * m[5];
2088
- let det = m[0] * r[0] + m[1] * r[4] + m[2] * r[8] + m[3] * r[12];
2089
- for (let i = 0; i < 16; i++) {
2090
- r[i] /= det;
2091
- }
2092
- return result;
2093
- }
2094
- makeEuler(target, toDegree, order = "XYZ") {
2095
- const te = this.rawData;
2096
- const m11 = te[0];
2097
- const m12 = te[4];
2098
- const m13 = te[8];
2099
- const m21 = te[1];
2100
- const m22 = te[5];
2101
- const m23 = te[9];
2102
- const m31 = te[2];
2103
- const m32 = te[6];
2104
- const m33 = te[10];
2105
- switch (order) {
2106
- case "XYZ":
2107
- target.y = Math.asin(clamp(m13, -1, 1));
2108
- if (Math.abs(m13) < 0.9999999) {
2109
- target.x = Math.atan2(-m23, m33);
2110
- target.z = Math.atan2(-m12, m11);
2111
- }
2112
- else {
2113
- target.x = Math.atan2(m32, m22);
2114
- target.z = 0;
2115
- }
2116
- break;
2117
- case "YXZ":
2118
- target.x = Math.asin(-clamp(m23, -1, 1));
2119
- if (Math.abs(m23) < 0.9999999) {
2120
- target.y = Math.atan2(m13, m33);
2121
- target.z = Math.atan2(m21, m22);
2122
- }
2123
- else {
2124
- target.y = Math.atan2(-m31, m11);
2125
- target.z = 0;
2126
- }
2127
- break;
2128
- case "ZXY":
2129
- target.x = Math.asin(clamp(m32, -1, 1));
2130
- if (Math.abs(m32) < 0.9999999) {
2131
- target.y = Math.atan2(-m31, m33);
2132
- target.z = Math.atan2(-m12, m22);
2133
- }
2134
- else {
2135
- target.y = 0;
2136
- target.z = Math.atan2(m21, m11);
2137
- }
2138
- break;
2139
- case "ZYX":
2140
- target.y = Math.asin(-clamp(m31, -1, 1));
2141
- if (Math.abs(m31) < 0.9999999) {
2142
- target.x = Math.atan2(m32, m33);
2143
- target.z = Math.atan2(m21, m11);
2144
- }
2145
- else {
2146
- target.x = 0;
2147
- target.z = Math.atan2(-m12, m22);
2148
- }
2149
- break;
2150
- case "YZX":
2151
- target.z = Math.asin(clamp(m21, -1, 1));
2152
- if (Math.abs(m21) < 0.9999999) {
2153
- target.x = Math.atan2(-m23, m22);
2154
- target.y = Math.atan2(-m31, m11);
2155
- }
2156
- else {
2157
- target.x = 0;
2158
- target.y = Math.atan2(m13, m33);
2159
- }
2160
- break;
2161
- case "XZY":
2162
- target.z = Math.asin(-clamp(m12, -1, 1));
2163
- if (Math.abs(m12) < 0.9999999) {
2164
- target.x = Math.atan2(m32, m22);
2165
- target.y = Math.atan2(m13, m11);
2166
- }
2167
- else {
2168
- target.x = Math.atan2(-m23, m33);
2169
- target.y = 0;
2170
- }
2171
- break;
2172
- default: {
2173
- }
2174
- }
2175
- if (toDegree) {
2176
- target.multiplyScalar(RADIANS_TO_DEGREES);
2177
- }
2178
- return target;
2179
- }
2180
- setElements(n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, n44) {
2181
- const te = this.rawData;
2182
- te[0] = n11;
2183
- te[4] = n12;
2184
- te[8] = n13;
2185
- te[12] = n14;
2186
- te[1] = n21;
2187
- te[5] = n22;
2188
- te[9] = n23;
2189
- te[13] = n24;
2190
- te[2] = n31;
2191
- te[6] = n32;
2192
- te[10] = n33;
2193
- te[14] = n34;
2194
- te[3] = n41;
2195
- te[7] = n42;
2196
- te[11] = n43;
2197
- te[15] = n44;
2198
- return this;
2199
- }
2200
- /**
2201
- * @internal
2202
- */
2203
- makeMatrix44ByQuaternion(pos, scale, rot) {
2204
- this.identity();
2205
- Quaternion.quaternionToMatrix(rot, this);
2206
- this.appendTranslation(pos.x, pos.y, pos.z);
2207
- this.appendScale(scale.x, scale.y, scale.z);
2208
- }
2209
- }
2210
- /**
2211
- * @internal
2212
- */
2213
- export function multiplyMatrices4x4REF(lhs, rhs, res) {
2214
- for (let i = 0; i < 4; i++) {
2215
- res.rawData[i] =
2216
- lhs.rawData[i] * rhs.rawData[0] +
2217
- lhs.rawData[i + 4] * rhs.rawData[1] +
2218
- lhs.rawData[i + 8] * rhs.rawData[2] +
2219
- lhs.rawData[i + 12] * rhs.rawData[3];
2220
- res.rawData[i + 4] =
2221
- lhs.rawData[i] * rhs.rawData[4] +
2222
- lhs.rawData[i + 4] * rhs.rawData[5] +
2223
- lhs.rawData[i + 8] * rhs.rawData[6] +
2224
- lhs.rawData[i + 12] * rhs.rawData[7];
2225
- res.rawData[i + 8] =
2226
- lhs.rawData[i] * rhs.rawData[8] +
2227
- lhs.rawData[i + 4] * rhs.rawData[9] +
2228
- lhs.rawData[i + 8] * rhs.rawData[10] +
2229
- lhs.rawData[i + 12] * rhs.rawData[11];
2230
- res.rawData[i + 12] =
2231
- lhs.rawData[i] * rhs.rawData[12] +
2232
- lhs.rawData[i + 4] * rhs.rawData[13] +
2233
- lhs.rawData[i + 8] * rhs.rawData[14] +
2234
- lhs.rawData[i + 12] * rhs.rawData[15];
2235
- }
2236
- }
2237
- /**
2238
- * @internal
2239
- */
2240
- export function makeMatrix44(r, p, s, outMat) {
2241
- // Quaternion.CALCULATION_QUATERNION.fromEulerAngles(r.x, r.y, r.z);
2242
- let rawData = outMat.rawData;
2243
- let x = r.x * DEGREES_TO_RADIANS;
2244
- let y = r.y * DEGREES_TO_RADIANS;
2245
- let z = r.z * DEGREES_TO_RADIANS;
2246
- let w = 0;
2247
- let halfX = x * 0.5;
2248
- let halfY = y * 0.5;
2249
- let halfZ = z * 0.5;
2250
- let cosX = Math.cos(halfX);
2251
- let sinX = Math.sin(halfX);
2252
- let cosY = Math.cos(halfY);
2253
- let sinY = Math.sin(halfY);
2254
- let cosZ = Math.cos(halfZ);
2255
- let sinZ = Math.sin(halfZ);
2256
- w = cosX * cosY * cosZ + sinX * sinY * sinZ;
2257
- x = sinX * cosY * cosZ - cosX * sinY * sinZ;
2258
- y = cosX * sinY * cosZ + sinX * cosY * sinZ;
2259
- z = cosX * cosY * sinZ - sinX * sinY * cosZ;
2260
- let x2 = x + x;
2261
- let y2 = y + y;
2262
- let z2 = z + z;
2263
- let xx = x * x2;
2264
- let xy = x * y2;
2265
- let xz = x * z2;
2266
- let yy = y * y2;
2267
- let yz = y * z2;
2268
- let zz = z * z2;
2269
- let wx = w * x2;
2270
- let wy = w * y2;
2271
- let wz = w * z2;
2272
- let sx = s.x;
2273
- let sy = s.y;
2274
- let sz = s.z;
2275
- rawData[0] = (1 - (yy + zz)) * sx;
2276
- rawData[1] = (xy + wz) * sx;
2277
- rawData[2] = (xz - wy) * sx;
2278
- rawData[3] = 0;
2279
- rawData[4] = (xy - wz) * sy;
2280
- rawData[5] = (1 - (xx + zz)) * sy;
2281
- rawData[6] = (yz + wx) * sy;
2282
- rawData[7] = 0;
2283
- rawData[8] = (xz + wy) * sz;
2284
- rawData[9] = (yz - wx) * sz;
2285
- rawData[10] = (1 - (xx + yy)) * sz;
2286
- rawData[11] = 0;
2287
- rawData[12] = p.x;
2288
- rawData[13] = p.y;
2289
- rawData[14] = p.z;
2290
- rawData[15] = 1;
2291
- }
2292
- /**
2293
- * @internal
2294
- */
2295
- export function append(src, lhs, target) {
2296
- let data = src.rawData;
2297
- let targetData = target.rawData;
2298
- let m111 = data[0];
2299
- let m121 = data[4];
2300
- let m131 = data[8];
2301
- let m141 = data[12];
2302
- let m112 = data[1];
2303
- let m122 = data[5];
2304
- let m132 = data[9];
2305
- let m142 = data[13];
2306
- let m113 = data[2];
2307
- let m123 = data[6];
2308
- let m133 = data[10];
2309
- let m143 = data[14];
2310
- let m114 = data[3];
2311
- let m124 = data[7];
2312
- let m134 = data[11];
2313
- let m144 = data[15];
2314
- targetData[0] =
2315
- m111 * lhs.rawData[0] +
2316
- m112 * lhs.rawData[4] +
2317
- m113 * lhs.rawData[8] +
2318
- m114 * lhs.rawData[12];
2319
- targetData[1] =
2320
- m111 * lhs.rawData[1] +
2321
- m112 * lhs.rawData[5] +
2322
- m113 * lhs.rawData[9] +
2323
- m114 * lhs.rawData[13];
2324
- targetData[2] =
2325
- m111 * lhs.rawData[2] +
2326
- m112 * lhs.rawData[6] +
2327
- m113 * lhs.rawData[10] +
2328
- m114 * lhs.rawData[14];
2329
- targetData[3] =
2330
- m111 * lhs.rawData[3] +
2331
- m112 * lhs.rawData[7] +
2332
- m113 * lhs.rawData[11] +
2333
- m114 * lhs.rawData[15];
2334
- targetData[4] =
2335
- m121 * lhs.rawData[0] +
2336
- m122 * lhs.rawData[4] +
2337
- m123 * lhs.rawData[8] +
2338
- m124 * lhs.rawData[12];
2339
- targetData[5] =
2340
- m121 * lhs.rawData[1] +
2341
- m122 * lhs.rawData[5] +
2342
- m123 * lhs.rawData[9] +
2343
- m124 * lhs.rawData[13];
2344
- targetData[6] =
2345
- m121 * lhs.rawData[2] +
2346
- m122 * lhs.rawData[6] +
2347
- m123 * lhs.rawData[10] +
2348
- m124 * lhs.rawData[14];
2349
- targetData[7] =
2350
- m121 * lhs.rawData[3] +
2351
- m122 * lhs.rawData[7] +
2352
- m123 * lhs.rawData[11] +
2353
- m124 * lhs.rawData[15];
2354
- targetData[8] =
2355
- m131 * lhs.rawData[0] +
2356
- m132 * lhs.rawData[4] +
2357
- m133 * lhs.rawData[8] +
2358
- m134 * lhs.rawData[12];
2359
- targetData[9] =
2360
- m131 * lhs.rawData[1] +
2361
- m132 * lhs.rawData[5] +
2362
- m133 * lhs.rawData[9] +
2363
- m134 * lhs.rawData[13];
2364
- targetData[10] =
2365
- m131 * lhs.rawData[2] +
2366
- m132 * lhs.rawData[6] +
2367
- m133 * lhs.rawData[10] +
2368
- m134 * lhs.rawData[14];
2369
- targetData[11] =
2370
- m131 * lhs.rawData[3] +
2371
- m132 * lhs.rawData[7] +
2372
- m133 * lhs.rawData[11] +
2373
- m134 * lhs.rawData[15];
2374
- targetData[12] =
2375
- m141 * lhs.rawData[0] +
2376
- m142 * lhs.rawData[4] +
2377
- m143 * lhs.rawData[8] +
2378
- m144 * lhs.rawData[12];
2379
- targetData[13] =
2380
- m141 * lhs.rawData[1] +
2381
- m142 * lhs.rawData[5] +
2382
- m143 * lhs.rawData[9] +
2383
- m144 * lhs.rawData[13];
2384
- targetData[14] =
2385
- m141 * lhs.rawData[2] +
2386
- m142 * lhs.rawData[6] +
2387
- m143 * lhs.rawData[10] +
2388
- m144 * lhs.rawData[14];
2389
- targetData[15] =
2390
- m141 * lhs.rawData[3] +
2391
- m142 * lhs.rawData[7] +
2392
- m143 * lhs.rawData[11] +
2393
- m144 * lhs.rawData[15];
2394
- }
2395
- /**
2396
- * @internal
2397
- */
2398
- export function rotMatrix(mat, q) {
2399
- let x = q.x;
2400
- let y = q.y;
2401
- let z = q.z;
2402
- let w = q.w;
2403
- let rawData = mat.rawData;
2404
- let xy2 = 2.0 * x * y;
2405
- let xz2 = 2.0 * x * z;
2406
- let xw2 = 2.0 * x * w;
2407
- let yz2 = 2.0 * y * z;
2408
- let yw2 = 2.0 * y * w;
2409
- let zw2 = 2.0 * z * w;
2410
- let xx = x * x;
2411
- let yy = y * y;
2412
- let zz = z * z;
2413
- let ww = w * w;
2414
- rawData[0] = xx - yy - zz + ww;
2415
- rawData[4] = xy2 - zw2;
2416
- rawData[8] = xz2 + yw2;
2417
- rawData[12] = 0;
2418
- rawData[1] = xy2 + zw2;
2419
- rawData[5] = -xx + yy - zz + ww;
2420
- rawData[9] = yz2 - xw2;
2421
- rawData[13] = 0;
2422
- rawData[2] = xz2 - yw2;
2423
- rawData[6] = yz2 + xw2;
2424
- rawData[10] = -xx - yy + zz + ww;
2425
- rawData[14] = 0;
2426
- rawData[3] = 0.0;
2427
- rawData[7] = 0.0;
2428
- rawData[11] = 0;
2429
- rawData[15] = 1;
2430
- return mat;
2431
- }
2432
- /**
2433
- * @internal
2434
- */
2435
- export function matrixRotateY(rad, target) {
2436
- let out = target.rawData;
2437
- let s = Math.sin(rad);
2438
- let c = Math.cos(rad);
2439
- out[0] = c;
2440
- out[1] = 0;
2441
- out[2] = -s;
2442
- out[3] = 0;
2443
- out[8] = s;
2444
- out[9] = 0;
2445
- out[10] = c;
2446
- out[11] = 0;
2447
- return out;
2448
- }
2449
- /**
2450
- * Rotates a mat4 by the given angle around the given axis
2451
- * @internal
2452
- * @param {mat4} out the receiving matrix
2453
- * @param {ReadonlyMat4} a the matrix to rotate
2454
- * @param {Number} rad the angle to rotate the matrix by
2455
- * @param {ReadonlyVec3} axis the axis to rotate around
2456
- * @returns {mat4} out
2457
- */
2458
- export function matrixRotate(rad, axis, target) {
2459
- let x = axis.x;
2460
- let y = axis.y;
2461
- let z = axis.z;
2462
- let len = Math.hypot(x, y, z);
2463
- let s;
2464
- let c;
2465
- let t;
2466
- let a23;
2467
- let b00;
2468
- let b01;
2469
- let b02;
2470
- let b10;
2471
- let b11;
2472
- let b12;
2473
- let b20;
2474
- let b21;
2475
- let b22;
2476
- if (len < EPSILON) {
2477
- return null;
2478
- }
2479
- len = 1 / len;
2480
- x *= len;
2481
- y *= len;
2482
- z *= len;
2483
- s = Math.sin(rad);
2484
- c = Math.cos(rad);
2485
- t = 1 - c;
2486
- a23 = 0; // Construct the elements of the rotation matrix
2487
- b00 = x * x * t + c;
2488
- b01 = y * x * t + z * s;
2489
- b02 = z * x * t - y * s;
2490
- b10 = x * y * t - z * s;
2491
- b11 = y * y * t + c;
2492
- b12 = z * y * t + x * s;
2493
- b20 = x * z * t + y * s;
2494
- b21 = y * z * t - x * s;
2495
- b22 = z * z * t + c; // Perform rotation-specific matrix multiplication
2496
- let out = target.rawData;
2497
- out[0] = b00;
2498
- out[1] = b01;
2499
- out[2] = b02;
2500
- out[3] = 0;
2501
- out[4] = b10;
2502
- out[5] = b11;
2503
- out[6] = b12;
2504
- out[7] = 0;
2505
- out[8] = b20;
2506
- out[9] = b21;
2507
- out[10] = b22;
2508
- out[11] = 0;
2509
- out[12] = 0;
2510
- out[13] = 0;
2511
- out[14] = 0;
2512
- out[15] = 1;
2513
- return out;
2514
- }
2515
- /**
2516
- * @internal
2517
- */
2518
- export function matrixMultiply(aMat, bMat, target) {
2519
- let a = aMat.rawData;
2520
- let a00 = a[0];
2521
- let a01 = a[1];
2522
- let a02 = a[2];
2523
- let a03 = a[3];
2524
- let a10 = a[4];
2525
- let a11 = a[5];
2526
- let a12 = a[6];
2527
- let a13 = a[7];
2528
- let a20 = a[8];
2529
- let a21 = a[9];
2530
- let a22 = a[10];
2531
- let a23 = a[11];
2532
- let a30 = a[12];
2533
- let a31 = a[13];
2534
- let a32 = a[14];
2535
- let a33 = a[15]; // Cache only the current line of the second matrix
2536
- let b = bMat.rawData;
2537
- let out = target.rawData;
2538
- let b0 = b[0];
2539
- let b1 = b[1];
2540
- let b2 = b[2];
2541
- let b3 = b[3];
2542
- out[0] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;
2543
- out[1] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;
2544
- out[2] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;
2545
- out[3] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;
2546
- b0 = b[4];
2547
- b1 = b[5];
2548
- b2 = b[6];
2549
- b3 = b[7];
2550
- out[4] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;
2551
- out[5] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;
2552
- out[6] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;
2553
- out[7] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;
2554
- b0 = b[8];
2555
- b1 = b[9];
2556
- b2 = b[10];
2557
- b3 = b[11];
2558
- out[8] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;
2559
- out[9] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;
2560
- out[10] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;
2561
- out[11] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;
2562
- b0 = b[12];
2563
- b1 = b[13];
2564
- b2 = b[14];
2565
- b3 = b[15];
2566
- out[12] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;
2567
- out[13] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;
2568
- out[14] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;
2569
- out[15] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;
2570
- return out;
2571
- }