three-stdlib 2.22.9 → 2.22.10

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 (629) hide show
  1. package/dist/animation/AnimationClipCreator.js +49 -50
  2. package/dist/animation/AnimationClipCreator.mjs +49 -50
  3. package/dist/animation/CCDIKSolver.d.ts +9 -4
  4. package/dist/animation/CCDIKSolver.js +193 -148
  5. package/dist/animation/CCDIKSolver.mjs +194 -149
  6. package/dist/animation/MMDAnimationHelper.js +613 -515
  7. package/dist/animation/MMDAnimationHelper.mjs +613 -515
  8. package/dist/animation/MMDPhysics.d.ts +6 -1
  9. package/dist/animation/MMDPhysics.js +728 -718
  10. package/dist/animation/MMDPhysics.mjs +729 -719
  11. package/dist/cameras/CinematicCamera.d.ts +2 -2
  12. package/dist/controls/ArcballControls.d.ts +1 -1
  13. package/dist/controls/ArcballControls.js +38 -44
  14. package/dist/controls/ArcballControls.mjs +39 -45
  15. package/dist/controls/DeviceOrientationControls.js +2 -1
  16. package/dist/controls/DeviceOrientationControls.mjs +2 -1
  17. package/dist/controls/FirstPersonControls.d.ts +1 -1
  18. package/dist/controls/FirstPersonControls.js +1 -1
  19. package/dist/controls/FirstPersonControls.mjs +1 -1
  20. package/dist/controls/PointerLockControls.js +2 -2
  21. package/dist/controls/PointerLockControls.mjs +2 -2
  22. package/dist/controls/TransformControls.d.ts +1 -1
  23. package/dist/controls/experimental/CameraControls.d.ts +1 -1
  24. package/dist/csm/CSM.js +4 -4
  25. package/dist/csm/CSM.mjs +4 -4
  26. package/dist/csm/CSMFrustum.js +1 -1
  27. package/dist/csm/CSMFrustum.mjs +1 -1
  28. package/dist/csm/CSMShader.js +14 -10
  29. package/dist/csm/CSMShader.mjs +14 -10
  30. package/dist/curves/CurveExtras.js +52 -62
  31. package/dist/curves/CurveExtras.mjs +53 -63
  32. package/dist/curves/NURBSUtils.d.ts +18 -20
  33. package/dist/curves/NURBSUtils.js +17 -17
  34. package/dist/curves/NURBSUtils.mjs +17 -17
  35. package/dist/deprecated/Geometry.js +26 -26
  36. package/dist/deprecated/Geometry.mjs +27 -27
  37. package/dist/effects/AnaglyphEffect.js +95 -114
  38. package/dist/effects/AnaglyphEffect.mjs +95 -114
  39. package/dist/effects/AsciiEffect.js +144 -162
  40. package/dist/effects/AsciiEffect.mjs +144 -162
  41. package/dist/effects/OutlineEffect.js +253 -276
  42. package/dist/effects/OutlineEffect.mjs +253 -276
  43. package/dist/effects/ParallaxBarrierEffect.js +61 -60
  44. package/dist/effects/ParallaxBarrierEffect.mjs +61 -60
  45. package/dist/effects/PeppersGhostEffect.js +84 -81
  46. package/dist/effects/PeppersGhostEffect.mjs +84 -81
  47. package/dist/effects/StereoEffect.js +31 -28
  48. package/dist/effects/StereoEffect.mjs +31 -28
  49. package/dist/environments/RoomEnvironment.d.ts +6 -5
  50. package/dist/exporters/GLTFExporter.d.ts +109 -441
  51. package/dist/exporters/GLTFExporter.js +912 -581
  52. package/dist/exporters/GLTFExporter.mjs +912 -581
  53. package/dist/geometries/ConvexGeometry.js +0 -3
  54. package/dist/geometries/ConvexGeometry.mjs +0 -3
  55. package/dist/geometries/LightningStrike.d.ts +3 -3
  56. package/dist/geometries/LightningStrike.js +80 -75
  57. package/dist/geometries/LightningStrike.mjs +80 -75
  58. package/dist/geometries/ParametricGeometries.js +75 -74
  59. package/dist/geometries/ParametricGeometries.mjs +75 -74
  60. package/dist/geometries/RoundedBoxGeometry.js +1 -1
  61. package/dist/geometries/RoundedBoxGeometry.mjs +1 -1
  62. package/dist/geometries/TextGeometry.d.ts +1 -1
  63. package/dist/helpers/RectAreaLightHelper.d.ts +4 -3
  64. package/dist/helpers/RectAreaLightHelper.js +2 -2
  65. package/dist/helpers/RectAreaLightHelper.mjs +2 -2
  66. package/dist/helpers/VertexNormalsHelper.d.ts +3 -0
  67. package/dist/helpers/VertexNormalsHelper.js +15 -22
  68. package/dist/helpers/VertexNormalsHelper.mjs +16 -23
  69. package/dist/helpers/VertexTangentsHelper.d.ts +3 -0
  70. package/dist/helpers/VertexTangentsHelper.js +12 -14
  71. package/dist/helpers/VertexTangentsHelper.mjs +12 -14
  72. package/dist/index.d.ts +1 -66
  73. package/dist/index.js +5 -370
  74. package/dist/index.mjs +9 -374
  75. package/dist/interactive/InteractiveGroup.js +1 -1
  76. package/dist/interactive/InteractiveGroup.mjs +1 -1
  77. package/dist/interactive/SelectionBox.js +122 -125
  78. package/dist/interactive/SelectionBox.mjs +122 -125
  79. package/dist/interactive/SelectionHelper.js +45 -48
  80. package/dist/interactive/SelectionHelper.mjs +45 -48
  81. package/dist/libs/MeshoptDecoder.d.ts +1 -1
  82. package/dist/libs/MotionControllers.d.ts +15 -14
  83. package/dist/libs/MotionControllers.js +10 -10
  84. package/dist/libs/MotionControllers.mjs +10 -10
  85. package/dist/lights/LightProbeGenerator.js +43 -43
  86. package/dist/lights/LightProbeGenerator.mjs +43 -43
  87. package/dist/lights/RectAreaLightUniformsLib.js +9 -5
  88. package/dist/lights/RectAreaLightUniformsLib.mjs +9 -5
  89. package/dist/lines/LineMaterial.js +271 -271
  90. package/dist/lines/LineMaterial.mjs +272 -272
  91. package/dist/lines/LineSegments2.js +12 -12
  92. package/dist/lines/LineSegments2.mjs +12 -12
  93. package/dist/lines/LineSegmentsGeometry.js +2 -2
  94. package/dist/lines/LineSegmentsGeometry.mjs +2 -2
  95. package/dist/lines/Wireframe.js +2 -2
  96. package/dist/lines/Wireframe.mjs +2 -2
  97. package/dist/loaders/3DMLoader.d.ts +2 -1
  98. package/dist/loaders/3MFLoader.d.ts +2 -1
  99. package/dist/loaders/AMFLoader.d.ts +2 -1
  100. package/dist/loaders/AssimpLoader.d.ts +20 -0
  101. package/dist/loaders/AssimpLoader.js +520 -482
  102. package/dist/loaders/AssimpLoader.mjs +520 -482
  103. package/dist/loaders/BVHLoader.d.ts +2 -1
  104. package/dist/loaders/BasisTextureLoader.d.ts +2 -1
  105. package/dist/loaders/BasisTextureLoader.js +23 -14
  106. package/dist/loaders/BasisTextureLoader.mjs +24 -15
  107. package/dist/loaders/ColladaLoader.d.ts +2 -1
  108. package/dist/loaders/DRACOLoader.d.ts +2 -1
  109. package/dist/loaders/FBXLoader.d.ts +2 -1
  110. package/dist/loaders/FBXLoader.js +2 -2
  111. package/dist/loaders/FBXLoader.mjs +2 -2
  112. package/dist/loaders/FontLoader.d.ts +4 -4
  113. package/dist/loaders/FontLoader.js +2 -1
  114. package/dist/loaders/FontLoader.mjs +2 -1
  115. package/dist/loaders/GCodeLoader.d.ts +2 -1
  116. package/dist/loaders/GLTFLoader.d.ts +11 -9
  117. package/dist/loaders/GLTFLoader.js +2 -2
  118. package/dist/loaders/GLTFLoader.mjs +2 -2
  119. package/dist/loaders/HDRCubeTextureLoader.d.ts +2 -1
  120. package/dist/loaders/KMZLoader.d.ts +2 -1
  121. package/dist/loaders/KTX2Loader.js +34 -15
  122. package/dist/loaders/KTX2Loader.mjs +35 -16
  123. package/dist/loaders/LDrawLoader.d.ts +2 -1
  124. package/dist/loaders/LDrawLoader.js +3 -3
  125. package/dist/loaders/LDrawLoader.mjs +3 -3
  126. package/dist/loaders/LUT3dlLoader.d.ts +3 -2
  127. package/dist/loaders/LUTCubeLoader.d.ts +3 -2
  128. package/dist/loaders/LWOLoader.d.ts +2 -1
  129. package/dist/loaders/LottieLoader.d.ts +2 -1
  130. package/dist/loaders/MD2Loader.d.ts +2 -1
  131. package/dist/loaders/MDDLoader.d.ts +2 -1
  132. package/dist/loaders/MMDLoader.d.ts +2 -1
  133. package/dist/loaders/MTLLoader.d.ts +2 -1
  134. package/dist/loaders/OBJLoader.d.ts +2 -1
  135. package/dist/loaders/OBJLoader.js +5 -5
  136. package/dist/loaders/OBJLoader.mjs +5 -5
  137. package/dist/loaders/PCDLoader.d.ts +2 -1
  138. package/dist/loaders/PDBLoader.d.ts +2 -1
  139. package/dist/loaders/PLYLoader.d.ts +2 -1
  140. package/dist/loaders/PRWMLoader.d.ts +2 -1
  141. package/dist/loaders/RGBMLoader.js +924 -918
  142. package/dist/loaders/RGBMLoader.mjs +924 -918
  143. package/dist/loaders/STLLoader.d.ts +2 -1
  144. package/dist/loaders/SVGLoader.d.ts +2 -1
  145. package/dist/loaders/TDSLoader.d.ts +2 -1
  146. package/dist/loaders/TTFLoader.d.ts +2 -1
  147. package/dist/loaders/TiltLoader.d.ts +2 -1
  148. package/dist/loaders/TiltLoader.js +3 -1
  149. package/dist/loaders/TiltLoader.mjs +3 -1
  150. package/dist/loaders/VOXLoader.d.ts +4 -2
  151. package/dist/loaders/VRMLLoader.d.ts +2 -1
  152. package/dist/loaders/VRMLoader.d.ts +20 -0
  153. package/dist/loaders/VTKLoader.d.ts +2 -1
  154. package/dist/loaders/XLoader.d.ts +20 -0
  155. package/dist/loaders/XLoader.js +1 -1
  156. package/dist/loaders/XLoader.mjs +1 -1
  157. package/dist/loaders/XYZLoader.d.ts +2 -1
  158. package/dist/loaders/lwo/IFFParser.js +104 -110
  159. package/dist/loaders/lwo/IFFParser.mjs +104 -110
  160. package/dist/loaders/lwo/LWO2Parser.js +18 -33
  161. package/dist/loaders/lwo/LWO2Parser.mjs +18 -33
  162. package/dist/loaders/lwo/LWO3Parser.js +17 -33
  163. package/dist/loaders/lwo/LWO3Parser.mjs +17 -33
  164. package/dist/math/Capsule.d.ts +1 -1
  165. package/dist/math/Capsule.js +90 -92
  166. package/dist/math/Capsule.mjs +90 -92
  167. package/dist/math/ColorConverter.js +26 -36
  168. package/dist/math/ColorConverter.mjs +26 -36
  169. package/dist/math/ConvexHull.js +16 -17
  170. package/dist/math/ConvexHull.mjs +17 -18
  171. package/dist/math/ImprovedNoise.js +41 -39
  172. package/dist/math/ImprovedNoise.mjs +41 -39
  173. package/dist/math/Lut.js +65 -63
  174. package/dist/math/Lut.mjs +66 -64
  175. package/dist/math/MeshSurfaceSampler.d.ts +3 -0
  176. package/dist/math/MeshSurfaceSampler.js +85 -89
  177. package/dist/math/MeshSurfaceSampler.mjs +85 -89
  178. package/dist/math/OBB.js +68 -88
  179. package/dist/math/OBB.mjs +68 -88
  180. package/dist/math/Octree.js +240 -245
  181. package/dist/math/Octree.mjs +240 -245
  182. package/dist/misc/ConvexObjectBreaker.js +114 -120
  183. package/dist/misc/ConvexObjectBreaker.mjs +115 -121
  184. package/dist/misc/GPUComputationRenderer.d.ts +1 -0
  185. package/dist/misc/GPUComputationRenderer.js +191 -157
  186. package/dist/misc/GPUComputationRenderer.mjs +192 -158
  187. package/dist/misc/Gyroscope.js +16 -18
  188. package/dist/misc/Gyroscope.mjs +17 -19
  189. package/dist/misc/MD2Character.js +88 -86
  190. package/dist/misc/MD2Character.mjs +89 -87
  191. package/dist/misc/MD2CharacterComplex.js +106 -105
  192. package/dist/misc/MD2CharacterComplex.mjs +107 -106
  193. package/dist/misc/MorphAnimMesh.d.ts +1 -1
  194. package/dist/misc/MorphAnimMesh.js +33 -33
  195. package/dist/misc/MorphAnimMesh.mjs +33 -33
  196. package/dist/misc/MorphBlendMesh.js +68 -68
  197. package/dist/misc/MorphBlendMesh.mjs +68 -68
  198. package/dist/misc/ProgressiveLightmap.d.ts +1 -2
  199. package/dist/misc/RollerCoaster.js +321 -314
  200. package/dist/misc/RollerCoaster.mjs +322 -315
  201. package/dist/misc/Volume.d.ts +1 -1
  202. package/dist/misc/Volume.js +169 -166
  203. package/dist/misc/Volume.mjs +170 -167
  204. package/dist/misc/VolumeSlice.js +50 -51
  205. package/dist/misc/VolumeSlice.mjs +50 -51
  206. package/dist/modifiers/CurveModifier.d.ts +2 -2
  207. package/dist/modifiers/CurveModifier.js +1 -1
  208. package/dist/modifiers/CurveModifier.mjs +1 -1
  209. package/dist/modifiers/SimplifyModifier.js +2 -1
  210. package/dist/modifiers/SimplifyModifier.mjs +2 -1
  211. package/dist/objects/Lensflare.js +32 -21
  212. package/dist/objects/Lensflare.mjs +33 -22
  213. package/dist/objects/LightningStorm.d.ts +3 -3
  214. package/dist/objects/LightningStorm.js +3 -3
  215. package/dist/objects/LightningStorm.mjs +3 -3
  216. package/dist/objects/MarchingCubes.d.ts +1 -0
  217. package/dist/objects/MarchingCubes.js +4362 -10
  218. package/dist/objects/MarchingCubes.mjs +4363 -11
  219. package/dist/objects/Reflector.d.ts +5 -2
  220. package/dist/objects/Reflector.js +39 -12
  221. package/dist/objects/Reflector.mjs +40 -13
  222. package/dist/objects/ReflectorForSSRPass.js +25 -21
  223. package/dist/objects/ReflectorForSSRPass.mjs +26 -22
  224. package/dist/objects/ReflectorRTT.d.ts +6 -0
  225. package/dist/objects/Refractor.d.ts +5 -2
  226. package/dist/objects/Refractor.js +39 -12
  227. package/dist/objects/Refractor.mjs +40 -13
  228. package/dist/objects/ShadowMesh.d.ts +6 -3
  229. package/dist/objects/ShadowMesh.js +7 -3
  230. package/dist/objects/ShadowMesh.mjs +8 -4
  231. package/dist/objects/Sky.js +181 -137
  232. package/dist/objects/Sky.mjs +182 -138
  233. package/dist/objects/Water.d.ts +3 -3
  234. package/dist/objects/Water.js +3 -2
  235. package/dist/objects/Water.mjs +3 -2
  236. package/dist/objects/Water2.d.ts +2 -2
  237. package/dist/objects/Water2.js +16 -18
  238. package/dist/objects/Water2.mjs +17 -19
  239. package/dist/postprocessing/AdaptiveToneMappingPass.d.ts +2 -2
  240. package/dist/postprocessing/AdaptiveToneMappingPass.js +105 -112
  241. package/dist/postprocessing/AdaptiveToneMappingPass.mjs +107 -114
  242. package/dist/postprocessing/BokehPass.d.ts +1 -1
  243. package/dist/postprocessing/ClearPass.d.ts +3 -3
  244. package/dist/postprocessing/CubeTexturePass.js +37 -33
  245. package/dist/postprocessing/CubeTexturePass.mjs +37 -33
  246. package/dist/postprocessing/HalftonePass.d.ts +1 -1
  247. package/dist/postprocessing/LUTPass.d.ts +3 -3
  248. package/dist/postprocessing/RenderPixelatedPass.d.ts +28 -0
  249. package/dist/postprocessing/SAOPass.d.ts +5 -6
  250. package/dist/postprocessing/SAOPass.js +151 -145
  251. package/dist/postprocessing/SAOPass.mjs +153 -147
  252. package/dist/postprocessing/SSAARenderPass.d.ts +5 -5
  253. package/dist/postprocessing/SSAARenderPass.js +78 -55
  254. package/dist/postprocessing/SSAARenderPass.mjs +80 -57
  255. package/dist/postprocessing/SSAOPass.d.ts +4 -5
  256. package/dist/postprocessing/SSAOPass.js +17 -10
  257. package/dist/postprocessing/SSAOPass.mjs +17 -10
  258. package/dist/postprocessing/SSRPass.d.ts +6 -7
  259. package/dist/postprocessing/SSRPass.js +235 -262
  260. package/dist/postprocessing/SSRPass.mjs +237 -264
  261. package/dist/postprocessing/TAARenderPass.d.ts +2 -2
  262. package/dist/postprocessing/TAARenderPass.js +106 -27
  263. package/dist/postprocessing/TAARenderPass.mjs +107 -28
  264. package/dist/postprocessing/TexturePass.d.ts +2 -2
  265. package/dist/postprocessing/TexturePass.js +24 -22
  266. package/dist/postprocessing/TexturePass.mjs +25 -23
  267. package/dist/postprocessing/UnrealBloomPass.js +175 -118
  268. package/dist/postprocessing/UnrealBloomPass.mjs +177 -120
  269. package/dist/renderers/CSS2DRenderer.d.ts +2 -1
  270. package/dist/renderers/CSS2DRenderer.js +5 -4
  271. package/dist/renderers/CSS2DRenderer.mjs +6 -5
  272. package/dist/renderers/CSS3DRenderer.d.ts +1 -1
  273. package/dist/renderers/CSS3DRenderer.js +147 -113
  274. package/dist/renderers/CSS3DRenderer.mjs +148 -114
  275. package/dist/renderers/Projector.js +377 -389
  276. package/dist/renderers/Projector.mjs +377 -389
  277. package/dist/renderers/SVGRenderer.js +280 -275
  278. package/dist/renderers/SVGRenderer.mjs +280 -275
  279. package/dist/shaders/ACESFilmicToneMappingShader.d.ts +1 -1
  280. package/dist/shaders/AfterimageShader.d.ts +1 -1
  281. package/dist/shaders/BasicShader.d.ts +1 -1
  282. package/dist/shaders/BleachBypassShader.d.ts +1 -1
  283. package/dist/shaders/BokehShader.d.ts +2 -2
  284. package/dist/shaders/BokehShader2.d.ts +2 -2
  285. package/dist/shaders/BokehShader2.js +1 -1
  286. package/dist/shaders/BokehShader2.mjs +1 -1
  287. package/dist/shaders/ColorCorrectionShader.js +3 -3
  288. package/dist/shaders/ColorCorrectionShader.mjs +3 -3
  289. package/dist/shaders/ColorifyShader.js +1 -1
  290. package/dist/shaders/ColorifyShader.mjs +1 -1
  291. package/dist/shaders/ConvolutionShader.d.ts +2 -2
  292. package/dist/shaders/ConvolutionShader.js +1 -1
  293. package/dist/shaders/ConvolutionShader.mjs +1 -1
  294. package/dist/shaders/CopyShader.d.ts +1 -1
  295. package/dist/shaders/DepthLimitedBlurShader.d.ts +2 -2
  296. package/dist/shaders/DepthLimitedBlurShader.js +2 -2
  297. package/dist/shaders/DepthLimitedBlurShader.mjs +2 -2
  298. package/dist/shaders/DotScreenShader.js +2 -2
  299. package/dist/shaders/DotScreenShader.mjs +2 -2
  300. package/dist/shaders/FXAAShader.js +1 -1
  301. package/dist/shaders/FXAAShader.mjs +1 -1
  302. package/dist/shaders/FreiChenShader.js +1 -1
  303. package/dist/shaders/FreiChenShader.mjs +1 -1
  304. package/dist/shaders/GammaCorrectionShader.d.ts +1 -1
  305. package/dist/shaders/GodRaysShader.js +4 -4
  306. package/dist/shaders/GodRaysShader.mjs +4 -4
  307. package/dist/shaders/HorizontalBlurShader.d.ts +1 -1
  308. package/dist/shaders/LuminosityHighPassShader.js +1 -1
  309. package/dist/shaders/LuminosityHighPassShader.mjs +1 -1
  310. package/dist/shaders/NormalMapShader.js +2 -2
  311. package/dist/shaders/NormalMapShader.mjs +2 -2
  312. package/dist/shaders/SAOShader.d.ts +2 -2
  313. package/dist/shaders/SAOShader.js +3 -3
  314. package/dist/shaders/SAOShader.mjs +3 -3
  315. package/dist/shaders/SMAAShader.js +3 -3
  316. package/dist/shaders/SMAAShader.mjs +3 -3
  317. package/dist/shaders/SSAOShader.js +4 -4
  318. package/dist/shaders/SSAOShader.mjs +4 -4
  319. package/dist/shaders/SSRShader.js +4 -4
  320. package/dist/shaders/SSRShader.mjs +4 -4
  321. package/dist/shaders/SobelOperatorShader.js +1 -1
  322. package/dist/shaders/SobelOperatorShader.mjs +1 -1
  323. package/dist/shaders/SubsurfaceScatteringShader.d.ts +2 -2
  324. package/dist/shaders/SubsurfaceScatteringShader.js +91 -52
  325. package/dist/shaders/SubsurfaceScatteringShader.mjs +91 -52
  326. package/dist/shaders/ToonShader.js +25 -25
  327. package/dist/shaders/ToonShader.mjs +25 -25
  328. package/dist/shaders/TriangleBlurShader.js +1 -1
  329. package/dist/shaders/TriangleBlurShader.mjs +1 -1
  330. package/dist/shaders/VerticalBlurShader.d.ts +1 -1
  331. package/dist/shaders/VolumeShader.js +2 -2
  332. package/dist/shaders/VolumeShader.mjs +2 -2
  333. package/dist/shaders/types.d.ts +2 -2
  334. package/dist/types/Loader.d.ts +4 -0
  335. package/dist/types/Loader.js +26 -0
  336. package/dist/types/Loader.mjs +9 -0
  337. package/dist/types/shared.d.ts +2 -2
  338. package/dist/types/utils.d.ts +1 -1
  339. package/dist/utils/BufferGeometryUtils.d.ts +2 -2
  340. package/dist/utils/BufferGeometryUtils.js +1 -1
  341. package/dist/utils/BufferGeometryUtils.mjs +1 -1
  342. package/dist/utils/RoughnessMipmapper.d.ts +8 -0
  343. package/dist/utils/RoughnessMipmapper.js +79 -75
  344. package/dist/utils/RoughnessMipmapper.mjs +79 -75
  345. package/dist/utils/ShadowMapViewer.js +103 -106
  346. package/dist/utils/ShadowMapViewer.mjs +103 -106
  347. package/dist/utils/SkeletonUtils.d.ts +5 -21
  348. package/dist/utils/SkeletonUtils.js +182 -263
  349. package/dist/utils/SkeletonUtils.mjs +183 -264
  350. package/dist/utils/UVsDebug.js +37 -42
  351. package/dist/utils/UVsDebug.mjs +37 -42
  352. package/dist/webxr/ARButton.d.ts +2 -1
  353. package/dist/webxr/OculusHandModel.d.ts +2 -1
  354. package/dist/webxr/OculusHandPointerModel.d.ts +2 -2
  355. package/dist/webxr/OculusHandPointerModel.js +2 -2
  356. package/dist/webxr/OculusHandPointerModel.mjs +2 -2
  357. package/dist/webxr/VRButton.d.ts +2 -1
  358. package/dist/webxr/XRHandPrimitiveModel.js +2 -2
  359. package/dist/webxr/XRHandPrimitiveModel.mjs +2 -2
  360. package/package.json +5 -6
  361. package/dist/custom.d.ts +0 -5
  362. package/dist/loaders/NodeMaterialLoader.js +0 -146
  363. package/dist/loaders/NodeMaterialLoader.mjs +0 -146
  364. package/dist/nodes/Nodes.js +0 -347
  365. package/dist/nodes/Nodes.mjs +0 -347
  366. package/dist/nodes/ShaderNode.js +0 -408
  367. package/dist/nodes/ShaderNode.mjs +0 -408
  368. package/dist/nodes/accessors/BufferNode.js +0 -14
  369. package/dist/nodes/accessors/BufferNode.mjs +0 -15
  370. package/dist/nodes/accessors/CameraNode.js +0 -43
  371. package/dist/nodes/accessors/CameraNode.mjs +0 -44
  372. package/dist/nodes/accessors/CubeTextureNode.js +0 -41
  373. package/dist/nodes/accessors/CubeTextureNode.mjs +0 -42
  374. package/dist/nodes/accessors/MaterialNode.js +0 -70
  375. package/dist/nodes/accessors/MaterialNode.mjs +0 -71
  376. package/dist/nodes/accessors/MaterialReferenceNode.js +0 -13
  377. package/dist/nodes/accessors/MaterialReferenceNode.mjs +0 -14
  378. package/dist/nodes/accessors/ModelNode.js +0 -8
  379. package/dist/nodes/accessors/ModelNode.mjs +0 -9
  380. package/dist/nodes/accessors/ModelViewProjectionNode.js +0 -23
  381. package/dist/nodes/accessors/ModelViewProjectionNode.mjs +0 -24
  382. package/dist/nodes/accessors/NormalNode.js +0 -61
  383. package/dist/nodes/accessors/NormalNode.mjs +0 -62
  384. package/dist/nodes/accessors/Object3DNode.js +0 -75
  385. package/dist/nodes/accessors/Object3DNode.mjs +0 -76
  386. package/dist/nodes/accessors/PointUVNode.js +0 -12
  387. package/dist/nodes/accessors/PointUVNode.mjs +0 -13
  388. package/dist/nodes/accessors/PositionNode.js +0 -64
  389. package/dist/nodes/accessors/PositionNode.mjs +0 -65
  390. package/dist/nodes/accessors/ReferenceNode.js +0 -36
  391. package/dist/nodes/accessors/ReferenceNode.mjs +0 -37
  392. package/dist/nodes/accessors/ReflectNode.js +0 -42
  393. package/dist/nodes/accessors/ReflectNode.mjs +0 -43
  394. package/dist/nodes/accessors/SkinningNode.js +0 -57
  395. package/dist/nodes/accessors/SkinningNode.mjs +0 -58
  396. package/dist/nodes/accessors/TextureNode.js +0 -53
  397. package/dist/nodes/accessors/TextureNode.mjs +0 -54
  398. package/dist/nodes/accessors/UVNode.js +0 -22
  399. package/dist/nodes/accessors/UVNode.mjs +0 -23
  400. package/dist/nodes/core/ArrayUniformNode.js +0 -13
  401. package/dist/nodes/core/ArrayUniformNode.mjs +0 -14
  402. package/dist/nodes/core/AttributeNode.js +0 -29
  403. package/dist/nodes/core/AttributeNode.mjs +0 -30
  404. package/dist/nodes/core/BypassNode.js +0 -21
  405. package/dist/nodes/core/BypassNode.mjs +0 -22
  406. package/dist/nodes/core/CodeNode.js +0 -27
  407. package/dist/nodes/core/CodeNode.mjs +0 -28
  408. package/dist/nodes/core/ConstNode.js +0 -13
  409. package/dist/nodes/core/ConstNode.mjs +0 -14
  410. package/dist/nodes/core/ContextNode.js +0 -21
  411. package/dist/nodes/core/ContextNode.mjs +0 -22
  412. package/dist/nodes/core/ExpressionNode.js +0 -18
  413. package/dist/nodes/core/ExpressionNode.mjs +0 -19
  414. package/dist/nodes/core/FunctionCallNode.js +0 -36
  415. package/dist/nodes/core/FunctionCallNode.mjs +0 -37
  416. package/dist/nodes/core/FunctionNode.js +0 -55
  417. package/dist/nodes/core/FunctionNode.mjs +0 -56
  418. package/dist/nodes/core/InputNode.js +0 -37
  419. package/dist/nodes/core/InputNode.mjs +0 -38
  420. package/dist/nodes/core/Node.js +0 -138
  421. package/dist/nodes/core/Node.mjs +0 -139
  422. package/dist/nodes/core/NodeAttribute.js +0 -9
  423. package/dist/nodes/core/NodeAttribute.mjs +0 -10
  424. package/dist/nodes/core/NodeBuilder.js +0 -402
  425. package/dist/nodes/core/NodeBuilder.mjs +0 -402
  426. package/dist/nodes/core/NodeCode.js +0 -10
  427. package/dist/nodes/core/NodeCode.mjs +0 -11
  428. package/dist/nodes/core/NodeFrame.js +0 -34
  429. package/dist/nodes/core/NodeFrame.mjs +0 -35
  430. package/dist/nodes/core/NodeFunctionInput.js +0 -12
  431. package/dist/nodes/core/NodeFunctionInput.mjs +0 -13
  432. package/dist/nodes/core/NodeKeywords.js +0 -43
  433. package/dist/nodes/core/NodeKeywords.mjs +0 -44
  434. package/dist/nodes/core/NodeUniform.js +0 -17
  435. package/dist/nodes/core/NodeUniform.mjs +0 -18
  436. package/dist/nodes/core/NodeUtils.js +0 -57
  437. package/dist/nodes/core/NodeUtils.mjs +0 -57
  438. package/dist/nodes/core/NodeVar.js +0 -9
  439. package/dist/nodes/core/NodeVar.mjs +0 -10
  440. package/dist/nodes/core/NodeVary.js +0 -9
  441. package/dist/nodes/core/NodeVary.mjs +0 -10
  442. package/dist/nodes/core/PropertyNode.js +0 -20
  443. package/dist/nodes/core/PropertyNode.mjs +0 -21
  444. package/dist/nodes/core/TempNode.js +0 -24
  445. package/dist/nodes/core/TempNode.mjs +0 -25
  446. package/dist/nodes/core/UniformNode.js +0 -22
  447. package/dist/nodes/core/UniformNode.mjs +0 -23
  448. package/dist/nodes/core/VarNode.js +0 -30
  449. package/dist/nodes/core/VarNode.mjs +0 -31
  450. package/dist/nodes/core/VaryNode.js +0 -29
  451. package/dist/nodes/core/VaryNode.mjs +0 -30
  452. package/dist/nodes/core/constants.js +0 -24
  453. package/dist/nodes/core/constants.mjs +0 -24
  454. package/dist/nodes/display/ColorSpaceNode.js +0 -62
  455. package/dist/nodes/display/ColorSpaceNode.mjs +0 -62
  456. package/dist/nodes/display/NormalMapNode.js +0 -53
  457. package/dist/nodes/display/NormalMapNode.mjs +0 -54
  458. package/dist/nodes/fog/FogNode.js +0 -14
  459. package/dist/nodes/fog/FogNode.mjs +0 -15
  460. package/dist/nodes/fog/FogRangeNode.js +0 -16
  461. package/dist/nodes/fog/FogRangeNode.mjs +0 -17
  462. package/dist/nodes/functions/BSDFs.js +0 -64
  463. package/dist/nodes/functions/BSDFs.mjs +0 -64
  464. package/dist/nodes/lights/LightContextNode.js +0 -34
  465. package/dist/nodes/lights/LightContextNode.mjs +0 -35
  466. package/dist/nodes/lights/LightNode.js +0 -57
  467. package/dist/nodes/lights/LightNode.mjs +0 -58
  468. package/dist/nodes/lights/LightsNode.js +0 -58
  469. package/dist/nodes/lights/LightsNode.mjs +0 -59
  470. package/dist/nodes/loaders/NodeLoader.js +0 -195
  471. package/dist/nodes/loaders/NodeLoader.mjs +0 -196
  472. package/dist/nodes/loaders/NodeMaterialLoader.js +0 -23
  473. package/dist/nodes/loaders/NodeMaterialLoader.mjs +0 -24
  474. package/dist/nodes/loaders/NodeObjectLoader.js +0 -39
  475. package/dist/nodes/loaders/NodeObjectLoader.mjs +0 -40
  476. package/dist/nodes/materials/LineBasicNodeMaterial.js +0 -26
  477. package/dist/nodes/materials/LineBasicNodeMaterial.mjs +0 -27
  478. package/dist/nodes/materials/Materials.js +0 -24
  479. package/dist/nodes/materials/Materials.mjs +0 -24
  480. package/dist/nodes/materials/MeshBasicNodeMaterial.js +0 -27
  481. package/dist/nodes/materials/MeshBasicNodeMaterial.mjs +0 -28
  482. package/dist/nodes/materials/MeshStandardNodeMaterial.js +0 -40
  483. package/dist/nodes/materials/MeshStandardNodeMaterial.mjs +0 -41
  484. package/dist/nodes/materials/NodeMaterial.js +0 -63
  485. package/dist/nodes/materials/NodeMaterial.mjs +0 -64
  486. package/dist/nodes/materials/PointsNodeMaterial.js +0 -29
  487. package/dist/nodes/materials/PointsNodeMaterial.mjs +0 -30
  488. package/dist/nodes/math/CondNode.js +0 -40
  489. package/dist/nodes/math/CondNode.mjs +0 -41
  490. package/dist/nodes/math/MathNode.js +0 -165
  491. package/dist/nodes/math/MathNode.mjs +0 -166
  492. package/dist/nodes/math/OperatorNode.js +0 -102
  493. package/dist/nodes/math/OperatorNode.mjs +0 -103
  494. package/dist/nodes/procedural/CheckerNode.js +0 -20
  495. package/dist/nodes/procedural/CheckerNode.mjs +0 -21
  496. package/dist/nodes/utils/ArrayElementNode.js +0 -18
  497. package/dist/nodes/utils/ArrayElementNode.mjs +0 -19
  498. package/dist/nodes/utils/ConvertNode.js +0 -24
  499. package/dist/nodes/utils/ConvertNode.mjs +0 -25
  500. package/dist/nodes/utils/JoinNode.js +0 -25
  501. package/dist/nodes/utils/JoinNode.mjs +0 -26
  502. package/dist/nodes/utils/MatcapUVNode.js +0 -15
  503. package/dist/nodes/utils/MatcapUVNode.mjs +0 -16
  504. package/dist/nodes/utils/OscNode.js +0 -49
  505. package/dist/nodes/utils/OscNode.mjs +0 -50
  506. package/dist/nodes/utils/SplitNode.js +0 -44
  507. package/dist/nodes/utils/SplitNode.mjs +0 -45
  508. package/dist/nodes/utils/SpriteSheetUVNode.js +0 -39
  509. package/dist/nodes/utils/SpriteSheetUVNode.mjs +0 -40
  510. package/dist/nodes/utils/TimerNode.js +0 -43
  511. package/dist/nodes/utils/TimerNode.mjs +0 -44
  512. package/dist/offscreen/jank.js +0 -26
  513. package/dist/offscreen/jank.mjs +0 -27
  514. package/dist/offscreen/offscreen.js +0 -8
  515. package/dist/offscreen/offscreen.mjs +0 -7
  516. package/dist/offscreen/scene.js +0 -68
  517. package/dist/offscreen/scene.mjs +0 -52
  518. package/dist/renderers/nodes/accessors/CameraNode.js +0 -62
  519. package/dist/renderers/nodes/accessors/CameraNode.mjs +0 -63
  520. package/dist/renderers/nodes/accessors/ModelNode.js +0 -60
  521. package/dist/renderers/nodes/accessors/ModelNode.mjs +0 -61
  522. package/dist/renderers/nodes/accessors/ModelViewProjectionNode.js +0 -20
  523. package/dist/renderers/nodes/accessors/ModelViewProjectionNode.mjs +0 -21
  524. package/dist/renderers/nodes/accessors/NormalNode.js +0 -60
  525. package/dist/renderers/nodes/accessors/NormalNode.mjs +0 -61
  526. package/dist/renderers/nodes/accessors/PositionNode.js +0 -29
  527. package/dist/renderers/nodes/accessors/PositionNode.mjs +0 -30
  528. package/dist/renderers/nodes/accessors/UVNode.js +0 -12
  529. package/dist/renderers/nodes/accessors/UVNode.mjs +0 -13
  530. package/dist/renderers/nodes/core/AttributeNode.js +0 -34
  531. package/dist/renderers/nodes/core/AttributeNode.mjs +0 -35
  532. package/dist/renderers/nodes/core/InputNode.js +0 -30
  533. package/dist/renderers/nodes/core/InputNode.mjs +0 -31
  534. package/dist/renderers/nodes/core/Node.js +0 -33
  535. package/dist/renderers/nodes/core/Node.mjs +0 -34
  536. package/dist/renderers/nodes/core/NodeAttribute.js +0 -9
  537. package/dist/renderers/nodes/core/NodeAttribute.mjs +0 -10
  538. package/dist/renderers/nodes/core/NodeBuilder.js +0 -248
  539. package/dist/renderers/nodes/core/NodeBuilder.mjs +0 -249
  540. package/dist/renderers/nodes/core/NodeFrame.js +0 -34
  541. package/dist/renderers/nodes/core/NodeFrame.mjs +0 -35
  542. package/dist/renderers/nodes/core/NodeSlot.js +0 -9
  543. package/dist/renderers/nodes/core/NodeSlot.mjs +0 -10
  544. package/dist/renderers/nodes/core/NodeUniform.js +0 -17
  545. package/dist/renderers/nodes/core/NodeUniform.mjs +0 -18
  546. package/dist/renderers/nodes/core/NodeVary.js +0 -10
  547. package/dist/renderers/nodes/core/NodeVary.mjs +0 -11
  548. package/dist/renderers/nodes/core/VaryNode.js +0 -21
  549. package/dist/renderers/nodes/core/VaryNode.mjs +0 -22
  550. package/dist/renderers/nodes/core/constants.js +0 -22
  551. package/dist/renderers/nodes/core/constants.mjs +0 -22
  552. package/dist/renderers/nodes/inputs/ColorNode.js +0 -10
  553. package/dist/renderers/nodes/inputs/ColorNode.mjs +0 -11
  554. package/dist/renderers/nodes/inputs/FloatNode.js +0 -10
  555. package/dist/renderers/nodes/inputs/FloatNode.mjs +0 -11
  556. package/dist/renderers/nodes/inputs/Matrix3Node.js +0 -11
  557. package/dist/renderers/nodes/inputs/Matrix3Node.mjs +0 -12
  558. package/dist/renderers/nodes/inputs/Matrix4Node.js +0 -11
  559. package/dist/renderers/nodes/inputs/Matrix4Node.mjs +0 -12
  560. package/dist/renderers/nodes/inputs/TextureNode.js +0 -19
  561. package/dist/renderers/nodes/inputs/TextureNode.mjs +0 -20
  562. package/dist/renderers/nodes/inputs/Vector2Node.js +0 -10
  563. package/dist/renderers/nodes/inputs/Vector2Node.mjs +0 -11
  564. package/dist/renderers/nodes/inputs/Vector3Node.js +0 -11
  565. package/dist/renderers/nodes/inputs/Vector3Node.mjs +0 -12
  566. package/dist/renderers/nodes/inputs/Vector4Node.js +0 -11
  567. package/dist/renderers/nodes/inputs/Vector4Node.mjs +0 -12
  568. package/dist/renderers/nodes/math/MathNode.js +0 -54
  569. package/dist/renderers/nodes/math/MathNode.mjs +0 -55
  570. package/dist/renderers/nodes/math/OperatorNode.js +0 -41
  571. package/dist/renderers/nodes/math/OperatorNode.mjs +0 -42
  572. package/dist/renderers/nodes/utils/SwitchNode.js +0 -19
  573. package/dist/renderers/nodes/utils/SwitchNode.mjs +0 -20
  574. package/dist/renderers/nodes/utils/TimerNode.js +0 -13
  575. package/dist/renderers/nodes/utils/TimerNode.mjs +0 -14
  576. package/dist/renderers/webgpu/WebGPU.js +0 -23
  577. package/dist/renderers/webgpu/WebGPU.mjs +0 -24
  578. package/dist/renderers/webgpu/WebGPUAttributes.js +0 -68
  579. package/dist/renderers/webgpu/WebGPUAttributes.mjs +0 -69
  580. package/dist/renderers/webgpu/WebGPUBackground.js +0 -60
  581. package/dist/renderers/webgpu/WebGPUBackground.mjs +0 -61
  582. package/dist/renderers/webgpu/WebGPUBinding.js +0 -13
  583. package/dist/renderers/webgpu/WebGPUBinding.mjs +0 -14
  584. package/dist/renderers/webgpu/WebGPUBindings.js +0 -154
  585. package/dist/renderers/webgpu/WebGPUBindings.mjs +0 -155
  586. package/dist/renderers/webgpu/WebGPUComputePipelines.js +0 -43
  587. package/dist/renderers/webgpu/WebGPUComputePipelines.mjs +0 -44
  588. package/dist/renderers/webgpu/WebGPUGeometries.js +0 -40
  589. package/dist/renderers/webgpu/WebGPUGeometries.mjs +0 -41
  590. package/dist/renderers/webgpu/WebGPUInfo.js +0 -45
  591. package/dist/renderers/webgpu/WebGPUInfo.mjs +0 -46
  592. package/dist/renderers/webgpu/WebGPUObjects.js +0 -24
  593. package/dist/renderers/webgpu/WebGPUObjects.mjs +0 -25
  594. package/dist/renderers/webgpu/WebGPUProperties.js +0 -21
  595. package/dist/renderers/webgpu/WebGPUProperties.mjs +0 -22
  596. package/dist/renderers/webgpu/WebGPURenderLists.js +0 -118
  597. package/dist/renderers/webgpu/WebGPURenderLists.mjs +0 -119
  598. package/dist/renderers/webgpu/WebGPURenderPipelines.js +0 -545
  599. package/dist/renderers/webgpu/WebGPURenderPipelines.mjs +0 -546
  600. package/dist/renderers/webgpu/WebGPURenderer.js +0 -596
  601. package/dist/renderers/webgpu/WebGPURenderer.mjs +0 -575
  602. package/dist/renderers/webgpu/WebGPUSampledTexture.js +0 -40
  603. package/dist/renderers/webgpu/WebGPUSampledTexture.mjs +0 -40
  604. package/dist/renderers/webgpu/WebGPUSampler.js +0 -14
  605. package/dist/renderers/webgpu/WebGPUSampler.mjs +0 -15
  606. package/dist/renderers/webgpu/WebGPUStorageBuffer.js +0 -14
  607. package/dist/renderers/webgpu/WebGPUStorageBuffer.mjs +0 -15
  608. package/dist/renderers/webgpu/WebGPUTextureRenderer.js +0 -22
  609. package/dist/renderers/webgpu/WebGPUTextureRenderer.mjs +0 -23
  610. package/dist/renderers/webgpu/WebGPUTextureUtils.js +0 -97
  611. package/dist/renderers/webgpu/WebGPUTextureUtils.mjs +0 -98
  612. package/dist/renderers/webgpu/WebGPUTextures.js +0 -483
  613. package/dist/renderers/webgpu/WebGPUTextures.mjs +0 -484
  614. package/dist/renderers/webgpu/WebGPUUniform.js +0 -81
  615. package/dist/renderers/webgpu/WebGPUUniform.mjs +0 -81
  616. package/dist/renderers/webgpu/WebGPUUniformsGroup.js +0 -175
  617. package/dist/renderers/webgpu/WebGPUUniformsGroup.mjs +0 -176
  618. package/dist/renderers/webgpu/constants.js +0 -241
  619. package/dist/renderers/webgpu/constants.mjs +0 -241
  620. package/dist/renderers/webgpu/nodes/ShaderLib.js +0 -41
  621. package/dist/renderers/webgpu/nodes/ShaderLib.mjs +0 -42
  622. package/dist/renderers/webgpu/nodes/WebGPUNodeBuilder.js +0 -164
  623. package/dist/renderers/webgpu/nodes/WebGPUNodeBuilder.mjs +0 -165
  624. package/dist/renderers/webgpu/nodes/WebGPUNodeUniform.js +0 -73
  625. package/dist/renderers/webgpu/nodes/WebGPUNodeUniform.mjs +0 -73
  626. package/dist/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.js +0 -14
  627. package/dist/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.mjs +0 -15
  628. package/dist/renderers/webgpu/nodes/WebGPUNodes.js +0 -39
  629. package/dist/renderers/webgpu/nodes/WebGPUNodes.mjs +0 -40
@@ -1,270 +1,270 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const THREE = require("three");
4
- var RenderableObject = function() {
5
- this.id = 0;
6
- this.object = null;
7
- this.z = 0;
8
- this.renderOrder = 0;
9
- };
10
- var RenderableFace = function() {
11
- this.id = 0;
12
- this.v1 = new RenderableVertex();
13
- this.v2 = new RenderableVertex();
14
- this.v3 = new RenderableVertex();
15
- this.normalModel = new THREE.Vector3();
16
- this.vertexNormalsModel = [new THREE.Vector3(), new THREE.Vector3(), new THREE.Vector3()];
17
- this.vertexNormalsLength = 0;
18
- this.color = new THREE.Color();
19
- this.material = null;
20
- this.uvs = [new THREE.Vector2(), new THREE.Vector2(), new THREE.Vector2()];
21
- this.z = 0;
22
- this.renderOrder = 0;
23
- };
24
- var RenderableVertex = function() {
25
- this.position = new THREE.Vector3();
26
- this.positionWorld = new THREE.Vector3();
27
- this.positionScreen = new THREE.Vector4();
28
- this.visible = true;
29
- };
30
- RenderableVertex.prototype.copy = function(vertex) {
31
- this.positionWorld.copy(vertex.positionWorld);
32
- this.positionScreen.copy(vertex.positionScreen);
33
- };
34
- var RenderableLine = function() {
35
- this.id = 0;
36
- this.v1 = new RenderableVertex();
37
- this.v2 = new RenderableVertex();
38
- this.vertexColors = [new THREE.Color(), new THREE.Color()];
39
- this.material = null;
40
- this.z = 0;
41
- this.renderOrder = 0;
42
- };
43
- var RenderableSprite = function() {
44
- this.id = 0;
45
- this.object = null;
46
- this.x = 0;
47
- this.y = 0;
48
- this.z = 0;
49
- this.rotation = 0;
50
- this.scale = new THREE.Vector2();
51
- this.material = null;
52
- this.renderOrder = 0;
53
- };
54
- var Projector = function() {
55
- var _object, _objectCount, _objectPool = [], _objectPoolLength = 0, _vertex, _vertexCount, _vertexPool = [], _vertexPoolLength = 0, _face, _faceCount, _facePool = [], _facePoolLength = 0, _line, _lineCount, _linePool = [], _linePoolLength = 0, _sprite, _spriteCount, _spritePool = [], _spritePoolLength = 0, _renderData = { objects: [], lights: [], elements: [] }, _vector3 = new THREE.Vector3(), _vector4 = new THREE.Vector4(), _clipBox = new THREE.Box3(new THREE.Vector3(-1, -1, -1), new THREE.Vector3(1, 1, 1)), _boundingBox = new THREE.Box3(), _points3 = new Array(3), _viewMatrix = new THREE.Matrix4(), _viewProjectionMatrix = new THREE.Matrix4(), _modelMatrix, _modelViewProjectionMatrix = new THREE.Matrix4(), _frustum = new THREE.Frustum();
56
- this.projectVector = function(vector, camera) {
57
- console.warn("THREE.Projector: .projectVector() is now vector.project().");
58
- vector.project(camera);
59
- };
60
- this.unprojectVector = function(vector, camera) {
61
- console.warn("THREE.Projector: .unprojectVector() is now vector.unproject().");
62
- vector.unproject(camera);
63
- };
64
- this.pickingRay = function() {
65
- console.error("THREE.Projector: .pickingRay() is now raycaster.setFromCamera().");
66
- };
67
- var RenderList = function() {
68
- var normals = [];
69
- var colors = [];
70
- var uvs = [];
71
- var object = null;
72
- var normalMatrix = new THREE.Matrix3();
73
- function setObject(value) {
74
- object = value;
75
- normalMatrix.getNormalMatrix(object.matrixWorld);
76
- normals.length = 0;
77
- colors.length = 0;
78
- uvs.length = 0;
79
- }
80
- function projectVertex(vertex) {
81
- var position = vertex.position;
82
- var positionWorld = vertex.positionWorld;
83
- var positionScreen = vertex.positionScreen;
84
- positionWorld.copy(position).applyMatrix4(_modelMatrix);
85
- positionScreen.copy(positionWorld).applyMatrix4(_viewProjectionMatrix);
86
- var invW = 1 / positionScreen.w;
87
- positionScreen.x *= invW;
88
- positionScreen.y *= invW;
89
- positionScreen.z *= invW;
90
- vertex.visible = positionScreen.x >= -1 && positionScreen.x <= 1 && positionScreen.y >= -1 && positionScreen.y <= 1 && positionScreen.z >= -1 && positionScreen.z <= 1;
91
- }
92
- function pushVertex(x, y, z) {
93
- _vertex = getNextVertexInPool();
94
- _vertex.position.set(x, y, z);
95
- projectVertex(_vertex);
96
- }
97
- function pushNormal(x, y, z) {
98
- normals.push(x, y, z);
99
- }
100
- function pushColor(r, g, b) {
101
- colors.push(r, g, b);
102
- }
103
- function pushUv(x, y) {
104
- uvs.push(x, y);
105
- }
106
- function checkTriangleVisibility(v1, v2, v3) {
107
- if (v1.visible === true || v2.visible === true || v3.visible === true)
108
- return true;
109
- _points3[0] = v1.positionScreen;
110
- _points3[1] = v2.positionScreen;
111
- _points3[2] = v3.positionScreen;
112
- return _clipBox.intersectsBox(_boundingBox.setFromPoints(_points3));
113
- }
114
- function checkBackfaceCulling(v1, v2, v3) {
115
- return (v3.positionScreen.x - v1.positionScreen.x) * (v2.positionScreen.y - v1.positionScreen.y) - (v3.positionScreen.y - v1.positionScreen.y) * (v2.positionScreen.x - v1.positionScreen.x) < 0;
116
- }
117
- function pushLine(a, b) {
118
- var v1 = _vertexPool[a];
119
- var v2 = _vertexPool[b];
120
- v1.positionScreen.copy(v1.position).applyMatrix4(_modelViewProjectionMatrix);
121
- v2.positionScreen.copy(v2.position).applyMatrix4(_modelViewProjectionMatrix);
122
- if (clipLine(v1.positionScreen, v2.positionScreen) === true) {
123
- v1.positionScreen.multiplyScalar(1 / v1.positionScreen.w);
124
- v2.positionScreen.multiplyScalar(1 / v2.positionScreen.w);
125
- _line = getNextLineInPool();
126
- _line.id = object.id;
127
- _line.v1.copy(v1);
128
- _line.v2.copy(v2);
129
- _line.z = Math.max(v1.positionScreen.z, v2.positionScreen.z);
130
- _line.renderOrder = object.renderOrder;
131
- _line.material = object.material;
132
- if (object.material.vertexColors) {
133
- _line.vertexColors[0].fromArray(colors, a * 3);
134
- _line.vertexColors[1].fromArray(colors, b * 3);
135
- }
136
- _renderData.elements.push(_line);
4
+ class RenderableObject {
5
+ constructor() {
6
+ this.id = 0;
7
+ this.object = null;
8
+ this.z = 0;
9
+ this.renderOrder = 0;
10
+ }
11
+ }
12
+ class RenderableFace {
13
+ constructor() {
14
+ this.id = 0;
15
+ this.v1 = new RenderableVertex();
16
+ this.v2 = new RenderableVertex();
17
+ this.v3 = new RenderableVertex();
18
+ this.normalModel = new THREE.Vector3();
19
+ this.vertexNormalsModel = [new THREE.Vector3(), new THREE.Vector3(), new THREE.Vector3()];
20
+ this.vertexNormalsLength = 0;
21
+ this.color = new THREE.Color();
22
+ this.material = null;
23
+ this.uvs = [new THREE.Vector2(), new THREE.Vector2(), new THREE.Vector2()];
24
+ this.z = 0;
25
+ this.renderOrder = 0;
26
+ }
27
+ }
28
+ class RenderableVertex {
29
+ constructor() {
30
+ this.position = new THREE.Vector3();
31
+ this.positionWorld = new THREE.Vector3();
32
+ this.positionScreen = new THREE.Vector4();
33
+ this.visible = true;
34
+ }
35
+ copy(vertex) {
36
+ this.positionWorld.copy(vertex.positionWorld);
37
+ this.positionScreen.copy(vertex.positionScreen);
38
+ }
39
+ }
40
+ class RenderableLine {
41
+ constructor() {
42
+ this.id = 0;
43
+ this.v1 = new RenderableVertex();
44
+ this.v2 = new RenderableVertex();
45
+ this.vertexColors = [new THREE.Color(), new THREE.Color()];
46
+ this.material = null;
47
+ this.z = 0;
48
+ this.renderOrder = 0;
49
+ }
50
+ }
51
+ class RenderableSprite {
52
+ constructor() {
53
+ this.id = 0;
54
+ this.object = null;
55
+ this.x = 0;
56
+ this.y = 0;
57
+ this.z = 0;
58
+ this.rotation = 0;
59
+ this.scale = new THREE.Vector2();
60
+ this.material = null;
61
+ this.renderOrder = 0;
62
+ }
63
+ }
64
+ class Projector {
65
+ constructor() {
66
+ let _object, _objectCount, _objectPoolLength = 0, _vertex, _vertexCount, _vertexPoolLength = 0, _face, _faceCount, _facePoolLength = 0, _line, _lineCount, _linePoolLength = 0, _sprite, _spriteCount, _spritePoolLength = 0, _modelMatrix;
67
+ const _renderData = { objects: [], lights: [], elements: [] }, _vector3 = new THREE.Vector3(), _vector4 = new THREE.Vector4(), _clipBox = new THREE.Box3(new THREE.Vector3(-1, -1, -1), new THREE.Vector3(1, 1, 1)), _boundingBox = new THREE.Box3(), _points3 = new Array(3), _viewMatrix = new THREE.Matrix4(), _viewProjectionMatrix = new THREE.Matrix4(), _modelViewProjectionMatrix = new THREE.Matrix4(), _frustum = new THREE.Frustum(), _objectPool = [], _vertexPool = [], _facePool = [], _linePool = [], _spritePool = [];
68
+ function RenderList() {
69
+ const normals = [];
70
+ const colors = [];
71
+ const uvs = [];
72
+ let object = null;
73
+ const normalMatrix = new THREE.Matrix3();
74
+ function setObject(value) {
75
+ object = value;
76
+ normalMatrix.getNormalMatrix(object.matrixWorld);
77
+ normals.length = 0;
78
+ colors.length = 0;
79
+ uvs.length = 0;
137
80
  }
138
- }
139
- function pushTriangle(a, b, c, material) {
140
- var v1 = _vertexPool[a];
141
- var v2 = _vertexPool[b];
142
- var v3 = _vertexPool[c];
143
- if (checkTriangleVisibility(v1, v2, v3) === false)
144
- return;
145
- if (material.side === THREE.DoubleSide || checkBackfaceCulling(v1, v2, v3) === true) {
146
- _face = getNextFaceInPool();
147
- _face.id = object.id;
148
- _face.v1.copy(v1);
149
- _face.v2.copy(v2);
150
- _face.v3.copy(v3);
151
- _face.z = (v1.positionScreen.z + v2.positionScreen.z + v3.positionScreen.z) / 3;
152
- _face.renderOrder = object.renderOrder;
153
- _vector3.subVectors(v3.position, v2.position);
154
- _vector4.subVectors(v1.position, v2.position);
155
- _vector3.cross(_vector4);
156
- _face.normalModel.copy(_vector3);
157
- _face.normalModel.applyMatrix3(normalMatrix).normalize();
158
- for (let i = 0; i < 3; i++) {
159
- var normal = _face.vertexNormalsModel[i];
160
- normal.fromArray(normals, arguments[i] * 3);
161
- normal.applyMatrix3(normalMatrix).normalize();
162
- var uv = _face.uvs[i];
163
- uv.fromArray(uvs, arguments[i] * 2);
81
+ function projectVertex(vertex) {
82
+ const position = vertex.position;
83
+ const positionWorld = vertex.positionWorld;
84
+ const positionScreen = vertex.positionScreen;
85
+ positionWorld.copy(position).applyMatrix4(_modelMatrix);
86
+ positionScreen.copy(positionWorld).applyMatrix4(_viewProjectionMatrix);
87
+ const invW = 1 / positionScreen.w;
88
+ positionScreen.x *= invW;
89
+ positionScreen.y *= invW;
90
+ positionScreen.z *= invW;
91
+ vertex.visible = positionScreen.x >= -1 && positionScreen.x <= 1 && positionScreen.y >= -1 && positionScreen.y <= 1 && positionScreen.z >= -1 && positionScreen.z <= 1;
92
+ }
93
+ function pushVertex(x, y, z) {
94
+ _vertex = getNextVertexInPool();
95
+ _vertex.position.set(x, y, z);
96
+ projectVertex(_vertex);
97
+ }
98
+ function pushNormal(x, y, z) {
99
+ normals.push(x, y, z);
100
+ }
101
+ function pushColor(r, g, b) {
102
+ colors.push(r, g, b);
103
+ }
104
+ function pushUv(x, y) {
105
+ uvs.push(x, y);
106
+ }
107
+ function checkTriangleVisibility(v1, v2, v3) {
108
+ if (v1.visible === true || v2.visible === true || v3.visible === true)
109
+ return true;
110
+ _points3[0] = v1.positionScreen;
111
+ _points3[1] = v2.positionScreen;
112
+ _points3[2] = v3.positionScreen;
113
+ return _clipBox.intersectsBox(_boundingBox.setFromPoints(_points3));
114
+ }
115
+ function checkBackfaceCulling(v1, v2, v3) {
116
+ return (v3.positionScreen.x - v1.positionScreen.x) * (v2.positionScreen.y - v1.positionScreen.y) - (v3.positionScreen.y - v1.positionScreen.y) * (v2.positionScreen.x - v1.positionScreen.x) < 0;
117
+ }
118
+ function pushLine(a, b) {
119
+ const v1 = _vertexPool[a];
120
+ const v2 = _vertexPool[b];
121
+ v1.positionScreen.copy(v1.position).applyMatrix4(_modelViewProjectionMatrix);
122
+ v2.positionScreen.copy(v2.position).applyMatrix4(_modelViewProjectionMatrix);
123
+ if (clipLine(v1.positionScreen, v2.positionScreen) === true) {
124
+ v1.positionScreen.multiplyScalar(1 / v1.positionScreen.w);
125
+ v2.positionScreen.multiplyScalar(1 / v2.positionScreen.w);
126
+ _line = getNextLineInPool();
127
+ _line.id = object.id;
128
+ _line.v1.copy(v1);
129
+ _line.v2.copy(v2);
130
+ _line.z = Math.max(v1.positionScreen.z, v2.positionScreen.z);
131
+ _line.renderOrder = object.renderOrder;
132
+ _line.material = object.material;
133
+ if (object.material.vertexColors) {
134
+ _line.vertexColors[0].fromArray(colors, a * 3);
135
+ _line.vertexColors[1].fromArray(colors, b * 3);
136
+ }
137
+ _renderData.elements.push(_line);
164
138
  }
165
- _face.vertexNormalsLength = 3;
166
- _face.material = material;
167
- if (material.vertexColors) {
168
- _face.color.fromArray(colors, a * 3);
139
+ }
140
+ function pushTriangle(a, b, c, material) {
141
+ const v1 = _vertexPool[a];
142
+ const v2 = _vertexPool[b];
143
+ const v3 = _vertexPool[c];
144
+ if (checkTriangleVisibility(v1, v2, v3) === false)
145
+ return;
146
+ if (material.side === THREE.DoubleSide || checkBackfaceCulling(v1, v2, v3) === true) {
147
+ _face = getNextFaceInPool();
148
+ _face.id = object.id;
149
+ _face.v1.copy(v1);
150
+ _face.v2.copy(v2);
151
+ _face.v3.copy(v3);
152
+ _face.z = (v1.positionScreen.z + v2.positionScreen.z + v3.positionScreen.z) / 3;
153
+ _face.renderOrder = object.renderOrder;
154
+ _vector3.subVectors(v3.position, v2.position);
155
+ _vector4.subVectors(v1.position, v2.position);
156
+ _vector3.cross(_vector4);
157
+ _face.normalModel.copy(_vector3);
158
+ _face.normalModel.applyMatrix3(normalMatrix).normalize();
159
+ for (let i = 0; i < 3; i++) {
160
+ const normal = _face.vertexNormalsModel[i];
161
+ normal.fromArray(normals, arguments[i] * 3);
162
+ normal.applyMatrix3(normalMatrix).normalize();
163
+ const uv = _face.uvs[i];
164
+ uv.fromArray(uvs, arguments[i] * 2);
165
+ }
166
+ _face.vertexNormalsLength = 3;
167
+ _face.material = material;
168
+ if (material.vertexColors) {
169
+ _face.color.fromArray(colors, a * 3);
170
+ }
171
+ _renderData.elements.push(_face);
169
172
  }
170
- _renderData.elements.push(_face);
171
173
  }
174
+ return {
175
+ setObject,
176
+ projectVertex,
177
+ checkTriangleVisibility,
178
+ checkBackfaceCulling,
179
+ pushVertex,
180
+ pushNormal,
181
+ pushColor,
182
+ pushUv,
183
+ pushLine,
184
+ pushTriangle
185
+ };
172
186
  }
173
- return {
174
- setObject,
175
- projectVertex,
176
- checkTriangleVisibility,
177
- checkBackfaceCulling,
178
- pushVertex,
179
- pushNormal,
180
- pushColor,
181
- pushUv,
182
- pushLine,
183
- pushTriangle
184
- };
185
- };
186
- var renderList = new RenderList();
187
- function projectObject(object) {
188
- if (object.visible === false)
189
- return;
190
- if (object.isLight) {
191
- _renderData.lights.push(object);
192
- } else if (object.isMesh || object.isLine || object.isPoints) {
193
- if (object.material.visible === false)
194
- return;
195
- if (object.frustumCulled === true && _frustum.intersectsObject(object) === false)
196
- return;
197
- addObject(object);
198
- } else if (object.isSprite) {
199
- if (object.material.visible === false)
187
+ const renderList = new RenderList();
188
+ function projectObject(object) {
189
+ if (object.visible === false)
200
190
  return;
201
- if (object.frustumCulled === true && _frustum.intersectsSprite(object) === false)
202
- return;
203
- addObject(object);
204
- }
205
- var children = object.children;
206
- for (let i = 0, l = children.length; i < l; i++) {
207
- projectObject(children[i]);
191
+ if (object.isLight) {
192
+ _renderData.lights.push(object);
193
+ } else if (object.isMesh || object.isLine || object.isPoints) {
194
+ if (object.material.visible === false)
195
+ return;
196
+ if (object.frustumCulled === true && _frustum.intersectsObject(object) === false)
197
+ return;
198
+ addObject(object);
199
+ } else if (object.isSprite) {
200
+ if (object.material.visible === false)
201
+ return;
202
+ if (object.frustumCulled === true && _frustum.intersectsSprite(object) === false)
203
+ return;
204
+ addObject(object);
205
+ }
206
+ const children = object.children;
207
+ for (let i = 0, l = children.length; i < l; i++) {
208
+ projectObject(children[i]);
209
+ }
208
210
  }
209
- }
210
- function addObject(object) {
211
- _object = getNextObjectInPool();
212
- _object.id = object.id;
213
- _object.object = object;
214
- _vector3.setFromMatrixPosition(object.matrixWorld);
215
- _vector3.applyMatrix4(_viewProjectionMatrix);
216
- _object.z = _vector3.z;
217
- _object.renderOrder = object.renderOrder;
218
- _renderData.objects.push(_object);
219
- }
220
- this.projectScene = function(scene, camera, sortObjects, sortElements) {
221
- _faceCount = 0;
222
- _lineCount = 0;
223
- _spriteCount = 0;
224
- _renderData.elements.length = 0;
225
- if (scene.autoUpdate === true)
226
- scene.updateMatrixWorld();
227
- if (camera.parent === null)
228
- camera.updateMatrixWorld();
229
- _viewMatrix.copy(camera.matrixWorldInverse);
230
- _viewProjectionMatrix.multiplyMatrices(camera.projectionMatrix, _viewMatrix);
231
- _frustum.setFromProjectionMatrix(_viewProjectionMatrix);
232
- _objectCount = 0;
233
- _renderData.objects.length = 0;
234
- _renderData.lights.length = 0;
235
- projectObject(scene);
236
- if (sortObjects === true) {
237
- _renderData.objects.sort(painterSort);
211
+ function addObject(object) {
212
+ _object = getNextObjectInPool();
213
+ _object.id = object.id;
214
+ _object.object = object;
215
+ _vector3.setFromMatrixPosition(object.matrixWorld);
216
+ _vector3.applyMatrix4(_viewProjectionMatrix);
217
+ _object.z = _vector3.z;
218
+ _object.renderOrder = object.renderOrder;
219
+ _renderData.objects.push(_object);
238
220
  }
239
- var objects = _renderData.objects;
240
- for (let o = 0, ol = objects.length; o < ol; o++) {
241
- var object = objects[o].object;
242
- var geometry = object.geometry;
243
- renderList.setObject(object);
244
- _modelMatrix = object.matrixWorld;
245
- _vertexCount = 0;
246
- if (object.isMesh) {
247
- if (geometry.isBufferGeometry) {
248
- var material = object.material;
249
- var isMultiMaterial = Array.isArray(material);
250
- var attributes = geometry.attributes;
251
- var groups = geometry.groups;
221
+ this.projectScene = function(scene, camera, sortObjects, sortElements) {
222
+ _faceCount = 0;
223
+ _lineCount = 0;
224
+ _spriteCount = 0;
225
+ _renderData.elements.length = 0;
226
+ if (scene.matrixWorldAutoUpdate === true)
227
+ scene.updateMatrixWorld();
228
+ if (camera.parent === null && camera.matrixWorldAutoUpdate === true)
229
+ camera.updateMatrixWorld();
230
+ _viewMatrix.copy(camera.matrixWorldInverse);
231
+ _viewProjectionMatrix.multiplyMatrices(camera.projectionMatrix, _viewMatrix);
232
+ _frustum.setFromProjectionMatrix(_viewProjectionMatrix);
233
+ _objectCount = 0;
234
+ _renderData.objects.length = 0;
235
+ _renderData.lights.length = 0;
236
+ projectObject(scene);
237
+ if (sortObjects === true) {
238
+ _renderData.objects.sort(painterSort);
239
+ }
240
+ const objects = _renderData.objects;
241
+ for (let o = 0, ol = objects.length; o < ol; o++) {
242
+ const object = objects[o].object;
243
+ const geometry = object.geometry;
244
+ renderList.setObject(object);
245
+ _modelMatrix = object.matrixWorld;
246
+ _vertexCount = 0;
247
+ if (object.isMesh) {
248
+ let material = object.material;
249
+ const isMultiMaterial = Array.isArray(material);
250
+ const attributes = geometry.attributes;
251
+ const groups = geometry.groups;
252
252
  if (attributes.position === void 0)
253
253
  continue;
254
- var positions = attributes.position.array;
254
+ const positions = attributes.position.array;
255
255
  for (let i = 0, l = positions.length; i < l; i += 3) {
256
- var x = positions[i];
257
- var y = positions[i + 1];
258
- var z = positions[i + 2];
259
- if (material.morphTargets === true) {
260
- var morphTargets = geometry.morphAttributes.position;
261
- var morphTargetsRelative = geometry.morphTargetsRelative;
262
- var morphInfluences = object.morphTargetInfluences;
256
+ let x = positions[i];
257
+ let y = positions[i + 1];
258
+ let z = positions[i + 2];
259
+ const morphTargets = geometry.morphAttributes.position;
260
+ if (morphTargets !== void 0) {
261
+ const morphTargetsRelative = geometry.morphTargetsRelative;
262
+ const morphInfluences = object.morphTargetInfluences;
263
263
  for (let t = 0, tl = morphTargets.length; t < tl; t++) {
264
- var influence = morphInfluences[t];
264
+ const influence = morphInfluences[t];
265
265
  if (influence === 0)
266
266
  continue;
267
- var target = morphTargets[t];
267
+ const target = morphTargets[t];
268
268
  if (morphTargetsRelative) {
269
269
  x += target.getX(i / 3) * influence;
270
270
  y += target.getY(i / 3) * influence;
@@ -279,28 +279,28 @@ var Projector = function() {
279
279
  renderList.pushVertex(x, y, z);
280
280
  }
281
281
  if (attributes.normal !== void 0) {
282
- var normals = attributes.normal.array;
282
+ const normals = attributes.normal.array;
283
283
  for (let i = 0, l = normals.length; i < l; i += 3) {
284
284
  renderList.pushNormal(normals[i], normals[i + 1], normals[i + 2]);
285
285
  }
286
286
  }
287
287
  if (attributes.color !== void 0) {
288
- var colors = attributes.color.array;
288
+ const colors = attributes.color.array;
289
289
  for (let i = 0, l = colors.length; i < l; i += 3) {
290
290
  renderList.pushColor(colors[i], colors[i + 1], colors[i + 2]);
291
291
  }
292
292
  }
293
293
  if (attributes.uv !== void 0) {
294
- var uvs = attributes.uv.array;
294
+ const uvs = attributes.uv.array;
295
295
  for (let i = 0, l = uvs.length; i < l; i += 2) {
296
296
  renderList.pushUv(uvs[i], uvs[i + 1]);
297
297
  }
298
298
  }
299
299
  if (geometry.index !== null) {
300
- var indices = geometry.index.array;
300
+ const indices = geometry.index.array;
301
301
  if (groups.length > 0) {
302
302
  for (let g = 0; g < groups.length; g++) {
303
- var group = groups[g];
303
+ const group = groups[g];
304
304
  material = isMultiMaterial === true ? object.material[group.materialIndex] : object.material;
305
305
  if (material === void 0)
306
306
  continue;
@@ -316,7 +316,7 @@ var Projector = function() {
316
316
  } else {
317
317
  if (groups.length > 0) {
318
318
  for (let g = 0; g < groups.length; g++) {
319
- var group = groups[g];
319
+ const group = groups[g];
320
320
  material = isMultiMaterial === true ? object.material[group.materialIndex] : object.material;
321
321
  if (material === void 0)
322
322
  continue;
@@ -330,179 +330,167 @@ var Projector = function() {
330
330
  }
331
331
  }
332
332
  }
333
- } else if (geometry.isGeometry) {
334
- console.error("THREE.Projector no longer supports Geometry. Use THREE.BufferGeometry instead.");
335
- return;
336
- }
337
- } else if (object.isLine) {
338
- _modelViewProjectionMatrix.multiplyMatrices(_viewProjectionMatrix, _modelMatrix);
339
- if (geometry.isBufferGeometry) {
340
- var attributes = geometry.attributes;
333
+ } else if (object.isLine) {
334
+ _modelViewProjectionMatrix.multiplyMatrices(_viewProjectionMatrix, _modelMatrix);
335
+ const attributes = geometry.attributes;
341
336
  if (attributes.position !== void 0) {
342
- var positions = attributes.position.array;
337
+ const positions = attributes.position.array;
343
338
  for (let i = 0, l = positions.length; i < l; i += 3) {
344
339
  renderList.pushVertex(positions[i], positions[i + 1], positions[i + 2]);
345
340
  }
346
341
  if (attributes.color !== void 0) {
347
- var colors = attributes.color.array;
342
+ const colors = attributes.color.array;
348
343
  for (let i = 0, l = colors.length; i < l; i += 3) {
349
344
  renderList.pushColor(colors[i], colors[i + 1], colors[i + 2]);
350
345
  }
351
346
  }
352
347
  if (geometry.index !== null) {
353
- var indices = geometry.index.array;
348
+ const indices = geometry.index.array;
354
349
  for (let i = 0, l = indices.length; i < l; i += 2) {
355
350
  renderList.pushLine(indices[i], indices[i + 1]);
356
351
  }
357
352
  } else {
358
- var step = object.isLineSegments ? 2 : 1;
353
+ const step = object.isLineSegments ? 2 : 1;
359
354
  for (let i = 0, l = positions.length / 3 - 1; i < l; i += step) {
360
355
  renderList.pushLine(i, i + 1);
361
356
  }
362
357
  }
363
358
  }
364
- } else if (geometry.isGeometry) {
365
- console.error("THREE.Projector no longer supports Geometry. Use THREE.BufferGeometry instead.");
366
- return;
367
- }
368
- } else if (object.isPoints) {
369
- _modelViewProjectionMatrix.multiplyMatrices(_viewProjectionMatrix, _modelMatrix);
370
- if (geometry.isGeometry) {
371
- console.error("THREE.Projector no longer supports Geometry. Use THREE.BufferGeometry instead.");
372
- return;
373
- } else if (geometry.isBufferGeometry) {
374
- var attributes = geometry.attributes;
359
+ } else if (object.isPoints) {
360
+ _modelViewProjectionMatrix.multiplyMatrices(_viewProjectionMatrix, _modelMatrix);
361
+ const attributes = geometry.attributes;
375
362
  if (attributes.position !== void 0) {
376
- var positions = attributes.position.array;
363
+ const positions = attributes.position.array;
377
364
  for (let i = 0, l = positions.length; i < l; i += 3) {
378
365
  _vector4.set(positions[i], positions[i + 1], positions[i + 2], 1);
379
366
  _vector4.applyMatrix4(_modelViewProjectionMatrix);
380
367
  pushPoint(_vector4, object, camera);
381
368
  }
382
369
  }
370
+ } else if (object.isSprite) {
371
+ object.modelViewMatrix.multiplyMatrices(camera.matrixWorldInverse, object.matrixWorld);
372
+ _vector4.set(_modelMatrix.elements[12], _modelMatrix.elements[13], _modelMatrix.elements[14], 1);
373
+ _vector4.applyMatrix4(_viewProjectionMatrix);
374
+ pushPoint(_vector4, object, camera);
383
375
  }
384
- } else if (object.isSprite) {
385
- object.modelViewMatrix.multiplyMatrices(camera.matrixWorldInverse, object.matrixWorld);
386
- _vector4.set(_modelMatrix.elements[12], _modelMatrix.elements[13], _modelMatrix.elements[14], 1);
387
- _vector4.applyMatrix4(_viewProjectionMatrix);
388
- pushPoint(_vector4, object, camera);
376
+ }
377
+ if (sortElements === true) {
378
+ _renderData.elements.sort(painterSort);
379
+ }
380
+ return _renderData;
381
+ };
382
+ function pushPoint(_vector42, object, camera) {
383
+ const invW = 1 / _vector42.w;
384
+ _vector42.z *= invW;
385
+ if (_vector42.z >= -1 && _vector42.z <= 1) {
386
+ _sprite = getNextSpriteInPool();
387
+ _sprite.id = object.id;
388
+ _sprite.x = _vector42.x * invW;
389
+ _sprite.y = _vector42.y * invW;
390
+ _sprite.z = _vector42.z;
391
+ _sprite.renderOrder = object.renderOrder;
392
+ _sprite.object = object;
393
+ _sprite.rotation = object.rotation;
394
+ _sprite.scale.x = object.scale.x * Math.abs(
395
+ _sprite.x - (_vector42.x + camera.projectionMatrix.elements[0]) / (_vector42.w + camera.projectionMatrix.elements[12])
396
+ );
397
+ _sprite.scale.y = object.scale.y * Math.abs(
398
+ _sprite.y - (_vector42.y + camera.projectionMatrix.elements[5]) / (_vector42.w + camera.projectionMatrix.elements[13])
399
+ );
400
+ _sprite.material = object.material;
401
+ _renderData.elements.push(_sprite);
389
402
  }
390
403
  }
391
- if (sortElements === true) {
392
- _renderData.elements.sort(painterSort);
393
- }
394
- return _renderData;
395
- };
396
- function pushPoint(_vector42, object, camera) {
397
- var invW = 1 / _vector42.w;
398
- _vector42.z *= invW;
399
- if (_vector42.z >= -1 && _vector42.z <= 1) {
400
- _sprite = getNextSpriteInPool();
401
- _sprite.id = object.id;
402
- _sprite.x = _vector42.x * invW;
403
- _sprite.y = _vector42.y * invW;
404
- _sprite.z = _vector42.z;
405
- _sprite.renderOrder = object.renderOrder;
406
- _sprite.object = object;
407
- _sprite.rotation = object.rotation;
408
- _sprite.scale.x = object.scale.x * Math.abs(
409
- _sprite.x - (_vector42.x + camera.projectionMatrix.elements[0]) / (_vector42.w + camera.projectionMatrix.elements[12])
410
- );
411
- _sprite.scale.y = object.scale.y * Math.abs(
412
- _sprite.y - (_vector42.y + camera.projectionMatrix.elements[5]) / (_vector42.w + camera.projectionMatrix.elements[13])
413
- );
414
- _sprite.material = object.material;
415
- _renderData.elements.push(_sprite);
416
- }
417
- }
418
- function getNextObjectInPool() {
419
- if (_objectCount === _objectPoolLength) {
420
- var object = new RenderableObject();
421
- _objectPool.push(object);
422
- _objectPoolLength++;
423
- _objectCount++;
424
- return object;
425
- }
426
- return _objectPool[_objectCount++];
427
- }
428
- function getNextVertexInPool() {
429
- if (_vertexCount === _vertexPoolLength) {
430
- var vertex = new RenderableVertex();
431
- _vertexPool.push(vertex);
432
- _vertexPoolLength++;
433
- _vertexCount++;
434
- return vertex;
435
- }
436
- return _vertexPool[_vertexCount++];
437
- }
438
- function getNextFaceInPool() {
439
- if (_faceCount === _facePoolLength) {
440
- var face = new RenderableFace();
441
- _facePool.push(face);
442
- _facePoolLength++;
443
- _faceCount++;
444
- return face;
404
+ function getNextObjectInPool() {
405
+ if (_objectCount === _objectPoolLength) {
406
+ const object = new RenderableObject();
407
+ _objectPool.push(object);
408
+ _objectPoolLength++;
409
+ _objectCount++;
410
+ return object;
411
+ }
412
+ return _objectPool[_objectCount++];
445
413
  }
446
- return _facePool[_faceCount++];
447
- }
448
- function getNextLineInPool() {
449
- if (_lineCount === _linePoolLength) {
450
- var line = new RenderableLine();
451
- _linePool.push(line);
452
- _linePoolLength++;
453
- _lineCount++;
454
- return line;
414
+ function getNextVertexInPool() {
415
+ if (_vertexCount === _vertexPoolLength) {
416
+ const vertex = new RenderableVertex();
417
+ _vertexPool.push(vertex);
418
+ _vertexPoolLength++;
419
+ _vertexCount++;
420
+ return vertex;
421
+ }
422
+ return _vertexPool[_vertexCount++];
455
423
  }
456
- return _linePool[_lineCount++];
457
- }
458
- function getNextSpriteInPool() {
459
- if (_spriteCount === _spritePoolLength) {
460
- var sprite = new RenderableSprite();
461
- _spritePool.push(sprite);
462
- _spritePoolLength++;
463
- _spriteCount++;
464
- return sprite;
424
+ function getNextFaceInPool() {
425
+ if (_faceCount === _facePoolLength) {
426
+ const face = new RenderableFace();
427
+ _facePool.push(face);
428
+ _facePoolLength++;
429
+ _faceCount++;
430
+ return face;
431
+ }
432
+ return _facePool[_faceCount++];
465
433
  }
466
- return _spritePool[_spriteCount++];
467
- }
468
- function painterSort(a, b) {
469
- if (a.renderOrder !== b.renderOrder) {
470
- return a.renderOrder - b.renderOrder;
471
- } else if (a.z !== b.z) {
472
- return b.z - a.z;
473
- } else if (a.id !== b.id) {
474
- return a.id - b.id;
475
- } else {
476
- return 0;
434
+ function getNextLineInPool() {
435
+ if (_lineCount === _linePoolLength) {
436
+ const line = new RenderableLine();
437
+ _linePool.push(line);
438
+ _linePoolLength++;
439
+ _lineCount++;
440
+ return line;
441
+ }
442
+ return _linePool[_lineCount++];
477
443
  }
478
- }
479
- function clipLine(s1, s2) {
480
- var alpha1 = 0, alpha2 = 1, bc1near = s1.z + s1.w, bc2near = s2.z + s2.w, bc1far = -s1.z + s1.w, bc2far = -s2.z + s2.w;
481
- if (bc1near >= 0 && bc2near >= 0 && bc1far >= 0 && bc2far >= 0) {
482
- return true;
483
- } else if (bc1near < 0 && bc2near < 0 || bc1far < 0 && bc2far < 0) {
484
- return false;
485
- } else {
486
- if (bc1near < 0) {
487
- alpha1 = Math.max(alpha1, bc1near / (bc1near - bc2near));
488
- } else if (bc2near < 0) {
489
- alpha2 = Math.min(alpha2, bc1near / (bc1near - bc2near));
444
+ function getNextSpriteInPool() {
445
+ if (_spriteCount === _spritePoolLength) {
446
+ const sprite = new RenderableSprite();
447
+ _spritePool.push(sprite);
448
+ _spritePoolLength++;
449
+ _spriteCount++;
450
+ return sprite;
490
451
  }
491
- if (bc1far < 0) {
492
- alpha1 = Math.max(alpha1, bc1far / (bc1far - bc2far));
493
- } else if (bc2far < 0) {
494
- alpha2 = Math.min(alpha2, bc1far / (bc1far - bc2far));
452
+ return _spritePool[_spriteCount++];
453
+ }
454
+ function painterSort(a, b) {
455
+ if (a.renderOrder !== b.renderOrder) {
456
+ return a.renderOrder - b.renderOrder;
457
+ } else if (a.z !== b.z) {
458
+ return b.z - a.z;
459
+ } else if (a.id !== b.id) {
460
+ return a.id - b.id;
461
+ } else {
462
+ return 0;
495
463
  }
496
- if (alpha2 < alpha1) {
464
+ }
465
+ function clipLine(s1, s2) {
466
+ let alpha1 = 0, alpha2 = 1;
467
+ const bc1near = s1.z + s1.w, bc2near = s2.z + s2.w, bc1far = -s1.z + s1.w, bc2far = -s2.z + s2.w;
468
+ if (bc1near >= 0 && bc2near >= 0 && bc1far >= 0 && bc2far >= 0) {
469
+ return true;
470
+ } else if (bc1near < 0 && bc2near < 0 || bc1far < 0 && bc2far < 0) {
497
471
  return false;
498
472
  } else {
499
- s1.lerp(s2, alpha1);
500
- s2.lerp(s1, 1 - alpha2);
501
- return true;
473
+ if (bc1near < 0) {
474
+ alpha1 = Math.max(alpha1, bc1near / (bc1near - bc2near));
475
+ } else if (bc2near < 0) {
476
+ alpha2 = Math.min(alpha2, bc1near / (bc1near - bc2near));
477
+ }
478
+ if (bc1far < 0) {
479
+ alpha1 = Math.max(alpha1, bc1far / (bc1far - bc2far));
480
+ } else if (bc2far < 0) {
481
+ alpha2 = Math.min(alpha2, bc1far / (bc1far - bc2far));
482
+ }
483
+ if (alpha2 < alpha1) {
484
+ return false;
485
+ } else {
486
+ s1.lerp(s2, alpha1);
487
+ s2.lerp(s1, 1 - alpha2);
488
+ return true;
489
+ }
502
490
  }
503
491
  }
504
492
  }
505
- };
493
+ }
506
494
  exports.Projector = Projector;
507
495
  exports.RenderableFace = RenderableFace;
508
496
  exports.RenderableLine = RenderableLine;