super-three 0.137.0 → 0.141.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (703) hide show
  1. package/README.md +23 -25
  2. package/build/three.cjs +3721 -4964
  3. package/build/three.js +3723 -4966
  4. package/build/three.min.js +1 -1
  5. package/build/three.module.js +5705 -7216
  6. package/examples/js/animation/CCDIKSolver.js +3 -2
  7. package/examples/js/animation/MMDPhysics.js +2 -2
  8. package/examples/js/controls/ArcballControls.js +3 -1
  9. package/examples/js/controls/PointerLockControls.js +3 -2
  10. package/examples/js/controls/TrackballControls.js +1 -4
  11. package/examples/js/controls/TransformControls.js +5 -6
  12. package/examples/js/controls/experimental/CameraControls.js +2 -2
  13. package/examples/js/csm/CSMFrustum.js +1 -1
  14. package/examples/js/csm/CSMShader.js +51 -35
  15. package/examples/js/curves/CurveExtras.js +14 -18
  16. package/examples/js/effects/AnaglyphEffect.js +7 -4
  17. package/examples/js/effects/AsciiEffect.js +10 -29
  18. package/examples/js/exporters/ColladaExporter.js +29 -7
  19. package/examples/js/exporters/EXRExporter.js +458 -0
  20. package/examples/js/exporters/GLTFExporter.js +213 -128
  21. package/examples/js/exporters/OBJExporter.js +12 -18
  22. package/examples/js/exporters/PLYExporter.js +15 -20
  23. package/examples/js/exporters/USDZExporter.js +13 -0
  24. package/examples/js/geometries/DecalGeometry.js +0 -7
  25. package/examples/js/geometries/LightningStrike.js +2 -2
  26. package/examples/js/geometries/ParametricGeometries.js +3 -3
  27. package/examples/js/helpers/OctreeHelper.js +74 -0
  28. package/examples/js/helpers/VertexNormalsHelper.js +4 -23
  29. package/examples/js/helpers/VertexTangentsHelper.js +3 -13
  30. package/examples/js/helpers/ViewHelper.js +266 -0
  31. package/examples/js/interactive/HTMLMesh.js +235 -40
  32. package/examples/js/interactive/SelectionHelper.js +1 -1
  33. package/examples/js/libs/opentype.min.js +1 -118
  34. package/examples/js/lines/Line2.js +1 -2
  35. package/examples/js/lines/LineGeometry.js +10 -21
  36. package/examples/js/lines/LineMaterial.js +2 -3
  37. package/examples/js/lines/LineSegments2.js +214 -140
  38. package/examples/js/lines/LineSegmentsGeometry.js +3 -14
  39. package/examples/js/lines/Wireframe.js +2 -3
  40. package/examples/js/lines/WireframeGeometry2.js +1 -2
  41. package/examples/js/loaders/3MFLoader.js +21 -17
  42. package/examples/js/loaders/AMFLoader.js +1 -1
  43. package/examples/js/loaders/ColladaLoader.js +33 -12
  44. package/examples/js/loaders/DDSLoader.js +23 -30
  45. package/examples/js/loaders/EXRLoader.js +269 -266
  46. package/examples/js/loaders/FBXLoader.js +11 -0
  47. package/examples/js/loaders/FontLoader.js +1 -2
  48. package/examples/js/loaders/GCodeLoader.js +0 -1
  49. package/examples/js/loaders/GLTFLoader.js +249 -60
  50. package/examples/js/loaders/KMZLoader.js +1 -1
  51. package/examples/js/loaders/KTX2Loader.js +1 -9
  52. package/examples/js/loaders/LDrawLoader.js +3 -11
  53. package/examples/js/loaders/LUT3dlLoader.js +1 -1
  54. package/examples/js/loaders/LUTCubeLoader.js +1 -1
  55. package/examples/js/loaders/LWOLoader.js +4 -2
  56. package/examples/js/loaders/LogLuvLoader.js +1 -2
  57. package/examples/js/loaders/MMDLoader.js +18 -4
  58. package/examples/js/loaders/NRRDLoader.js +1 -1
  59. package/examples/js/loaders/OBJLoader.js +9 -5
  60. package/examples/js/loaders/PCDLoader.js +22 -13
  61. package/examples/js/loaders/PDBLoader.js +11 -11
  62. package/examples/js/loaders/PLYLoader.js +5 -1
  63. package/examples/js/loaders/RGBELoader.js +3 -11
  64. package/examples/js/loaders/RGBMLoader.js +12 -15
  65. package/examples/js/loaders/SVGLoader.js +16 -9
  66. package/examples/js/loaders/VOXLoader.js +3 -4
  67. package/examples/js/loaders/VTKLoader.js +260 -295
  68. package/examples/js/loaders/lwo/LWO2Parser.js +4 -4
  69. package/examples/js/loaders/lwo/LWO3Parser.js +4 -4
  70. package/examples/js/math/ConvexHull.js +6 -15
  71. package/examples/js/math/Lut.js +27 -26
  72. package/examples/js/misc/MorphAnimMesh.js +2 -2
  73. package/examples/js/misc/ProgressiveLightMap.js +1 -1
  74. package/examples/js/misc/Volume.js +37 -46
  75. package/examples/js/misc/VolumeSlice.js +21 -21
  76. package/examples/js/modifiers/EdgeSplitModifier.js +0 -7
  77. package/examples/js/modifiers/SimplifyModifier.js +1 -8
  78. package/examples/js/modifiers/TessellateModifier.js +0 -7
  79. package/examples/js/objects/Lensflare.js +2 -2
  80. package/examples/js/objects/LightningStorm.js +4 -5
  81. package/examples/js/objects/MarchingCubes.js +6 -11
  82. package/examples/js/objects/Reflector.js +10 -4
  83. package/examples/js/objects/ReflectorForSSRPass.js +1 -1
  84. package/examples/js/objects/Refractor.js +10 -4
  85. package/examples/js/objects/ShadowMesh.js +1 -2
  86. package/examples/js/objects/Sky.js +1 -1
  87. package/examples/js/objects/Water.js +1 -2
  88. package/examples/js/objects/Water2.js +1 -1
  89. package/examples/js/postprocessing/AdaptiveToneMappingPass.js +6 -10
  90. package/examples/js/postprocessing/AfterimagePass.js +2 -6
  91. package/examples/js/postprocessing/BloomPass.js +50 -19
  92. package/examples/js/postprocessing/DotScreenPass.js +1 -1
  93. package/examples/js/postprocessing/EffectComposer.js +1 -6
  94. package/examples/js/postprocessing/LUTPass.js +2 -2
  95. package/examples/js/postprocessing/OutlinePass.js +7 -12
  96. package/examples/js/postprocessing/SAOPass.js +2 -7
  97. package/examples/js/postprocessing/SSAARenderPass.js +1 -6
  98. package/examples/js/postprocessing/SSRPass.js +3 -8
  99. package/examples/js/postprocessing/TAARenderPass.js +4 -4
  100. package/examples/js/postprocessing/UnrealBloomPass.js +3 -12
  101. package/examples/js/renderers/CSS2DRenderer.js +20 -25
  102. package/examples/js/renderers/CSS3DRenderer.js +6 -7
  103. package/examples/js/renderers/Projector.js +97 -124
  104. package/examples/js/renderers/SVGRenderer.js +3 -4
  105. package/examples/js/shaders/BlendShader.js +2 -1
  106. package/examples/js/shaders/CopyShader.js +4 -3
  107. package/examples/js/shaders/FXAAShader.js +239 -1069
  108. package/examples/js/shaders/FreiChenShader.js +1 -1
  109. package/examples/js/shaders/HorizontalBlurShader.js +1 -1
  110. package/examples/js/shaders/HorizontalTiltShiftShader.js +1 -1
  111. package/examples/js/shaders/SSRShader.js +3 -3
  112. package/examples/js/shaders/ToneMapShader.js +1 -1
  113. package/examples/js/utils/BufferGeometryUtils.js +282 -22
  114. package/examples/js/utils/GPUStatsPanel.js +1 -1
  115. package/examples/js/utils/LDrawUtils.js +6 -6
  116. package/examples/js/utils/SceneUtils.js +59 -0
  117. package/examples/js/utils/SkeletonUtils.js +1 -1
  118. package/examples/js/utils/UVsDebug.js +23 -33
  119. package/examples/jsm/animation/CCDIKSolver.js +3 -9
  120. package/examples/jsm/animation/MMDPhysics.js +1 -1
  121. package/examples/jsm/capabilities/WebGPU.js +6 -0
  122. package/examples/jsm/controls/ArcballControls.js +3 -1
  123. package/examples/jsm/controls/PointerLockControls.js +4 -2
  124. package/examples/jsm/controls/TrackballControls.js +1 -4
  125. package/examples/jsm/controls/TransformControls.js +6 -6
  126. package/examples/jsm/controls/experimental/CameraControls.js +2 -2
  127. package/examples/jsm/csm/CSMFrustum.js +1 -1
  128. package/examples/jsm/csm/CSMShader.js +51 -35
  129. package/examples/jsm/curves/CurveExtras.js +15 -17
  130. package/examples/jsm/effects/AnaglyphEffect.js +4 -4
  131. package/examples/jsm/effects/AsciiEffect.js +9 -22
  132. package/examples/jsm/exporters/ColladaExporter.js +31 -6
  133. package/examples/jsm/exporters/EXRExporter.js +507 -0
  134. package/examples/jsm/exporters/GLTFExporter.js +231 -125
  135. package/examples/jsm/exporters/KTX2Exporter.js +281 -0
  136. package/examples/jsm/exporters/OBJExporter.js +11 -18
  137. package/examples/jsm/exporters/PLYExporter.js +23 -21
  138. package/examples/jsm/exporters/USDZExporter.js +12 -0
  139. package/examples/jsm/geometries/DecalGeometry.js +0 -7
  140. package/examples/jsm/geometries/LightningStrike.js +2 -2
  141. package/examples/jsm/geometries/ParametricGeometries.js +3 -3
  142. package/examples/jsm/helpers/OctreeHelper.js +58 -0
  143. package/examples/jsm/helpers/VertexNormalsHelper.js +4 -25
  144. package/examples/jsm/helpers/VertexTangentsHelper.js +3 -15
  145. package/examples/jsm/helpers/ViewHelper.js +295 -0
  146. package/examples/jsm/interactive/HTMLMesh.js +252 -34
  147. package/examples/jsm/interactive/SelectionHelper.js +1 -1
  148. package/examples/jsm/libs/flow.module.js +30 -27
  149. package/examples/jsm/libs/ktx-parse.module.js +1 -1
  150. package/examples/jsm/libs/mikktspace.module.js +128 -0
  151. package/examples/jsm/libs/opentype.module.js +14568 -0
  152. package/examples/jsm/lines/Line2.js +2 -2
  153. package/examples/jsm/lines/LineGeometry.js +11 -19
  154. package/examples/jsm/lines/LineMaterial.js +3 -3
  155. package/examples/jsm/lines/LineSegments2.js +210 -145
  156. package/examples/jsm/lines/LineSegmentsGeometry.js +3 -12
  157. package/examples/jsm/lines/Wireframe.js +3 -3
  158. package/examples/jsm/lines/WireframeGeometry2.js +2 -2
  159. package/examples/jsm/loaders/3DMLoader.js +3 -2
  160. package/examples/jsm/loaders/3MFLoader.js +21 -17
  161. package/examples/jsm/loaders/AMFLoader.js +1 -1
  162. package/examples/jsm/loaders/ColladaLoader.js +40 -12
  163. package/examples/jsm/loaders/DDSLoader.js +21 -28
  164. package/examples/jsm/loaders/EXRLoader.js +268 -265
  165. package/examples/jsm/loaders/FBXLoader.js +11 -0
  166. package/examples/jsm/loaders/FontLoader.js +2 -2
  167. package/examples/jsm/loaders/GCodeLoader.js +0 -1
  168. package/examples/jsm/loaders/GLTFLoader.js +263 -66
  169. package/examples/jsm/loaders/KMZLoader.js +1 -1
  170. package/examples/jsm/loaders/KTX2Loader.js +1 -10
  171. package/examples/jsm/loaders/LDrawLoader.js +4 -11
  172. package/examples/jsm/loaders/LUT3dlLoader.js +2 -2
  173. package/examples/jsm/loaders/LUTCubeLoader.js +2 -2
  174. package/examples/jsm/loaders/LWOLoader.js +5 -3
  175. package/examples/jsm/loaders/LogLuvLoader.js +2 -2
  176. package/examples/jsm/loaders/MMDLoader.js +21 -3
  177. package/examples/jsm/loaders/NRRDLoader.js +1 -2
  178. package/examples/jsm/loaders/OBJLoader.js +11 -7
  179. package/examples/jsm/loaders/PCDLoader.js +23 -15
  180. package/examples/jsm/loaders/PDBLoader.js +11 -11
  181. package/examples/jsm/loaders/PLYLoader.js +10 -2
  182. package/examples/jsm/loaders/RGBELoader.js +4 -12
  183. package/examples/jsm/loaders/RGBMLoader.js +14 -11
  184. package/examples/jsm/loaders/SVGLoader.js +17 -9
  185. package/examples/jsm/loaders/TTFLoader.js +1 -1
  186. package/examples/jsm/loaders/VOXLoader.js +5 -5
  187. package/examples/jsm/loaders/VTKLoader.js +256 -284
  188. package/examples/jsm/loaders/ifc/web-ifc-api.js +9 -8
  189. package/examples/jsm/loaders/lwo/LWO2Parser.js +4 -4
  190. package/examples/jsm/loaders/lwo/LWO3Parser.js +4 -4
  191. package/examples/jsm/math/ConvexHull.js +6 -15
  192. package/examples/jsm/math/Lut.js +35 -25
  193. package/examples/jsm/misc/MorphAnimMesh.js +2 -2
  194. package/examples/jsm/misc/ProgressiveLightMap.js +1 -1
  195. package/examples/jsm/misc/Volume.js +37 -44
  196. package/examples/jsm/misc/VolumeSlice.js +21 -21
  197. package/examples/jsm/modifiers/EdgeSplitModifier.js +0 -7
  198. package/examples/jsm/modifiers/SimplifyModifier.js +1 -8
  199. package/examples/jsm/modifiers/TessellateModifier.js +0 -7
  200. package/examples/jsm/node-editor/NodeEditor.js +78 -9
  201. package/examples/jsm/node-editor/accessors/MatcapUVEditor.js +14 -0
  202. package/examples/jsm/node-editor/accessors/NormalEditor.js +1 -1
  203. package/examples/jsm/node-editor/accessors/PositionEditor.js +1 -1
  204. package/examples/jsm/node-editor/accessors/UVEditor.js +1 -1
  205. package/examples/jsm/node-editor/core/BaseNode.js +17 -11
  206. package/examples/jsm/node-editor/core/DataFile.js +59 -0
  207. package/examples/jsm/node-editor/core/FileEditor.js +20 -0
  208. package/examples/jsm/node-editor/core/FileURLEditor.js +29 -0
  209. package/examples/jsm/node-editor/display/BlendEditor.js +3 -3
  210. package/examples/jsm/node-editor/display/NormalMapEditor.js +49 -0
  211. package/examples/jsm/node-editor/examples/matcap.json +1 -0
  212. package/examples/jsm/node-editor/inputs/ColorEditor.js +7 -6
  213. package/examples/jsm/node-editor/inputs/FloatEditor.js +2 -2
  214. package/examples/jsm/node-editor/inputs/SliderEditor.js +2 -2
  215. package/examples/jsm/node-editor/inputs/TextureEditor.js +155 -0
  216. package/examples/jsm/node-editor/inputs/Vector2Editor.js +3 -2
  217. package/examples/jsm/node-editor/inputs/Vector3Editor.js +3 -2
  218. package/examples/jsm/node-editor/inputs/Vector4Editor.js +4 -3
  219. package/examples/jsm/node-editor/materials/BasicMaterialEditor.js +3 -3
  220. package/examples/jsm/node-editor/materials/PointsMaterialEditor.js +16 -11
  221. package/examples/jsm/node-editor/materials/StandardMaterialEditor.js +15 -5
  222. package/examples/jsm/node-editor/math/AngleEditor.js +3 -2
  223. package/examples/jsm/node-editor/math/DotEditor.js +2 -2
  224. package/examples/jsm/node-editor/math/InvertEditor.js +4 -4
  225. package/examples/jsm/node-editor/math/LimiterEditor.js +22 -9
  226. package/examples/jsm/node-editor/math/NormalizeEditor.js +3 -2
  227. package/examples/jsm/node-editor/math/OperatorEditor.js +20 -8
  228. package/examples/jsm/node-editor/math/PowerEditor.js +17 -8
  229. package/examples/jsm/node-editor/math/TrigonometryEditor.js +3 -2
  230. package/examples/jsm/node-editor/procedural/CheckerEditor.js +4 -4
  231. package/examples/jsm/node-editor/utils/JoinEditor.js +2 -2
  232. package/examples/jsm/node-editor/utils/OscillatorEditor.js +2 -2
  233. package/examples/jsm/node-editor/utils/PreviewEditor.js +166 -0
  234. package/examples/jsm/node-editor/utils/SplitEditor.js +2 -2
  235. package/examples/jsm/node-editor/utils/TimerEditor.js +1 -1
  236. package/examples/jsm/nodes/Nodes.js +283 -94
  237. package/examples/jsm/nodes/accessors/BufferNode.js +24 -0
  238. package/examples/jsm/nodes/accessors/CameraNode.js +27 -196
  239. package/examples/jsm/nodes/accessors/CubeTextureNode.js +103 -0
  240. package/examples/jsm/nodes/accessors/InstanceNode.js +58 -0
  241. package/examples/jsm/{renderers/nodes → nodes}/accessors/MaterialNode.js +49 -11
  242. package/examples/jsm/{renderers/nodes → nodes}/accessors/MaterialReferenceNode.js +0 -0
  243. package/examples/jsm/{renderers/nodes → nodes}/accessors/ModelNode.js +8 -0
  244. package/examples/jsm/{renderers/nodes → nodes}/accessors/ModelViewProjectionNode.js +0 -0
  245. package/examples/jsm/nodes/accessors/NormalNode.js +39 -99
  246. package/examples/jsm/{renderers/nodes → nodes}/accessors/Object3DNode.js +34 -17
  247. package/examples/jsm/{renderers/nodes → nodes}/accessors/PointUVNode.js +2 -2
  248. package/examples/jsm/nodes/accessors/PositionNode.js +41 -110
  249. package/examples/jsm/nodes/accessors/ReferenceNode.js +65 -0
  250. package/examples/jsm/nodes/accessors/ReflectNode.js +34 -121
  251. package/examples/jsm/nodes/accessors/SkinningNode.js +102 -0
  252. package/examples/jsm/nodes/accessors/StorageBufferNode.js +21 -0
  253. package/examples/jsm/nodes/accessors/TextureNode.js +100 -0
  254. package/examples/jsm/nodes/accessors/UVNode.js +17 -43
  255. package/examples/jsm/nodes/accessors/UserDataNode.js +23 -0
  256. package/examples/jsm/nodes/core/ArrayUniformNode.js +23 -0
  257. package/examples/jsm/nodes/core/AttributeNode.js +33 -30
  258. package/examples/jsm/{renderers/nodes → nodes}/core/BypassNode.js +2 -2
  259. package/examples/jsm/{renderers/nodes → nodes}/core/CodeNode.js +2 -30
  260. package/examples/jsm/nodes/core/ConstNode.js +10 -106
  261. package/examples/jsm/{renderers/nodes → nodes}/core/ContextNode.js +17 -3
  262. package/examples/jsm/nodes/core/ExpressionNode.js +24 -7
  263. package/examples/jsm/nodes/core/FunctionCallNode.js +26 -67
  264. package/examples/jsm/nodes/core/FunctionNode.js +43 -216
  265. package/examples/jsm/nodes/core/InputNode.js +28 -60
  266. package/examples/jsm/nodes/core/InstanceIndexNode.js +21 -0
  267. package/examples/jsm/nodes/core/Node.js +228 -94
  268. package/examples/jsm/{renderers/nodes → nodes}/core/NodeAttribute.js +2 -2
  269. package/examples/jsm/nodes/core/NodeBuilder.js +388 -560
  270. package/examples/jsm/{renderers/nodes → nodes}/core/NodeCode.js +0 -0
  271. package/examples/jsm/nodes/core/NodeFrame.js +30 -23
  272. package/examples/jsm/{renderers/nodes → nodes}/core/NodeFunction.js +0 -0
  273. package/examples/jsm/{renderers/nodes → nodes}/core/NodeFunctionInput.js +0 -0
  274. package/examples/jsm/{renderers/nodes → nodes}/core/NodeKeywords.js +0 -0
  275. package/examples/jsm/{renderers/nodes → nodes}/core/NodeParser.js +0 -0
  276. package/examples/jsm/nodes/core/NodeUniform.js +8 -6
  277. package/examples/jsm/nodes/core/NodeUtils.js +69 -37
  278. package/examples/jsm/{renderers/nodes → nodes}/core/NodeVar.js +2 -2
  279. package/examples/jsm/{renderers/nodes → nodes}/core/NodeVary.js +2 -2
  280. package/examples/jsm/{renderers/nodes → nodes}/core/PropertyNode.js +0 -0
  281. package/examples/jsm/nodes/core/TempNode.js +20 -112
  282. package/examples/jsm/nodes/core/UniformNode.js +46 -0
  283. package/examples/jsm/nodes/core/VarNode.js +58 -27
  284. package/examples/jsm/{renderers/nodes → nodes}/core/VaryNode.js +0 -0
  285. package/examples/jsm/{renderers/nodes → nodes}/core/constants.js +0 -0
  286. package/examples/jsm/{renderers/nodes → nodes}/display/ColorSpaceNode.js +10 -11
  287. package/examples/jsm/nodes/display/FrontFacingNode.js +21 -0
  288. package/examples/jsm/nodes/display/NormalMapNode.js +86 -0
  289. package/examples/jsm/nodes/display/ToneMappingNode.js +51 -0
  290. package/examples/jsm/nodes/fog/FogNode.js +31 -0
  291. package/examples/jsm/nodes/fog/FogRangeNode.js +27 -0
  292. package/examples/jsm/nodes/functions/BSDF/BRDF_GGX.js +33 -0
  293. package/examples/jsm/nodes/functions/BSDF/BRDF_Lambert.js +9 -0
  294. package/examples/jsm/nodes/functions/BSDF/DFGApprox.js +27 -0
  295. package/examples/jsm/nodes/functions/BSDF/D_GGX.js +18 -0
  296. package/examples/jsm/nodes/functions/BSDF/F_Schlick.js +18 -0
  297. package/examples/jsm/nodes/functions/BSDF/V_GGX_SmithCorrelated.js +18 -0
  298. package/examples/jsm/nodes/functions/PhysicalLightingModel.js +94 -0
  299. package/examples/jsm/nodes/functions/light/getDistanceAttenuation.js +22 -0
  300. package/examples/jsm/nodes/functions/material/getGeometryRoughness.js +12 -0
  301. package/examples/jsm/nodes/functions/material/getRoughness.js +18 -0
  302. package/examples/jsm/nodes/gpgpu/ComputeNode.js +63 -0
  303. package/examples/jsm/nodes/lighting/AONode.js +25 -0
  304. package/examples/jsm/nodes/lighting/AnalyticLightNode.js +37 -0
  305. package/examples/jsm/nodes/lighting/EnvironmentNode.js +65 -0
  306. package/examples/jsm/nodes/lighting/HemisphereLightNode.js +50 -0
  307. package/examples/jsm/nodes/lighting/LightingContextNode.js +75 -0
  308. package/examples/jsm/nodes/lighting/LightingNode.js +19 -0
  309. package/examples/jsm/nodes/lighting/LightsNode.js +120 -0
  310. package/examples/jsm/nodes/lighting/PunctualLightNode.js +68 -0
  311. package/examples/jsm/nodes/loaders/NodeLoader.js +107 -0
  312. package/examples/jsm/nodes/loaders/NodeMaterialLoader.js +42 -0
  313. package/examples/jsm/nodes/loaders/NodeObjectLoader.js +70 -0
  314. package/examples/jsm/{renderers/nodes → nodes}/materials/LineBasicNodeMaterial.js +11 -4
  315. package/examples/jsm/nodes/materials/Materials.js +65 -0
  316. package/examples/jsm/{renderers/nodes → nodes}/materials/MeshBasicNodeMaterial.js +13 -4
  317. package/examples/jsm/nodes/materials/MeshStandardNodeMaterial.js +162 -22
  318. package/examples/jsm/nodes/materials/NodeMaterial.js +128 -113
  319. package/examples/jsm/{renderers/nodes → nodes}/materials/PointsNodeMaterial.js +13 -4
  320. package/examples/jsm/nodes/materials/SpriteNodeMaterial.js +84 -16
  321. package/examples/jsm/nodes/math/CondNode.js +26 -95
  322. package/examples/jsm/nodes/math/MathNode.js +164 -187
  323. package/examples/jsm/nodes/math/OperatorNode.js +161 -41
  324. package/examples/jsm/{renderers/nodes → nodes}/parsers/GLSLNodeFunction.js +2 -2
  325. package/examples/jsm/{renderers/nodes → nodes}/parsers/GLSLNodeParser.js +0 -0
  326. package/examples/jsm/{renderers/nodes → nodes}/parsers/WGSLNodeFunction.js +20 -5
  327. package/examples/jsm/{renderers/nodes → nodes}/parsers/WGSLNodeParser.js +0 -0
  328. package/examples/jsm/nodes/procedural/CheckerNode.js +16 -57
  329. package/examples/jsm/nodes/shadernode/ShaderNode.js +262 -0
  330. package/examples/jsm/nodes/shadernode/ShaderNodeBaseElements.js +274 -0
  331. package/examples/jsm/nodes/shadernode/ShaderNodeElements.js +106 -0
  332. package/examples/jsm/{renderers/nodes → nodes}/utils/ArrayElementNode.js +3 -3
  333. package/examples/jsm/{renderers/nodes → nodes}/utils/ConvertNode.js +11 -3
  334. package/examples/jsm/nodes/utils/JoinNode.js +17 -89
  335. package/examples/jsm/nodes/utils/MatcapUVNode.js +25 -0
  336. package/examples/jsm/nodes/utils/MaxMipLevelNode.js +32 -0
  337. package/examples/jsm/{renderers/nodes → nodes}/utils/OscNode.js +18 -2
  338. package/examples/jsm/{renderers/nodes → nodes}/utils/SplitNode.js +16 -0
  339. package/examples/jsm/{renderers/nodes → nodes}/utils/SpriteSheetUVNode.js +3 -3
  340. package/examples/jsm/nodes/utils/TimerNode.js +30 -65
  341. package/examples/jsm/objects/Lensflare.js +2 -2
  342. package/examples/jsm/objects/LightningStorm.js +4 -4
  343. package/examples/jsm/objects/MarchingCubes.js +5 -9
  344. package/examples/jsm/objects/Reflector.js +8 -4
  345. package/examples/jsm/objects/ReflectorForSSRPass.js +2 -2
  346. package/examples/jsm/objects/Refractor.js +8 -4
  347. package/examples/jsm/objects/ShadowMesh.js +2 -2
  348. package/examples/jsm/objects/Sky.js +2 -2
  349. package/examples/jsm/objects/Water.js +2 -2
  350. package/examples/jsm/objects/Water2.js +2 -2
  351. package/examples/jsm/offscreen/jank.js +5 -5
  352. package/examples/jsm/offscreen/offscreen.js +1 -1
  353. package/examples/jsm/offscreen/scene.js +11 -11
  354. package/examples/jsm/postprocessing/AdaptiveToneMappingPass.js +5 -7
  355. package/examples/jsm/postprocessing/AfterimagePass.js +0 -10
  356. package/examples/jsm/postprocessing/BloomPass.js +48 -20
  357. package/examples/jsm/postprocessing/DotScreenPass.js +1 -1
  358. package/examples/jsm/postprocessing/EffectComposer.js +1 -9
  359. package/examples/jsm/postprocessing/LUTPass.js +2 -2
  360. package/examples/jsm/postprocessing/OutlinePass.js +7 -11
  361. package/examples/jsm/postprocessing/SAOPass.js +2 -9
  362. package/examples/jsm/postprocessing/SSAARenderPass.js +1 -4
  363. package/examples/jsm/postprocessing/SSRPass.js +3 -9
  364. package/examples/jsm/postprocessing/TAARenderPass.js +4 -4
  365. package/examples/jsm/postprocessing/UnrealBloomPass.js +3 -8
  366. package/examples/jsm/renderers/CSS2DRenderer.js +21 -24
  367. package/examples/jsm/renderers/CSS3DRenderer.js +7 -8
  368. package/examples/jsm/renderers/Projector.js +101 -128
  369. package/examples/jsm/renderers/SVGRenderer.js +4 -4
  370. package/examples/jsm/renderers/webgl/nodes/SlotNode.js +1 -1
  371. package/examples/jsm/renderers/webgl/nodes/WebGLNodeBuilder.js +127 -23
  372. package/examples/jsm/renderers/webgl/nodes/WebGLNodes.js +14 -3
  373. package/examples/jsm/renderers/webgl/nodes/WebGLPhysicalContextNode.js +5 -5
  374. package/examples/jsm/renderers/webgpu/WebGPUAttributes.js +4 -4
  375. package/examples/jsm/renderers/webgpu/WebGPUBackground.js +16 -10
  376. package/examples/jsm/renderers/webgpu/WebGPUBindings.js +8 -7
  377. package/examples/jsm/renderers/webgpu/WebGPUBuffer.js +43 -0
  378. package/examples/jsm/renderers/webgpu/WebGPUComputePipelines.js +14 -7
  379. package/examples/jsm/renderers/webgpu/WebGPUInfo.js +1 -1
  380. package/examples/jsm/renderers/webgpu/WebGPUObjects.js +0 -6
  381. package/examples/jsm/renderers/webgpu/WebGPURenderPipeline.js +20 -20
  382. package/examples/jsm/renderers/webgpu/WebGPURenderPipelines.js +2 -1
  383. package/examples/jsm/renderers/webgpu/WebGPURenderStates.js +66 -0
  384. package/examples/jsm/renderers/webgpu/WebGPURenderer.js +47 -24
  385. package/examples/jsm/renderers/webgpu/WebGPUSampledTexture.js +14 -14
  386. package/examples/jsm/renderers/webgpu/WebGPUSampler.js +2 -2
  387. package/examples/jsm/renderers/webgpu/WebGPUStorageBuffer.js +5 -8
  388. package/examples/jsm/renderers/webgpu/WebGPUTextureUtils.js +23 -20
  389. package/examples/jsm/renderers/webgpu/WebGPUTextures.js +37 -18
  390. package/examples/jsm/renderers/webgpu/WebGPUUniform.js +14 -14
  391. package/examples/jsm/renderers/webgpu/WebGPUUniformBuffer.js +5 -32
  392. package/examples/jsm/renderers/webgpu/WebGPUUniformsGroup.js +2 -2
  393. package/examples/jsm/renderers/webgpu/constants.js +3 -2
  394. package/examples/jsm/renderers/webgpu/nodes/WebGPUNodeBuilder.js +276 -284
  395. package/examples/jsm/renderers/webgpu/nodes/WebGPUNodeSampledTexture.js +20 -2
  396. package/examples/jsm/renderers/webgpu/nodes/WebGPUNodes.js +24 -14
  397. package/examples/jsm/shaders/BlendShader.js +2 -1
  398. package/examples/jsm/shaders/CopyShader.js +4 -3
  399. package/examples/jsm/shaders/FXAAShader.js +219 -1051
  400. package/examples/jsm/shaders/FreiChenShader.js +1 -1
  401. package/examples/jsm/shaders/HorizontalBlurShader.js +1 -1
  402. package/examples/jsm/shaders/HorizontalTiltShiftShader.js +1 -1
  403. package/examples/jsm/shaders/SSRShader.js +3 -3
  404. package/examples/jsm/shaders/ToneMapShader.js +1 -1
  405. package/examples/jsm/utils/BufferGeometryUtils.js +292 -22
  406. package/examples/jsm/utils/GPUStatsPanel.js +1 -1
  407. package/examples/jsm/utils/LDrawUtils.js +6 -6
  408. package/examples/jsm/utils/SceneUtils.js +76 -2
  409. package/examples/jsm/utils/SkeletonUtils.js +1 -1
  410. package/examples/jsm/utils/UVsDebug.js +23 -32
  411. package/examples/jsm/webxr/ARButton.js +14 -4
  412. package/examples/jsm/webxr/OculusHandPointerModel.js +3 -3
  413. package/examples/jsm/webxr/Text2D.js +1 -1
  414. package/examples/jsm/webxr/VRButton.js +15 -1
  415. package/examples/jsm/webxr/XRHandMeshModel.js +3 -7
  416. package/examples/jsm/webxr/XRHandModelFactory.js +3 -0
  417. package/package.json +37 -19
  418. package/src/Three.Legacy.js +41 -1912
  419. package/src/Three.js +6 -3
  420. package/src/animation/AnimationClip.js +1 -1
  421. package/src/animation/AnimationMixer.js +5 -3
  422. package/src/animation/AnimationObjectGroup.js +2 -2
  423. package/src/animation/PropertyBinding.js +8 -18
  424. package/src/audio/PositionalAudio.js +8 -0
  425. package/src/cameras/ArrayCamera.js +2 -3
  426. package/src/cameras/Camera.js +2 -2
  427. package/src/cameras/CubeCamera.js +6 -1
  428. package/src/cameras/OrthographicCamera.js +2 -2
  429. package/src/cameras/PerspectiveCamera.js +2 -2
  430. package/src/constants.js +7 -2
  431. package/src/core/BufferAttribute.js +7 -12
  432. package/src/core/BufferGeometry.js +4 -4
  433. package/src/core/GLBufferAttribute.js +2 -2
  434. package/src/core/InstancedBufferAttribute.js +2 -2
  435. package/src/core/InstancedBufferGeometry.js +2 -2
  436. package/src/core/InstancedInterleavedBuffer.js +2 -2
  437. package/src/core/InterleavedBuffer.js +2 -2
  438. package/src/core/InterleavedBufferAttribute.js +5 -11
  439. package/src/core/Object3D.js +6 -3
  440. package/src/core/Raycaster.js +2 -2
  441. package/src/extras/DataUtils.js +127 -40
  442. package/src/extras/Earcut.js +2 -2
  443. package/src/extras/PMREMGenerator.js +132 -104
  444. package/src/extras/core/CurvePath.js +3 -3
  445. package/src/extras/core/ShapePath.js +5 -6
  446. package/src/extras/curves/ArcCurve.js +2 -2
  447. package/src/extras/curves/CatmullRomCurve3.js +2 -2
  448. package/src/extras/curves/CubicBezierCurve.js +2 -2
  449. package/src/extras/curves/CubicBezierCurve3.js +2 -2
  450. package/src/extras/curves/EllipseCurve.js +2 -2
  451. package/src/extras/curves/LineCurve.js +2 -2
  452. package/src/extras/curves/LineCurve3.js +2 -1
  453. package/src/extras/curves/QuadraticBezierCurve.js +2 -2
  454. package/src/extras/curves/QuadraticBezierCurve3.js +2 -2
  455. package/src/extras/curves/SplineCurve.js +2 -2
  456. package/src/geometries/CapsuleGeometry.js +33 -0
  457. package/src/geometries/ExtrudeGeometry.js +2 -0
  458. package/src/geometries/Geometries.js +1 -0
  459. package/src/geometries/TorusKnotGeometry.js +2 -2
  460. package/src/geometries/WireframeGeometry.js +3 -2
  461. package/src/helpers/BoxHelper.js +2 -2
  462. package/src/helpers/PointLightHelper.js +1 -1
  463. package/src/helpers/SkeletonHelper.js +3 -2
  464. package/src/lights/AmbientLight.js +2 -2
  465. package/src/lights/AmbientLightProbe.js +2 -2
  466. package/src/lights/DirectionalLight.js +2 -2
  467. package/src/lights/DirectionalLightShadow.js +2 -2
  468. package/src/lights/HemisphereLight.js +4 -4
  469. package/src/lights/HemisphereLightProbe.js +2 -2
  470. package/src/lights/Light.js +4 -4
  471. package/src/lights/LightProbe.js +2 -2
  472. package/src/lights/PointLight.js +4 -4
  473. package/src/lights/PointLightShadow.js +2 -2
  474. package/src/lights/RectAreaLight.js +2 -2
  475. package/src/lights/SpotLight.js +4 -4
  476. package/src/lights/SpotLightShadow.js +2 -2
  477. package/src/loaders/FileLoader.js +3 -1
  478. package/src/loaders/ImageBitmapLoader.js +2 -2
  479. package/src/loaders/ImageLoader.js +1 -1
  480. package/src/loaders/LoaderUtils.js +1 -1
  481. package/src/loaders/MaterialLoader.js +8 -3
  482. package/src/loaders/ObjectLoader.js +23 -25
  483. package/src/materials/LineBasicMaterial.js +6 -13
  484. package/src/materials/LineDashedMaterial.js +2 -15
  485. package/src/materials/Material.js +48 -14
  486. package/src/materials/Materials.js +66 -18
  487. package/src/materials/MeshBasicMaterial.js +6 -31
  488. package/src/materials/MeshDepthMaterial.js +2 -22
  489. package/src/materials/MeshDistanceMaterial.js +2 -22
  490. package/src/materials/MeshLambertMaterial.js +6 -34
  491. package/src/materials/MeshMatcapMaterial.js +6 -28
  492. package/src/materials/MeshNormalMaterial.js +2 -26
  493. package/src/materials/MeshPhongMaterial.js +6 -48
  494. package/src/materials/MeshPhysicalMaterial.js +32 -35
  495. package/src/materials/MeshStandardMaterial.js +6 -54
  496. package/src/materials/MeshToonMaterial.js +6 -38
  497. package/src/materials/PointsMaterial.js +6 -15
  498. package/src/materials/RawShaderMaterial.js +2 -2
  499. package/src/materials/ShaderMaterial.js +3 -17
  500. package/src/materials/ShadowMaterial.js +6 -8
  501. package/src/materials/SpriteMaterial.js +6 -12
  502. package/src/math/Box2.js +2 -2
  503. package/src/math/Box3.js +5 -5
  504. package/src/math/Color.js +84 -35
  505. package/src/math/ColorManagement.js +74 -0
  506. package/src/math/Euler.js +16 -14
  507. package/src/math/Interpolant.js +4 -9
  508. package/src/math/MathUtils.js +76 -7
  509. package/src/math/Matrix3.js +2 -2
  510. package/src/math/Matrix4.js +2 -3
  511. package/src/math/Plane.js +2 -2
  512. package/src/math/Quaternion.js +11 -2
  513. package/src/math/Spherical.js +1 -1
  514. package/src/math/SphericalHarmonics3.js +2 -2
  515. package/src/math/Vector2.js +2 -2
  516. package/src/math/Vector3.js +12 -3
  517. package/src/math/Vector4.js +2 -2
  518. package/src/math/interpolants/DiscreteInterpolant.js +1 -1
  519. package/src/objects/Bone.js +2 -2
  520. package/src/objects/Group.js +2 -2
  521. package/src/objects/InstancedMesh.js +4 -4
  522. package/src/objects/Line.js +76 -107
  523. package/src/objects/LineLoop.js +2 -2
  524. package/src/objects/LineSegments.js +15 -23
  525. package/src/objects/Mesh.js +82 -104
  526. package/src/objects/Points.js +32 -54
  527. package/src/objects/SkinnedMesh.js +5 -8
  528. package/src/objects/Sprite.js +4 -4
  529. package/src/renderers/WebGL3DRenderTarget.js +22 -0
  530. package/src/renderers/WebGLArrayRenderTarget.js +22 -0
  531. package/src/renderers/WebGLCubeRenderTarget.js +7 -14
  532. package/src/renderers/WebGLMultipleRenderTargets.js +8 -5
  533. package/src/renderers/WebGLRenderTarget.js +16 -18
  534. package/src/renderers/WebGLRenderer.js +108 -63
  535. package/src/renderers/shaders/ShaderChunk/bsdfs.glsl.js +46 -0
  536. package/src/renderers/shaders/ShaderChunk/common.glsl.js +1 -0
  537. package/src/renderers/shaders/ShaderChunk/cube_uv_reflection_fragment.glsl.js +12 -13
  538. package/src/renderers/shaders/ShaderChunk/dithering_pars_fragment.glsl.js +1 -1
  539. package/src/renderers/shaders/ShaderChunk/envmap_physical_pars_fragment.glsl.js +3 -19
  540. package/src/renderers/shaders/ShaderChunk/iridescence_fragment.glsl.js +107 -0
  541. package/src/renderers/shaders/ShaderChunk/iridescence_pars_fragment.glsl.js +14 -0
  542. package/src/renderers/shaders/ShaderChunk/lightmap_fragment.glsl.js +0 -6
  543. package/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +25 -0
  544. package/src/renderers/shaders/ShaderChunk/lights_fragment_maps.glsl.js +0 -6
  545. package/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js +23 -0
  546. package/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +43 -5
  547. package/src/renderers/shaders/ShaderChunk/morphcolor_vertex.glsl.js +24 -0
  548. package/src/renderers/shaders/ShaderChunk/morphnormal_vertex.glsl.js +1 -1
  549. package/src/renderers/shaders/ShaderChunk/morphtarget_pars_vertex.glsl.js +7 -7
  550. package/src/renderers/shaders/ShaderChunk/morphtarget_vertex.glsl.js +1 -9
  551. package/src/renderers/shaders/ShaderChunk/skinning_pars_vertex.glsl.js +16 -31
  552. package/src/renderers/shaders/ShaderChunk/transmission_pars_fragment.glsl.js +1 -1
  553. package/src/renderers/shaders/ShaderChunk.js +6 -0
  554. package/src/renderers/shaders/ShaderLib/background.glsl.js +8 -0
  555. package/src/renderers/shaders/ShaderLib/linedashed.glsl.js +1 -0
  556. package/src/renderers/shaders/ShaderLib/meshbasic.glsl.js +3 -2
  557. package/src/renderers/shaders/ShaderLib/meshlambert.glsl.js +1 -0
  558. package/src/renderers/shaders/ShaderLib/meshmatcap.glsl.js +1 -0
  559. package/src/renderers/shaders/ShaderLib/meshnormal.glsl.js +6 -0
  560. package/src/renderers/shaders/ShaderLib/meshphong.glsl.js +1 -0
  561. package/src/renderers/shaders/ShaderLib/meshphysical.glsl.js +10 -0
  562. package/src/renderers/shaders/ShaderLib/meshtoon.glsl.js +1 -0
  563. package/src/renderers/shaders/ShaderLib/points.glsl.js +1 -0
  564. package/src/renderers/shaders/ShaderLib.js +6 -0
  565. package/src/renderers/shaders/UniformsLib.js +2 -2
  566. package/src/renderers/webgl/WebGLAttributes.js +6 -6
  567. package/src/renderers/webgl/WebGLBackground.js +3 -0
  568. package/src/renderers/webgl/WebGLBindingStates.js +57 -29
  569. package/src/renderers/webgl/WebGLLights.js +0 -1
  570. package/src/renderers/webgl/WebGLMaterials.js +72 -187
  571. package/src/renderers/webgl/WebGLMorphtargets.js +47 -23
  572. package/src/renderers/webgl/WebGLProgram.js +57 -19
  573. package/src/renderers/webgl/WebGLPrograms.js +75 -86
  574. package/src/renderers/webgl/WebGLShaderCache.js +4 -3
  575. package/src/renderers/webgl/WebGLShadowMap.js +6 -8
  576. package/src/renderers/webgl/WebGLTextures.js +567 -380
  577. package/src/renderers/webgl/WebGLUniforms.js +79 -80
  578. package/src/renderers/webgl/WebGLUtils.js +12 -1
  579. package/src/renderers/webxr/WebXRManager.js +60 -45
  580. package/src/scenes/Fog.js +2 -2
  581. package/src/scenes/FogExp2.js +2 -2
  582. package/src/scenes/Scene.js +2 -2
  583. package/src/textures/CanvasTexture.js +2 -2
  584. package/src/textures/CompressedTexture.js +2 -2
  585. package/src/textures/CubeTexture.js +2 -2
  586. package/src/textures/{DataTexture3D.js → Data3DTexture.js} +4 -4
  587. package/src/textures/{DataTexture2DArray.js → DataArrayTexture.js} +4 -4
  588. package/src/textures/DataTexture.js +2 -5
  589. package/src/textures/DepthTexture.js +5 -5
  590. package/src/textures/FramebufferTexture.js +2 -2
  591. package/src/textures/Source.js +123 -0
  592. package/src/textures/Texture.js +27 -97
  593. package/src/textures/VideoTexture.js +2 -2
  594. package/examples/js/csm/Frustum.js +0 -133
  595. package/examples/js/deprecated/Geometry.js +0 -1656
  596. package/examples/js/loaders/VRMLoader.js +0 -72
  597. package/examples/js/objects/ReflectorRTT.js +0 -16
  598. package/examples/js/postprocessing/SSRrPass.js +0 -494
  599. package/examples/js/shaders/SSRrShader.js +0 -336
  600. package/examples/jsm/deprecated/Geometry.js +0 -1869
  601. package/examples/jsm/libs/opentype.module.min.js +0 -119
  602. package/examples/jsm/loaders/NodeMaterialLoader.js +0 -263
  603. package/examples/jsm/loaders/VRMLoader.js +0 -78
  604. package/examples/jsm/nodes/accessors/ColorsNode.js +0 -56
  605. package/examples/jsm/nodes/accessors/LightNode.js +0 -60
  606. package/examples/jsm/nodes/accessors/ResolutionNode.js +0 -64
  607. package/examples/jsm/nodes/accessors/ScreenUVNode.js +0 -64
  608. package/examples/jsm/nodes/core/NodeLib.js +0 -64
  609. package/examples/jsm/nodes/core/StructNode.js +0 -106
  610. package/examples/jsm/nodes/effects/BlurNode.js +0 -171
  611. package/examples/jsm/nodes/effects/ColorAdjustmentNode.js +0 -140
  612. package/examples/jsm/nodes/effects/LuminanceNode.js +0 -75
  613. package/examples/jsm/nodes/inputs/BoolNode.js +0 -51
  614. package/examples/jsm/nodes/inputs/ColorNode.js +0 -58
  615. package/examples/jsm/nodes/inputs/CubeTextureNode.js +0 -108
  616. package/examples/jsm/nodes/inputs/FloatNode.js +0 -51
  617. package/examples/jsm/nodes/inputs/IntNode.js +0 -51
  618. package/examples/jsm/nodes/inputs/Matrix3Node.js +0 -63
  619. package/examples/jsm/nodes/inputs/Matrix4Node.js +0 -63
  620. package/examples/jsm/nodes/inputs/PropertyNode.js +0 -47
  621. package/examples/jsm/nodes/inputs/RTTNode.js +0 -157
  622. package/examples/jsm/nodes/inputs/ReflectorNode.js +0 -90
  623. package/examples/jsm/nodes/inputs/ScreenNode.js +0 -28
  624. package/examples/jsm/nodes/inputs/TextureNode.js +0 -116
  625. package/examples/jsm/nodes/inputs/Vector2Node.js +0 -57
  626. package/examples/jsm/nodes/inputs/Vector3Node.js +0 -58
  627. package/examples/jsm/nodes/inputs/Vector4Node.js +0 -59
  628. package/examples/jsm/nodes/materials/BasicNodeMaterial.js +0 -26
  629. package/examples/jsm/nodes/materials/PhongNodeMaterial.js +0 -36
  630. package/examples/jsm/nodes/materials/StandardNodeMaterial.js +0 -40
  631. package/examples/jsm/nodes/materials/nodes/BasicNode.js +0 -154
  632. package/examples/jsm/nodes/materials/nodes/MeshStandardNode.js +0 -116
  633. package/examples/jsm/nodes/materials/nodes/PhongNode.js +0 -409
  634. package/examples/jsm/nodes/materials/nodes/RawNode.js +0 -62
  635. package/examples/jsm/nodes/materials/nodes/SpriteNode.js +0 -236
  636. package/examples/jsm/nodes/materials/nodes/StandardNode.js +0 -609
  637. package/examples/jsm/nodes/misc/BumpMapNode.js +0 -163
  638. package/examples/jsm/nodes/misc/NormalMapNode.js +0 -138
  639. package/examples/jsm/nodes/misc/TextureCubeNode.js +0 -86
  640. package/examples/jsm/nodes/misc/TextureCubeUVNode.js +0 -280
  641. package/examples/jsm/nodes/postprocessing/NodePass.js +0 -93
  642. package/examples/jsm/nodes/postprocessing/NodePostProcessing.js +0 -148
  643. package/examples/jsm/nodes/procedural/Fractal3DNode.js +0 -104
  644. package/examples/jsm/nodes/procedural/Noise2DNode.js +0 -149
  645. package/examples/jsm/nodes/procedural/Noise3DNode.js +0 -141
  646. package/examples/jsm/nodes/utils/BypassNode.js +0 -85
  647. package/examples/jsm/nodes/utils/ColorSpaceNode.js +0 -145
  648. package/examples/jsm/nodes/utils/MaxMIPLevelNode.js +0 -56
  649. package/examples/jsm/nodes/utils/RemapNode.js +0 -155
  650. package/examples/jsm/nodes/utils/SpecularMIPLevelNode.js +0 -101
  651. package/examples/jsm/nodes/utils/SubSlotNode.js +0 -77
  652. package/examples/jsm/nodes/utils/SwitchNode.js +0 -103
  653. package/examples/jsm/nodes/utils/UVTransformNode.js +0 -66
  654. package/examples/jsm/nodes/utils/VelocityNode.js +0 -170
  655. package/examples/jsm/objects/ReflectorRTT.js +0 -15
  656. package/examples/jsm/postprocessing/SSRrPass.js +0 -579
  657. package/examples/jsm/renderers/nodes/Nodes.js +0 -166
  658. package/examples/jsm/renderers/nodes/ShaderNode.js +0 -373
  659. package/examples/jsm/renderers/nodes/accessors/CameraNode.js +0 -68
  660. package/examples/jsm/renderers/nodes/accessors/NormalNode.js +0 -63
  661. package/examples/jsm/renderers/nodes/accessors/PositionNode.js +0 -67
  662. package/examples/jsm/renderers/nodes/accessors/ReferenceNode.js +0 -91
  663. package/examples/jsm/renderers/nodes/accessors/SkinningNode.js +0 -107
  664. package/examples/jsm/renderers/nodes/accessors/UVNode.js +0 -25
  665. package/examples/jsm/renderers/nodes/core/ArrayInputNode.js +0 -23
  666. package/examples/jsm/renderers/nodes/core/AttributeNode.js +0 -54
  667. package/examples/jsm/renderers/nodes/core/ExpressionNode.js +0 -32
  668. package/examples/jsm/renderers/nodes/core/FunctionCallNode.js +0 -67
  669. package/examples/jsm/renderers/nodes/core/FunctionNode.js +0 -87
  670. package/examples/jsm/renderers/nodes/core/InputNode.js +0 -66
  671. package/examples/jsm/renderers/nodes/core/Node.js +0 -104
  672. package/examples/jsm/renderers/nodes/core/NodeBuilder.js +0 -634
  673. package/examples/jsm/renderers/nodes/core/NodeFrame.js +0 -59
  674. package/examples/jsm/renderers/nodes/core/NodeUniform.js +0 -28
  675. package/examples/jsm/renderers/nodes/core/TempNode.js +0 -43
  676. package/examples/jsm/renderers/nodes/core/VarNode.js +0 -51
  677. package/examples/jsm/renderers/nodes/display/NormalMapNode.js +0 -87
  678. package/examples/jsm/renderers/nodes/functions/BSDFs.js +0 -122
  679. package/examples/jsm/renderers/nodes/functions/PhysicalMaterialFunctions.js +0 -27
  680. package/examples/jsm/renderers/nodes/inputs/BufferNode.js +0 -25
  681. package/examples/jsm/renderers/nodes/inputs/ColorNode.js +0 -18
  682. package/examples/jsm/renderers/nodes/inputs/FloatNode.js +0 -17
  683. package/examples/jsm/renderers/nodes/inputs/IntNode.js +0 -17
  684. package/examples/jsm/renderers/nodes/inputs/Matrix3Node.js +0 -18
  685. package/examples/jsm/renderers/nodes/inputs/Matrix4Node.js +0 -18
  686. package/examples/jsm/renderers/nodes/inputs/TextureNode.js +0 -74
  687. package/examples/jsm/renderers/nodes/inputs/Vector2Node.js +0 -18
  688. package/examples/jsm/renderers/nodes/inputs/Vector3Node.js +0 -18
  689. package/examples/jsm/renderers/nodes/inputs/Vector4Node.js +0 -18
  690. package/examples/jsm/renderers/nodes/lights/LightContextNode.js +0 -59
  691. package/examples/jsm/renderers/nodes/lights/LightNode.js +0 -79
  692. package/examples/jsm/renderers/nodes/lights/LightsNode.js +0 -44
  693. package/examples/jsm/renderers/nodes/materials/Materials.js +0 -11
  694. package/examples/jsm/renderers/nodes/materials/MeshStandardNodeMaterial.js +0 -63
  695. package/examples/jsm/renderers/nodes/math/CondNode.js +0 -60
  696. package/examples/jsm/renderers/nodes/math/MathNode.js +0 -242
  697. package/examples/jsm/renderers/nodes/math/OperatorNode.js +0 -174
  698. package/examples/jsm/renderers/nodes/procedural/CheckerNode.js +0 -36
  699. package/examples/jsm/renderers/nodes/utils/JoinNode.js +0 -42
  700. package/examples/jsm/renderers/nodes/utils/TimerNode.js +0 -47
  701. package/examples/jsm/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.js +0 -20
  702. package/examples/jsm/shaders/SSRrShader.js +0 -307
  703. package/src/renderers/WebGLMultisampleRenderTarget.js +0 -33
@@ -12,8 +12,8 @@
12
12
 
13
13
  this.IFF.debugger.offset = this.IFF.reader.offset;
14
14
  this.IFF.debugger.closeForms();
15
- var blockID = this.IFF.reader.getIDTag();
16
- var length = this.IFF.reader.getUint32(); // size of data in bytes
15
+ const blockID = this.IFF.reader.getIDTag();
16
+ let length = this.IFF.reader.getUint32(); // size of data in bytes
17
17
 
18
18
  if ( length > this.IFF.reader.dv.byteLength - this.IFF.reader.offset ) {
19
19
 
@@ -247,7 +247,7 @@
247
247
  break;
248
248
 
249
249
  case 'IMAG':
250
- var index = this.IFF.reader.getVariableLengthIndex();
250
+ const index = this.IFF.reader.getVariableLengthIndex();
251
251
  this.IFF.currentForm.imageIndex = index;
252
252
  break;
253
253
  // Texture Mapping Form
@@ -315,7 +315,7 @@
315
315
  // LWO2 Spec chunks: these are needed since the SURF FORMs are often in LWO2 format
316
316
 
317
317
  case 'SMAN':
318
- var maxSmoothingAngle = this.IFF.reader.getFloat32();
318
+ const maxSmoothingAngle = this.IFF.reader.getFloat32();
319
319
  this.IFF.currentSurface.attributes.smooth = maxSmoothingAngle < 0 ? false : true;
320
320
  break;
321
321
  // LWO2: Basic Surface Parameters
@@ -12,8 +12,8 @@
12
12
 
13
13
  this.IFF.debugger.offset = this.IFF.reader.offset;
14
14
  this.IFF.debugger.closeForms();
15
- var blockID = this.IFF.reader.getIDTag();
16
- var length = this.IFF.reader.getUint32(); // size of data in bytes
15
+ const blockID = this.IFF.reader.getIDTag();
16
+ const length = this.IFF.reader.getUint32(); // size of data in bytes
17
17
 
18
18
  this.IFF.debugger.dataOffset = this.IFF.reader.offset;
19
19
  this.IFF.debugger.length = length; // Data types may be found in either LWO2 OR LWO3 spec
@@ -212,7 +212,7 @@
212
212
  break;
213
213
 
214
214
  case 'IMAG':
215
- var index = this.IFF.reader.getVariableLengthIndex();
215
+ const index = this.IFF.reader.getVariableLengthIndex();
216
216
  this.IFF.currentForm.imageIndex = index;
217
217
  break;
218
218
  // Texture Mapping Form
@@ -280,7 +280,7 @@
280
280
  // LWO2 Spec chunks: these are needed since the SURF FORMs are often in LWO2 format
281
281
 
282
282
  case 'SMAN':
283
- var maxSmoothingAngle = this.IFF.reader.getFloat32();
283
+ const maxSmoothingAngle = this.IFF.reader.getFloat32();
284
284
  this.IFF.currentSurface.attributes.smooth = maxSmoothingAngle < 0 ? false : true;
285
285
  break;
286
286
  // LWO2: Basic Surface Parameters
@@ -73,24 +73,15 @@
73
73
 
74
74
  if ( geometry !== undefined ) {
75
75
 
76
- if ( geometry.isGeometry ) {
76
+ const attribute = geometry.attributes.position;
77
77
 
78
- console.error( 'THREE.ConvexHull no longer supports Geometry. Use THREE.BufferGeometry instead.' );
79
- return;
78
+ if ( attribute !== undefined ) {
80
79
 
81
- } else if ( geometry.isBufferGeometry ) {
80
+ for ( let i = 0, l = attribute.count; i < l; i ++ ) {
82
81
 
83
- const attribute = geometry.attributes.position;
84
-
85
- if ( attribute !== undefined ) {
86
-
87
- for ( let i = 0, l = attribute.count; i < l; i ++ ) {
88
-
89
- const point = new THREE.Vector3();
90
- point.fromBufferAttribute( attribute, i ).applyMatrix4( node.matrixWorld );
91
- points.push( point );
92
-
93
- }
82
+ const point = new THREE.Vector3();
83
+ point.fromBufferAttribute( attribute, i ).applyMatrix4( node.matrixWorld );
84
+ points.push( point );
94
85
 
95
86
  }
96
87
 
@@ -4,6 +4,7 @@
4
4
 
5
5
  constructor( colormap, count = 32 ) {
6
6
 
7
+ this.isLut = true;
7
8
  this.lut = [];
8
9
  this.map = [];
9
10
  this.n = 0;
@@ -44,27 +45,35 @@
44
45
  this.map = ColorMapKeywords[ colormap ] || ColorMapKeywords.rainbow;
45
46
  this.n = count;
46
47
  const step = 1.0 / this.n;
47
- this.lut.length = 0;
48
+ const minColor = new THREE.Color();
49
+ const maxColor = new THREE.Color();
50
+ this.lut.length = 0; // sample at 0
48
51
 
49
- for ( let i = 0; i <= 1; i += step ) {
52
+ this.lut.push( new THREE.Color( this.map[ 0 ][ 1 ] ) ); // sample at 1/n, ..., (n-1)/n
53
+
54
+ for ( let i = 1; i < count; i ++ ) {
55
+
56
+ const alpha = i * step;
50
57
 
51
58
  for ( let j = 0; j < this.map.length - 1; j ++ ) {
52
59
 
53
- if ( i >= this.map[ j ][ 0 ] && i < this.map[ j + 1 ][ 0 ] ) {
60
+ if ( alpha > this.map[ j ][ 0 ] && alpha <= this.map[ j + 1 ][ 0 ] ) {
54
61
 
55
62
  const min = this.map[ j ][ 0 ];
56
63
  const max = this.map[ j + 1 ][ 0 ];
57
- const minColor = new THREE.Color( this.map[ j ][ 1 ] );
58
- const maxColor = new THREE.Color( this.map[ j + 1 ][ 1 ] );
59
- const color = minColor.lerp( maxColor, ( i - min ) / ( max - min ) );
64
+ minColor.set( this.map[ j ][ 1 ] );
65
+ maxColor.set( this.map[ j + 1 ][ 1 ] );
66
+ const color = new THREE.Color().lerpColors( minColor, maxColor, ( alpha - min ) / ( max - min ) );
60
67
  this.lut.push( color );
61
68
 
62
69
  }
63
70
 
64
71
  }
65
72
 
66
- }
73
+ } // sample at 1
67
74
 
75
+
76
+ this.lut.push( new THREE.Color( this.map[ this.map.length - 1 ][ 1 ] ) );
68
77
  return this;
69
78
 
70
79
  }
@@ -82,19 +91,9 @@
82
91
 
83
92
  getColor( alpha ) {
84
93
 
85
- if ( alpha <= this.minV ) {
86
-
87
- alpha = this.minV;
88
-
89
- } else if ( alpha >= this.maxV ) {
90
-
91
- alpha = this.maxV;
92
-
93
- }
94
-
94
+ alpha = THREE.MathUtils.clamp( alpha, this.minV, this.maxV );
95
95
  alpha = ( alpha - this.minV ) / ( this.maxV - this.minV );
96
- let colorPosition = Math.round( alpha * this.n );
97
- colorPosition == this.n ? colorPosition -= 1 : colorPosition;
96
+ const colorPosition = Math.round( alpha * this.n );
98
97
  return this.lut[ colorPosition ];
99
98
 
100
99
  }
@@ -125,6 +124,9 @@
125
124
  const data = imageData.data;
126
125
  let k = 0;
127
126
  const step = 1.0 / this.n;
127
+ const minColor = new THREE.Color();
128
+ const maxColor = new THREE.Color();
129
+ const finalColor = new THREE.Color();
128
130
 
129
131
  for ( let i = 1; i >= 0; i -= step ) {
130
132
 
@@ -134,12 +136,12 @@
134
136
 
135
137
  const min = this.map[ j - 1 ][ 0 ];
136
138
  const max = this.map[ j ][ 0 ];
137
- const minColor = new THREE.Color( this.map[ j - 1 ][ 1 ] );
138
- const maxColor = new THREE.Color( this.map[ j ][ 1 ] );
139
- const color = minColor.lerp( maxColor, ( i - min ) / ( max - min ) );
140
- data[ k * 4 ] = Math.round( color.r * 255 );
141
- data[ k * 4 + 1 ] = Math.round( color.g * 255 );
142
- data[ k * 4 + 2 ] = Math.round( color.b * 255 );
139
+ minColor.set( this.map[ j - 1 ][ 1 ] );
140
+ maxColor.set( this.map[ j ][ 1 ] );
141
+ finalColor.lerpColors( minColor, maxColor, ( i - min ) / ( max - min ) );
142
+ data[ k * 4 ] = Math.round( finalColor.r * 255 );
143
+ data[ k * 4 + 1 ] = Math.round( finalColor.g * 255 );
144
+ data[ k * 4 + 2 ] = Math.round( finalColor.b * 255 );
143
145
  data[ k * 4 + 3 ] = 255;
144
146
  k += 1;
145
147
 
@@ -156,7 +158,6 @@
156
158
 
157
159
  }
158
160
 
159
- Lut.prototype.isLut = true;
160
161
  const ColorMapKeywords = {
161
162
  'rainbow': [[ 0.0, 0x0000FF ], [ 0.2, 0x00FFFF ], [ 0.5, 0x00FF00 ], [ 0.8, 0xFFFF00 ], [ 1.0, 0xFF0000 ]],
162
163
  'cooltowarm': [[ 0.0, 0x3C4EC2 ], [ 0.2, 0x9BBCFF ], [ 0.5, 0xDCDCDC ], [ 0.8, 0xF6A385 ], [ 1.0, 0xB40426 ]],
@@ -54,9 +54,9 @@
54
54
 
55
55
  }
56
56
 
57
- copy( source ) {
57
+ copy( source, recursive ) {
58
58
 
59
- super.copy( source );
59
+ super.copy( source, recursive );
60
60
  this.mixer = new THREE.AnimationMixer( this );
61
61
  return this;
62
62
 
@@ -315,7 +315,7 @@
315
315
 
316
316
  };
317
317
 
318
- this.blurringPlane = new THREE.Mesh( new THREE.PlaneBufferGeometry( 1, 1 ), blurMaterial );
318
+ this.blurringPlane = new THREE.Mesh( new THREE.PlaneGeometry( 1, 1 ), blurMaterial );
319
319
  this.blurringPlane.name = 'Blurring Plane';
320
320
  this.blurringPlane.frustumCulled = false;
321
321
  this.blurringPlane.renderOrder = 0;
@@ -157,7 +157,7 @@
157
157
  * If changed, geometryNeedsUpdate is automatically set to true on all the slices associated to this volume
158
158
  */
159
159
 
160
- var lowerThreshold = - Infinity;
160
+ let lowerThreshold = - Infinity;
161
161
  Object.defineProperty( this, 'lowerThreshold', {
162
162
  get: function () {
163
163
 
@@ -180,7 +180,7 @@
180
180
  * If changed, geometryNeedsUpdate is automatically set to true on all the slices associated to this volume
181
181
  */
182
182
 
183
- var upperThreshold = Infinity;
183
+ let upperThreshold = Infinity;
184
184
  Object.defineProperty( this, 'upperThreshold', {
185
185
  get: function () {
186
186
 
@@ -248,9 +248,9 @@
248
248
  */
249
249
  reverseAccess: function ( index ) {
250
250
 
251
- var z = Math.floor( index / ( this.yLength * this.xLength ) );
252
- var y = Math.floor( ( index - z * this.yLength * this.xLength ) / this.xLength );
253
- var x = index - z * this.yLength * this.xLength - y * this.xLength;
251
+ const z = Math.floor( index / ( this.yLength * this.xLength ) );
252
+ const y = Math.floor( ( index - z * this.yLength * this.xLength ) / this.xLength );
253
+ const x = index - z * this.yLength * this.xLength - y * this.xLength;
254
254
  return [ x, y, z ];
255
255
 
256
256
  },
@@ -267,10 +267,10 @@
267
267
  */
268
268
  map: function ( functionToMap, context ) {
269
269
 
270
- var length = this.data.length;
270
+ const length = this.data.length;
271
271
  context = context || this;
272
272
 
273
- for ( var i = 0; i < length; i ++ ) {
273
+ for ( let i = 0; i < length; i ++ ) {
274
274
 
275
275
  this.data[ i ] = functionToMap.call( context, this.data[ i ], i, this.data );
276
276
 
@@ -289,21 +289,13 @@
289
289
  */
290
290
  extractPerpendicularPlane: function ( axis, RASIndex ) {
291
291
 
292
- var iLength,
293
- jLength,
294
- sliceAccess,
295
- planeMatrix = new THREE.Matrix4().identity(),
296
- volume = this,
297
- planeWidth,
298
- planeHeight,
299
- firstSpacing,
300
- secondSpacing,
301
- positionOffset,
302
- IJKIndex;
303
- var axisInIJK = new THREE.Vector3(),
292
+ let firstSpacing, secondSpacing, positionOffset, IJKIndex;
293
+ const axisInIJK = new THREE.Vector3(),
304
294
  firstDirection = new THREE.Vector3(),
305
- secondDirection = new THREE.Vector3();
306
- var dimensions = new THREE.Vector3( this.xLength, this.yLength, this.zLength );
295
+ secondDirection = new THREE.Vector3(),
296
+ planeMatrix = new THREE.Matrix4().identity(),
297
+ volume = this;
298
+ const dimensions = new THREE.Vector3( this.xLength, this.yLength, this.zLength );
307
299
 
308
300
  switch ( axis ) {
309
301
 
@@ -346,45 +338,44 @@
346
338
  }
347
339
 
348
340
  firstDirection.applyMatrix4( volume.inverseMatrix ).normalize();
349
- firstDirection.argVar = 'i';
341
+ firstDirection.arglet = 'i';
350
342
  secondDirection.applyMatrix4( volume.inverseMatrix ).normalize();
351
- secondDirection.argVar = 'j';
343
+ secondDirection.arglet = 'j';
352
344
  axisInIJK.applyMatrix4( volume.inverseMatrix ).normalize();
353
- iLength = Math.floor( Math.abs( firstDirection.dot( dimensions ) ) );
354
- jLength = Math.floor( Math.abs( secondDirection.dot( dimensions ) ) );
355
- planeWidth = Math.abs( iLength * firstSpacing );
356
- planeHeight = Math.abs( jLength * secondSpacing );
345
+ const iLength = Math.floor( Math.abs( firstDirection.dot( dimensions ) ) );
346
+ const jLength = Math.floor( Math.abs( secondDirection.dot( dimensions ) ) );
347
+ const planeWidth = Math.abs( iLength * firstSpacing );
348
+ const planeHeight = Math.abs( jLength * secondSpacing );
357
349
  IJKIndex = Math.abs( Math.round( IJKIndex.applyMatrix4( volume.inverseMatrix ).dot( axisInIJK ) ) );
358
- var base = [ new THREE.Vector3( 1, 0, 0 ), new THREE.Vector3( 0, 1, 0 ), new THREE.Vector3( 0, 0, 1 ) ];
359
- var iDirection = [ firstDirection, secondDirection, axisInIJK ].find( function ( x ) {
350
+ const base = [ new THREE.Vector3( 1, 0, 0 ), new THREE.Vector3( 0, 1, 0 ), new THREE.Vector3( 0, 0, 1 ) ];
351
+ const iDirection = [ firstDirection, secondDirection, axisInIJK ].find( function ( x ) {
360
352
 
361
353
  return Math.abs( x.dot( base[ 0 ] ) ) > 0.9;
362
354
 
363
355
  } );
364
- var jDirection = [ firstDirection, secondDirection, axisInIJK ].find( function ( x ) {
356
+ const jDirection = [ firstDirection, secondDirection, axisInIJK ].find( function ( x ) {
365
357
 
366
358
  return Math.abs( x.dot( base[ 1 ] ) ) > 0.9;
367
359
 
368
360
  } );
369
- var kDirection = [ firstDirection, secondDirection, axisInIJK ].find( function ( x ) {
361
+ const kDirection = [ firstDirection, secondDirection, axisInIJK ].find( function ( x ) {
370
362
 
371
363
  return Math.abs( x.dot( base[ 2 ] ) ) > 0.9;
372
364
 
373
365
  } );
374
366
 
375
- sliceAccess = function ( i, j ) {
367
+ function sliceAccess( i, j ) {
376
368
 
377
- var accessI, accessJ, accessK;
378
- var si = iDirection === axisInIJK ? IJKIndex : iDirection.argVar === 'i' ? i : j;
379
- var sj = jDirection === axisInIJK ? IJKIndex : jDirection.argVar === 'i' ? i : j;
380
- var sk = kDirection === axisInIJK ? IJKIndex : kDirection.argVar === 'i' ? i : j; // invert indices if necessary
369
+ const si = iDirection === axisInIJK ? IJKIndex : iDirection.arglet === 'i' ? i : j;
370
+ const sj = jDirection === axisInIJK ? IJKIndex : jDirection.arglet === 'i' ? i : j;
371
+ const sk = kDirection === axisInIJK ? IJKIndex : kDirection.arglet === 'i' ? i : j; // invert indices if necessary
381
372
 
382
- var accessI = iDirection.dot( base[ 0 ] ) > 0 ? si : volume.xLength - 1 - si;
383
- var accessJ = jDirection.dot( base[ 1 ] ) > 0 ? sj : volume.yLength - 1 - sj;
384
- var accessK = kDirection.dot( base[ 2 ] ) > 0 ? sk : volume.zLength - 1 - sk;
373
+ const accessI = iDirection.dot( base[ 0 ] ) > 0 ? si : volume.xLength - 1 - si;
374
+ const accessJ = jDirection.dot( base[ 1 ] ) > 0 ? sj : volume.yLength - 1 - sj;
375
+ const accessK = kDirection.dot( base[ 2 ] ) > 0 ? sk : volume.zLength - 1 - sk;
385
376
  return volume.access( accessI, accessJ, accessK );
386
377
 
387
- };
378
+ }
388
379
 
389
380
  return {
390
381
  iLength: iLength,
@@ -407,7 +398,7 @@
407
398
  */
408
399
  extractSlice: function ( axis, index ) {
409
400
 
410
- var slice = new THREE.VolumeSlice( this, index, axis );
401
+ const slice = new THREE.VolumeSlice( this, index, axis );
411
402
  this.sliceList.push( slice );
412
403
  return slice;
413
404
 
@@ -437,17 +428,17 @@
437
428
  */
438
429
  computeMinMax: function () {
439
430
 
440
- var min = Infinity;
441
- var max = - Infinity; // buffer the length
431
+ let min = Infinity;
432
+ let max = - Infinity; // buffer the length
442
433
 
443
- var datasize = this.data.length;
444
- var i = 0;
434
+ const datasize = this.data.length;
435
+ let i = 0;
445
436
 
446
437
  for ( i = 0; i < datasize; i ++ ) {
447
438
 
448
439
  if ( ! isNaN( this.data[ i ] ) ) {
449
440
 
450
- var value = this.data[ i ];
441
+ const value = this.data[ i ];
451
442
  min = Math.min( min, value );
452
443
  max = Math.max( max, value );
453
444
 
@@ -11,7 +11,7 @@
11
11
 
12
12
  function VolumeSlice( volume, index, axis ) {
13
13
 
14
- var slice = this;
14
+ const slice = this;
15
15
  /**
16
16
  * @member {Volume} volume The associated volume
17
17
  */
@@ -60,10 +60,10 @@
60
60
 
61
61
  this.canvasBuffer = document.createElement( 'canvas' );
62
62
  this.updateGeometry();
63
- var canvasMap = new THREE.Texture( this.canvas );
63
+ const canvasMap = new THREE.Texture( this.canvas );
64
64
  canvasMap.minFilter = THREE.LinearFilter;
65
65
  canvasMap.wrapS = canvasMap.wrapT = THREE.ClampToEdgeWrapping;
66
- var material = new THREE.MeshBasicMaterial( {
66
+ const material = new THREE.MeshBasicMaterial( {
67
67
  map: canvasMap,
68
68
  side: THREE.DoubleSide,
69
69
  transparent: true
@@ -113,33 +113,33 @@
113
113
 
114
114
  }
115
115
 
116
- var iLength = this.iLength,
116
+ const iLength = this.iLength,
117
117
  jLength = this.jLength,
118
118
  sliceAccess = this.sliceAccess,
119
119
  volume = this.volume,
120
120
  canvas = this.canvasBuffer,
121
121
  ctx = this.ctxBuffer; // get the imageData and pixel array from the canvas
122
122
 
123
- var imgData = ctx.getImageData( 0, 0, iLength, jLength );
124
- var data = imgData.data;
125
- var volumeData = volume.data;
126
- var upperThreshold = volume.upperThreshold;
127
- var lowerThreshold = volume.lowerThreshold;
128
- var windowLow = volume.windowLow;
129
- var windowHigh = volume.windowHigh; // manipulate some pixel elements
123
+ const imgData = ctx.getImageData( 0, 0, iLength, jLength );
124
+ const data = imgData.data;
125
+ const volumeData = volume.data;
126
+ const upperThreshold = volume.upperThreshold;
127
+ const lowerThreshold = volume.lowerThreshold;
128
+ const windowLow = volume.windowLow;
129
+ const windowHigh = volume.windowHigh; // manipulate some pixel elements
130
130
 
131
- var pixelCount = 0;
131
+ let pixelCount = 0;
132
132
 
133
133
  if ( volume.dataType === 'label' ) {
134
134
 
135
135
  //this part is currently useless but will be used when colortables will be handled
136
- for ( var j = 0; j < jLength; j ++ ) {
136
+ for ( let j = 0; j < jLength; j ++ ) {
137
137
 
138
- for ( var i = 0; i < iLength; i ++ ) {
138
+ for ( let i = 0; i < iLength; i ++ ) {
139
139
 
140
- var label = volumeData[ sliceAccess( i, j ) ];
140
+ let label = volumeData[ sliceAccess( i, j ) ];
141
141
  label = label >= this.colorMap.length ? label % this.colorMap.length + 1 : label;
142
- var color = this.colorMap[ label ];
142
+ const color = this.colorMap[ label ];
143
143
  data[ 4 * pixelCount ] = color >> 24 & 0xff;
144
144
  data[ 4 * pixelCount + 1 ] = color >> 16 & 0xff;
145
145
  data[ 4 * pixelCount + 2 ] = color >> 8 & 0xff;
@@ -152,12 +152,12 @@
152
152
 
153
153
  } else {
154
154
 
155
- for ( var j = 0; j < jLength; j ++ ) {
155
+ for ( let j = 0; j < jLength; j ++ ) {
156
156
 
157
- for ( var i = 0; i < iLength; i ++ ) {
157
+ for ( let i = 0; i < iLength; i ++ ) {
158
158
 
159
- var value = volumeData[ sliceAccess( i, j ) ];
160
- var alpha = 0xff; //apply threshold
159
+ let value = volumeData[ sliceAccess( i, j ) ];
160
+ let alpha = 0xff; //apply threshold
161
161
 
162
162
  alpha = upperThreshold >= value ? lowerThreshold <= value ? alpha : 0 : 0; //apply window level
163
163
 
@@ -188,7 +188,7 @@
188
188
  */
189
189
  updateGeometry: function () {
190
190
 
191
- var extracted = this.volume.extractPerpendicularPlane( this.axis, this.index );
191
+ const extracted = this.volume.extractPerpendicularPlane( this.axis, this.index );
192
192
  this.sliceAccess = extracted.sliceAccess;
193
193
  this.jLength = extracted.jLength;
194
194
  this.iLength = extracted.iLength;
@@ -139,13 +139,6 @@
139
139
 
140
140
  }
141
141
 
142
- if ( geometry.isGeometry === true ) {
143
-
144
- console.error( 'THREE.EdgeSplitModifier no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.' );
145
- return;
146
-
147
- }
148
-
149
142
  let hadNormals = false;
150
143
  let oldNormals = null;
151
144
 
@@ -15,13 +15,6 @@
15
15
 
16
16
  modify( geometry, count ) {
17
17
 
18
- if ( geometry.isGeometry === true ) {
19
-
20
- console.error( 'THREE.SimplifyModifier no longer supports Geometry. Use THREE.BufferGeometry instead.' );
21
- return;
22
-
23
- }
24
-
25
18
  geometry = geometry.clone();
26
19
  const attributes = geometry.attributes; // this modifier can only process indexed and non-indexed geomtries with a position attribute
27
20
 
@@ -141,7 +134,7 @@
141
134
 
142
135
  function removeFromArray( array, object ) {
143
136
 
144
- var k = array.indexOf( object );
137
+ const k = array.indexOf( object );
145
138
  if ( k > - 1 ) array.splice( k, 1 );
146
139
 
147
140
  }
@@ -15,13 +15,6 @@
15
15
 
16
16
  modify( geometry ) {
17
17
 
18
- if ( geometry.isGeometry === true ) {
19
-
20
- console.error( 'THREE.TessellateModifier no longer supports Geometry. Use THREE.BufferGeometry instead.' );
21
- return geometry;
22
-
23
- }
24
-
25
18
  if ( geometry.index !== null ) {
26
19
 
27
20
  geometry = geometry.toNonIndexed();
@@ -8,6 +8,7 @@
8
8
  opacity: 0,
9
9
  transparent: true
10
10
  } ) );
11
+ this.isLensflare = true;
11
12
  this.type = 'Lensflare';
12
13
  this.frustumCulled = false;
13
14
  this.renderOrder = Infinity; //
@@ -232,9 +233,8 @@
232
233
 
233
234
  }
234
235
 
235
- }
236
+ } //
236
237
 
237
- Lensflare.prototype.isLensflare = true; //
238
238
 
239
239
  class LensflareElement {
240
240
 
@@ -50,7 +50,8 @@
50
50
 
51
51
  constructor( stormParams = {} ) {
52
52
 
53
- super(); // Parameters
53
+ super();
54
+ this.isLightningStorm = true; // Parameters
54
55
 
55
56
  this.stormParams = stormParams;
56
57
  stormParams.size = stormParams.size !== undefined ? stormParams.size : 1000.0;
@@ -176,9 +177,9 @@
176
177
 
177
178
  }
178
179
 
179
- copy( source ) {
180
+ copy( source, recursive ) {
180
181
 
181
- super.copy( source );
182
+ super.copy( source, recursive );
182
183
  this.stormParams.size = source.stormParams.size;
183
184
  this.stormParams.minHeight = source.stormParams.minHeight;
184
185
  this.stormParams.maxHeight = source.stormParams.maxHeight;
@@ -203,8 +204,6 @@
203
204
 
204
205
  }
205
206
 
206
- LightningStorm.prototype.isLightningStorm = true;
207
-
208
207
  THREE.LightningStorm = LightningStorm;
209
208
 
210
209
  } )();