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,268 +1,268 @@
1
1
  import { Vector3, Color, Vector2, Vector4, Box3, Matrix4, Frustum, Matrix3, DoubleSide } from "three";
2
- var RenderableObject = function() {
3
- this.id = 0;
4
- this.object = null;
5
- this.z = 0;
6
- this.renderOrder = 0;
7
- };
8
- var RenderableFace = function() {
9
- this.id = 0;
10
- this.v1 = new RenderableVertex();
11
- this.v2 = new RenderableVertex();
12
- this.v3 = new RenderableVertex();
13
- this.normalModel = new Vector3();
14
- this.vertexNormalsModel = [new Vector3(), new Vector3(), new Vector3()];
15
- this.vertexNormalsLength = 0;
16
- this.color = new Color();
17
- this.material = null;
18
- this.uvs = [new Vector2(), new Vector2(), new Vector2()];
19
- this.z = 0;
20
- this.renderOrder = 0;
21
- };
22
- var RenderableVertex = function() {
23
- this.position = new Vector3();
24
- this.positionWorld = new Vector3();
25
- this.positionScreen = new Vector4();
26
- this.visible = true;
27
- };
28
- RenderableVertex.prototype.copy = function(vertex) {
29
- this.positionWorld.copy(vertex.positionWorld);
30
- this.positionScreen.copy(vertex.positionScreen);
31
- };
32
- var RenderableLine = function() {
33
- this.id = 0;
34
- this.v1 = new RenderableVertex();
35
- this.v2 = new RenderableVertex();
36
- this.vertexColors = [new Color(), new Color()];
37
- this.material = null;
38
- this.z = 0;
39
- this.renderOrder = 0;
40
- };
41
- var RenderableSprite = function() {
42
- this.id = 0;
43
- this.object = null;
44
- this.x = 0;
45
- this.y = 0;
46
- this.z = 0;
47
- this.rotation = 0;
48
- this.scale = new Vector2();
49
- this.material = null;
50
- this.renderOrder = 0;
51
- };
52
- var Projector = function() {
53
- 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 Vector3(), _vector4 = new Vector4(), _clipBox = new Box3(new Vector3(-1, -1, -1), new Vector3(1, 1, 1)), _boundingBox = new Box3(), _points3 = new Array(3), _viewMatrix = new Matrix4(), _viewProjectionMatrix = new Matrix4(), _modelMatrix, _modelViewProjectionMatrix = new Matrix4(), _frustum = new Frustum();
54
- this.projectVector = function(vector, camera) {
55
- console.warn("THREE.Projector: .projectVector() is now vector.project().");
56
- vector.project(camera);
57
- };
58
- this.unprojectVector = function(vector, camera) {
59
- console.warn("THREE.Projector: .unprojectVector() is now vector.unproject().");
60
- vector.unproject(camera);
61
- };
62
- this.pickingRay = function() {
63
- console.error("THREE.Projector: .pickingRay() is now raycaster.setFromCamera().");
64
- };
65
- var RenderList = function() {
66
- var normals = [];
67
- var colors = [];
68
- var uvs = [];
69
- var object = null;
70
- var normalMatrix = new Matrix3();
71
- function setObject(value) {
72
- object = value;
73
- normalMatrix.getNormalMatrix(object.matrixWorld);
74
- normals.length = 0;
75
- colors.length = 0;
76
- uvs.length = 0;
77
- }
78
- function projectVertex(vertex) {
79
- var position = vertex.position;
80
- var positionWorld = vertex.positionWorld;
81
- var positionScreen = vertex.positionScreen;
82
- positionWorld.copy(position).applyMatrix4(_modelMatrix);
83
- positionScreen.copy(positionWorld).applyMatrix4(_viewProjectionMatrix);
84
- var invW = 1 / positionScreen.w;
85
- positionScreen.x *= invW;
86
- positionScreen.y *= invW;
87
- positionScreen.z *= invW;
88
- vertex.visible = positionScreen.x >= -1 && positionScreen.x <= 1 && positionScreen.y >= -1 && positionScreen.y <= 1 && positionScreen.z >= -1 && positionScreen.z <= 1;
89
- }
90
- function pushVertex(x, y, z) {
91
- _vertex = getNextVertexInPool();
92
- _vertex.position.set(x, y, z);
93
- projectVertex(_vertex);
94
- }
95
- function pushNormal(x, y, z) {
96
- normals.push(x, y, z);
97
- }
98
- function pushColor(r, g, b) {
99
- colors.push(r, g, b);
100
- }
101
- function pushUv(x, y) {
102
- uvs.push(x, y);
103
- }
104
- function checkTriangleVisibility(v1, v2, v3) {
105
- if (v1.visible === true || v2.visible === true || v3.visible === true)
106
- return true;
107
- _points3[0] = v1.positionScreen;
108
- _points3[1] = v2.positionScreen;
109
- _points3[2] = v3.positionScreen;
110
- return _clipBox.intersectsBox(_boundingBox.setFromPoints(_points3));
111
- }
112
- function checkBackfaceCulling(v1, v2, v3) {
113
- 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;
114
- }
115
- function pushLine(a, b) {
116
- var v1 = _vertexPool[a];
117
- var v2 = _vertexPool[b];
118
- v1.positionScreen.copy(v1.position).applyMatrix4(_modelViewProjectionMatrix);
119
- v2.positionScreen.copy(v2.position).applyMatrix4(_modelViewProjectionMatrix);
120
- if (clipLine(v1.positionScreen, v2.positionScreen) === true) {
121
- v1.positionScreen.multiplyScalar(1 / v1.positionScreen.w);
122
- v2.positionScreen.multiplyScalar(1 / v2.positionScreen.w);
123
- _line = getNextLineInPool();
124
- _line.id = object.id;
125
- _line.v1.copy(v1);
126
- _line.v2.copy(v2);
127
- _line.z = Math.max(v1.positionScreen.z, v2.positionScreen.z);
128
- _line.renderOrder = object.renderOrder;
129
- _line.material = object.material;
130
- if (object.material.vertexColors) {
131
- _line.vertexColors[0].fromArray(colors, a * 3);
132
- _line.vertexColors[1].fromArray(colors, b * 3);
133
- }
134
- _renderData.elements.push(_line);
2
+ class RenderableObject {
3
+ constructor() {
4
+ this.id = 0;
5
+ this.object = null;
6
+ this.z = 0;
7
+ this.renderOrder = 0;
8
+ }
9
+ }
10
+ class RenderableFace {
11
+ constructor() {
12
+ this.id = 0;
13
+ this.v1 = new RenderableVertex();
14
+ this.v2 = new RenderableVertex();
15
+ this.v3 = new RenderableVertex();
16
+ this.normalModel = new Vector3();
17
+ this.vertexNormalsModel = [new Vector3(), new Vector3(), new Vector3()];
18
+ this.vertexNormalsLength = 0;
19
+ this.color = new Color();
20
+ this.material = null;
21
+ this.uvs = [new Vector2(), new Vector2(), new Vector2()];
22
+ this.z = 0;
23
+ this.renderOrder = 0;
24
+ }
25
+ }
26
+ class RenderableVertex {
27
+ constructor() {
28
+ this.position = new Vector3();
29
+ this.positionWorld = new Vector3();
30
+ this.positionScreen = new Vector4();
31
+ this.visible = true;
32
+ }
33
+ copy(vertex) {
34
+ this.positionWorld.copy(vertex.positionWorld);
35
+ this.positionScreen.copy(vertex.positionScreen);
36
+ }
37
+ }
38
+ class RenderableLine {
39
+ constructor() {
40
+ this.id = 0;
41
+ this.v1 = new RenderableVertex();
42
+ this.v2 = new RenderableVertex();
43
+ this.vertexColors = [new Color(), new Color()];
44
+ this.material = null;
45
+ this.z = 0;
46
+ this.renderOrder = 0;
47
+ }
48
+ }
49
+ class RenderableSprite {
50
+ constructor() {
51
+ this.id = 0;
52
+ this.object = null;
53
+ this.x = 0;
54
+ this.y = 0;
55
+ this.z = 0;
56
+ this.rotation = 0;
57
+ this.scale = new Vector2();
58
+ this.material = null;
59
+ this.renderOrder = 0;
60
+ }
61
+ }
62
+ class Projector {
63
+ constructor() {
64
+ let _object, _objectCount, _objectPoolLength = 0, _vertex, _vertexCount, _vertexPoolLength = 0, _face, _faceCount, _facePoolLength = 0, _line, _lineCount, _linePoolLength = 0, _sprite, _spriteCount, _spritePoolLength = 0, _modelMatrix;
65
+ const _renderData = { objects: [], lights: [], elements: [] }, _vector3 = new Vector3(), _vector4 = new Vector4(), _clipBox = new Box3(new Vector3(-1, -1, -1), new Vector3(1, 1, 1)), _boundingBox = new Box3(), _points3 = new Array(3), _viewMatrix = new Matrix4(), _viewProjectionMatrix = new Matrix4(), _modelViewProjectionMatrix = new Matrix4(), _frustum = new Frustum(), _objectPool = [], _vertexPool = [], _facePool = [], _linePool = [], _spritePool = [];
66
+ function RenderList() {
67
+ const normals = [];
68
+ const colors = [];
69
+ const uvs = [];
70
+ let object = null;
71
+ const normalMatrix = new Matrix3();
72
+ function setObject(value) {
73
+ object = value;
74
+ normalMatrix.getNormalMatrix(object.matrixWorld);
75
+ normals.length = 0;
76
+ colors.length = 0;
77
+ uvs.length = 0;
135
78
  }
136
- }
137
- function pushTriangle(a, b, c, material) {
138
- var v1 = _vertexPool[a];
139
- var v2 = _vertexPool[b];
140
- var v3 = _vertexPool[c];
141
- if (checkTriangleVisibility(v1, v2, v3) === false)
142
- return;
143
- if (material.side === DoubleSide || checkBackfaceCulling(v1, v2, v3) === true) {
144
- _face = getNextFaceInPool();
145
- _face.id = object.id;
146
- _face.v1.copy(v1);
147
- _face.v2.copy(v2);
148
- _face.v3.copy(v3);
149
- _face.z = (v1.positionScreen.z + v2.positionScreen.z + v3.positionScreen.z) / 3;
150
- _face.renderOrder = object.renderOrder;
151
- _vector3.subVectors(v3.position, v2.position);
152
- _vector4.subVectors(v1.position, v2.position);
153
- _vector3.cross(_vector4);
154
- _face.normalModel.copy(_vector3);
155
- _face.normalModel.applyMatrix3(normalMatrix).normalize();
156
- for (let i = 0; i < 3; i++) {
157
- var normal = _face.vertexNormalsModel[i];
158
- normal.fromArray(normals, arguments[i] * 3);
159
- normal.applyMatrix3(normalMatrix).normalize();
160
- var uv = _face.uvs[i];
161
- uv.fromArray(uvs, arguments[i] * 2);
79
+ function projectVertex(vertex) {
80
+ const position = vertex.position;
81
+ const positionWorld = vertex.positionWorld;
82
+ const positionScreen = vertex.positionScreen;
83
+ positionWorld.copy(position).applyMatrix4(_modelMatrix);
84
+ positionScreen.copy(positionWorld).applyMatrix4(_viewProjectionMatrix);
85
+ const invW = 1 / positionScreen.w;
86
+ positionScreen.x *= invW;
87
+ positionScreen.y *= invW;
88
+ positionScreen.z *= invW;
89
+ vertex.visible = positionScreen.x >= -1 && positionScreen.x <= 1 && positionScreen.y >= -1 && positionScreen.y <= 1 && positionScreen.z >= -1 && positionScreen.z <= 1;
90
+ }
91
+ function pushVertex(x, y, z) {
92
+ _vertex = getNextVertexInPool();
93
+ _vertex.position.set(x, y, z);
94
+ projectVertex(_vertex);
95
+ }
96
+ function pushNormal(x, y, z) {
97
+ normals.push(x, y, z);
98
+ }
99
+ function pushColor(r, g, b) {
100
+ colors.push(r, g, b);
101
+ }
102
+ function pushUv(x, y) {
103
+ uvs.push(x, y);
104
+ }
105
+ function checkTriangleVisibility(v1, v2, v3) {
106
+ if (v1.visible === true || v2.visible === true || v3.visible === true)
107
+ return true;
108
+ _points3[0] = v1.positionScreen;
109
+ _points3[1] = v2.positionScreen;
110
+ _points3[2] = v3.positionScreen;
111
+ return _clipBox.intersectsBox(_boundingBox.setFromPoints(_points3));
112
+ }
113
+ function checkBackfaceCulling(v1, v2, v3) {
114
+ 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;
115
+ }
116
+ function pushLine(a, b) {
117
+ const v1 = _vertexPool[a];
118
+ const v2 = _vertexPool[b];
119
+ v1.positionScreen.copy(v1.position).applyMatrix4(_modelViewProjectionMatrix);
120
+ v2.positionScreen.copy(v2.position).applyMatrix4(_modelViewProjectionMatrix);
121
+ if (clipLine(v1.positionScreen, v2.positionScreen) === true) {
122
+ v1.positionScreen.multiplyScalar(1 / v1.positionScreen.w);
123
+ v2.positionScreen.multiplyScalar(1 / v2.positionScreen.w);
124
+ _line = getNextLineInPool();
125
+ _line.id = object.id;
126
+ _line.v1.copy(v1);
127
+ _line.v2.copy(v2);
128
+ _line.z = Math.max(v1.positionScreen.z, v2.positionScreen.z);
129
+ _line.renderOrder = object.renderOrder;
130
+ _line.material = object.material;
131
+ if (object.material.vertexColors) {
132
+ _line.vertexColors[0].fromArray(colors, a * 3);
133
+ _line.vertexColors[1].fromArray(colors, b * 3);
134
+ }
135
+ _renderData.elements.push(_line);
162
136
  }
163
- _face.vertexNormalsLength = 3;
164
- _face.material = material;
165
- if (material.vertexColors) {
166
- _face.color.fromArray(colors, a * 3);
137
+ }
138
+ function pushTriangle(a, b, c, material) {
139
+ const v1 = _vertexPool[a];
140
+ const v2 = _vertexPool[b];
141
+ const v3 = _vertexPool[c];
142
+ if (checkTriangleVisibility(v1, v2, v3) === false)
143
+ return;
144
+ if (material.side === DoubleSide || checkBackfaceCulling(v1, v2, v3) === true) {
145
+ _face = getNextFaceInPool();
146
+ _face.id = object.id;
147
+ _face.v1.copy(v1);
148
+ _face.v2.copy(v2);
149
+ _face.v3.copy(v3);
150
+ _face.z = (v1.positionScreen.z + v2.positionScreen.z + v3.positionScreen.z) / 3;
151
+ _face.renderOrder = object.renderOrder;
152
+ _vector3.subVectors(v3.position, v2.position);
153
+ _vector4.subVectors(v1.position, v2.position);
154
+ _vector3.cross(_vector4);
155
+ _face.normalModel.copy(_vector3);
156
+ _face.normalModel.applyMatrix3(normalMatrix).normalize();
157
+ for (let i = 0; i < 3; i++) {
158
+ const normal = _face.vertexNormalsModel[i];
159
+ normal.fromArray(normals, arguments[i] * 3);
160
+ normal.applyMatrix3(normalMatrix).normalize();
161
+ const uv = _face.uvs[i];
162
+ uv.fromArray(uvs, arguments[i] * 2);
163
+ }
164
+ _face.vertexNormalsLength = 3;
165
+ _face.material = material;
166
+ if (material.vertexColors) {
167
+ _face.color.fromArray(colors, a * 3);
168
+ }
169
+ _renderData.elements.push(_face);
167
170
  }
168
- _renderData.elements.push(_face);
169
171
  }
172
+ return {
173
+ setObject,
174
+ projectVertex,
175
+ checkTriangleVisibility,
176
+ checkBackfaceCulling,
177
+ pushVertex,
178
+ pushNormal,
179
+ pushColor,
180
+ pushUv,
181
+ pushLine,
182
+ pushTriangle
183
+ };
170
184
  }
171
- return {
172
- setObject,
173
- projectVertex,
174
- checkTriangleVisibility,
175
- checkBackfaceCulling,
176
- pushVertex,
177
- pushNormal,
178
- pushColor,
179
- pushUv,
180
- pushLine,
181
- pushTriangle
182
- };
183
- };
184
- var renderList = new RenderList();
185
- function projectObject(object) {
186
- if (object.visible === false)
187
- return;
188
- if (object.isLight) {
189
- _renderData.lights.push(object);
190
- } else if (object.isMesh || object.isLine || object.isPoints) {
191
- if (object.material.visible === false)
185
+ const renderList = new RenderList();
186
+ function projectObject(object) {
187
+ if (object.visible === false)
192
188
  return;
193
- if (object.frustumCulled === true && _frustum.intersectsObject(object) === false)
194
- return;
195
- addObject(object);
196
- } else if (object.isSprite) {
197
- if (object.material.visible === false)
198
- return;
199
- if (object.frustumCulled === true && _frustum.intersectsSprite(object) === false)
200
- return;
201
- addObject(object);
202
- }
203
- var children = object.children;
204
- for (let i = 0, l = children.length; i < l; i++) {
205
- projectObject(children[i]);
189
+ if (object.isLight) {
190
+ _renderData.lights.push(object);
191
+ } else if (object.isMesh || object.isLine || object.isPoints) {
192
+ if (object.material.visible === false)
193
+ return;
194
+ if (object.frustumCulled === true && _frustum.intersectsObject(object) === false)
195
+ return;
196
+ addObject(object);
197
+ } else if (object.isSprite) {
198
+ if (object.material.visible === false)
199
+ return;
200
+ if (object.frustumCulled === true && _frustum.intersectsSprite(object) === false)
201
+ return;
202
+ addObject(object);
203
+ }
204
+ const children = object.children;
205
+ for (let i = 0, l = children.length; i < l; i++) {
206
+ projectObject(children[i]);
207
+ }
206
208
  }
207
- }
208
- function addObject(object) {
209
- _object = getNextObjectInPool();
210
- _object.id = object.id;
211
- _object.object = object;
212
- _vector3.setFromMatrixPosition(object.matrixWorld);
213
- _vector3.applyMatrix4(_viewProjectionMatrix);
214
- _object.z = _vector3.z;
215
- _object.renderOrder = object.renderOrder;
216
- _renderData.objects.push(_object);
217
- }
218
- this.projectScene = function(scene, camera, sortObjects, sortElements) {
219
- _faceCount = 0;
220
- _lineCount = 0;
221
- _spriteCount = 0;
222
- _renderData.elements.length = 0;
223
- if (scene.autoUpdate === true)
224
- scene.updateMatrixWorld();
225
- if (camera.parent === null)
226
- camera.updateMatrixWorld();
227
- _viewMatrix.copy(camera.matrixWorldInverse);
228
- _viewProjectionMatrix.multiplyMatrices(camera.projectionMatrix, _viewMatrix);
229
- _frustum.setFromProjectionMatrix(_viewProjectionMatrix);
230
- _objectCount = 0;
231
- _renderData.objects.length = 0;
232
- _renderData.lights.length = 0;
233
- projectObject(scene);
234
- if (sortObjects === true) {
235
- _renderData.objects.sort(painterSort);
209
+ function addObject(object) {
210
+ _object = getNextObjectInPool();
211
+ _object.id = object.id;
212
+ _object.object = object;
213
+ _vector3.setFromMatrixPosition(object.matrixWorld);
214
+ _vector3.applyMatrix4(_viewProjectionMatrix);
215
+ _object.z = _vector3.z;
216
+ _object.renderOrder = object.renderOrder;
217
+ _renderData.objects.push(_object);
236
218
  }
237
- var objects = _renderData.objects;
238
- for (let o = 0, ol = objects.length; o < ol; o++) {
239
- var object = objects[o].object;
240
- var geometry = object.geometry;
241
- renderList.setObject(object);
242
- _modelMatrix = object.matrixWorld;
243
- _vertexCount = 0;
244
- if (object.isMesh) {
245
- if (geometry.isBufferGeometry) {
246
- var material = object.material;
247
- var isMultiMaterial = Array.isArray(material);
248
- var attributes = geometry.attributes;
249
- var groups = geometry.groups;
219
+ this.projectScene = function(scene, camera, sortObjects, sortElements) {
220
+ _faceCount = 0;
221
+ _lineCount = 0;
222
+ _spriteCount = 0;
223
+ _renderData.elements.length = 0;
224
+ if (scene.matrixWorldAutoUpdate === true)
225
+ scene.updateMatrixWorld();
226
+ if (camera.parent === null && camera.matrixWorldAutoUpdate === true)
227
+ camera.updateMatrixWorld();
228
+ _viewMatrix.copy(camera.matrixWorldInverse);
229
+ _viewProjectionMatrix.multiplyMatrices(camera.projectionMatrix, _viewMatrix);
230
+ _frustum.setFromProjectionMatrix(_viewProjectionMatrix);
231
+ _objectCount = 0;
232
+ _renderData.objects.length = 0;
233
+ _renderData.lights.length = 0;
234
+ projectObject(scene);
235
+ if (sortObjects === true) {
236
+ _renderData.objects.sort(painterSort);
237
+ }
238
+ const objects = _renderData.objects;
239
+ for (let o = 0, ol = objects.length; o < ol; o++) {
240
+ const object = objects[o].object;
241
+ const geometry = object.geometry;
242
+ renderList.setObject(object);
243
+ _modelMatrix = object.matrixWorld;
244
+ _vertexCount = 0;
245
+ if (object.isMesh) {
246
+ let material = object.material;
247
+ const isMultiMaterial = Array.isArray(material);
248
+ const attributes = geometry.attributes;
249
+ const groups = geometry.groups;
250
250
  if (attributes.position === void 0)
251
251
  continue;
252
- var positions = attributes.position.array;
252
+ const positions = attributes.position.array;
253
253
  for (let i = 0, l = positions.length; i < l; i += 3) {
254
- var x = positions[i];
255
- var y = positions[i + 1];
256
- var z = positions[i + 2];
257
- if (material.morphTargets === true) {
258
- var morphTargets = geometry.morphAttributes.position;
259
- var morphTargetsRelative = geometry.morphTargetsRelative;
260
- var morphInfluences = object.morphTargetInfluences;
254
+ let x = positions[i];
255
+ let y = positions[i + 1];
256
+ let z = positions[i + 2];
257
+ const morphTargets = geometry.morphAttributes.position;
258
+ if (morphTargets !== void 0) {
259
+ const morphTargetsRelative = geometry.morphTargetsRelative;
260
+ const morphInfluences = object.morphTargetInfluences;
261
261
  for (let t = 0, tl = morphTargets.length; t < tl; t++) {
262
- var influence = morphInfluences[t];
262
+ const influence = morphInfluences[t];
263
263
  if (influence === 0)
264
264
  continue;
265
- var target = morphTargets[t];
265
+ const target = morphTargets[t];
266
266
  if (morphTargetsRelative) {
267
267
  x += target.getX(i / 3) * influence;
268
268
  y += target.getY(i / 3) * influence;
@@ -277,28 +277,28 @@ var Projector = function() {
277
277
  renderList.pushVertex(x, y, z);
278
278
  }
279
279
  if (attributes.normal !== void 0) {
280
- var normals = attributes.normal.array;
280
+ const normals = attributes.normal.array;
281
281
  for (let i = 0, l = normals.length; i < l; i += 3) {
282
282
  renderList.pushNormal(normals[i], normals[i + 1], normals[i + 2]);
283
283
  }
284
284
  }
285
285
  if (attributes.color !== void 0) {
286
- var colors = attributes.color.array;
286
+ const colors = attributes.color.array;
287
287
  for (let i = 0, l = colors.length; i < l; i += 3) {
288
288
  renderList.pushColor(colors[i], colors[i + 1], colors[i + 2]);
289
289
  }
290
290
  }
291
291
  if (attributes.uv !== void 0) {
292
- var uvs = attributes.uv.array;
292
+ const uvs = attributes.uv.array;
293
293
  for (let i = 0, l = uvs.length; i < l; i += 2) {
294
294
  renderList.pushUv(uvs[i], uvs[i + 1]);
295
295
  }
296
296
  }
297
297
  if (geometry.index !== null) {
298
- var indices = geometry.index.array;
298
+ const indices = geometry.index.array;
299
299
  if (groups.length > 0) {
300
300
  for (let g = 0; g < groups.length; g++) {
301
- var group = groups[g];
301
+ const group = groups[g];
302
302
  material = isMultiMaterial === true ? object.material[group.materialIndex] : object.material;
303
303
  if (material === void 0)
304
304
  continue;
@@ -314,7 +314,7 @@ var Projector = function() {
314
314
  } else {
315
315
  if (groups.length > 0) {
316
316
  for (let g = 0; g < groups.length; g++) {
317
- var group = groups[g];
317
+ const group = groups[g];
318
318
  material = isMultiMaterial === true ? object.material[group.materialIndex] : object.material;
319
319
  if (material === void 0)
320
320
  continue;
@@ -328,179 +328,167 @@ var Projector = function() {
328
328
  }
329
329
  }
330
330
  }
331
- } else if (geometry.isGeometry) {
332
- console.error("THREE.Projector no longer supports Geometry. Use THREE.BufferGeometry instead.");
333
- return;
334
- }
335
- } else if (object.isLine) {
336
- _modelViewProjectionMatrix.multiplyMatrices(_viewProjectionMatrix, _modelMatrix);
337
- if (geometry.isBufferGeometry) {
338
- var attributes = geometry.attributes;
331
+ } else if (object.isLine) {
332
+ _modelViewProjectionMatrix.multiplyMatrices(_viewProjectionMatrix, _modelMatrix);
333
+ const attributes = geometry.attributes;
339
334
  if (attributes.position !== void 0) {
340
- var positions = attributes.position.array;
335
+ const positions = attributes.position.array;
341
336
  for (let i = 0, l = positions.length; i < l; i += 3) {
342
337
  renderList.pushVertex(positions[i], positions[i + 1], positions[i + 2]);
343
338
  }
344
339
  if (attributes.color !== void 0) {
345
- var colors = attributes.color.array;
340
+ const colors = attributes.color.array;
346
341
  for (let i = 0, l = colors.length; i < l; i += 3) {
347
342
  renderList.pushColor(colors[i], colors[i + 1], colors[i + 2]);
348
343
  }
349
344
  }
350
345
  if (geometry.index !== null) {
351
- var indices = geometry.index.array;
346
+ const indices = geometry.index.array;
352
347
  for (let i = 0, l = indices.length; i < l; i += 2) {
353
348
  renderList.pushLine(indices[i], indices[i + 1]);
354
349
  }
355
350
  } else {
356
- var step = object.isLineSegments ? 2 : 1;
351
+ const step = object.isLineSegments ? 2 : 1;
357
352
  for (let i = 0, l = positions.length / 3 - 1; i < l; i += step) {
358
353
  renderList.pushLine(i, i + 1);
359
354
  }
360
355
  }
361
356
  }
362
- } else if (geometry.isGeometry) {
363
- console.error("THREE.Projector no longer supports Geometry. Use THREE.BufferGeometry instead.");
364
- return;
365
- }
366
- } else if (object.isPoints) {
367
- _modelViewProjectionMatrix.multiplyMatrices(_viewProjectionMatrix, _modelMatrix);
368
- if (geometry.isGeometry) {
369
- console.error("THREE.Projector no longer supports Geometry. Use THREE.BufferGeometry instead.");
370
- return;
371
- } else if (geometry.isBufferGeometry) {
372
- var attributes = geometry.attributes;
357
+ } else if (object.isPoints) {
358
+ _modelViewProjectionMatrix.multiplyMatrices(_viewProjectionMatrix, _modelMatrix);
359
+ const attributes = geometry.attributes;
373
360
  if (attributes.position !== void 0) {
374
- var positions = attributes.position.array;
361
+ const positions = attributes.position.array;
375
362
  for (let i = 0, l = positions.length; i < l; i += 3) {
376
363
  _vector4.set(positions[i], positions[i + 1], positions[i + 2], 1);
377
364
  _vector4.applyMatrix4(_modelViewProjectionMatrix);
378
365
  pushPoint(_vector4, object, camera);
379
366
  }
380
367
  }
368
+ } else if (object.isSprite) {
369
+ object.modelViewMatrix.multiplyMatrices(camera.matrixWorldInverse, object.matrixWorld);
370
+ _vector4.set(_modelMatrix.elements[12], _modelMatrix.elements[13], _modelMatrix.elements[14], 1);
371
+ _vector4.applyMatrix4(_viewProjectionMatrix);
372
+ pushPoint(_vector4, object, camera);
381
373
  }
382
- } else if (object.isSprite) {
383
- object.modelViewMatrix.multiplyMatrices(camera.matrixWorldInverse, object.matrixWorld);
384
- _vector4.set(_modelMatrix.elements[12], _modelMatrix.elements[13], _modelMatrix.elements[14], 1);
385
- _vector4.applyMatrix4(_viewProjectionMatrix);
386
- pushPoint(_vector4, object, camera);
374
+ }
375
+ if (sortElements === true) {
376
+ _renderData.elements.sort(painterSort);
377
+ }
378
+ return _renderData;
379
+ };
380
+ function pushPoint(_vector42, object, camera) {
381
+ const invW = 1 / _vector42.w;
382
+ _vector42.z *= invW;
383
+ if (_vector42.z >= -1 && _vector42.z <= 1) {
384
+ _sprite = getNextSpriteInPool();
385
+ _sprite.id = object.id;
386
+ _sprite.x = _vector42.x * invW;
387
+ _sprite.y = _vector42.y * invW;
388
+ _sprite.z = _vector42.z;
389
+ _sprite.renderOrder = object.renderOrder;
390
+ _sprite.object = object;
391
+ _sprite.rotation = object.rotation;
392
+ _sprite.scale.x = object.scale.x * Math.abs(
393
+ _sprite.x - (_vector42.x + camera.projectionMatrix.elements[0]) / (_vector42.w + camera.projectionMatrix.elements[12])
394
+ );
395
+ _sprite.scale.y = object.scale.y * Math.abs(
396
+ _sprite.y - (_vector42.y + camera.projectionMatrix.elements[5]) / (_vector42.w + camera.projectionMatrix.elements[13])
397
+ );
398
+ _sprite.material = object.material;
399
+ _renderData.elements.push(_sprite);
387
400
  }
388
401
  }
389
- if (sortElements === true) {
390
- _renderData.elements.sort(painterSort);
391
- }
392
- return _renderData;
393
- };
394
- function pushPoint(_vector42, object, camera) {
395
- var invW = 1 / _vector42.w;
396
- _vector42.z *= invW;
397
- if (_vector42.z >= -1 && _vector42.z <= 1) {
398
- _sprite = getNextSpriteInPool();
399
- _sprite.id = object.id;
400
- _sprite.x = _vector42.x * invW;
401
- _sprite.y = _vector42.y * invW;
402
- _sprite.z = _vector42.z;
403
- _sprite.renderOrder = object.renderOrder;
404
- _sprite.object = object;
405
- _sprite.rotation = object.rotation;
406
- _sprite.scale.x = object.scale.x * Math.abs(
407
- _sprite.x - (_vector42.x + camera.projectionMatrix.elements[0]) / (_vector42.w + camera.projectionMatrix.elements[12])
408
- );
409
- _sprite.scale.y = object.scale.y * Math.abs(
410
- _sprite.y - (_vector42.y + camera.projectionMatrix.elements[5]) / (_vector42.w + camera.projectionMatrix.elements[13])
411
- );
412
- _sprite.material = object.material;
413
- _renderData.elements.push(_sprite);
414
- }
415
- }
416
- function getNextObjectInPool() {
417
- if (_objectCount === _objectPoolLength) {
418
- var object = new RenderableObject();
419
- _objectPool.push(object);
420
- _objectPoolLength++;
421
- _objectCount++;
422
- return object;
423
- }
424
- return _objectPool[_objectCount++];
425
- }
426
- function getNextVertexInPool() {
427
- if (_vertexCount === _vertexPoolLength) {
428
- var vertex = new RenderableVertex();
429
- _vertexPool.push(vertex);
430
- _vertexPoolLength++;
431
- _vertexCount++;
432
- return vertex;
433
- }
434
- return _vertexPool[_vertexCount++];
435
- }
436
- function getNextFaceInPool() {
437
- if (_faceCount === _facePoolLength) {
438
- var face = new RenderableFace();
439
- _facePool.push(face);
440
- _facePoolLength++;
441
- _faceCount++;
442
- return face;
402
+ function getNextObjectInPool() {
403
+ if (_objectCount === _objectPoolLength) {
404
+ const object = new RenderableObject();
405
+ _objectPool.push(object);
406
+ _objectPoolLength++;
407
+ _objectCount++;
408
+ return object;
409
+ }
410
+ return _objectPool[_objectCount++];
443
411
  }
444
- return _facePool[_faceCount++];
445
- }
446
- function getNextLineInPool() {
447
- if (_lineCount === _linePoolLength) {
448
- var line = new RenderableLine();
449
- _linePool.push(line);
450
- _linePoolLength++;
451
- _lineCount++;
452
- return line;
412
+ function getNextVertexInPool() {
413
+ if (_vertexCount === _vertexPoolLength) {
414
+ const vertex = new RenderableVertex();
415
+ _vertexPool.push(vertex);
416
+ _vertexPoolLength++;
417
+ _vertexCount++;
418
+ return vertex;
419
+ }
420
+ return _vertexPool[_vertexCount++];
453
421
  }
454
- return _linePool[_lineCount++];
455
- }
456
- function getNextSpriteInPool() {
457
- if (_spriteCount === _spritePoolLength) {
458
- var sprite = new RenderableSprite();
459
- _spritePool.push(sprite);
460
- _spritePoolLength++;
461
- _spriteCount++;
462
- return sprite;
422
+ function getNextFaceInPool() {
423
+ if (_faceCount === _facePoolLength) {
424
+ const face = new RenderableFace();
425
+ _facePool.push(face);
426
+ _facePoolLength++;
427
+ _faceCount++;
428
+ return face;
429
+ }
430
+ return _facePool[_faceCount++];
463
431
  }
464
- return _spritePool[_spriteCount++];
465
- }
466
- function painterSort(a, b) {
467
- if (a.renderOrder !== b.renderOrder) {
468
- return a.renderOrder - b.renderOrder;
469
- } else if (a.z !== b.z) {
470
- return b.z - a.z;
471
- } else if (a.id !== b.id) {
472
- return a.id - b.id;
473
- } else {
474
- return 0;
432
+ function getNextLineInPool() {
433
+ if (_lineCount === _linePoolLength) {
434
+ const line = new RenderableLine();
435
+ _linePool.push(line);
436
+ _linePoolLength++;
437
+ _lineCount++;
438
+ return line;
439
+ }
440
+ return _linePool[_lineCount++];
475
441
  }
476
- }
477
- function clipLine(s1, s2) {
478
- 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;
479
- if (bc1near >= 0 && bc2near >= 0 && bc1far >= 0 && bc2far >= 0) {
480
- return true;
481
- } else if (bc1near < 0 && bc2near < 0 || bc1far < 0 && bc2far < 0) {
482
- return false;
483
- } else {
484
- if (bc1near < 0) {
485
- alpha1 = Math.max(alpha1, bc1near / (bc1near - bc2near));
486
- } else if (bc2near < 0) {
487
- alpha2 = Math.min(alpha2, bc1near / (bc1near - bc2near));
442
+ function getNextSpriteInPool() {
443
+ if (_spriteCount === _spritePoolLength) {
444
+ const sprite = new RenderableSprite();
445
+ _spritePool.push(sprite);
446
+ _spritePoolLength++;
447
+ _spriteCount++;
448
+ return sprite;
488
449
  }
489
- if (bc1far < 0) {
490
- alpha1 = Math.max(alpha1, bc1far / (bc1far - bc2far));
491
- } else if (bc2far < 0) {
492
- alpha2 = Math.min(alpha2, bc1far / (bc1far - bc2far));
450
+ return _spritePool[_spriteCount++];
451
+ }
452
+ function painterSort(a, b) {
453
+ if (a.renderOrder !== b.renderOrder) {
454
+ return a.renderOrder - b.renderOrder;
455
+ } else if (a.z !== b.z) {
456
+ return b.z - a.z;
457
+ } else if (a.id !== b.id) {
458
+ return a.id - b.id;
459
+ } else {
460
+ return 0;
493
461
  }
494
- if (alpha2 < alpha1) {
462
+ }
463
+ function clipLine(s1, s2) {
464
+ let alpha1 = 0, alpha2 = 1;
465
+ const bc1near = s1.z + s1.w, bc2near = s2.z + s2.w, bc1far = -s1.z + s1.w, bc2far = -s2.z + s2.w;
466
+ if (bc1near >= 0 && bc2near >= 0 && bc1far >= 0 && bc2far >= 0) {
467
+ return true;
468
+ } else if (bc1near < 0 && bc2near < 0 || bc1far < 0 && bc2far < 0) {
495
469
  return false;
496
470
  } else {
497
- s1.lerp(s2, alpha1);
498
- s2.lerp(s1, 1 - alpha2);
499
- return true;
471
+ if (bc1near < 0) {
472
+ alpha1 = Math.max(alpha1, bc1near / (bc1near - bc2near));
473
+ } else if (bc2near < 0) {
474
+ alpha2 = Math.min(alpha2, bc1near / (bc1near - bc2near));
475
+ }
476
+ if (bc1far < 0) {
477
+ alpha1 = Math.max(alpha1, bc1far / (bc1far - bc2far));
478
+ } else if (bc2far < 0) {
479
+ alpha2 = Math.min(alpha2, bc1far / (bc1far - bc2far));
480
+ }
481
+ if (alpha2 < alpha1) {
482
+ return false;
483
+ } else {
484
+ s1.lerp(s2, alpha1);
485
+ s2.lerp(s1, 1 - alpha2);
486
+ return true;
487
+ }
500
488
  }
501
489
  }
502
490
  }
503
- };
491
+ }
504
492
  export {
505
493
  Projector,
506
494
  RenderableFace,