@needle-tools/three 0.145.4 → 0.146.2

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 (393) hide show
  1. package/README.md +1 -1
  2. package/build/three.cjs +32586 -35951
  3. package/build/three.js +32600 -35965
  4. package/build/three.min.js +6 -7
  5. package/build/three.module.js +1547 -1154
  6. package/examples/js/animation/AnimationClipCreator.js +0 -8
  7. package/examples/js/animation/CCDIKSolver.js +49 -66
  8. package/examples/js/animation/MMDAnimationHelper.js +66 -137
  9. package/examples/js/animation/MMDPhysics.js +70 -134
  10. package/examples/js/cameras/CinematicCamera.js +33 -22
  11. package/examples/js/controls/ArcballControls.js +138 -405
  12. package/examples/js/controls/DragControls.js +8 -33
  13. package/examples/js/controls/FirstPersonControls.js +32 -54
  14. package/examples/js/controls/FlyControls.js +29 -55
  15. package/examples/js/controls/OrbitControls.js +85 -95
  16. package/examples/js/controls/PointerLockControls.js +5 -14
  17. package/examples/js/controls/TrackballControls.js +33 -86
  18. package/examples/js/controls/TransformControls.js +84 -169
  19. package/examples/js/csm/CSM.js +4 -39
  20. package/examples/js/csm/CSMFrustum.js +3 -9
  21. package/examples/js/csm/CSMHelper.js +24 -4
  22. package/examples/js/csm/CSMShader.js +2 -6
  23. package/examples/js/curves/CurveExtras.js +27 -27
  24. package/examples/js/curves/NURBSCurve.js +4 -16
  25. package/examples/js/curves/NURBSSurface.js +3 -9
  26. package/examples/js/curves/NURBSUtils.js +8 -45
  27. package/examples/js/effects/AnaglyphEffect.js +4 -18
  28. package/examples/js/effects/AsciiEffect.js +32 -31
  29. package/examples/js/effects/OutlineEffect.js +26 -30
  30. package/examples/js/effects/ParallaxBarrierEffect.js +0 -13
  31. package/examples/js/effects/PeppersGhostEffect.js +12 -39
  32. package/examples/js/effects/StereoEffect.js +0 -4
  33. package/examples/js/environments/RoomEnvironment.js +12 -10
  34. package/examples/js/exporters/ColladaExporter.js +48 -65
  35. package/examples/js/exporters/DRACOExporter.js +22 -22
  36. package/examples/js/exporters/EXRExporter.js +15 -18
  37. package/examples/js/exporters/GLTFExporter.js +143 -261
  38. package/examples/js/exporters/MMDExporter.js +5 -12
  39. package/examples/js/exporters/OBJExporter.js +42 -33
  40. package/examples/js/exporters/PLYExporter.js +38 -33
  41. package/examples/js/exporters/STLExporter.js +5 -7
  42. package/examples/js/exporters/USDZExporter.js +110 -25
  43. package/examples/js/geometries/BoxLineGeometry.js +0 -1
  44. package/examples/js/geometries/ConvexGeometry.js +11 -6
  45. package/examples/js/geometries/DecalGeometry.js +53 -20
  46. package/examples/js/geometries/LightningStrike.js +54 -67
  47. package/examples/js/geometries/ParametricGeometries.js +8 -7
  48. package/examples/js/geometries/ParametricGeometry.js +25 -12
  49. package/examples/js/geometries/RoundedBoxGeometry.js +21 -19
  50. package/examples/js/geometries/TeapotGeometry.js +54 -50
  51. package/examples/js/geometries/TextGeometry.js +6 -4
  52. package/examples/js/helpers/LightProbeHelper.js +1 -2
  53. package/examples/js/helpers/OctreeHelper.js +22 -20
  54. package/examples/js/helpers/PositionalAudioHelper.js +8 -6
  55. package/examples/js/helpers/RectAreaLightHelper.js +6 -7
  56. package/examples/js/helpers/VertexNormalsHelper.js +15 -13
  57. package/examples/js/helpers/VertexTangentsHelper.js +15 -9
  58. package/examples/js/helpers/ViewHelper.js +31 -16
  59. package/examples/js/interactive/HTMLMesh.js +22 -33
  60. package/examples/js/interactive/InteractiveGroup.js +6 -12
  61. package/examples/js/interactive/SelectionBox.js +3 -70
  62. package/examples/js/interactive/SelectionHelper.js +0 -8
  63. package/examples/js/lights/LightProbeGenerator.js +32 -39
  64. package/examples/js/lights/RectAreaLightUniformsLib.js +5 -1
  65. package/examples/js/lines/LineGeometry.js +3 -5
  66. package/examples/js/lines/LineMaterial.js +4 -11
  67. package/examples/js/lines/LineSegments2.js +38 -89
  68. package/examples/js/lines/LineSegmentsGeometry.js +7 -28
  69. package/examples/js/lines/Wireframe.js +2 -7
  70. package/examples/js/lines/WireframeGeometry2.js +3 -1
  71. package/examples/js/loaders/3DMLoader.js +58 -155
  72. package/examples/js/loaders/3MFLoader.js +72 -106
  73. package/examples/js/loaders/AMFLoader.js +0 -25
  74. package/examples/js/loaders/BVHLoader.js +44 -43
  75. package/examples/js/loaders/BasisTextureLoader.js +16 -46
  76. package/examples/js/loaders/ColladaLoader.js +201 -359
  77. package/examples/js/loaders/DDSLoader.js +24 -25
  78. package/examples/js/loaders/DRACOLoader.js +29 -66
  79. package/examples/js/loaders/EXRLoader.js +67 -164
  80. package/examples/js/loaders/FBXLoader.js +286 -441
  81. package/examples/js/loaders/FontLoader.js +6 -15
  82. package/examples/js/loaders/GCodeLoader.js +15 -16
  83. package/examples/js/loaders/GLTFLoader.js +354 -405
  84. package/examples/js/loaders/HDRCubeTextureLoader.js +0 -6
  85. package/examples/js/loaders/KMZLoader.js +3 -7
  86. package/examples/js/loaders/KTXLoader.js +12 -30
  87. package/examples/js/loaders/LDrawLoader.js +178 -289
  88. package/examples/js/loaders/LUT3dlLoader.js +7 -11
  89. package/examples/js/loaders/LUTCubeLoader.js +0 -8
  90. package/examples/js/loaders/LWOLoader.js +59 -124
  91. package/examples/js/loaders/LogLuvLoader.js +27 -77
  92. package/examples/js/loaders/LottieLoader.js +4 -4
  93. package/examples/js/loaders/MD2Loader.js +26 -27
  94. package/examples/js/loaders/MDDLoader.js +6 -10
  95. package/examples/js/loaders/MMDLoader.js +180 -189
  96. package/examples/js/loaders/MTLLoader.js +18 -47
  97. package/examples/js/loaders/MaterialXLoader.js +392 -0
  98. package/examples/js/loaders/NRRDLoader.js +44 -84
  99. package/examples/js/loaders/OBJLoader.js +50 -65
  100. package/examples/js/loaders/PCDLoader.js +34 -29
  101. package/examples/js/loaders/PDBLoader.js +17 -13
  102. package/examples/js/loaders/PLYLoader.js +9 -39
  103. package/examples/js/loaders/PRWMLoader.js +11 -22
  104. package/examples/js/loaders/PVRLoader.js +7 -16
  105. package/examples/js/loaders/RGBELoader.js +36 -61
  106. package/examples/js/loaders/RGBMLoader.js +26 -87
  107. package/examples/js/loaders/STLLoader.js +20 -27
  108. package/examples/js/loaders/SVGLoader.js +361 -233
  109. package/examples/js/loaders/TDSLoader.js +81 -118
  110. package/examples/js/loaders/TGALoader.js +39 -41
  111. package/examples/js/loaders/TIFFLoader.js +0 -1
  112. package/examples/js/loaders/TTFLoader.js +0 -8
  113. package/examples/js/loaders/TiltLoader.js +14 -15
  114. package/examples/js/loaders/VOXLoader.js +8 -16
  115. package/examples/js/loaders/VRMLLoader.js +243 -340
  116. package/examples/js/loaders/VTKLoader.js +101 -118
  117. package/examples/js/loaders/XYZLoader.js +2 -4
  118. package/examples/js/loaders/lwo/IFFParser.js +55 -136
  119. package/examples/js/loaders/lwo/LWO2Parser.js +32 -83
  120. package/examples/js/loaders/lwo/LWO3Parser.js +31 -73
  121. package/examples/js/materials/MeshGouraudMaterial.js +15 -13
  122. package/examples/js/math/Capsule.js +0 -17
  123. package/examples/js/math/ColorConverter.js +3 -3
  124. package/examples/js/math/ConvexHull.js +183 -139
  125. package/examples/js/math/ImprovedNoise.js +1 -1
  126. package/examples/js/math/Lut.js +8 -15
  127. package/examples/js/math/MeshSurfaceSampler.js +6 -28
  128. package/examples/js/math/OBB.js +90 -49
  129. package/examples/js/math/Octree.js +2 -57
  130. package/examples/js/math/SimplexNoise.js +74 -88
  131. package/examples/js/misc/ConvexObjectBreaker.js +37 -48
  132. package/examples/js/misc/GPUComputationRenderer.js +14 -18
  133. package/examples/js/misc/Gyroscope.js +5 -9
  134. package/examples/js/misc/MD2Character.js +14 -23
  135. package/examples/js/misc/MD2CharacterComplex.js +73 -54
  136. package/examples/js/misc/MorphAnimMesh.js +0 -6
  137. package/examples/js/misc/MorphBlendMesh.js +3 -30
  138. package/examples/js/misc/ProgressiveLightMap.js +47 -43
  139. package/examples/js/misc/RollerCoaster.js +17 -24
  140. package/examples/js/misc/TubePainter.js +18 -12
  141. package/examples/js/misc/Volume.js +16 -45
  142. package/examples/js/misc/VolumeSlice.js +14 -24
  143. package/examples/js/modifiers/CurveModifier.js +19 -21
  144. package/examples/js/modifiers/EdgeSplitModifier.js +0 -30
  145. package/examples/js/modifiers/SimplifyModifier.js +56 -59
  146. package/examples/js/modifiers/TessellateModifier.js +2 -9
  147. package/examples/js/objects/GroundProjectedEnv.js +2 -14
  148. package/examples/js/objects/Lensflare.js +47 -38
  149. package/examples/js/objects/LightningStorm.js +10 -13
  150. package/examples/js/objects/MarchingCubes.js +80 -59
  151. package/examples/js/objects/Reflector.js +22 -20
  152. package/examples/js/objects/ReflectorForSSRPass.js +19 -23
  153. package/examples/js/objects/Refractor.js +52 -30
  154. package/examples/js/objects/ShadowMesh.js +1 -2
  155. package/examples/js/objects/Sky.js +2 -7
  156. package/examples/js/objects/Water.js +23 -18
  157. package/examples/js/objects/Water2.js +20 -19
  158. package/examples/js/physics/AmmoPhysics.js +23 -20
  159. package/examples/js/physics/OimoPhysics.js +19 -17
  160. package/examples/js/postprocessing/AdaptiveToneMappingPass.js +13 -20
  161. package/examples/js/postprocessing/AfterimagePass.js +19 -12
  162. package/examples/js/postprocessing/BloomPass.js +38 -17
  163. package/examples/js/postprocessing/BokehPass.js +29 -12
  164. package/examples/js/postprocessing/ClearPass.js +1 -6
  165. package/examples/js/postprocessing/CubeTexturePass.js +12 -9
  166. package/examples/js/postprocessing/DotScreenPass.js +7 -5
  167. package/examples/js/postprocessing/EffectComposer.js +25 -32
  168. package/examples/js/postprocessing/FilmPass.js +7 -5
  169. package/examples/js/postprocessing/GlitchPass.js +10 -11
  170. package/examples/js/postprocessing/HalftonePass.js +9 -9
  171. package/examples/js/postprocessing/LUTPass.js +2 -15
  172. package/examples/js/postprocessing/MaskPass.js +20 -17
  173. package/examples/js/postprocessing/OutlinePass.js +45 -36
  174. package/examples/js/postprocessing/Pass.js +11 -14
  175. package/examples/js/postprocessing/RenderPass.js +3 -7
  176. package/examples/js/postprocessing/SAOPass.js +40 -32
  177. package/examples/js/postprocessing/SMAAPass.js +34 -17
  178. package/examples/js/postprocessing/SSAARenderPass.js +14 -14
  179. package/examples/js/postprocessing/SSAOPass.js +56 -42
  180. package/examples/js/postprocessing/SSRPass.js +78 -61
  181. package/examples/js/postprocessing/SavePass.js +14 -6
  182. package/examples/js/postprocessing/ShaderPass.js +9 -8
  183. package/examples/js/postprocessing/TAARenderPass.js +11 -9
  184. package/examples/js/postprocessing/TexturePass.js +7 -4
  185. package/examples/js/postprocessing/UnrealBloomPass.js +43 -25
  186. package/examples/js/renderers/CSS2DRenderer.js +2 -21
  187. package/examples/js/renderers/CSS3DRenderer.js +3 -24
  188. package/examples/js/renderers/Projector.js +29 -85
  189. package/examples/js/renderers/SVGRenderer.js +4 -50
  190. package/examples/js/shaders/ACESFilmicToneMappingShader.js +3 -6
  191. package/examples/js/shaders/AfterimageShader.js +3 -6
  192. package/examples/js/shaders/BasicShader.js +3 -6
  193. package/examples/js/shaders/BleachBypassShader.js +3 -6
  194. package/examples/js/shaders/BlendShader.js +3 -6
  195. package/examples/js/shaders/BokehShader.js +3 -6
  196. package/examples/js/shaders/BokehShader2.js +4 -13
  197. package/examples/js/shaders/BrightnessContrastShader.js +3 -6
  198. package/examples/js/shaders/ColorCorrectionShader.js +2 -6
  199. package/examples/js/shaders/ColorifyShader.js +2 -6
  200. package/examples/js/shaders/ConvolutionShader.js +5 -10
  201. package/examples/js/shaders/CopyShader.js +3 -6
  202. package/examples/js/shaders/DOFMipMapShader.js +3 -6
  203. package/examples/js/shaders/DepthLimitedBlurShader.js +2 -9
  204. package/examples/js/shaders/DigitalGlitch.js +3 -6
  205. package/examples/js/shaders/DotScreenShader.js +2 -6
  206. package/examples/js/shaders/FXAAShader.js +1 -3
  207. package/examples/js/shaders/FilmShader.js +3 -6
  208. package/examples/js/shaders/FocusShader.js +3 -6
  209. package/examples/js/shaders/FreiChenShader.js +2 -6
  210. package/examples/js/shaders/GammaCorrectionShader.js +3 -6
  211. package/examples/js/shaders/GodRaysShader.js +11 -24
  212. package/examples/js/shaders/HalftoneShader.js +3 -6
  213. package/examples/js/shaders/HorizontalBlurShader.js +3 -6
  214. package/examples/js/shaders/HorizontalTiltShiftShader.js +3 -6
  215. package/examples/js/shaders/HueSaturationShader.js +3 -6
  216. package/examples/js/shaders/KaleidoShader.js +3 -6
  217. package/examples/js/shaders/LuminosityHighPassShader.js +2 -6
  218. package/examples/js/shaders/LuminosityShader.js +3 -6
  219. package/examples/js/shaders/MMDToonShader.js +2 -6
  220. package/examples/js/shaders/MirrorShader.js +3 -6
  221. package/examples/js/shaders/NormalMapShader.js +2 -6
  222. package/examples/js/shaders/RGBShiftShader.js +3 -6
  223. package/examples/js/shaders/SAOShader.js +2 -6
  224. package/examples/js/shaders/SMAAShader.js +6 -18
  225. package/examples/js/shaders/SSAOShader.js +2 -6
  226. package/examples/js/shaders/SSRShader.js +6 -18
  227. package/examples/js/shaders/SepiaShader.js +3 -6
  228. package/examples/js/shaders/SobelOperatorShader.js +2 -6
  229. package/examples/js/shaders/TechnicolorShader.js +3 -6
  230. package/examples/js/shaders/ToneMapShader.js +3 -6
  231. package/examples/js/shaders/ToonShader.js +8 -24
  232. package/examples/js/shaders/TriangleBlurShader.js +2 -6
  233. package/examples/js/shaders/UnpackDepthRGBAShader.js +3 -6
  234. package/examples/js/shaders/VelocityShader.js +126 -0
  235. package/examples/js/shaders/VerticalBlurShader.js +3 -6
  236. package/examples/js/shaders/VerticalTiltShiftShader.js +3 -6
  237. package/examples/js/shaders/VignetteShader.js +3 -6
  238. package/examples/js/shaders/VolumeShader.js +2 -6
  239. package/examples/js/shaders/WaterRefractionShader.js +2 -6
  240. package/examples/js/textures/FlakesTexture.js +0 -1
  241. package/examples/js/utils/BufferGeometryUtils.js +234 -168
  242. package/examples/js/utils/CameraUtils.js +5 -20
  243. package/examples/js/utils/GPUStatsPanel.js +3 -12
  244. package/examples/js/utils/GeometryCompressionUtils.js +19 -44
  245. package/examples/js/utils/GeometryUtils.js +13 -18
  246. package/examples/js/utils/LDrawUtils.js +8 -11
  247. package/examples/js/utils/PackedPhongMaterial.js +6 -4
  248. package/examples/js/utils/SceneUtils.js +117 -6
  249. package/examples/js/utils/ShadowMapViewer.js +17 -14
  250. package/examples/js/utils/SkeletonUtils.js +13 -27
  251. package/examples/js/utils/UVsDebug.js +20 -12
  252. package/examples/js/utils/WorkerPool.js +1 -11
  253. package/examples/jsm/animation/CCDIKSolver.js +1 -1
  254. package/examples/jsm/capabilities/WebGPU.js +3 -1
  255. package/examples/jsm/controls/OrbitControls.js +44 -4
  256. package/examples/jsm/exporters/GLTFExporter.js +17 -131
  257. package/examples/jsm/exporters/USDZExporter.js +75 -19
  258. package/examples/jsm/interactive/HTMLMesh.js +2 -0
  259. package/examples/jsm/libs/lottie_canvas.module.js +14844 -0
  260. package/examples/jsm/loaders/3DMLoader.js +1 -2
  261. package/examples/jsm/loaders/ColladaLoader.js +28 -0
  262. package/examples/jsm/loaders/FBXLoader.js +16 -2
  263. package/examples/jsm/loaders/GLTFLoader.js +204 -377
  264. package/examples/jsm/loaders/KTX2Loader.js +68 -29
  265. package/examples/jsm/loaders/LDrawLoader.js +14 -13
  266. package/examples/jsm/loaders/LottieLoader.js +4 -2
  267. package/examples/jsm/loaders/MaterialXLoader.js +728 -0
  268. package/examples/jsm/loaders/PCDLoader.js +1 -1
  269. package/examples/jsm/loaders/PLYLoader.js +68 -16
  270. package/examples/jsm/loaders/SVGLoader.js +227 -14
  271. package/examples/jsm/loaders/USDZLoader.js +31 -16
  272. package/examples/jsm/nodes/Nodes.js +14 -2
  273. package/examples/jsm/nodes/accessors/Object3DNode.js +1 -1
  274. package/examples/jsm/nodes/accessors/PositionNode.js +6 -0
  275. package/examples/jsm/nodes/accessors/ReferenceNode.js +1 -1
  276. package/examples/jsm/nodes/accessors/SkinningNode.js +1 -1
  277. package/examples/jsm/nodes/core/Node.js +1 -1
  278. package/examples/jsm/nodes/core/NodeBuilder.js +36 -4
  279. package/examples/jsm/nodes/core/NodeFrame.js +2 -2
  280. package/examples/jsm/nodes/core/NodeVarying.js +7 -4
  281. package/examples/jsm/nodes/core/VaryingNode.js +6 -4
  282. package/examples/jsm/nodes/core/constants.js +13 -13
  283. package/examples/jsm/nodes/display/PosterizeNode.js +25 -0
  284. package/examples/jsm/nodes/display/ViewportNode.js +106 -0
  285. package/examples/jsm/nodes/gpgpu/ComputeNode.js +1 -1
  286. package/examples/jsm/nodes/lighting/AnalyticLightNode.js +1 -1
  287. package/examples/jsm/nodes/loaders/NodeMaterialLoader.js +3 -1
  288. package/examples/jsm/nodes/materials/Materials.js +9 -7
  289. package/examples/jsm/nodes/materials/NodeMaterial.js +9 -1
  290. package/examples/jsm/nodes/materialx/MaterialXNodes.js +6 -2
  291. package/examples/jsm/nodes/materialx/lib/mx_transform_color.js +18 -0
  292. package/examples/jsm/nodes/math/MathNode.js +5 -0
  293. package/examples/jsm/nodes/math/OperatorNode.js +6 -1
  294. package/examples/jsm/nodes/shadernode/ShaderNode.js +26 -13
  295. package/examples/jsm/nodes/shadernode/ShaderNodeBaseElements.js +2 -0
  296. package/examples/jsm/nodes/shadernode/ShaderNodeElements.js +18 -0
  297. package/examples/jsm/nodes/utils/EquirectUVNode.js +27 -0
  298. package/examples/jsm/nodes/utils/JoinNode.js +8 -2
  299. package/examples/jsm/nodes/utils/MatcapUVNode.js +2 -4
  300. package/examples/jsm/nodes/utils/MaxMipLevelNode.js +1 -1
  301. package/examples/jsm/nodes/utils/SpriteSheetUVNode.js +8 -10
  302. package/examples/jsm/nodes/utils/TimerNode.js +1 -1
  303. package/examples/jsm/nodes/utils/TriplanarTexturesNode.js +51 -0
  304. package/examples/jsm/postprocessing/AfterimagePass.js +17 -4
  305. package/examples/jsm/postprocessing/BloomPass.js +22 -3
  306. package/examples/jsm/postprocessing/BokehPass.js +18 -4
  307. package/examples/jsm/postprocessing/CubeTexturePass.js +12 -5
  308. package/examples/jsm/postprocessing/DotScreenPass.js +8 -0
  309. package/examples/jsm/postprocessing/EffectComposer.js +9 -0
  310. package/examples/jsm/postprocessing/FilmPass.js +8 -0
  311. package/examples/jsm/postprocessing/GlitchPass.js +13 -1
  312. package/examples/jsm/postprocessing/HalftonePass.js +8 -0
  313. package/examples/jsm/postprocessing/OutlinePass.js +10 -0
  314. package/examples/jsm/postprocessing/Pass.js +2 -0
  315. package/examples/jsm/postprocessing/RenderPixelatedPass.js +234 -0
  316. package/examples/jsm/postprocessing/SAOPass.js +20 -0
  317. package/examples/jsm/postprocessing/SMAAPass.js +16 -0
  318. package/examples/jsm/postprocessing/SSAARenderPass.js +4 -0
  319. package/examples/jsm/postprocessing/SavePass.js +17 -1
  320. package/examples/jsm/postprocessing/ShaderPass.js +8 -0
  321. package/examples/jsm/postprocessing/TAARenderPass.js +9 -0
  322. package/examples/jsm/postprocessing/TexturePass.js +8 -0
  323. package/examples/jsm/postprocessing/UnrealBloomPass.js +16 -0
  324. package/examples/jsm/renderers/webgl/nodes/WebGLNodeBuilder.js +39 -16
  325. package/examples/jsm/renderers/webgpu/WebGPUAnimation.js +58 -0
  326. package/examples/jsm/renderers/webgpu/WebGPUAttributes.js +63 -5
  327. package/examples/jsm/renderers/webgpu/WebGPUBackground.js +36 -7
  328. package/examples/jsm/renderers/webgpu/WebGPURenderer.js +47 -12
  329. package/examples/jsm/renderers/webgpu/nodes/WebGPUNodeBuilder.js +35 -5
  330. package/examples/jsm/shaders/MMDToonShader.js +0 -2
  331. package/examples/jsm/shaders/VelocityShader.js +128 -0
  332. package/examples/jsm/utils/BufferGeometryUtils.js +130 -6
  333. package/examples/jsm/utils/SceneUtils.js +129 -4
  334. package/examples/jsm/utils/TextureUtils.js +85 -0
  335. package/examples/jsm/webxr/OculusHandModel.js +1 -1
  336. package/examples/jsm/webxr/XRHandMeshModel.js +6 -3
  337. package/package.json +11 -12
  338. package/src/Three.js +1 -0
  339. package/src/audio/AudioContext.js +5 -5
  340. package/src/cameras/CubeCamera.js +14 -14
  341. package/src/constants.js +1 -1
  342. package/src/core/InstancedBufferGeometry.js +1 -7
  343. package/src/extras/Earcut.js +67 -67
  344. package/src/helpers/DirectionalLightHelper.js +5 -1
  345. package/src/helpers/HemisphereLightHelper.js +4 -1
  346. package/src/helpers/PointLightHelper.js +2 -1
  347. package/src/helpers/SpotLightHelper.js +4 -2
  348. package/src/lights/PointLight.js +2 -2
  349. package/src/lights/SpotLight.js +2 -2
  350. package/src/loaders/FileLoader.js +4 -1
  351. package/src/loaders/ObjectLoader.js +5 -1
  352. package/src/materials/Material.js +1 -1
  353. package/src/math/Color.js +5 -5
  354. package/src/math/Matrix3.js +53 -18
  355. package/src/math/Ray.js +2 -5
  356. package/src/math/Sphere.js +19 -26
  357. package/src/objects/InstancedMesh.js +7 -0
  358. package/src/objects/LOD.js +25 -6
  359. package/src/renderers/WebGL3DRenderTarget.js +1 -1
  360. package/src/renderers/WebGLArrayRenderTarget.js +1 -1
  361. package/src/renderers/WebGLCubeRenderTarget.js +1 -1
  362. package/src/renderers/WebGLMultipleRenderTargets.js +1 -1
  363. package/src/renderers/WebGLRenderTarget.js +1 -1
  364. package/src/renderers/WebGLRenderer.js +36 -62
  365. package/src/renderers/shaders/ShaderChunk/envmap_fragment.glsl.js +0 -4
  366. package/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +0 -1
  367. package/src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js +0 -2
  368. package/src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js +0 -2
  369. package/src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js +0 -2
  370. package/src/renderers/shaders/ShaderChunk/packing.glsl.js +8 -0
  371. package/src/renderers/shaders/ShaderChunk.js +3 -0
  372. package/src/renderers/shaders/ShaderLib/background.glsl.js +7 -2
  373. package/src/renderers/shaders/ShaderLib/backgroundCube.glsl.js +62 -0
  374. package/src/renderers/shaders/ShaderLib/cube.glsl.js +4 -6
  375. package/src/renderers/shaders/ShaderLib.js +20 -6
  376. package/src/renderers/shaders/UniformsLib.js +1 -1
  377. package/src/renderers/shaders/UniformsUtils.js +15 -0
  378. package/src/renderers/webgl/WebGLAttributes.js +2 -0
  379. package/src/renderers/webgl/WebGLBackground.js +15 -7
  380. package/src/renderers/webgl/WebGLLights.js +0 -4
  381. package/src/renderers/webgl/WebGLMaterials.js +2 -1
  382. package/src/renderers/webgl/WebGLShadowMap.js +3 -1
  383. package/src/renderers/webgl/WebGLState.js +31 -1
  384. package/src/renderers/webgl/WebGLTextures.js +71 -18
  385. package/src/renderers/webgl/WebGLUniforms.js +116 -20
  386. package/src/renderers/webgl/WebGLUtils.js +1 -1
  387. package/src/renderers/webxr/WebXRController.js +46 -13
  388. package/src/renderers/webxr/WebXRManager.js +85 -3
  389. package/src/scenes/Scene.js +8 -0
  390. package/src/textures/CompressedArrayTexture.js +18 -0
  391. package/examples/js/libs/lottie_canvas.js +0 -12751
  392. package/examples/js/shaders/PixelShader.js +0 -51
  393. package/examples/jsm/shaders/PixelShader.js +0 -44
@@ -20,6 +20,7 @@
20
20
  this.meshes = [];
21
21
 
22
22
  }
23
+
23
24
  /**
24
25
  * Load 3ds file from url.
25
26
  *
@@ -29,8 +30,6 @@
29
30
  * @param {Function} onProgress onProgress callback.
30
31
  * @param {Function} onError onError callback.
31
32
  */
32
-
33
-
34
33
  load( url, onLoad, onProgress, onError ) {
35
34
 
36
35
  const scope = this;
@@ -65,6 +64,7 @@
65
64
  }, onProgress, onError );
66
65
 
67
66
  }
67
+
68
68
  /**
69
69
  * Parse arraybuffer data and load 3ds file.
70
70
  *
@@ -73,15 +73,12 @@
73
73
  * @param {String} path Path for external resources.
74
74
  * @return {Group} THREE.Group loaded from 3ds file.
75
75
  */
76
-
77
-
78
76
  parse( arraybuffer, path ) {
79
77
 
80
78
  this.group = new THREE.Group();
81
79
  this.materials = [];
82
80
  this.meshes = [];
83
81
  this.readFile( arraybuffer, path );
84
-
85
82
  for ( let i = 0; i < this.meshes.length; i ++ ) {
86
83
 
87
84
  this.group.add( this.meshes[ i ] );
@@ -91,6 +88,7 @@
91
88
  return this.group;
92
89
 
93
90
  }
91
+
94
92
  /**
95
93
  * Decode file content to read 3ds data.
96
94
  *
@@ -98,17 +96,13 @@
98
96
  * @param {ArrayBuffer} arraybuffer Arraybuffer data to be loaded.
99
97
  * @param {String} path Path for external resources.
100
98
  */
101
-
102
-
103
99
  readFile( arraybuffer, path ) {
104
100
 
105
101
  const data = new DataView( arraybuffer );
106
102
  const chunk = new Chunk( data, 0, this.debugMessage );
107
-
108
103
  if ( chunk.id === MLIBMAGIC || chunk.id === CMAGIC || chunk.id === M3DMAGIC ) {
109
104
 
110
105
  let next = chunk.readChunk();
111
-
112
106
  while ( next ) {
113
107
 
114
108
  if ( next.id === M3D_VERSION ) {
@@ -135,6 +129,7 @@
135
129
  this.debugMessage( 'Parsed ' + this.meshes.length + ' meshes' );
136
130
 
137
131
  }
132
+
138
133
  /**
139
134
  * Read mesh data chunk.
140
135
  *
@@ -142,12 +137,9 @@
142
137
  * @param {Chunk} chunk to read mesh from
143
138
  * @param {String} path Path for external resources.
144
139
  */
145
-
146
-
147
140
  readMeshData( chunk, path ) {
148
141
 
149
142
  let next = chunk.readChunk();
150
-
151
143
  while ( next ) {
152
144
 
153
145
  if ( next.id === MESH_VERSION ) {
@@ -182,19 +174,17 @@
182
174
  }
183
175
 
184
176
  }
177
+
185
178
  /**
186
179
  * Read named object chunk.
187
180
  *
188
181
  * @method readNamedObject
189
182
  * @param {Chunk} chunk Chunk in use.
190
183
  */
191
-
192
-
193
184
  readNamedObject( chunk ) {
194
185
 
195
186
  const name = chunk.readString();
196
187
  let next = chunk.readChunk();
197
-
198
188
  while ( next ) {
199
189
 
200
190
  if ( next.id === N_TRI_OBJECT ) {
@@ -214,6 +204,7 @@
214
204
  }
215
205
 
216
206
  }
207
+
217
208
  /**
218
209
  * Read material data chunk and add it to the material list.
219
210
  *
@@ -221,13 +212,10 @@
221
212
  * @param {Chunk} chunk Chunk in use.
222
213
  * @param {String} path Path for external resources.
223
214
  */
224
-
225
-
226
215
  readMaterialEntry( chunk, path ) {
227
216
 
228
217
  let next = chunk.readChunk();
229
218
  const material = new THREE.MeshPhongMaterial();
230
-
231
219
  while ( next ) {
232
220
 
233
221
  if ( next.id === MAT_NAME ) {
@@ -317,6 +305,7 @@
317
305
  this.materials[ material.name ] = material;
318
306
 
319
307
  }
308
+
320
309
  /**
321
310
  * Read mesh data chunk.
322
311
  *
@@ -324,8 +313,6 @@
324
313
  * @param {Chunk} chunk Chunk in use.
325
314
  * @return {Mesh} The parsed mesh.
326
315
  */
327
-
328
-
329
316
  readMesh( chunk ) {
330
317
 
331
318
  let next = chunk.readChunk();
@@ -333,16 +320,16 @@
333
320
  const material = new THREE.MeshPhongMaterial();
334
321
  const mesh = new THREE.Mesh( geometry, material );
335
322
  mesh.name = 'mesh';
336
-
337
323
  while ( next ) {
338
324
 
339
325
  if ( next.id === POINT_ARRAY ) {
340
326
 
341
327
  const points = next.readWord();
342
- this.debugMessage( ' Vertex: ' + points ); //BufferGeometry
328
+ this.debugMessage( ' Vertex: ' + points );
343
329
 
344
- const vertices = [];
330
+ //BufferGeometry
345
331
 
332
+ const vertices = [];
346
333
  for ( let i = 0; i < points; i ++ ) {
347
334
 
348
335
  vertices.push( next.readFloat() );
@@ -360,10 +347,11 @@
360
347
  } else if ( next.id === TEX_VERTS ) {
361
348
 
362
349
  const texels = next.readWord();
363
- this.debugMessage( ' UV: ' + texels ); //BufferGeometry
350
+ this.debugMessage( ' UV: ' + texels );
364
351
 
365
- const uvs = [];
352
+ //BufferGeometry
366
353
 
354
+ const uvs = [];
367
355
  for ( let i = 0; i < texels; i ++ ) {
368
356
 
369
357
  uvs.push( next.readFloat() );
@@ -377,30 +365,33 @@
377
365
 
378
366
  this.debugMessage( ' Tranformation Matrix (TODO)' );
379
367
  const values = [];
380
-
381
368
  for ( let i = 0; i < 12; i ++ ) {
382
369
 
383
370
  values[ i ] = next.readFloat();
384
371
 
385
372
  }
386
373
 
387
- const matrix = new THREE.Matrix4(); //X Line
374
+ const matrix = new THREE.Matrix4();
388
375
 
376
+ //X Line
389
377
  matrix.elements[ 0 ] = values[ 0 ];
390
378
  matrix.elements[ 1 ] = values[ 6 ];
391
379
  matrix.elements[ 2 ] = values[ 3 ];
392
- matrix.elements[ 3 ] = values[ 9 ]; //Y Line
380
+ matrix.elements[ 3 ] = values[ 9 ];
393
381
 
382
+ //Y Line
394
383
  matrix.elements[ 4 ] = values[ 2 ];
395
384
  matrix.elements[ 5 ] = values[ 8 ];
396
385
  matrix.elements[ 6 ] = values[ 5 ];
397
- matrix.elements[ 7 ] = values[ 11 ]; //Z Line
386
+ matrix.elements[ 7 ] = values[ 11 ];
398
387
 
388
+ //Z Line
399
389
  matrix.elements[ 8 ] = values[ 1 ];
400
390
  matrix.elements[ 9 ] = values[ 7 ];
401
391
  matrix.elements[ 10 ] = values[ 4 ];
402
- matrix.elements[ 11 ] = values[ 10 ]; //W Line
392
+ matrix.elements[ 11 ] = values[ 10 ];
403
393
 
394
+ //W Line
404
395
  matrix.elements[ 12 ] = 0;
405
396
  matrix.elements[ 13 ] = 0;
406
397
  matrix.elements[ 14 ] = 0;
@@ -425,6 +416,7 @@
425
416
  return mesh;
426
417
 
427
418
  }
419
+
428
420
  /**
429
421
  * Read face array data chunk.
430
422
  *
@@ -432,14 +424,11 @@
432
424
  * @param {Chunk} chunk Chunk in use.
433
425
  * @param {Mesh} mesh THREE.Mesh to be filled with the data read.
434
426
  */
435
-
436
-
437
427
  readFaceArray( chunk, mesh ) {
438
428
 
439
429
  const faces = chunk.readWord();
440
430
  this.debugMessage( ' Faces: ' + faces );
441
431
  const index = [];
442
-
443
432
  for ( let i = 0; i < faces; ++ i ) {
444
433
 
445
434
  index.push( chunk.readWord(), chunk.readWord(), chunk.readWord() );
@@ -447,15 +436,15 @@
447
436
 
448
437
  }
449
438
 
450
- mesh.geometry.setIndex( index ); //The rest of the FACE_ARRAY chunk is subchunks
439
+ mesh.geometry.setIndex( index );
440
+
441
+ //The rest of the FACE_ARRAY chunk is subchunks
451
442
 
452
443
  let materialIndex = 0;
453
444
  let start = 0;
454
-
455
445
  while ( ! chunk.endOfChunk ) {
456
446
 
457
447
  const subchunk = chunk.readChunk();
458
-
459
448
  if ( subchunk.id === MSH_MAT_GROUP ) {
460
449
 
461
450
  this.debugMessage( ' Material THREE.Group' );
@@ -467,7 +456,6 @@
467
456
  materialIndex ++;
468
457
  const material = this.materials[ group.name ];
469
458
  if ( Array.isArray( mesh.material ) === false ) mesh.material = [];
470
-
471
459
  if ( material !== undefined ) {
472
460
 
473
461
  mesh.material.push( material );
@@ -485,6 +473,7 @@
485
473
  if ( mesh.material.length === 1 ) mesh.material = mesh.material[ 0 ]; // for backwards compatibility
486
474
 
487
475
  }
476
+
488
477
  /**
489
478
  * Read texture map data chunk.
490
479
  *
@@ -493,15 +482,12 @@
493
482
  * @param {String} path Path for external resources.
494
483
  * @return {Texture} Texture read from this data chunk.
495
484
  */
496
-
497
-
498
485
  readMap( chunk, path ) {
499
486
 
500
487
  let next = chunk.readChunk();
501
488
  let texture = {};
502
489
  const loader = new THREE.TextureLoader( this.manager );
503
490
  loader.setPath( this.resourcePath || path ).setCrossOrigin( this.crossOrigin );
504
-
505
491
  while ( next ) {
506
492
 
507
493
  if ( next.id === MAT_MAPNAME ) {
@@ -543,6 +529,7 @@
543
529
  return texture;
544
530
 
545
531
  }
532
+
546
533
  /**
547
534
  * Read material group data chunk.
548
535
  *
@@ -550,8 +537,6 @@
550
537
  * @param {Chunk} chunk Chunk in use.
551
538
  * @return {Object} Object with name and index of the object.
552
539
  */
553
-
554
-
555
540
  readMaterialGroup( chunk ) {
556
541
 
557
542
  const name = chunk.readString();
@@ -559,7 +544,6 @@
559
544
  this.debugMessage( ' Name: ' + name );
560
545
  this.debugMessage( ' Faces: ' + numFaces );
561
546
  const index = [];
562
-
563
547
  for ( let i = 0; i < numFaces; ++ i ) {
564
548
 
565
549
  index.push( chunk.readWord() );
@@ -572,6 +556,7 @@
572
556
  };
573
557
 
574
558
  }
559
+
575
560
  /**
576
561
  * Read a color value.
577
562
  *
@@ -579,13 +564,10 @@
579
564
  * @param {Chunk} chunk Chunk.
580
565
  * @return {Color} THREE.Color value read..
581
566
  */
582
-
583
-
584
567
  readColor( chunk ) {
585
568
 
586
569
  const subChunk = chunk.readChunk();
587
570
  const color = new THREE.Color();
588
-
589
571
  if ( subChunk.id === COLOR_24 || subChunk.id === LIN_COLOR_24 ) {
590
572
 
591
573
  const r = subChunk.readByte();
@@ -611,6 +593,7 @@
611
593
  return color;
612
594
 
613
595
  }
596
+
614
597
  /**
615
598
  * Read percentage value.
616
599
  *
@@ -618,22 +601,17 @@
618
601
  * @param {Chunk} chunk Chunk to read data from.
619
602
  * @return {Number} Data read from the dataview.
620
603
  */
621
-
622
-
623
604
  readPercentage( chunk ) {
624
605
 
625
606
  const subChunk = chunk.readChunk();
626
-
627
607
  switch ( subChunk.id ) {
628
608
 
629
609
  case INT_PERCENTAGE:
630
610
  return subChunk.readShort() / 100;
631
611
  break;
632
-
633
612
  case FLOAT_PERCENTAGE:
634
613
  return subChunk.readFloat();
635
614
  break;
636
-
637
615
  default:
638
616
  this.debugMessage( ' Unknown percentage chunk: ' + subChunk.hexId );
639
617
  return 0;
@@ -641,6 +619,7 @@
641
619
  }
642
620
 
643
621
  }
622
+
644
623
  /**
645
624
  * Print debug message to the console.
646
625
  *
@@ -649,8 +628,6 @@
649
628
  * @method debugMessage
650
629
  * @param {Object} message Debug message to print to the console.
651
630
  */
652
-
653
-
654
631
  debugMessage( message ) {
655
632
 
656
633
  if ( this.debug ) {
@@ -662,9 +639,8 @@
662
639
  }
663
640
 
664
641
  }
665
- /** Read data/sub-chunks from chunk */
666
-
667
642
 
643
+ /** Read data/sub-chunks from chunk */
668
644
  class Chunk {
669
645
 
670
646
  /**
@@ -677,13 +653,12 @@
677
653
  */
678
654
  constructor( data, position, debugMessage ) {
679
655
 
680
- this.data = data; // the offset to the begin of this chunk
681
-
682
- this.offset = position; // the current reading position
683
-
656
+ this.data = data;
657
+ // the offset to the begin of this chunk
658
+ this.offset = position;
659
+ // the current reading position
684
660
  this.position = position;
685
661
  this.debugMessage = debugMessage;
686
-
687
662
  if ( this.debugMessage instanceof Function ) {
688
663
 
689
664
  this.debugMessage = function () {};
@@ -693,7 +668,6 @@
693
668
  this.id = this.readWord();
694
669
  this.size = this.readDWord();
695
670
  this.end = this.offset + this.size;
696
-
697
671
  if ( this.end > data.byteLength ) {
698
672
 
699
673
  this.debugMessage( 'Bad chunk size for chunk at ' + position );
@@ -701,14 +675,13 @@
701
675
  }
702
676
 
703
677
  }
678
+
704
679
  /**
705
680
  * read a sub cchunk.
706
681
  *
707
682
  * @method readChunk
708
683
  * @return {Chunk | null} next sub chunk
709
684
  */
710
-
711
-
712
685
  readChunk() {
713
686
 
714
687
  if ( this.endOfChunk ) {
@@ -731,33 +704,30 @@
731
704
  }
732
705
 
733
706
  }
707
+
734
708
  /**
735
709
  * return the ID of this chunk as Hex
736
710
  *
737
711
  * @method idToString
738
712
  * @return {String} hex-string of id
739
713
  */
740
-
741
-
742
714
  get hexId() {
743
715
 
744
716
  return this.id.toString( 16 );
745
717
 
746
718
  }
747
-
748
719
  get endOfChunk() {
749
720
 
750
721
  return this.position >= this.end;
751
722
 
752
723
  }
724
+
753
725
  /**
754
726
  * Read byte value.
755
727
  *
756
728
  * @method readByte
757
729
  * @return {Number} Data read from the dataview.
758
730
  */
759
-
760
-
761
731
  readByte() {
762
732
 
763
733
  const v = this.data.getUint8( this.position, true );
@@ -765,14 +735,13 @@
765
735
  return v;
766
736
 
767
737
  }
738
+
768
739
  /**
769
740
  * Read 32 bit float value.
770
741
  *
771
742
  * @method readFloat
772
743
  * @return {Number} Data read from the dataview.
773
744
  */
774
-
775
-
776
745
  readFloat() {
777
746
 
778
747
  try {
@@ -789,14 +758,13 @@
789
758
  }
790
759
 
791
760
  }
761
+
792
762
  /**
793
763
  * Read 32 bit signed integer value.
794
764
  *
795
765
  * @method readInt
796
766
  * @return {Number} Data read from the dataview.
797
767
  */
798
-
799
-
800
768
  readInt() {
801
769
 
802
770
  const v = this.data.getInt32( this.position, true );
@@ -804,14 +772,13 @@
804
772
  return v;
805
773
 
806
774
  }
775
+
807
776
  /**
808
777
  * Read 16 bit signed integer value.
809
778
  *
810
779
  * @method readShort
811
780
  * @return {Number} Data read from the dataview.
812
781
  */
813
-
814
-
815
782
  readShort() {
816
783
 
817
784
  const v = this.data.getInt16( this.position, true );
@@ -819,14 +786,13 @@
819
786
  return v;
820
787
 
821
788
  }
789
+
822
790
  /**
823
791
  * Read 64 bit unsigned integer value.
824
792
  *
825
793
  * @method readDWord
826
794
  * @return {Number} Data read from the dataview.
827
795
  */
828
-
829
-
830
796
  readDWord() {
831
797
 
832
798
  const v = this.data.getUint32( this.position, true );
@@ -834,14 +800,13 @@
834
800
  return v;
835
801
 
836
802
  }
803
+
837
804
  /**
838
805
  * Read 32 bit unsigned integer value.
839
806
  *
840
807
  * @method readWord
841
808
  * @return {Number} Data read from the dataview.
842
809
  */
843
-
844
-
845
810
  readWord() {
846
811
 
847
812
  const v = this.data.getUint16( this.position, true );
@@ -849,19 +814,17 @@
849
814
  return v;
850
815
 
851
816
  }
817
+
852
818
  /**
853
819
  * Read NULL terminated ASCII string value from chunk-pos.
854
820
  *
855
821
  * @method readString
856
822
  * @return {String} Data read from the dataview.
857
823
  */
858
-
859
-
860
824
  readString() {
861
825
 
862
826
  let s = '';
863
827
  let c = this.readByte();
864
-
865
828
  while ( c ) {
866
829
 
867
830
  s += String.fromCharCode( c );
@@ -873,17 +836,17 @@
873
836
 
874
837
  }
875
838
 
876
- } // const NULL_CHUNK = 0x0000;
877
-
839
+ }
878
840
 
879
- const M3DMAGIC = 0x4D4D; // const SMAGIC = 0x2D2D;
841
+ // const NULL_CHUNK = 0x0000;
842
+ const M3DMAGIC = 0x4D4D;
843
+ // const SMAGIC = 0x2D2D;
880
844
  // const LMAGIC = 0x2D3D;
881
-
882
- const MLIBMAGIC = 0x3DAA; // const MATMAGIC = 0x3DFF;
883
-
845
+ const MLIBMAGIC = 0x3DAA;
846
+ // const MATMAGIC = 0x3DFF;
884
847
  const CMAGIC = 0xC23D;
885
- const M3D_VERSION = 0x0002; // const M3D_KFVERSION = 0x0005;
886
-
848
+ const M3D_VERSION = 0x0002;
849
+ // const M3D_KFVERSION = 0x0005;
887
850
  const COLOR_F = 0x0010;
888
851
  const COLOR_24 = 0x0011;
889
852
  const LIN_COLOR_24 = 0x0012;
@@ -892,7 +855,8 @@
892
855
  const FLOAT_PERCENTAGE = 0x0031;
893
856
  const MDATA = 0x3D3D;
894
857
  const MESH_VERSION = 0x3D3E;
895
- const MASTER_SCALE = 0x0100; // const LO_SHADOW_BIAS = 0x1400;
858
+ const MASTER_SCALE = 0x0100;
859
+ // const LO_SHADOW_BIAS = 0x1400;
896
860
  // const HI_SHADOW_BIAS = 0x1410;
897
861
  // const SHADOW_MAP_SIZE = 0x1420;
898
862
  // const SHADOW_SAMPLES = 0x1430;
@@ -915,47 +879,47 @@
915
879
  // const USE_FOG = 0x2201;
916
880
  // const USE_LAYER_FOG = 0x2303;
917
881
  // const USE_DISTANCE_CUE = 0x2301;
918
-
919
882
  const MAT_ENTRY = 0xAFFF;
920
883
  const MAT_NAME = 0xA000;
921
884
  const MAT_AMBIENT = 0xA010;
922
885
  const MAT_DIFFUSE = 0xA020;
923
886
  const MAT_SPECULAR = 0xA030;
924
- const MAT_SHININESS = 0xA040; // const MAT_SHIN2PCT = 0xA041;
925
-
926
- const MAT_TRANSPARENCY = 0xA050; // const MAT_XPFALL = 0xA052;
887
+ const MAT_SHININESS = 0xA040;
888
+ // const MAT_SHIN2PCT = 0xA041;
889
+ const MAT_TRANSPARENCY = 0xA050;
890
+ // const MAT_XPFALL = 0xA052;
927
891
  // const MAT_USE_XPFALL = 0xA240;
928
892
  // const MAT_REFBLUR = 0xA053;
929
893
  // const MAT_SHADING = 0xA100;
930
894
  // const MAT_USE_REFBLUR = 0xA250;
931
895
  // const MAT_SELF_ILLUM = 0xA084;
932
-
933
- const MAT_TWO_SIDE = 0xA081; // const MAT_DECAL = 0xA082;
934
-
896
+ const MAT_TWO_SIDE = 0xA081;
897
+ // const MAT_DECAL = 0xA082;
935
898
  const MAT_ADDITIVE = 0xA083;
936
- const MAT_WIRE = 0xA085; // const MAT_FACEMAP = 0xA088;
899
+ const MAT_WIRE = 0xA085;
900
+ // const MAT_FACEMAP = 0xA088;
937
901
  // const MAT_TRANSFALLOFF_IN = 0xA08A;
938
902
  // const MAT_PHONGSOFT = 0xA08C;
939
903
  // const MAT_WIREABS = 0xA08E;
940
-
941
904
  const MAT_WIRE_SIZE = 0xA087;
942
- const MAT_TEXMAP = 0xA200; // const MAT_SXP_TEXT_DATA = 0xA320;
905
+ const MAT_TEXMAP = 0xA200;
906
+ // const MAT_SXP_TEXT_DATA = 0xA320;
943
907
  // const MAT_TEXMASK = 0xA33E;
944
908
  // const MAT_SXP_TEXTMASK_DATA = 0xA32A;
945
909
  // const MAT_TEX2MAP = 0xA33A;
946
910
  // const MAT_SXP_TEXT2_DATA = 0xA321;
947
911
  // const MAT_TEX2MASK = 0xA340;
948
912
  // const MAT_SXP_TEXT2MASK_DATA = 0xA32C;
949
-
950
- const MAT_OPACMAP = 0xA210; // const MAT_SXP_OPAC_DATA = 0xA322;
913
+ const MAT_OPACMAP = 0xA210;
914
+ // const MAT_SXP_OPAC_DATA = 0xA322;
951
915
  // const MAT_OPACMASK = 0xA342;
952
916
  // const MAT_SXP_OPACMASK_DATA = 0xA32E;
953
-
954
- const MAT_BUMPMAP = 0xA230; // const MAT_SXP_BUMP_DATA = 0xA324;
917
+ const MAT_BUMPMAP = 0xA230;
918
+ // const MAT_SXP_BUMP_DATA = 0xA324;
955
919
  // const MAT_BUMPMASK = 0xA344;
956
920
  // const MAT_SXP_BUMPMASK_DATA = 0xA330;
957
-
958
- const MAT_SPECMAP = 0xA204; // const MAT_SXP_SPEC_DATA = 0xA325;
921
+ const MAT_SPECMAP = 0xA204;
922
+ // const MAT_SXP_SPEC_DATA = 0xA325;
959
923
  // const MAT_SPECMASK = 0xA348;
960
924
  // const MAT_SXP_SPECMASK_DATA = 0xA332;
961
925
  // const MAT_SHINMAP = 0xA33C;
@@ -970,21 +934,21 @@
970
934
  // const MAT_REFLMASK = 0xA34C;
971
935
  // const MAT_SXP_REFLMASK_DATA = 0xA338;
972
936
  // const MAT_ACUBIC = 0xA310;
973
-
974
- const MAT_MAPNAME = 0xA300; // const MAT_MAP_TILING = 0xA351;
937
+ const MAT_MAPNAME = 0xA300;
938
+ // const MAT_MAP_TILING = 0xA351;
975
939
  // const MAT_MAP_TEXBLUR = 0xA353;
976
-
977
940
  const MAT_MAP_USCALE = 0xA354;
978
941
  const MAT_MAP_VSCALE = 0xA356;
979
942
  const MAT_MAP_UOFFSET = 0xA358;
980
- const MAT_MAP_VOFFSET = 0xA35A; // const MAT_MAP_ANG = 0xA35C;
943
+ const MAT_MAP_VOFFSET = 0xA35A;
944
+ // const MAT_MAP_ANG = 0xA35C;
981
945
  // const MAT_MAP_COL1 = 0xA360;
982
946
  // const MAT_MAP_COL2 = 0xA362;
983
947
  // const MAT_MAP_RCOL = 0xA364;
984
948
  // const MAT_MAP_GCOL = 0xA366;
985
949
  // const MAT_MAP_BCOL = 0xA368;
986
-
987
- const NAMED_OBJECT = 0x4000; // const N_DIRECT_LIGHT = 0x4600;
950
+ const NAMED_OBJECT = 0x4000;
951
+ // const N_DIRECT_LIGHT = 0x4600;
988
952
  // const DL_OFF = 0x4620;
989
953
  // const DL_OUTER_RANGE = 0x465A;
990
954
  // const DL_INNER_RANGE = 0x4659;
@@ -1013,16 +977,15 @@
1013
977
  // const OBJ_FAST = 0x4014;
1014
978
  // const OBJ_PROCEDURAL = 0x4015;
1015
979
  // const OBJ_FROZEN = 0x4016;
1016
-
1017
980
  const N_TRI_OBJECT = 0x4100;
1018
- const POINT_ARRAY = 0x4110; // const POINT_FLAG_ARRAY = 0x4111;
1019
-
981
+ const POINT_ARRAY = 0x4110;
982
+ // const POINT_FLAG_ARRAY = 0x4111;
1020
983
  const FACE_ARRAY = 0x4120;
1021
- const MSH_MAT_GROUP = 0x4130; // const SMOOTH_GROUP = 0x4150;
984
+ const MSH_MAT_GROUP = 0x4130;
985
+ // const SMOOTH_GROUP = 0x4150;
1022
986
  // const MSH_BOXMAP = 0x4190;
1023
-
1024
987
  const TEX_VERTS = 0x4140;
1025
- const MESH_MATRIX = 0x4160; // const MESH_COLOR = 0x4165;
988
+ const MESH_MATRIX = 0x4160;
1026
989
 
1027
990
  THREE.TDSLoader = TDSLoader;
1028
991