three-stdlib 2.15.0 → 2.15.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.
- package/animation/AnimationClipCreator.js +32 -52
- package/animation/AnimationClipCreator.mjs +57 -0
- package/animation/CCDIKSolver.js +66 -161
- package/animation/CCDIKSolver.mjs +234 -0
- package/animation/MMDAnimationHelper.js +150 -341
- package/animation/MMDAnimationHelper.mjs +514 -0
- package/animation/MMDPhysics.js +154 -361
- package/animation/MMDPhysics.mjs +769 -0
- package/cameras/CinematicCamera.js +67 -77
- package/cameras/CinematicCamera.mjs +129 -0
- package/controls/ArcballControls.js +544 -1449
- package/controls/ArcballControls.mjs +1737 -0
- package/controls/DeviceOrientationControls.js +52 -97
- package/controls/DeviceOrientationControls.mjs +74 -0
- package/controls/DragControls.js +85 -187
- package/controls/DragControls.mjs +172 -0
- package/controls/FirstPersonControls.js +123 -193
- package/controls/FirstPersonControls.mjs +220 -0
- package/controls/FlyControls.js +82 -152
- package/controls/FlyControls.mjs +239 -0
- package/controls/OrbitControls.js +232 -481
- package/controls/OrbitControls.mjs +731 -0
- package/controls/PointerLockControls.js +63 -99
- package/controls/PointerLockControls.mjs +88 -0
- package/controls/TrackballControls.js +211 -383
- package/controls/TrackballControls.mjs +481 -0
- package/controls/TransformControls.js +575 -782
- package/controls/TransformControls.mjs +1068 -0
- package/controls/experimental/CameraControls.js +329 -609
- package/controls/experimental/CameraControls.mjs +673 -0
- package/csm/CSM.js +47 -108
- package/csm/CSM.mjs +244 -0
- package/csm/CSMFrustum.js +14 -29
- package/csm/CSMFrustum.mjs +75 -0
- package/csm/CSMHelper.js +20 -34
- package/csm/CSMHelper.mjs +114 -0
- package/csm/CSMShader.js +7 -11
- package/csm/CSMShader.mjs +251 -0
- package/curves/CurveExtras.js +73 -115
- package/curves/CurveExtras.mjs +224 -0
- package/curves/NURBSCurve.js +15 -43
- package/curves/NURBSCurve.mjs +35 -0
- package/curves/NURBSSurface.js +11 -27
- package/curves/NURBSSurface.mjs +28 -0
- package/curves/NURBSUtils.js +54 -203
- package/curves/NURBSUtils.mjs +226 -0
- package/deprecated/Geometry.js +191 -486
- package/deprecated/Geometry.mjs +966 -0
- package/effects/AnaglyphEffect.js +95 -60
- package/effects/AnaglyphEffect.mjs +120 -0
- package/effects/AsciiEffect.js +80 -110
- package/effects/AsciiEffect.mjs +173 -0
- package/effects/OutlineEffect.js +121 -204
- package/effects/OutlineEffect.mjs +295 -0
- package/effects/ParallaxBarrierEffect.js +39 -38
- package/effects/ParallaxBarrierEffect.mjs +64 -0
- package/effects/PeppersGhostEffect.js +19 -68
- package/effects/PeppersGhostEffect.mjs +85 -0
- package/effects/StereoEffect.js +12 -16
- package/effects/StereoEffect.mjs +32 -0
- package/environments/RoomEnvironment.js +52 -47
- package/environments/RoomEnvironment.mjs +78 -0
- package/exporters/ColladaExporter.js +115 -241
- package/exporters/ColladaExporter.mjs +299 -0
- package/exporters/DRACOExporter.js +67 -121
- package/exporters/DRACOExporter.mjs +132 -0
- package/exporters/GLTFExporter.js +463 -1014
- package/exporters/GLTFExporter.mjs +1381 -0
- package/exporters/MMDExporter.js +44 -102
- package/exporters/MMDExporter.mjs +102 -0
- package/exporters/OBJExporter.js +78 -140
- package/exporters/OBJExporter.mjs +166 -0
- package/exporters/PLYExporter.js +93 -154
- package/exporters/PLYExporter.mjs +278 -0
- package/exporters/STLExporter.js +30 -81
- package/exporters/STLExporter.mjs +129 -0
- package/exporters/USDZExporter.js +84 -144
- package/exporters/USDZExporter.mjs +328 -0
- package/geometries/BoxLineGeometry.js +7 -14
- package/geometries/BoxLineGeometry.mjs +45 -0
- package/geometries/ConvexGeometry.js +15 -24
- package/geometries/ConvexGeometry.mjs +29 -0
- package/geometries/DecalGeometry.js +108 -162
- package/geometries/DecalGeometry.mjs +184 -0
- package/geometries/LightningStrike.js +101 -294
- package/geometries/LightningStrike.mjs +547 -0
- package/geometries/ParametricGeometries.js +26 -76
- package/geometries/ParametricGeometries.mjs +129 -0
- package/geometries/ParametricGeometry.js +24 -48
- package/geometries/ParametricGeometry.mjs +63 -0
- package/geometries/RoundedBoxGeometry.js +33 -64
- package/geometries/RoundedBoxGeometry.mjs +91 -0
- package/geometries/TeapotGeometry.js +1434 -174
- package/geometries/TeapotGeometry.mjs +1557 -0
- package/geometries/TextGeometry.js +9 -17
- package/geometries/TextGeometry.mjs +23 -0
- package/helpers/LightProbeHelper.js +53 -21
- package/helpers/LightProbeHelper.mjs +72 -0
- package/helpers/PositionalAudioHelper.js +23 -30
- package/helpers/PositionalAudioHelper.mjs +68 -0
- package/helpers/RectAreaLightHelper.js +17 -33
- package/helpers/RectAreaLightHelper.mjs +44 -0
- package/helpers/VertexNormalsHelper.js +20 -41
- package/helpers/VertexNormalsHelper.mjs +54 -0
- package/helpers/VertexTangentsHelper.js +18 -36
- package/helpers/VertexTangentsHelper.mjs +45 -0
- package/index.d.ts +54 -0
- package/index.js +968 -333
- package/index.mjs +968 -0
- package/interactive/SelectionBox.js +31 -46
- package/interactive/SelectionBox.mjs +137 -0
- package/interactive/SelectionHelper.js +16 -21
- package/interactive/SelectionHelper.mjs +54 -0
- package/libs/MeshoptDecoder.js +147 -58
- package/libs/MeshoptDecoder.mjs +210 -0
- package/libs/MotionControllers.js +66 -208
- package/libs/MotionControllers.mjs +261 -0
- package/lights/LightProbeGenerator.js +40 -96
- package/lights/LightProbeGenerator.mjs +145 -0
- package/lights/RectAreaLightUniformsLib.js +32842 -9
- package/lights/RectAreaLightUniformsLib.mjs +32842 -0
- package/lines/Line2.js +9 -12
- package/lines/Line2.mjs +13 -0
- package/lines/LineGeometry.js +7 -19
- package/lines/LineGeometry.mjs +44 -0
- package/lines/LineMaterial.js +51 -89
- package/lines/LineMaterial.mjs +539 -0
- package/lines/LineSegments2.js +56 -165
- package/lines/LineSegments2.mjs +202 -0
- package/lines/LineSegmentsGeometry.js +29 -71
- package/lines/LineSegmentsGeometry.mjs +124 -0
- package/lines/Wireframe.js +15 -29
- package/lines/Wireframe.mjs +31 -0
- package/lines/WireframeGeometry2.js +8 -9
- package/lines/WireframeGeometry2.mjs +13 -0
- package/loaders/3DMLoader.js +234 -469
- package/loaders/3DMLoader.mjs +802 -0
- package/loaders/3MFLoader.js +340 -555
- package/loaders/3MFLoader.mjs +837 -0
- package/loaders/AMFLoader.js +114 -219
- package/loaders/AMFLoader.mjs +284 -0
- package/loaders/AssimpLoader.js +328 -725
- package/loaders/AssimpLoader.mjs +1396 -0
- package/loaders/BVHLoader.js +94 -200
- package/loaders/BVHLoader.mjs +207 -0
- package/loaders/BasisTextureLoader.js +229 -357
- package/loaders/BasisTextureLoader.mjs +474 -0
- package/loaders/ColladaLoader.js +932 -1522
- package/loaders/ColladaLoader.mjs +2403 -0
- package/loaders/DDSLoader.js +42 -108
- package/loaders/DDSLoader.mjs +148 -0
- package/loaders/DRACOLoader.js +103 -210
- package/loaders/DRACOLoader.mjs +340 -0
- package/loaders/EXRLoader.js +461 -809
- package/loaders/EXRLoader.mjs +1351 -0
- package/loaders/FBXLoader.js +842 -1397
- package/loaders/FBXLoader.mjs +2362 -0
- package/loaders/FontLoader.js +33 -66
- package/loaders/FontLoader.mjs +111 -0
- package/loaders/GCodeLoader.js +63 -111
- package/loaders/GCodeLoader.mjs +141 -0
- package/loaders/GLTFLoader.js +771 -1484
- package/loaders/GLTFLoader.mjs +2316 -0
- package/loaders/HDRCubeTextureLoader.js +45 -50
- package/loaders/HDRCubeTextureLoader.mjs +77 -0
- package/loaders/KMZLoader.js +42 -55
- package/loaders/KMZLoader.mjs +75 -0
- package/loaders/KTX2Loader.js +229 -362
- package/loaders/KTX2Loader.mjs +427 -0
- package/loaders/KTXLoader.js +37 -99
- package/loaders/KTXLoader.mjs +87 -0
- package/loaders/LDrawLoader.js +313 -746
- package/loaders/LDrawLoader.mjs +1409 -0
- package/loaders/LUT3dlLoader.js +50 -62
- package/loaders/LUT3dlLoader.mjs +100 -0
- package/loaders/LUTCubeLoader.js +45 -56
- package/loaders/LUTCubeLoader.mjs +104 -0
- package/loaders/LWOLoader.js +227 -339
- package/loaders/LWOLoader.mjs +625 -0
- package/loaders/LottieLoader.js +36 -38
- package/loaders/LottieLoader.mjs +47 -0
- package/loaders/MD2Loader.js +248 -91
- package/loaders/MD2Loader.mjs +359 -0
- package/loaders/MDDLoader.js +25 -45
- package/loaders/MDDLoader.mjs +58 -0
- package/loaders/MMDLoader.js +359 -795
- package/loaders/MMDLoader.mjs +998 -0
- package/loaders/MTLLoader.js +91 -201
- package/loaders/MTLLoader.mjs +280 -0
- package/loaders/NRRDLoader.js +182 -263
- package/loaders/NRRDLoader.mjs +401 -0
- package/loaders/NodeMaterialLoader.js +121 -14
- package/loaders/NodeMaterialLoader.mjs +146 -0
- package/loaders/OBJLoader.js +161 -283
- package/loaders/OBJLoader.mjs +487 -0
- package/loaders/PCDLoader.js +145 -164
- package/loaders/PCDLoader.mjs +248 -0
- package/loaders/PDBLoader.js +45 -63
- package/loaders/PDBLoader.mjs +246 -0
- package/loaders/PLYLoader.js +106 -203
- package/loaders/PLYLoader.mjs +317 -0
- package/loaders/PRWMLoader.js +73 -110
- package/loaders/PRWMLoader.mjs +160 -0
- package/loaders/PVRLoader.js +32 -93
- package/loaders/PVRLoader.mjs +131 -0
- package/loaders/RGBELoader.js +96 -233
- package/loaders/RGBELoader.mjs +244 -0
- package/loaders/RGBMLoader.js +344 -514
- package/loaders/RGBMLoader.mjs +998 -0
- package/loaders/STLLoader.js +59 -165
- package/loaders/STLLoader.mjs +190 -0
- package/loaders/SVGLoader.js +481 -851
- package/loaders/SVGLoader.mjs +1709 -0
- package/loaders/TDSLoader.js +137 -527
- package/loaders/TDSLoader.mjs +480 -0
- package/loaders/TGALoader.js +94 -205
- package/loaders/TGALoader.mjs +285 -0
- package/loaders/TTFLoader.js +58 -79
- package/loaders/TTFLoader.mjs +131 -0
- package/loaders/TiltLoader.js +129 -167
- package/loaders/TiltLoader.mjs +373 -0
- package/loaders/VOXLoader.js +320 -84
- package/loaders/VOXLoader.mjs +431 -0
- package/loaders/VRMLLoader.js +786 -1268
- package/loaders/VRMLLoader.mjs +2093 -0
- package/loaders/VRMLoader.js +23 -31
- package/loaders/VRMLoader.mjs +38 -0
- package/loaders/VTKLoader.js +219 -407
- package/loaders/VTKLoader.mjs +646 -0
- package/loaders/XLoader.js +1083 -1259
- package/loaders/XLoader.mjs +1258 -0
- package/loaders/XYZLoader.js +28 -34
- package/loaders/XYZLoader.mjs +60 -0
- package/loaders/lwo/IFFParser.js +238 -492
- package/loaders/lwo/IFFParser.mjs +697 -0
- package/loaders/lwo/LWO2Parser.js +176 -279
- package/loaders/lwo/LWO2Parser.mjs +327 -0
- package/loaders/lwo/LWO3Parser.js +160 -247
- package/loaders/lwo/LWO3Parser.mjs +298 -0
- package/math/Capsule.js +56 -43
- package/math/Capsule.mjs +100 -0
- package/math/ColorConverter.js +18 -32
- package/math/ColorConverter.mjs +51 -0
- package/math/ConvexHull.js +515 -739
- package/math/ConvexHull.mjs +574 -0
- package/math/ImprovedNoise.js +282 -32
- package/math/ImprovedNoise.mjs +302 -0
- package/math/Lut.js +51 -35
- package/math/Lut.mjs +135 -0
- package/math/MeshSurfaceSampler.js +25 -68
- package/math/MeshSurfaceSampler.mjs +107 -0
- package/math/OBB.js +91 -152
- package/math/OBB.mjs +235 -0
- package/math/Octree.js +76 -139
- package/math/Octree.mjs +278 -0
- package/math/SimplexNoise.js +217 -238
- package/math/SimplexNoise.mjs +425 -0
- package/misc/ConvexObjectBreaker.js +79 -185
- package/misc/ConvexObjectBreaker.mjs +292 -0
- package/misc/GPUComputationRenderer.js +69 -194
- package/misc/GPUComputationRenderer.mjs +171 -0
- package/misc/Gyroscope.js +16 -22
- package/misc/Gyroscope.mjs +35 -0
- package/misc/MD2Character.js +52 -74
- package/misc/MD2Character.mjs +162 -0
- package/misc/MD2CharacterComplex.js +112 -163
- package/misc/MD2CharacterComplex.mjs +328 -0
- package/misc/MorphAnimMesh.js +20 -28
- package/misc/MorphAnimMesh.mjs +40 -0
- package/misc/MorphBlendMesh.js +45 -69
- package/misc/MorphBlendMesh.mjs +179 -0
- package/misc/ProgressiveLightmap.js +70 -187
- package/misc/ProgressiveLightmap.mjs +166 -0
- package/misc/RollerCoaster.js +106 -135
- package/misc/RollerCoaster.mjs +346 -0
- package/misc/TubePainter.js +74 -92
- package/misc/TubePainter.mjs +123 -0
- package/misc/Volume.js +108 -270
- package/misc/Volume.mjs +244 -0
- package/misc/VolumeSlice.js +34 -122
- package/misc/VolumeSlice.mjs +106 -0
- package/misc/WebGL.js +37 -34
- package/misc/WebGL.mjs +74 -0
- package/modifiers/CurveModifier.js +46 -151
- package/modifiers/CurveModifier.mjs +182 -0
- package/modifiers/EdgeSplitModifier.js +46 -90
- package/modifiers/EdgeSplitModifier.mjs +162 -0
- package/modifiers/SimplifyModifier.js +77 -202
- package/modifiers/SimplifyModifier.mjs +282 -0
- package/modifiers/TessellateModifier.js +65 -90
- package/modifiers/TessellateModifier.mjs +206 -0
- package/nodes/Nodes.js +274 -140
- package/nodes/Nodes.mjs +400 -0
- package/nodes/ShaderNode.js +296 -196
- package/nodes/ShaderNode.mjs +408 -0
- package/nodes/accessors/BufferNode.js +4 -8
- package/nodes/accessors/BufferNode.mjs +15 -0
- package/nodes/accessors/CameraNode.js +20 -25
- package/nodes/accessors/CameraNode.mjs +44 -0
- package/nodes/accessors/CubeTextureNode.js +14 -26
- package/nodes/accessors/CubeTextureNode.mjs +42 -0
- package/nodes/accessors/MaterialNode.js +43 -53
- package/nodes/accessors/MaterialNode.mjs +71 -0
- package/nodes/accessors/MaterialReferenceNode.js +3 -6
- package/nodes/accessors/MaterialReferenceNode.mjs +14 -0
- package/nodes/accessors/ModelNode.js +3 -5
- package/nodes/accessors/ModelNode.mjs +9 -0
- package/nodes/accessors/ModelViewProjectionNode.js +14 -13
- package/nodes/accessors/ModelViewProjectionNode.mjs +24 -0
- package/nodes/accessors/NormalNode.js +40 -39
- package/nodes/accessors/NormalNode.mjs +62 -0
- package/nodes/accessors/Object3DNode.js +40 -50
- package/nodes/accessors/Object3DNode.mjs +76 -0
- package/nodes/accessors/PointUVNode.js +5 -9
- package/nodes/accessors/PointUVNode.mjs +13 -0
- package/nodes/accessors/PositionNode.js +42 -41
- package/nodes/accessors/PositionNode.mjs +65 -0
- package/nodes/accessors/ReferenceNode.js +10 -17
- package/nodes/accessors/ReferenceNode.mjs +37 -0
- package/nodes/accessors/ReflectNode.js +23 -26
- package/nodes/accessors/ReflectNode.mjs +43 -0
- package/nodes/accessors/SkinningNode.js +46 -48
- package/nodes/accessors/SkinningNode.mjs +58 -0
- package/nodes/accessors/TextureNode.js +14 -29
- package/nodes/accessors/TextureNode.mjs +54 -0
- package/nodes/accessors/UVNode.js +5 -11
- package/nodes/accessors/UVNode.mjs +23 -0
- package/nodes/core/ArrayUniformNode.js +3 -7
- package/nodes/core/ArrayUniformNode.mjs +14 -0
- package/nodes/core/AttributeNode.js +5 -12
- package/nodes/core/AttributeNode.mjs +30 -0
- package/nodes/core/BypassNode.js +5 -12
- package/nodes/core/BypassNode.mjs +22 -0
- package/nodes/core/CodeNode.js +4 -12
- package/nodes/core/CodeNode.mjs +28 -0
- package/nodes/core/ConstNode.js +3 -7
- package/nodes/core/ConstNode.mjs +14 -0
- package/nodes/core/ContextNode.js +3 -8
- package/nodes/core/ContextNode.mjs +22 -0
- package/nodes/core/ExpressionNode.js +5 -9
- package/nodes/core/ExpressionNode.mjs +19 -0
- package/nodes/core/FunctionCallNode.js +6 -15
- package/nodes/core/FunctionCallNode.mjs +37 -0
- package/nodes/core/FunctionNode.js +10 -25
- package/nodes/core/FunctionNode.mjs +56 -0
- package/nodes/core/InputNode.js +12 -23
- package/nodes/core/InputNode.mjs +38 -0
- package/nodes/core/Node.js +35 -75
- package/nodes/core/Node.mjs +139 -0
- package/nodes/core/NodeAttribute.js +2 -4
- package/nodes/core/NodeAttribute.mjs +10 -0
- package/nodes/core/NodeBuilder.js +110 -224
- package/nodes/core/NodeBuilder.mjs +395 -0
- package/nodes/core/NodeCode.js +4 -7
- package/nodes/core/NodeCode.mjs +11 -0
- package/nodes/core/NodeFrame.js +9 -12
- package/nodes/core/NodeFrame.mjs +35 -0
- package/nodes/core/NodeFunctionInput.js +3 -5
- package/nodes/core/NodeFunctionInput.mjs +13 -0
- package/nodes/core/NodeKeywords.js +5 -16
- package/nodes/core/NodeKeywords.mjs +44 -0
- package/nodes/core/NodeUniform.js +3 -7
- package/nodes/core/NodeUniform.mjs +18 -0
- package/nodes/core/NodeUtils.js +39 -43
- package/nodes/core/NodeUtils.mjs +57 -0
- package/nodes/core/NodeVar.js +2 -4
- package/nodes/core/NodeVar.mjs +10 -0
- package/nodes/core/NodeVary.js +2 -4
- package/nodes/core/NodeVary.mjs +10 -0
- package/nodes/core/PropertyNode.js +4 -10
- package/nodes/core/PropertyNode.mjs +21 -0
- package/nodes/core/TempNode.js +5 -11
- package/nodes/core/TempNode.mjs +25 -0
- package/nodes/core/UniformNode.js +4 -10
- package/nodes/core/UniformNode.mjs +23 -0
- package/nodes/core/VarNode.js +3 -11
- package/nodes/core/VarNode.mjs +31 -0
- package/nodes/core/VaryNode.js +6 -15
- package/nodes/core/VaryNode.mjs +30 -0
- package/nodes/core/constants.js +20 -7
- package/nodes/core/constants.mjs +24 -0
- package/nodes/display/ColorSpaceNode.js +34 -38
- package/nodes/display/ColorSpaceNode.mjs +63 -0
- package/nodes/display/NormalMapNode.js +35 -53
- package/nodes/display/NormalMapNode.mjs +54 -0
- package/nodes/fog/FogNode.js +5 -9
- package/nodes/fog/FogNode.mjs +15 -0
- package/nodes/fog/FogRangeNode.js +5 -9
- package/nodes/fog/FogRangeNode.mjs +17 -0
- package/nodes/functions/BSDFs.js +61 -118
- package/nodes/functions/BSDFs.mjs +64 -0
- package/nodes/lights/LightContextNode.js +14 -23
- package/nodes/lights/LightContextNode.mjs +35 -0
- package/nodes/lights/LightNode.js +27 -31
- package/nodes/lights/LightNode.mjs +58 -0
- package/nodes/lights/LightsNode.js +9 -28
- package/nodes/lights/LightsNode.mjs +59 -0
- package/nodes/loaders/NodeLoader.js +27 -42
- package/nodes/loaders/NodeLoader.mjs +66 -0
- package/nodes/loaders/NodeMaterialLoader.js +4 -10
- package/nodes/loaders/NodeMaterialLoader.mjs +24 -0
- package/nodes/loaders/NodeObjectLoader.js +9 -19
- package/nodes/loaders/NodeObjectLoader.mjs +40 -0
- package/nodes/materials/LineBasicNodeMaterial.js +5 -10
- package/nodes/materials/LineBasicNodeMaterial.mjs +27 -0
- package/nodes/materials/Materials.js +14 -17
- package/nodes/materials/Materials.mjs +28 -0
- package/nodes/materials/MeshBasicNodeMaterial.js +5 -10
- package/nodes/materials/MeshBasicNodeMaterial.mjs +28 -0
- package/nodes/materials/MeshStandardNodeMaterial.js +5 -8
- package/nodes/materials/MeshStandardNodeMaterial.mjs +41 -0
- package/nodes/materials/NodeMaterial.js +20 -36
- package/nodes/materials/NodeMaterial.mjs +64 -0
- package/nodes/materials/PointsNodeMaterial.js +5 -10
- package/nodes/materials/PointsNodeMaterial.mjs +30 -0
- package/nodes/math/CondNode.js +11 -23
- package/nodes/math/CondNode.mjs +38 -0
- package/nodes/math/MathNode.js +98 -142
- package/nodes/math/MathNode.mjs +163 -0
- package/nodes/math/OperatorNode.js +24 -46
- package/nodes/math/OperatorNode.mjs +103 -0
- package/nodes/procedural/CheckerNode.js +13 -19
- package/nodes/procedural/CheckerNode.mjs +21 -0
- package/nodes/utils/ArrayElementNode.js +4 -8
- package/nodes/utils/ArrayElementNode.mjs +19 -0
- package/nodes/utils/ConvertNode.js +3 -8
- package/nodes/utils/ConvertNode.mjs +25 -0
- package/nodes/utils/JoinNode.js +7 -11
- package/nodes/utils/JoinNode.mjs +26 -0
- package/nodes/utils/MatcapUVNode.js +8 -11
- package/nodes/utils/MatcapUVNode.mjs +16 -0
- package/nodes/utils/OscNode.js +27 -33
- package/nodes/utils/OscNode.mjs +50 -0
- package/nodes/utils/SplitNode.js +6 -20
- package/nodes/utils/SplitNode.mjs +45 -0
- package/nodes/utils/SpriteSheetUVNode.js +23 -23
- package/nodes/utils/SpriteSheetUVNode.mjs +40 -0
- package/nodes/utils/TimerNode.js +20 -24
- package/nodes/utils/TimerNode.mjs +44 -0
- package/objects/GroundProjectedEnv.js +22 -37
- package/objects/GroundProjectedEnv.mjs +130 -0
- package/objects/Lensflare.js +86 -156
- package/objects/Lensflare.mjs +262 -0
- package/objects/LightningStorm.js +38 -102
- package/objects/LightningStorm.mjs +110 -0
- package/objects/MarchingCubes.js +150 -303
- package/objects/MarchingCubes.mjs +457 -0
- package/objects/Reflector.js +50 -72
- package/objects/Reflector.mjs +166 -0
- package/objects/ReflectorForSSRPass.js +80 -131
- package/objects/ReflectorForSSRPass.mjs +247 -0
- package/objects/ReflectorRTT.js +6 -7
- package/objects/ReflectorRTT.mjs +10 -0
- package/objects/Refractor.js +64 -106
- package/objects/Refractor.mjs +178 -0
- package/objects/ShadowMesh.js +8 -17
- package/objects/ShadowMesh.mjs +41 -0
- package/objects/Sky.js +119 -80
- package/objects/Sky.mjs +124 -0
- package/objects/Water.js +83 -127
- package/objects/Water.mjs +235 -0
- package/objects/Water2.js +72 -108
- package/objects/Water2.mjs +252 -0
- package/offscreen/jank.js +10 -14
- package/offscreen/jank.mjs +27 -0
- package/offscreen/offscreen.js +4 -5
- package/offscreen/offscreen.mjs +5 -0
- package/offscreen/scene.js +45 -48
- package/offscreen/scene.mjs +52 -0
- package/package.json +3 -3
- package/physics/AmmoPhysics.js +30 -71
- package/physics/AmmoPhysics.mjs +165 -0
- package/postprocessing/AdaptiveToneMappingPass.js +97 -123
- package/postprocessing/AdaptiveToneMappingPass.mjs +221 -0
- package/postprocessing/AfterimagePass.js +28 -49
- package/postprocessing/AfterimagePass.mjs +55 -0
- package/postprocessing/BloomPass.js +43 -69
- package/postprocessing/BloomPass.mjs +90 -0
- package/postprocessing/BokehPass.js +39 -69
- package/postprocessing/BokehPass.mjs +76 -0
- package/postprocessing/ClearPass.js +10 -25
- package/postprocessing/ClearPass.mjs +27 -0
- package/postprocessing/CubeTexturePass.js +28 -27
- package/postprocessing/CubeTexturePass.mjs +49 -0
- package/postprocessing/DotScreenPass.js +24 -32
- package/postprocessing/DotScreenPass.mjs +40 -0
- package/postprocessing/EffectComposer.js +39 -86
- package/postprocessing/EffectComposer.mjs +139 -0
- package/postprocessing/FilmPass.js +25 -30
- package/postprocessing/FilmPass.mjs +42 -0
- package/postprocessing/GlitchPass.js +38 -61
- package/postprocessing/GlitchPass.mjs +75 -0
- package/postprocessing/HalftonePass.js +19 -39
- package/postprocessing/HalftonePass.mjs +44 -0
- package/postprocessing/LUTPass.js +13 -38
- package/postprocessing/LUTPass.mjs +136 -0
- package/postprocessing/MaskPass.js +19 -38
- package/postprocessing/MaskPass.mjs +60 -0
- package/postprocessing/OutlinePass.js +135 -277
- package/postprocessing/OutlinePass.mjs +438 -0
- package/postprocessing/Pass.js +20 -44
- package/postprocessing/Pass.mjs +37 -0
- package/postprocessing/RenderPass.js +13 -36
- package/postprocessing/RenderPass.mjs +48 -0
- package/postprocessing/RenderPixelatedPass.js +44 -58
- package/postprocessing/RenderPixelatedPass.mjs +199 -0
- package/postprocessing/SAOPass.js +154 -189
- package/postprocessing/SAOPass.mjs +282 -0
- package/postprocessing/SMAAPass.js +64 -84
- package/postprocessing/SMAAPass.mjs +112 -0
- package/postprocessing/SSAARenderPass.js +121 -69
- package/postprocessing/SSAARenderPass.mjs +170 -0
- package/postprocessing/SSAOPass.js +123 -172
- package/postprocessing/SSAOPass.mjs +265 -0
- package/postprocessing/SSRPass.js +211 -280
- package/postprocessing/SSRPass.mjs +432 -0
- package/postprocessing/SavePass.js +20 -25
- package/postprocessing/SavePass.mjs +37 -0
- package/postprocessing/ShaderPass.js +14 -30
- package/postprocessing/ShaderPass.mjs +39 -0
- package/postprocessing/TAARenderPass.js +42 -61
- package/postprocessing/TAARenderPass.mjs +88 -0
- package/postprocessing/TexturePass.js +21 -22
- package/postprocessing/TexturePass.mjs +39 -0
- package/postprocessing/UnrealBloomPass.js +105 -213
- package/postprocessing/UnrealBloomPass.mjs +220 -0
- package/renderers/CSS2DRenderer.js +44 -56
- package/renderers/CSS2DRenderer.mjs +112 -0
- package/renderers/CSS3DRenderer.js +53 -86
- package/renderers/CSS3DRenderer.mjs +133 -0
- package/renderers/Projector.js +107 -274
- package/renderers/Projector.mjs +511 -0
- package/renderers/SVGRenderer.js +72 -182
- package/renderers/SVGRenderer.mjs +306 -0
- package/renderers/nodes/accessors/CameraNode.js +29 -40
- package/renderers/nodes/accessors/CameraNode.mjs +63 -0
- package/renderers/nodes/accessors/ModelNode.js +28 -37
- package/renderers/nodes/accessors/ModelNode.mjs +61 -0
- package/renderers/nodes/accessors/ModelViewProjectionNode.js +10 -23
- package/renderers/nodes/accessors/ModelViewProjectionNode.mjs +21 -0
- package/renderers/nodes/accessors/NormalNode.js +35 -45
- package/renderers/nodes/accessors/NormalNode.mjs +61 -0
- package/renderers/nodes/accessors/PositionNode.js +18 -19
- package/renderers/nodes/accessors/PositionNode.mjs +30 -0
- package/renderers/nodes/accessors/UVNode.js +5 -10
- package/renderers/nodes/accessors/UVNode.mjs +13 -0
- package/renderers/nodes/core/AttributeNode.js +5 -14
- package/renderers/nodes/core/AttributeNode.mjs +35 -0
- package/renderers/nodes/core/InputNode.js +4 -14
- package/renderers/nodes/core/InputNode.mjs +31 -0
- package/renderers/nodes/core/Node.js +7 -17
- package/renderers/nodes/core/Node.mjs +34 -0
- package/renderers/nodes/core/NodeAttribute.js +3 -6
- package/renderers/nodes/core/NodeAttribute.mjs +10 -0
- package/renderers/nodes/core/NodeBuilder.js +87 -154
- package/renderers/nodes/core/NodeBuilder.mjs +243 -0
- package/renderers/nodes/core/NodeFrame.js +9 -12
- package/renderers/nodes/core/NodeFrame.mjs +35 -0
- package/renderers/nodes/core/NodeSlot.js +2 -3
- package/renderers/nodes/core/NodeSlot.mjs +10 -0
- package/renderers/nodes/core/NodeUniform.js +4 -9
- package/renderers/nodes/core/NodeUniform.mjs +18 -0
- package/renderers/nodes/core/NodeVary.js +4 -7
- package/renderers/nodes/core/NodeVary.mjs +11 -0
- package/renderers/nodes/core/VaryNode.js +6 -12
- package/renderers/nodes/core/VaryNode.mjs +22 -0
- package/renderers/nodes/core/constants.js +16 -13
- package/renderers/nodes/core/constants.mjs +22 -0
- package/renderers/nodes/inputs/ColorNode.js +5 -11
- package/renderers/nodes/inputs/ColorNode.mjs +11 -0
- package/renderers/nodes/inputs/FloatNode.js +5 -11
- package/renderers/nodes/inputs/FloatNode.mjs +11 -0
- package/renderers/nodes/inputs/Matrix3Node.js +7 -13
- package/renderers/nodes/inputs/Matrix3Node.mjs +12 -0
- package/renderers/nodes/inputs/Matrix4Node.js +7 -13
- package/renderers/nodes/inputs/Matrix4Node.mjs +12 -0
- package/renderers/nodes/inputs/TextureNode.js +7 -15
- package/renderers/nodes/inputs/TextureNode.mjs +20 -0
- package/renderers/nodes/inputs/Vector2Node.js +5 -11
- package/renderers/nodes/inputs/Vector2Node.mjs +11 -0
- package/renderers/nodes/inputs/Vector3Node.js +7 -13
- package/renderers/nodes/inputs/Vector3Node.mjs +12 -0
- package/renderers/nodes/inputs/Vector4Node.js +7 -13
- package/renderers/nodes/inputs/Vector4Node.mjs +12 -0
- package/renderers/nodes/math/MathNode.js +20 -30
- package/renderers/nodes/math/MathNode.mjs +55 -0
- package/renderers/nodes/math/OperatorNode.js +4 -20
- package/renderers/nodes/math/OperatorNode.mjs +42 -0
- package/renderers/nodes/utils/SwitchNode.js +4 -9
- package/renderers/nodes/utils/SwitchNode.mjs +20 -0
- package/renderers/nodes/utils/TimerNode.js +5 -10
- package/renderers/nodes/utils/TimerNode.mjs +14 -0
- package/renderers/webgpu/WebGPU.js +14 -16
- package/renderers/webgpu/WebGPU.mjs +24 -0
- package/renderers/webgpu/WebGPUAttributes.js +16 -23
- package/renderers/webgpu/WebGPUAttributes.mjs +69 -0
- package/renderers/webgpu/WebGPUBackground.js +13 -30
- package/renderers/webgpu/WebGPUBackground.mjs +61 -0
- package/renderers/webgpu/WebGPUBinding.js +4 -7
- package/renderers/webgpu/WebGPUBinding.mjs +14 -0
- package/renderers/webgpu/WebGPUBindings.js +21 -57
- package/renderers/webgpu/WebGPUBindings.mjs +155 -0
- package/renderers/webgpu/WebGPUComputePipelines.js +14 -25
- package/renderers/webgpu/WebGPUComputePipelines.mjs +44 -0
- package/renderers/webgpu/WebGPUGeometries.js +5 -15
- package/renderers/webgpu/WebGPUGeometries.mjs +41 -0
- package/renderers/webgpu/WebGPUInfo.js +3 -8
- package/renderers/webgpu/WebGPUInfo.mjs +46 -0
- package/renderers/webgpu/WebGPUObjects.js +5 -10
- package/renderers/webgpu/WebGPUObjects.mjs +25 -0
- package/renderers/webgpu/WebGPUProperties.js +5 -11
- package/renderers/webgpu/WebGPUProperties.mjs +22 -0
- package/renderers/webgpu/WebGPURenderLists.js +20 -36
- package/renderers/webgpu/WebGPURenderLists.mjs +119 -0
- package/renderers/webgpu/WebGPURenderPipelines.js +260 -387
- package/renderers/webgpu/WebGPURenderPipelines.mjs +545 -0
- package/renderers/webgpu/WebGPURenderer.js +124 -262
- package/renderers/webgpu/WebGPURenderer.mjs +574 -0
- package/renderers/webgpu/WebGPUSampledTexture.js +18 -31
- package/renderers/webgpu/WebGPUSampledTexture.mjs +40 -0
- package/renderers/webgpu/WebGPUSampler.js +7 -12
- package/renderers/webgpu/WebGPUSampler.mjs +15 -0
- package/renderers/webgpu/WebGPUStorageBuffer.js +7 -12
- package/renderers/webgpu/WebGPUStorageBuffer.mjs +15 -0
- package/renderers/webgpu/WebGPUTextureRenderer.js +5 -11
- package/renderers/webgpu/WebGPUTextureRenderer.mjs +23 -0
- package/renderers/webgpu/WebGPUTextureUtils.js +29 -40
- package/renderers/webgpu/WebGPUTextureUtils.mjs +98 -0
- package/renderers/webgpu/WebGPUTextures.js +186 -333
- package/renderers/webgpu/WebGPUTextures.mjs +484 -0
- package/renderers/webgpu/WebGPUUniform.js +25 -51
- package/renderers/webgpu/WebGPUUniform.mjs +81 -0
- package/renderers/webgpu/WebGPUUniformsGroup.js +32 -72
- package/renderers/webgpu/WebGPUUniformsGroup.mjs +176 -0
- package/renderers/webgpu/constants.js +190 -181
- package/renderers/webgpu/constants.mjs +230 -0
- package/renderers/webgpu/nodes/ShaderLib.js +2 -2
- package/renderers/webgpu/nodes/ShaderLib.mjs +42 -0
- package/renderers/webgpu/nodes/WebGPUNodeBuilder.js +53 -124
- package/renderers/webgpu/nodes/WebGPUNodeBuilder.mjs +165 -0
- package/renderers/webgpu/nodes/WebGPUNodeUniform.js +17 -31
- package/renderers/webgpu/nodes/WebGPUNodeUniform.mjs +73 -0
- package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.js +8 -9
- package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.mjs +15 -0
- package/renderers/webgpu/nodes/WebGPUNodes.js +7 -45
- package/renderers/webgpu/nodes/WebGPUNodes.mjs +40 -0
- package/shaders/ACESFilmicToneMappingShader.js +44 -24
- package/shaders/ACESFilmicToneMappingShader.mjs +48 -0
- package/shaders/AfterimageShader.js +28 -18
- package/shaders/AfterimageShader.mjs +32 -0
- package/shaders/BasicShader.js +9 -7
- package/shaders/BasicShader.mjs +12 -0
- package/shaders/BleachBypassShader.js +31 -15
- package/shaders/BleachBypassShader.mjs +35 -0
- package/shaders/BlendShader.js +26 -19
- package/shaders/BlendShader.mjs +30 -0
- package/shaders/BokehShader.js +98 -36
- package/shaders/BokehShader.mjs +106 -0
- package/shaders/BokehShader2.js +261 -90
- package/shaders/BokehShader2.mjs +269 -0
- package/shaders/BrightnessContrastShader.js +28 -19
- package/shaders/BrightnessContrastShader.mjs +32 -0
- package/shaders/ColorCorrectionShader.js +26 -22
- package/shaders/ColorCorrectionShader.mjs +30 -0
- package/shaders/ColorifyShader.js +24 -16
- package/shaders/ColorifyShader.mjs +28 -0
- package/shaders/ConvolutionShader.js +40 -36
- package/shaders/ConvolutionShader.mjs +55 -0
- package/shaders/CopyShader.js +21 -13
- package/shaders/CopyShader.mjs +25 -0
- package/shaders/DOFMipMapShader.js +28 -21
- package/shaders/DOFMipMapShader.mjs +32 -0
- package/shaders/DepthLimitedBlurShader.js +85 -40
- package/shaders/DepthLimitedBlurShader.mjs +114 -0
- package/shaders/DigitalGlitch.js +74 -46
- package/shaders/DigitalGlitch.mjs +78 -0
- package/shaders/DotScreenShader.js +35 -27
- package/shaders/DotScreenShader.mjs +39 -0
- package/shaders/FXAAShader.js +1094 -19
- package/shaders/FXAAShader.mjs +1098 -0
- package/shaders/FilmShader.js +38 -52
- package/shaders/FilmShader.mjs +42 -0
- package/shaders/FocusShader.js +51 -24
- package/shaders/FocusShader.mjs +55 -0
- package/shaders/FreiChenShader.js +57 -24
- package/shaders/FreiChenShader.mjs +61 -0
- package/shaders/FresnelShader.js +43 -22
- package/shaders/FresnelShader.mjs +47 -0
- package/shaders/GammaCorrectionShader.js +19 -11
- package/shaders/GammaCorrectionShader.mjs +23 -0
- package/shaders/GodRaysShader.js +103 -94
- package/shaders/GodRaysShader.mjs +146 -0
- package/shaders/HalftoneShader.js +208 -65
- package/shaders/HalftoneShader.mjs +212 -0
- package/shaders/HorizontalBlurShader.js +7 -23
- package/shaders/HorizontalBlurShader.mjs +43 -0
- package/shaders/HorizontalTiltShiftShader.js +33 -21
- package/shaders/HorizontalTiltShiftShader.mjs +37 -0
- package/shaders/HueSaturationShader.js +37 -21
- package/shaders/HueSaturationShader.mjs +41 -0
- package/shaders/KaleidoShader.js +30 -22
- package/shaders/KaleidoShader.mjs +34 -0
- package/shaders/LuminosityHighPassShader.js +33 -27
- package/shaders/LuminosityHighPassShader.mjs +37 -0
- package/shaders/LuminosityShader.js +21 -11
- package/shaders/LuminosityShader.mjs +25 -0
- package/shaders/MirrorShader.js +31 -16
- package/shaders/MirrorShader.mjs +35 -0
- package/shaders/NormalMapShader.js +27 -23
- package/shaders/NormalMapShader.mjs +31 -0
- package/shaders/ParallaxShader.js +107 -48
- package/shaders/ParallaxShader.mjs +113 -0
- package/shaders/PixelShader.js +24 -16
- package/shaders/PixelShader.mjs +28 -0
- package/shaders/RGBShiftShader.js +26 -22
- package/shaders/RGBShiftShader.mjs +30 -0
- package/shaders/SAOShader.js +132 -48
- package/shaders/SAOShader.mjs +144 -0
- package/shaders/SMAAShader.js +256 -135
- package/shaders/SMAAShader.mjs +272 -0
- package/shaders/SSAOShader.js +153 -81
- package/shaders/SSAOShader.mjs +172 -0
- package/shaders/SSRShader.js +32 -87
- package/shaders/SSRShader.mjs +324 -0
- package/shaders/SepiaShader.js +25 -15
- package/shaders/SepiaShader.mjs +29 -0
- package/shaders/SobelOperatorShader.js +40 -29
- package/shaders/SobelOperatorShader.mjs +44 -0
- package/shaders/SubsurfaceScatteringShader.js +53 -39
- package/shaders/SubsurfaceScatteringShader.mjs +59 -0
- package/shaders/TechnicolorShader.js +20 -13
- package/shaders/TechnicolorShader.mjs +24 -0
- package/shaders/ToneMapShader.js +44 -28
- package/shaders/ToneMapShader.mjs +48 -0
- package/shaders/ToonShader.js +172 -96
- package/shaders/ToonShader.mjs +188 -0
- package/shaders/TriangleBlurShader.js +32 -23
- package/shaders/TriangleBlurShader.mjs +36 -0
- package/shaders/UnpackDepthRGBAShader.js +22 -14
- package/shaders/UnpackDepthRGBAShader.mjs +26 -0
- package/shaders/VerticalBlurShader.js +7 -23
- package/shaders/VerticalBlurShader.mjs +44 -0
- package/shaders/VerticalTiltShiftShader.js +33 -21
- package/shaders/VerticalTiltShiftShader.mjs +37 -0
- package/shaders/VignetteShader.js +24 -28
- package/shaders/VignetteShader.mjs +28 -0
- package/shaders/VolumeShader.js +174 -77
- package/shaders/VolumeShader.mjs +178 -0
- package/shaders/WaterRefractionShader.js +38 -6
- package/shaders/WaterRefractionShader.mjs +57 -0
- package/shaders/types.js +1 -1
- package/{custom.d.js → shaders/types.mjs} +0 -0
- package/textures/FlakesTexture.js +8 -10
- package/textures/FlakesTexture.mjs +30 -0
- package/types/helpers.js +3 -2
- package/types/helpers.mjs +4 -0
- package/utils/BufferGeometryUtils.js +251 -325
- package/utils/BufferGeometryUtils.mjs +570 -0
- package/utils/GeometryCompressionUtils.js +241 -239
- package/utils/GeometryCompressionUtils.mjs +547 -0
- package/utils/GeometryUtils.js +41 -94
- package/utils/GeometryUtils.mjs +108 -0
- package/utils/RoughnessMipmapper.js +38 -82
- package/utils/RoughnessMipmapper.mjs +213 -0
- package/utils/SceneUtils.js +15 -20
- package/utils/SceneUtils.mjs +36 -0
- package/utils/ShadowMapViewer.js +49 -95
- package/utils/ShadowMapViewer.mjs +114 -0
- package/utils/SkeletonUtils.js +74 -165
- package/utils/SkeletonUtils.mjs +292 -0
- package/utils/UVsDebug.js +32 -62
- package/utils/UVsDebug.mjs +85 -0
- package/utils/WorkerPool.js +13 -33
- package/utils/WorkerPool.mjs +62 -0
- package/webxr/ARButton.js +72 -98
- package/webxr/ARButton.mjs +119 -0
- package/webxr/OculusHandModel.js +18 -37
- package/webxr/OculusHandModel.mjs +71 -0
- package/webxr/OculusHandPointerModel.js +58 -80
- package/webxr/OculusHandPointerModel.mjs +207 -0
- package/webxr/Text2D.js +37 -19
- package/webxr/Text2D.mjs +31 -0
- package/webxr/VRButton.js +59 -90
- package/webxr/VRButton.mjs +105 -0
- package/webxr/XRControllerModelFactory.js +58 -116
- package/webxr/XRControllerModelFactory.mjs +146 -0
- package/webxr/XREstimatedLight.js +39 -66
- package/webxr/XREstimatedLight.mjs +126 -0
- package/webxr/XRHandMeshModel.js +40 -29
- package/webxr/XRHandMeshModel.mjs +73 -0
- package/webxr/XRHandModelFactory.js +28 -31
- package/webxr/XRHandModelFactory.mjs +61 -0
- package/webxr/XRHandPrimitiveModel.js +41 -27
- package/webxr/XRHandPrimitiveModel.mjs +68 -0
- package/BufferGeometryUtils-1a7a235c.js +0 -655
- package/BufferGeometryUtils-971dfde3.js +0 -1
- package/Nodes-4f766d71.js +0 -471
- package/Nodes-9aa16d74.js +0 -1
- package/animation/AnimationClipCreator.cjs.js +0 -1
- package/animation/CCDIKSolver.cjs.js +0 -1
- package/animation/MMDAnimationHelper.cjs.js +0 -1
- package/animation/MMDPhysics.cjs.js +0 -1
- package/cameras/CinematicCamera.cjs.js +0 -1
- package/controls/ArcballControls.cjs.js +0 -1
- package/controls/DeviceOrientationControls.cjs.js +0 -1
- package/controls/DragControls.cjs.js +0 -1
- package/controls/FirstPersonControls.cjs.js +0 -1
- package/controls/FlyControls.cjs.js +0 -1
- package/controls/OrbitControls.cjs.js +0 -1
- package/controls/PointerLockControls.cjs.js +0 -1
- package/controls/TrackballControls.cjs.js +0 -1
- package/controls/TransformControls.cjs.js +0 -1
- package/controls/experimental/CameraControls.cjs.js +0 -1
- package/csm/CSM.cjs.js +0 -1
- package/csm/CSMFrustum.cjs.js +0 -1
- package/csm/CSMHelper.cjs.js +0 -1
- package/csm/CSMShader.cjs.js +0 -1
- package/curves/CurveExtras.cjs.js +0 -1
- package/curves/NURBSCurve.cjs.js +0 -1
- package/curves/NURBSSurface.cjs.js +0 -1
- package/curves/NURBSUtils.cjs.js +0 -1
- package/custom.d.cjs.js +0 -1
- package/deprecated/Geometry.cjs.js +0 -1
- package/effects/AnaglyphEffect.cjs.js +0 -1
- package/effects/AsciiEffect.cjs.js +0 -1
- package/effects/OutlineEffect.cjs.js +0 -1
- package/effects/ParallaxBarrierEffect.cjs.js +0 -1
- package/effects/PeppersGhostEffect.cjs.js +0 -1
- package/effects/StereoEffect.cjs.js +0 -1
- package/environments/RoomEnvironment.cjs.js +0 -1
- package/exporters/ColladaExporter.cjs.js +0 -1
- package/exporters/DRACOExporter.cjs.js +0 -1
- package/exporters/GLTFExporter.cjs.js +0 -1
- package/exporters/MMDExporter.cjs.js +0 -1
- package/exporters/OBJExporter.cjs.js +0 -1
- package/exporters/PLYExporter.cjs.js +0 -1
- package/exporters/STLExporter.cjs.js +0 -1
- package/exporters/USDZExporter.cjs.js +0 -1
- package/geometries/BoxLineGeometry.cjs.js +0 -1
- package/geometries/ConvexGeometry.cjs.js +0 -1
- package/geometries/DecalGeometry.cjs.js +0 -1
- package/geometries/LightningStrike.cjs.js +0 -1
- package/geometries/ParametricGeometries.cjs.js +0 -1
- package/geometries/ParametricGeometry.cjs.js +0 -1
- package/geometries/RoundedBoxGeometry.cjs.js +0 -1
- package/geometries/TeapotGeometry.cjs.js +0 -1
- package/geometries/TextGeometry.cjs.js +0 -1
- package/helpers/LightProbeHelper.cjs.js +0 -1
- package/helpers/PositionalAudioHelper.cjs.js +0 -1
- package/helpers/RectAreaLightHelper.cjs.js +0 -1
- package/helpers/VertexNormalsHelper.cjs.js +0 -1
- package/helpers/VertexTangentsHelper.cjs.js +0 -1
- package/index.cjs.js +0 -1
- package/interactive/InteractiveGroup.cjs.js +0 -1
- package/interactive/InteractiveGroup.d.ts +0 -5
- package/interactive/InteractiveGroup.js +0 -87
- package/interactive/SelectionBox.cjs.js +0 -1
- package/interactive/SelectionHelper.cjs.js +0 -1
- package/libs/MeshoptDecoder.cjs.js +0 -1
- package/libs/MotionControllers.cjs.js +0 -1
- package/lights/LightProbeGenerator.cjs.js +0 -1
- package/lights/RectAreaLightUniformsLib.cjs.js +0 -1
- package/lines/Line2.cjs.js +0 -1
- package/lines/LineGeometry.cjs.js +0 -1
- package/lines/LineMaterial.cjs.js +0 -1
- package/lines/LineSegments2.cjs.js +0 -1
- package/lines/LineSegmentsGeometry.cjs.js +0 -1
- package/lines/Wireframe.cjs.js +0 -1
- package/lines/WireframeGeometry2.cjs.js +0 -1
- package/loaders/3DMLoader.cjs.js +0 -1
- package/loaders/3MFLoader.cjs.js +0 -1
- package/loaders/AMFLoader.cjs.js +0 -1
- package/loaders/AssimpLoader.cjs.js +0 -1
- package/loaders/BVHLoader.cjs.js +0 -1
- package/loaders/BasisTextureLoader.cjs.js +0 -1
- package/loaders/ColladaLoader.cjs.js +0 -1
- package/loaders/DDSLoader.cjs.js +0 -1
- package/loaders/DRACOLoader.cjs.js +0 -1
- package/loaders/EXRLoader.cjs.js +0 -1
- package/loaders/FBXLoader.cjs.js +0 -1
- package/loaders/FontLoader.cjs.js +0 -1
- package/loaders/GCodeLoader.cjs.js +0 -1
- package/loaders/GLTFLoader.cjs.js +0 -1
- package/loaders/HDRCubeTextureLoader.cjs.js +0 -1
- package/loaders/KMZLoader.cjs.js +0 -1
- package/loaders/KTX2Loader.cjs.js +0 -1
- package/loaders/KTXLoader.cjs.js +0 -1
- package/loaders/LDrawLoader.cjs.js +0 -1
- package/loaders/LUT3dlLoader.cjs.js +0 -1
- package/loaders/LUTCubeLoader.cjs.js +0 -1
- package/loaders/LWOLoader.cjs.js +0 -1
- package/loaders/LottieLoader.cjs.js +0 -1
- package/loaders/MD2Loader.cjs.js +0 -1
- package/loaders/MDDLoader.cjs.js +0 -1
- package/loaders/MMDLoader.cjs.js +0 -1
- package/loaders/MTLLoader.cjs.js +0 -1
- package/loaders/NRRDLoader.cjs.js +0 -1
- package/loaders/NodeMaterialLoader.cjs.js +0 -1
- package/loaders/OBJLoader.cjs.js +0 -1
- package/loaders/PCDLoader.cjs.js +0 -1
- package/loaders/PDBLoader.cjs.js +0 -1
- package/loaders/PLYLoader.cjs.js +0 -1
- package/loaders/PRWMLoader.cjs.js +0 -1
- package/loaders/PVRLoader.cjs.js +0 -1
- package/loaders/RGBELoader.cjs.js +0 -1
- package/loaders/RGBMLoader.cjs.js +0 -1
- package/loaders/STLLoader.cjs.js +0 -1
- package/loaders/SVGLoader.cjs.js +0 -1
- package/loaders/TDSLoader.cjs.js +0 -1
- package/loaders/TGALoader.cjs.js +0 -1
- package/loaders/TTFLoader.cjs.js +0 -1
- package/loaders/TiltLoader.cjs.js +0 -1
- package/loaders/VOXLoader.cjs.js +0 -1
- package/loaders/VRMLLoader.cjs.js +0 -1
- package/loaders/VRMLoader.cjs.js +0 -1
- package/loaders/VTKLoader.cjs.js +0 -1
- package/loaders/XLoader.cjs.js +0 -1
- package/loaders/XYZLoader.cjs.js +0 -1
- package/loaders/lwo/IFFParser.cjs.js +0 -1
- package/loaders/lwo/LWO2Parser.cjs.js +0 -1
- package/loaders/lwo/LWO3Parser.cjs.js +0 -1
- package/math/Capsule.cjs.js +0 -1
- package/math/ColorConverter.cjs.js +0 -1
- package/math/ConvexHull.cjs.js +0 -1
- package/math/ImprovedNoise.cjs.js +0 -1
- package/math/Lut.cjs.js +0 -1
- package/math/MeshSurfaceSampler.cjs.js +0 -1
- package/math/OBB.cjs.js +0 -1
- package/math/Octree.cjs.js +0 -1
- package/math/SimplexNoise.cjs.js +0 -1
- package/misc/ConvexObjectBreaker.cjs.js +0 -1
- package/misc/GPUComputationRenderer.cjs.js +0 -1
- package/misc/Gyroscope.cjs.js +0 -1
- package/misc/MD2Character.cjs.js +0 -1
- package/misc/MD2CharacterComplex.cjs.js +0 -1
- package/misc/MorphAnimMesh.cjs.js +0 -1
- package/misc/MorphBlendMesh.cjs.js +0 -1
- package/misc/ProgressiveLightmap.cjs.js +0 -1
- package/misc/RollerCoaster.cjs.js +0 -1
- package/misc/TubePainter.cjs.js +0 -1
- package/misc/Volume.cjs.js +0 -1
- package/misc/VolumeSlice.cjs.js +0 -1
- package/misc/WebGL.cjs.js +0 -1
- package/modifiers/CurveModifier.cjs.js +0 -1
- package/modifiers/EdgeSplitModifier.cjs.js +0 -1
- package/modifiers/SimplifyModifier.cjs.js +0 -1
- package/modifiers/TessellateModifier.cjs.js +0 -1
- package/nodes/Nodes.cjs.js +0 -1
- package/nodes/ShaderNode.cjs.js +0 -1
- package/nodes/accessors/BufferNode.cjs.js +0 -1
- package/nodes/accessors/CameraNode.cjs.js +0 -1
- package/nodes/accessors/CubeTextureNode.cjs.js +0 -1
- package/nodes/accessors/MaterialNode.cjs.js +0 -1
- package/nodes/accessors/MaterialReferenceNode.cjs.js +0 -1
- package/nodes/accessors/ModelNode.cjs.js +0 -1
- package/nodes/accessors/ModelViewProjectionNode.cjs.js +0 -1
- package/nodes/accessors/NormalNode.cjs.js +0 -1
- package/nodes/accessors/Object3DNode.cjs.js +0 -1
- package/nodes/accessors/PointUVNode.cjs.js +0 -1
- package/nodes/accessors/PositionNode.cjs.js +0 -1
- package/nodes/accessors/ReferenceNode.cjs.js +0 -1
- package/nodes/accessors/ReflectNode.cjs.js +0 -1
- package/nodes/accessors/SkinningNode.cjs.js +0 -1
- package/nodes/accessors/TextureNode.cjs.js +0 -1
- package/nodes/accessors/UVNode.cjs.js +0 -1
- package/nodes/core/ArrayUniformNode.cjs.js +0 -1
- package/nodes/core/AttributeNode.cjs.js +0 -1
- package/nodes/core/BypassNode.cjs.js +0 -1
- package/nodes/core/CodeNode.cjs.js +0 -1
- package/nodes/core/ConstNode.cjs.js +0 -1
- package/nodes/core/ContextNode.cjs.js +0 -1
- package/nodes/core/ExpressionNode.cjs.js +0 -1
- package/nodes/core/FunctionCallNode.cjs.js +0 -1
- package/nodes/core/FunctionNode.cjs.js +0 -1
- package/nodes/core/InputNode.cjs.js +0 -1
- package/nodes/core/Node.cjs.js +0 -1
- package/nodes/core/NodeAttribute.cjs.js +0 -1
- package/nodes/core/NodeBuilder.cjs.js +0 -1
- package/nodes/core/NodeCode.cjs.js +0 -1
- package/nodes/core/NodeFrame.cjs.js +0 -1
- package/nodes/core/NodeFunction.cjs.js +0 -1
- package/nodes/core/NodeFunction.js +0 -17
- package/nodes/core/NodeFunctionInput.cjs.js +0 -1
- package/nodes/core/NodeKeywords.cjs.js +0 -1
- package/nodes/core/NodeParser.cjs.js +0 -1
- package/nodes/core/NodeParser.js +0 -8
- package/nodes/core/NodeUniform.cjs.js +0 -1
- package/nodes/core/NodeUtils.cjs.js +0 -1
- package/nodes/core/NodeVar.cjs.js +0 -1
- package/nodes/core/NodeVary.cjs.js +0 -1
- package/nodes/core/PropertyNode.cjs.js +0 -1
- package/nodes/core/TempNode.cjs.js +0 -1
- package/nodes/core/UniformNode.cjs.js +0 -1
- package/nodes/core/VarNode.cjs.js +0 -1
- package/nodes/core/VaryNode.cjs.js +0 -1
- package/nodes/core/constants.cjs.js +0 -1
- package/nodes/display/ColorSpaceNode.cjs.js +0 -1
- package/nodes/display/NormalMapNode.cjs.js +0 -1
- package/nodes/fog/FogNode.cjs.js +0 -1
- package/nodes/fog/FogRangeNode.cjs.js +0 -1
- package/nodes/functions/BSDFs.cjs.js +0 -1
- package/nodes/functions/PhysicalMaterialFunctions.cjs.js +0 -1
- package/nodes/functions/PhysicalMaterialFunctions.js +0 -57
- package/nodes/lights/LightContextNode.cjs.js +0 -1
- package/nodes/lights/LightNode.cjs.js +0 -1
- package/nodes/lights/LightsNode.cjs.js +0 -1
- package/nodes/loaders/NodeLoader.cjs.js +0 -1
- package/nodes/loaders/NodeMaterialLoader.cjs.js +0 -1
- package/nodes/loaders/NodeObjectLoader.cjs.js +0 -1
- package/nodes/materials/LineBasicNodeMaterial.cjs.js +0 -1
- package/nodes/materials/Materials.cjs.js +0 -1
- package/nodes/materials/MeshBasicNodeMaterial.cjs.js +0 -1
- package/nodes/materials/MeshStandardNodeMaterial.cjs.js +0 -1
- package/nodes/materials/NodeMaterial.cjs.js +0 -1
- package/nodes/materials/PointsNodeMaterial.cjs.js +0 -1
- package/nodes/math/CondNode.cjs.js +0 -1
- package/nodes/math/MathNode.cjs.js +0 -1
- package/nodes/math/OperatorNode.cjs.js +0 -1
- package/nodes/parsers/GLSLNodeFunction.cjs.js +0 -1
- package/nodes/parsers/GLSLNodeFunction.js +0 -101
- package/nodes/parsers/GLSLNodeParser.cjs.js +0 -1
- package/nodes/parsers/GLSLNodeParser.js +0 -13
- package/nodes/parsers/WGSLNodeFunction.cjs.js +0 -1
- package/nodes/parsers/WGSLNodeFunction.js +0 -71
- package/nodes/parsers/WGSLNodeParser.cjs.js +0 -1
- package/nodes/parsers/WGSLNodeParser.js +0 -13
- package/nodes/procedural/CheckerNode.cjs.js +0 -1
- package/nodes/utils/ArrayElementNode.cjs.js +0 -1
- package/nodes/utils/ConvertNode.cjs.js +0 -1
- package/nodes/utils/JoinNode.cjs.js +0 -1
- package/nodes/utils/MatcapUVNode.cjs.js +0 -1
- package/nodes/utils/OscNode.cjs.js +0 -1
- package/nodes/utils/SplitNode.cjs.js +0 -1
- package/nodes/utils/SpriteSheetUVNode.cjs.js +0 -1
- package/nodes/utils/TimerNode.cjs.js +0 -1
- package/objects/GroundProjectedEnv.cjs.js +0 -1
- package/objects/Lensflare.cjs.js +0 -1
- package/objects/LightningStorm.cjs.js +0 -1
- package/objects/MarchingCubes.cjs.js +0 -1
- package/objects/Reflector.cjs.js +0 -1
- package/objects/ReflectorForSSRPass.cjs.js +0 -1
- package/objects/ReflectorRTT.cjs.js +0 -1
- package/objects/Refractor.cjs.js +0 -1
- package/objects/ShadowMesh.cjs.js +0 -1
- package/objects/Sky.cjs.js +0 -1
- package/objects/Water.cjs.js +0 -1
- package/objects/Water2.cjs.js +0 -1
- package/offscreen/jank.cjs.js +0 -1
- package/offscreen/offscreen.cjs.js +0 -1
- package/offscreen/scene.cjs.js +0 -1
- package/physics/AmmoPhysics.cjs.js +0 -1
- package/postprocessing/AdaptiveToneMappingPass.cjs.js +0 -1
- package/postprocessing/AfterimagePass.cjs.js +0 -1
- package/postprocessing/BloomPass.cjs.js +0 -1
- package/postprocessing/BokehPass.cjs.js +0 -1
- package/postprocessing/ClearPass.cjs.js +0 -1
- package/postprocessing/CubeTexturePass.cjs.js +0 -1
- package/postprocessing/DotScreenPass.cjs.js +0 -1
- package/postprocessing/EffectComposer.cjs.js +0 -1
- package/postprocessing/FilmPass.cjs.js +0 -1
- package/postprocessing/GlitchPass.cjs.js +0 -1
- package/postprocessing/HalftonePass.cjs.js +0 -1
- package/postprocessing/LUTPass.cjs.js +0 -1
- package/postprocessing/MaskPass.cjs.js +0 -1
- package/postprocessing/OutlinePass.cjs.js +0 -1
- package/postprocessing/Pass.cjs.js +0 -1
- package/postprocessing/RenderPass.cjs.js +0 -1
- package/postprocessing/RenderPixelatedPass.cjs.js +0 -1
- package/postprocessing/SAOPass.cjs.js +0 -1
- package/postprocessing/SMAAPass.cjs.js +0 -1
- package/postprocessing/SSAARenderPass.cjs.js +0 -1
- package/postprocessing/SSAOPass.cjs.js +0 -1
- package/postprocessing/SSRPass.cjs.js +0 -1
- package/postprocessing/SavePass.cjs.js +0 -1
- package/postprocessing/ShaderPass.cjs.js +0 -1
- package/postprocessing/TAARenderPass.cjs.js +0 -1
- package/postprocessing/TexturePass.cjs.js +0 -1
- package/postprocessing/UnrealBloomPass.cjs.js +0 -1
- package/renderers/CSS2DRenderer.cjs.js +0 -1
- package/renderers/CSS3DRenderer.cjs.js +0 -1
- package/renderers/Projector.cjs.js +0 -1
- package/renderers/SVGRenderer.cjs.js +0 -1
- package/renderers/nodes/accessors/CameraNode.cjs.js +0 -1
- package/renderers/nodes/accessors/ModelNode.cjs.js +0 -1
- package/renderers/nodes/accessors/ModelViewProjectionNode.cjs.js +0 -1
- package/renderers/nodes/accessors/NormalNode.cjs.js +0 -1
- package/renderers/nodes/accessors/PositionNode.cjs.js +0 -1
- package/renderers/nodes/accessors/UVNode.cjs.js +0 -1
- package/renderers/nodes/core/AttributeNode.cjs.js +0 -1
- package/renderers/nodes/core/InputNode.cjs.js +0 -1
- package/renderers/nodes/core/Node.cjs.js +0 -1
- package/renderers/nodes/core/NodeAttribute.cjs.js +0 -1
- package/renderers/nodes/core/NodeBuilder.cjs.js +0 -1
- package/renderers/nodes/core/NodeFrame.cjs.js +0 -1
- package/renderers/nodes/core/NodeSlot.cjs.js +0 -1
- package/renderers/nodes/core/NodeUniform.cjs.js +0 -1
- package/renderers/nodes/core/NodeVary.cjs.js +0 -1
- package/renderers/nodes/core/VaryNode.cjs.js +0 -1
- package/renderers/nodes/core/constants.cjs.js +0 -1
- package/renderers/nodes/inputs/ColorNode.cjs.js +0 -1
- package/renderers/nodes/inputs/FloatNode.cjs.js +0 -1
- package/renderers/nodes/inputs/Matrix3Node.cjs.js +0 -1
- package/renderers/nodes/inputs/Matrix4Node.cjs.js +0 -1
- package/renderers/nodes/inputs/TextureNode.cjs.js +0 -1
- package/renderers/nodes/inputs/Vector2Node.cjs.js +0 -1
- package/renderers/nodes/inputs/Vector3Node.cjs.js +0 -1
- package/renderers/nodes/inputs/Vector4Node.cjs.js +0 -1
- package/renderers/nodes/math/MathNode.cjs.js +0 -1
- package/renderers/nodes/math/OperatorNode.cjs.js +0 -1
- package/renderers/nodes/utils/SwitchNode.cjs.js +0 -1
- package/renderers/nodes/utils/TimerNode.cjs.js +0 -1
- package/renderers/webgpu/WebGPU.cjs.js +0 -1
- package/renderers/webgpu/WebGPUAttributes.cjs.js +0 -1
- package/renderers/webgpu/WebGPUBackground.cjs.js +0 -1
- package/renderers/webgpu/WebGPUBinding.cjs.js +0 -1
- package/renderers/webgpu/WebGPUBindings.cjs.js +0 -1
- package/renderers/webgpu/WebGPUComputePipelines.cjs.js +0 -1
- package/renderers/webgpu/WebGPUGeometries.cjs.js +0 -1
- package/renderers/webgpu/WebGPUInfo.cjs.js +0 -1
- package/renderers/webgpu/WebGPUObjects.cjs.js +0 -1
- package/renderers/webgpu/WebGPUProperties.cjs.js +0 -1
- package/renderers/webgpu/WebGPURenderLists.cjs.js +0 -1
- package/renderers/webgpu/WebGPURenderPipelines.cjs.js +0 -1
- package/renderers/webgpu/WebGPURenderer.cjs.js +0 -1
- package/renderers/webgpu/WebGPUSampledTexture.cjs.js +0 -1
- package/renderers/webgpu/WebGPUSampler.cjs.js +0 -1
- package/renderers/webgpu/WebGPUStorageBuffer.cjs.js +0 -1
- package/renderers/webgpu/WebGPUTextureRenderer.cjs.js +0 -1
- package/renderers/webgpu/WebGPUTextureUtils.cjs.js +0 -1
- package/renderers/webgpu/WebGPUTextures.cjs.js +0 -1
- package/renderers/webgpu/WebGPUUniform.cjs.js +0 -1
- package/renderers/webgpu/WebGPUUniformsGroup.cjs.js +0 -1
- package/renderers/webgpu/constants.cjs.js +0 -1
- package/renderers/webgpu/nodes/ShaderLib.cjs.js +0 -1
- package/renderers/webgpu/nodes/WebGPUNodeBuilder.cjs.js +0 -1
- package/renderers/webgpu/nodes/WebGPUNodeUniform.cjs.js +0 -1
- package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.cjs.js +0 -1
- package/renderers/webgpu/nodes/WebGPUNodes.cjs.js +0 -1
- package/shaders/ACESFilmicToneMappingShader.cjs.js +0 -1
- package/shaders/AfterimageShader.cjs.js +0 -1
- package/shaders/BasicShader.cjs.js +0 -1
- package/shaders/BleachBypassShader.cjs.js +0 -1
- package/shaders/BlendShader.cjs.js +0 -1
- package/shaders/BokehShader.cjs.js +0 -1
- package/shaders/BokehShader2.cjs.js +0 -1
- package/shaders/BrightnessContrastShader.cjs.js +0 -1
- package/shaders/ColorCorrectionShader.cjs.js +0 -1
- package/shaders/ColorifyShader.cjs.js +0 -1
- package/shaders/ConvolutionShader.cjs.js +0 -1
- package/shaders/CopyShader.cjs.js +0 -1
- package/shaders/DOFMipMapShader.cjs.js +0 -1
- package/shaders/DepthLimitedBlurShader.cjs.js +0 -1
- package/shaders/DigitalGlitch.cjs.js +0 -1
- package/shaders/DotScreenShader.cjs.js +0 -1
- package/shaders/FXAAShader.cjs.js +0 -1
- package/shaders/FilmShader.cjs.js +0 -1
- package/shaders/FocusShader.cjs.js +0 -1
- package/shaders/FreiChenShader.cjs.js +0 -1
- package/shaders/FresnelShader.cjs.js +0 -1
- package/shaders/GammaCorrectionShader.cjs.js +0 -1
- package/shaders/GodRaysShader.cjs.js +0 -1
- package/shaders/HalftoneShader.cjs.js +0 -1
- package/shaders/HorizontalBlurShader.cjs.js +0 -1
- package/shaders/HorizontalTiltShiftShader.cjs.js +0 -1
- package/shaders/HueSaturationShader.cjs.js +0 -1
- package/shaders/KaleidoShader.cjs.js +0 -1
- package/shaders/LuminosityHighPassShader.cjs.js +0 -1
- package/shaders/LuminosityShader.cjs.js +0 -1
- package/shaders/MirrorShader.cjs.js +0 -1
- package/shaders/NormalMapShader.cjs.js +0 -1
- package/shaders/ParallaxShader.cjs.js +0 -1
- package/shaders/PixelShader.cjs.js +0 -1
- package/shaders/RGBShiftShader.cjs.js +0 -1
- package/shaders/SAOShader.cjs.js +0 -1
- package/shaders/SMAAShader.cjs.js +0 -1
- package/shaders/SSAOShader.cjs.js +0 -1
- package/shaders/SSRShader.cjs.js +0 -1
- package/shaders/SepiaShader.cjs.js +0 -1
- package/shaders/SobelOperatorShader.cjs.js +0 -1
- package/shaders/SubsurfaceScatteringShader.cjs.js +0 -1
- package/shaders/TechnicolorShader.cjs.js +0 -1
- package/shaders/ToneMapShader.cjs.js +0 -1
- package/shaders/ToonShader.cjs.js +0 -1
- package/shaders/TriangleBlurShader.cjs.js +0 -1
- package/shaders/UnpackDepthRGBAShader.cjs.js +0 -1
- package/shaders/VerticalBlurShader.cjs.js +0 -1
- package/shaders/VerticalTiltShiftShader.cjs.js +0 -1
- package/shaders/VignetteShader.cjs.js +0 -1
- package/shaders/VolumeShader.cjs.js +0 -1
- package/shaders/WaterRefractionShader.cjs.js +0 -1
- package/shaders/index.cjs.js +0 -1
- package/shaders/index.d.ts +0 -54
- package/shaders/index.js +0 -53
- package/shaders/types.cjs.js +0 -1
- package/textures/FlakesTexture.cjs.js +0 -1
- package/types/helpers.cjs.js +0 -1
- package/types/shared.cjs.js +0 -1
- package/types/shared.js +0 -1
- package/types/utils.cjs.js +0 -1
- package/types/utils.js +0 -1
- package/utils/BufferGeometryUtils.cjs.js +0 -1
- package/utils/GeometryCompressionUtils.cjs.js +0 -1
- package/utils/GeometryUtils.cjs.js +0 -1
- package/utils/LDrawUtils.cjs.js +0 -1
- package/utils/LDrawUtils.d.ts +0 -5
- package/utils/LDrawUtils.js +0 -144
- package/utils/RoughnessMipmapper.cjs.js +0 -1
- package/utils/SceneUtils.cjs.js +0 -1
- package/utils/ShadowMapViewer.cjs.js +0 -1
- package/utils/SkeletonUtils.cjs.js +0 -1
- package/utils/UVsDebug.cjs.js +0 -1
- package/utils/WorkerPool.cjs.js +0 -1
- package/webxr/ARButton.cjs.js +0 -1
- package/webxr/OculusHandModel.cjs.js +0 -1
- package/webxr/OculusHandPointerModel.cjs.js +0 -1
- package/webxr/Text2D.cjs.js +0 -1
- package/webxr/VRButton.cjs.js +0 -1
- package/webxr/XRControllerModelFactory.cjs.js +0 -1
- package/webxr/XREstimatedLight.cjs.js +0 -1
- package/webxr/XRHandMeshModel.cjs.js +0 -1
- package/webxr/XRHandModelFactory.cjs.js +0 -1
- package/webxr/XRHandPrimitiveModel.cjs.js +0 -1
|
@@ -1,124 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* Usage
|
|
9
|
-
*
|
|
10
|
-
* var myRay = new LightningStrike( paramsObject );
|
|
11
|
-
* var myRayMesh = new THREE.Mesh( myRay, myMaterial );
|
|
12
|
-
* scene.add( myRayMesh );
|
|
13
|
-
* ...
|
|
14
|
-
* myRay.update( currentTime );
|
|
15
|
-
*
|
|
16
|
-
* The "currentTime" can vary its rate, go forwards, backwards or even jump, but it cannot be negative.
|
|
17
|
-
*
|
|
18
|
-
* You should normally leave the ray position to (0, 0, 0). You should control it by changing the sourceOffset and destOffset parameters.
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* LightningStrike parameters
|
|
22
|
-
*
|
|
23
|
-
* The paramsObject can contain any of the following parameters.
|
|
24
|
-
*
|
|
25
|
-
* Legend:
|
|
26
|
-
* 'LightningStrike' (also called 'ray'): An independent voltaic arc with its ramifications and defined with a set of parameters.
|
|
27
|
-
* 'Subray': A ramification of the ray. It is not a LightningStrike object.
|
|
28
|
-
* 'Segment': A linear segment piece of a subray.
|
|
29
|
-
* 'Leaf segment': A ray segment which cannot be smaller.
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
* The following parameters can be changed any time and if they vary smoothly, the ray form will also change smoothly:
|
|
33
|
-
*
|
|
34
|
-
* @param {Vector3} sourceOffset The point where the ray starts.
|
|
35
|
-
*
|
|
36
|
-
* @param {Vector3} destOffset The point where the ray ends.
|
|
37
|
-
*
|
|
38
|
-
* @param {double} timeScale The rate at wich the ray form changes in time. Default: 1
|
|
39
|
-
*
|
|
40
|
-
* @param {double} roughness From 0 to 1. The higher the value, the more wrinkled is the ray. Default: 0.9
|
|
41
|
-
*
|
|
42
|
-
* @param {double} straightness From 0 to 1. The higher the value, the more straight will be a subray path. Default: 0.7
|
|
43
|
-
*
|
|
44
|
-
* @param {Vector3} up0 Ray 'up' direction at the ray starting point. Must be normalized. It should be perpendicular to the ray forward direction but it doesn't matter much.
|
|
45
|
-
*
|
|
46
|
-
* @param {Vector3} up1 Like the up0 parameter but at the end of the ray. Must be normalized.
|
|
47
|
-
*
|
|
48
|
-
* @param {double} radius0 Radius of the main ray trunk at the start point. Default: 1
|
|
49
|
-
*
|
|
50
|
-
* @param {double} radius1 Radius of the main ray trunk at the end point. Default: 1
|
|
51
|
-
*
|
|
52
|
-
* @param {double} radius0Factor The radius0 of a subray is this factor times the radius0 of its parent subray. Default: 0.5
|
|
53
|
-
*
|
|
54
|
-
* @param {double} radius1Factor The radius1 of a subray is this factor times the radius1 of its parent subray. Default: 0.2
|
|
55
|
-
*
|
|
56
|
-
* @param {minRadius} Minimum value a subray radius0 or radius1 can get. Default: 0.1
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
* The following parameters should not be changed after lightning creation. They can be changed but the ray will change its form abruptly:
|
|
60
|
-
*
|
|
61
|
-
* @param {boolean} isEternal If true the ray never extinguishes. Otherwise its life is controlled by the 'birthTime' and 'deathTime' parameters. Default: true if any of those two parameters is undefined.
|
|
62
|
-
*
|
|
63
|
-
* @param {double} birthTime The time at which the ray starts its life and begins propagating. Only if isEternal is false. Default: None.
|
|
64
|
-
*
|
|
65
|
-
* @param {double} deathTime The time at which the ray ends vanishing and its life. Only if isEternal is false. Default: None.
|
|
66
|
-
*
|
|
67
|
-
* @param {double} propagationTimeFactor From 0 to 1. Lifetime factor at which the ray ends propagating and enters the steady phase. For example, 0.1 means it is propagating 1/10 of its lifetime. Default: 0.1
|
|
68
|
-
*
|
|
69
|
-
* @param {double} vanishingTimeFactor From 0 to 1. Lifetime factor at which the ray ends the steady phase and begins vanishing. For example, 0.9 means it is vanishing 1/10 of its lifetime. Default: 0.9
|
|
70
|
-
*
|
|
71
|
-
* @param {double} subrayPeriod Subrays cycle periodically. This is their time period. Default: 4
|
|
72
|
-
*
|
|
73
|
-
* @param {double} subrayDutyCycle From 0 to 1. This is the fraction of time a subray is active. Default: 0.6
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
* These parameters cannot change after lightning creation:
|
|
77
|
-
*
|
|
78
|
-
* @param {integer} maxIterations: Greater than 0. The number of ray's leaf segments is 2**maxIterations. Default: 9
|
|
79
|
-
*
|
|
80
|
-
* @param {boolean} isStatic Set to true only for rays which won't change over time and are not attached to moving objects (Rare case). It is used to set the vertex buffers non-dynamic. You can omit calling update() for these rays.
|
|
81
|
-
*
|
|
82
|
-
* @param {integer} ramification Greater than 0. Maximum number of child subrays a subray can have. Default: 5
|
|
83
|
-
*
|
|
84
|
-
* @param {integer} maxSubrayRecursion Greater than 0. Maximum level of recursion (subray descendant generations). Default: 3
|
|
85
|
-
*
|
|
86
|
-
* @param {double} recursionProbability From 0 to 1. The lower the value, the less chance each new generation of subrays has to generate new subrays. Default: 0.6
|
|
87
|
-
*
|
|
88
|
-
* @param {boolean} generateUVs If true, the ray geometry will have uv coordinates generated. u runs along the ray, and v across its perimeter. Default: false.
|
|
89
|
-
*
|
|
90
|
-
* @param {Object} randomGenerator Set here your random number generator which will seed the SimplexNoise and other decisions during ray tree creation.
|
|
91
|
-
* It can be used to generate repeatable rays. For that, set also the noiseSeed parameter, and each ray created with that generator and seed pair will be identical in time.
|
|
92
|
-
* The randomGenerator parameter should be an object with a random() function similar to Math.random, but seedable.
|
|
93
|
-
* It must have also a getSeed() method, which returns the current seed, and a setSeed( seed ) method, which accepts as seed a fractional number from 0 to 1, as well as any other number.
|
|
94
|
-
* The default value is an internal generator for some uses and Math.random for others (It is non-repeatable even if noiseSeed is supplied)
|
|
95
|
-
*
|
|
96
|
-
* @param {double} noiseSeed Seed used to make repeatable rays (see the randomGenerator)
|
|
97
|
-
*
|
|
98
|
-
* @param {function} onDecideSubrayCreation Set this to change the callback which decides subray creation. You can look at the default callback in the code (createDefaultSubrayCreationCallbacks)for more info.
|
|
99
|
-
*
|
|
100
|
-
* @param {function} onSubrayCreation This is another callback, more simple than the previous one. It can be used to adapt the form of subrays or other parameters once a subray has been created and initialized. It is used in the examples to adapt subrays to a sphere or to a plane.
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
*/
|
|
104
|
-
|
|
105
|
-
class LightningStrike extends BufferGeometry {
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const THREE = require("three");
|
|
4
|
+
const SimplexNoise = require("../math/SimplexNoise.js");
|
|
5
|
+
class LightningStrike extends THREE.BufferGeometry {
|
|
106
6
|
constructor(rayParameters) {
|
|
107
7
|
super();
|
|
108
|
-
this.type =
|
|
109
|
-
|
|
8
|
+
this.type = "LightningStrike";
|
|
110
9
|
rayParameters = rayParameters || {};
|
|
111
|
-
this.init(LightningStrike.copyParameters(rayParameters, rayParameters));
|
|
112
|
-
|
|
10
|
+
this.init(LightningStrike.copyParameters(rayParameters, rayParameters));
|
|
113
11
|
this.createMesh();
|
|
114
12
|
}
|
|
115
|
-
|
|
116
13
|
update(time) {
|
|
117
|
-
if (this.isStatic)
|
|
118
|
-
|
|
14
|
+
if (this.isStatic)
|
|
15
|
+
return;
|
|
119
16
|
if (this.rayParameters.isEternal || this.rayParameters.birthTime <= time && time <= this.rayParameters.deathTime) {
|
|
120
17
|
this.updateMesh(time);
|
|
121
|
-
|
|
122
18
|
if (time < this.subrays[0].endPropagationTime) {
|
|
123
19
|
this.state = LightningStrike.RAY_PROPAGATING;
|
|
124
20
|
} else if (time > this.subrays[0].beginVanishingTime) {
|
|
@@ -126,11 +22,9 @@ class LightningStrike extends BufferGeometry {
|
|
|
126
22
|
} else {
|
|
127
23
|
this.state = LightningStrike.RAY_STEADY;
|
|
128
24
|
}
|
|
129
|
-
|
|
130
25
|
this.visible = true;
|
|
131
26
|
} else {
|
|
132
27
|
this.visible = false;
|
|
133
|
-
|
|
134
28
|
if (time < this.rayParameters.birthTime) {
|
|
135
29
|
this.state = LightningStrike.RAY_UNBORN;
|
|
136
30
|
} else {
|
|
@@ -138,64 +32,50 @@ class LightningStrike extends BufferGeometry {
|
|
|
138
32
|
}
|
|
139
33
|
}
|
|
140
34
|
}
|
|
141
|
-
|
|
142
35
|
init(rayParameters) {
|
|
143
|
-
|
|
144
|
-
this.
|
|
145
|
-
|
|
146
|
-
this.maxIterations = rayParameters.maxIterations !== undefined ? Math.floor(rayParameters.maxIterations) : 9;
|
|
36
|
+
this.rayParameters = rayParameters;
|
|
37
|
+
this.maxIterations = rayParameters.maxIterations !== void 0 ? Math.floor(rayParameters.maxIterations) : 9;
|
|
147
38
|
rayParameters.maxIterations = this.maxIterations;
|
|
148
|
-
this.isStatic = rayParameters.isStatic !==
|
|
39
|
+
this.isStatic = rayParameters.isStatic !== void 0 ? rayParameters.isStatic : false;
|
|
149
40
|
rayParameters.isStatic = this.isStatic;
|
|
150
|
-
this.ramification = rayParameters.ramification !==
|
|
41
|
+
this.ramification = rayParameters.ramification !== void 0 ? Math.floor(rayParameters.ramification) : 5;
|
|
151
42
|
rayParameters.ramification = this.ramification;
|
|
152
|
-
this.maxSubrayRecursion = rayParameters.maxSubrayRecursion !==
|
|
43
|
+
this.maxSubrayRecursion = rayParameters.maxSubrayRecursion !== void 0 ? Math.floor(rayParameters.maxSubrayRecursion) : 3;
|
|
153
44
|
rayParameters.maxSubrayRecursion = this.maxSubrayRecursion;
|
|
154
|
-
this.recursionProbability = rayParameters.recursionProbability !==
|
|
45
|
+
this.recursionProbability = rayParameters.recursionProbability !== void 0 ? rayParameters.recursionProbability : 0.6;
|
|
155
46
|
rayParameters.recursionProbability = this.recursionProbability;
|
|
156
|
-
this.generateUVs = rayParameters.generateUVs !==
|
|
157
|
-
rayParameters.generateUVs = this.generateUVs;
|
|
158
|
-
|
|
159
|
-
if (rayParameters.randomGenerator !== undefined) {
|
|
47
|
+
this.generateUVs = rayParameters.generateUVs !== void 0 ? rayParameters.generateUVs : false;
|
|
48
|
+
rayParameters.generateUVs = this.generateUVs;
|
|
49
|
+
if (rayParameters.randomGenerator !== void 0) {
|
|
160
50
|
this.randomGenerator = rayParameters.randomGenerator;
|
|
161
51
|
this.seedGenerator = rayParameters.randomGenerator;
|
|
162
|
-
|
|
163
|
-
if (rayParameters.noiseSeed !== undefined) {
|
|
52
|
+
if (rayParameters.noiseSeed !== void 0) {
|
|
164
53
|
this.seedGenerator.setSeed(rayParameters.noiseSeed);
|
|
165
54
|
}
|
|
166
55
|
} else {
|
|
167
56
|
this.randomGenerator = LightningStrike.createRandomGenerator();
|
|
168
57
|
this.seedGenerator = Math;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
if (rayParameters.onDecideSubrayCreation !== undefined) {
|
|
58
|
+
}
|
|
59
|
+
if (rayParameters.onDecideSubrayCreation !== void 0) {
|
|
173
60
|
this.onDecideSubrayCreation = rayParameters.onDecideSubrayCreation;
|
|
174
61
|
} else {
|
|
175
62
|
this.createDefaultSubrayCreationCallbacks();
|
|
176
|
-
|
|
177
|
-
if (rayParameters.onSubrayCreation !== undefined) {
|
|
63
|
+
if (rayParameters.onSubrayCreation !== void 0) {
|
|
178
64
|
this.onSubrayCreation = rayParameters.onSubrayCreation;
|
|
179
65
|
}
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
|
|
66
|
+
}
|
|
183
67
|
this.state = LightningStrike.RAY_INITIALIZED;
|
|
184
68
|
this.maxSubrays = Math.ceil(1 + Math.pow(this.ramification, Math.max(0, this.maxSubrayRecursion - 1)));
|
|
185
69
|
rayParameters.maxSubrays = this.maxSubrays;
|
|
186
70
|
this.maxRaySegments = 2 * (1 << this.maxIterations);
|
|
187
71
|
this.subrays = [];
|
|
188
|
-
|
|
189
72
|
for (let i = 0; i < this.maxSubrays; i++) {
|
|
190
73
|
this.subrays.push(this.createSubray());
|
|
191
74
|
}
|
|
192
|
-
|
|
193
75
|
this.raySegments = [];
|
|
194
|
-
|
|
195
76
|
for (let i = 0; i < this.maxRaySegments; i++) {
|
|
196
77
|
this.raySegments.push(this.createSegment());
|
|
197
78
|
}
|
|
198
|
-
|
|
199
79
|
this.time = 0;
|
|
200
80
|
this.timeFraction = 0;
|
|
201
81
|
this.currentSegmentCallback = null;
|
|
@@ -214,72 +94,58 @@ class LightningStrike extends BufferGeometry {
|
|
|
214
94
|
this.indices = null;
|
|
215
95
|
this.positionAttribute = null;
|
|
216
96
|
this.uvsAttribute = null;
|
|
217
|
-
this.simplexX = new SimplexNoise(this.seedGenerator);
|
|
218
|
-
this.simplexY = new SimplexNoise(this.seedGenerator);
|
|
219
|
-
this.simplexZ = new SimplexNoise(this.seedGenerator);
|
|
220
|
-
|
|
221
|
-
this.
|
|
222
|
-
this.
|
|
223
|
-
this.
|
|
224
|
-
this.
|
|
225
|
-
this.
|
|
226
|
-
this.
|
|
227
|
-
this.
|
|
228
|
-
this.
|
|
229
|
-
this.cross1 = new Vector3();
|
|
97
|
+
this.simplexX = new SimplexNoise.SimplexNoise(this.seedGenerator);
|
|
98
|
+
this.simplexY = new SimplexNoise.SimplexNoise(this.seedGenerator);
|
|
99
|
+
this.simplexZ = new SimplexNoise.SimplexNoise(this.seedGenerator);
|
|
100
|
+
this.forwards = new THREE.Vector3();
|
|
101
|
+
this.forwardsFill = new THREE.Vector3();
|
|
102
|
+
this.side = new THREE.Vector3();
|
|
103
|
+
this.down = new THREE.Vector3();
|
|
104
|
+
this.middlePos = new THREE.Vector3();
|
|
105
|
+
this.middleLinPos = new THREE.Vector3();
|
|
106
|
+
this.newPos = new THREE.Vector3();
|
|
107
|
+
this.vPos = new THREE.Vector3();
|
|
108
|
+
this.cross1 = new THREE.Vector3();
|
|
230
109
|
}
|
|
231
|
-
|
|
232
110
|
createMesh() {
|
|
233
111
|
const maxDrawableSegmentsPerSubRay = 1 << this.maxIterations;
|
|
234
112
|
const maxVerts = 3 * (maxDrawableSegmentsPerSubRay + 1) * this.maxSubrays;
|
|
235
113
|
const maxIndices = 18 * maxDrawableSegmentsPerSubRay * this.maxSubrays;
|
|
236
114
|
this.vertices = new Float32Array(maxVerts * 3);
|
|
237
115
|
this.indices = new Uint32Array(maxIndices);
|
|
238
|
-
|
|
239
116
|
if (this.generateUVs) {
|
|
240
117
|
this.uvs = new Float32Array(maxVerts * 2);
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
|
|
118
|
+
}
|
|
244
119
|
this.fillMesh(0);
|
|
245
|
-
this.setIndex(new Uint32BufferAttribute(this.indices, 1));
|
|
246
|
-
this.positionAttribute = new Float32BufferAttribute(this.vertices, 3);
|
|
247
|
-
this.setAttribute(
|
|
248
|
-
|
|
120
|
+
this.setIndex(new THREE.Uint32BufferAttribute(this.indices, 1));
|
|
121
|
+
this.positionAttribute = new THREE.Float32BufferAttribute(this.vertices, 3);
|
|
122
|
+
this.setAttribute("position", this.positionAttribute);
|
|
249
123
|
if (this.generateUVs) {
|
|
250
|
-
this.uvsAttribute = new Float32BufferAttribute(new Float32Array(this.uvs), 2);
|
|
251
|
-
this.setAttribute(
|
|
124
|
+
this.uvsAttribute = new THREE.Float32BufferAttribute(new Float32Array(this.uvs), 2);
|
|
125
|
+
this.setAttribute("uv", this.uvsAttribute);
|
|
252
126
|
}
|
|
253
|
-
|
|
254
127
|
if (!this.isStatic) {
|
|
255
|
-
this.index.usage = DynamicDrawUsage;
|
|
256
|
-
this.positionAttribute.usage = DynamicDrawUsage;
|
|
257
|
-
|
|
128
|
+
this.index.usage = THREE.DynamicDrawUsage;
|
|
129
|
+
this.positionAttribute.usage = THREE.DynamicDrawUsage;
|
|
258
130
|
if (this.generateUVs) {
|
|
259
|
-
this.uvsAttribute.usage = DynamicDrawUsage;
|
|
131
|
+
this.uvsAttribute.usage = THREE.DynamicDrawUsage;
|
|
260
132
|
}
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
|
|
133
|
+
}
|
|
264
134
|
this.vertices = this.positionAttribute.array;
|
|
265
135
|
this.indices = this.index.array;
|
|
266
|
-
|
|
267
136
|
if (this.generateUVs) {
|
|
268
137
|
this.uvs = this.uvsAttribute.array;
|
|
269
138
|
}
|
|
270
139
|
}
|
|
271
|
-
|
|
272
140
|
updateMesh(time) {
|
|
273
141
|
this.fillMesh(time);
|
|
274
142
|
this.drawRange.count = this.currentIndex;
|
|
275
143
|
this.index.needsUpdate = true;
|
|
276
144
|
this.positionAttribute.needsUpdate = true;
|
|
277
|
-
|
|
278
145
|
if (this.generateUVs) {
|
|
279
146
|
this.uvsAttribute.needsUpdate = true;
|
|
280
147
|
}
|
|
281
148
|
}
|
|
282
|
-
|
|
283
149
|
fillMesh(time) {
|
|
284
150
|
const scope = this;
|
|
285
151
|
this.currentVertex = 0;
|
|
@@ -288,41 +154,30 @@ class LightningStrike extends BufferGeometry {
|
|
|
288
154
|
this.currentUVCoordinate = 0;
|
|
289
155
|
this.fractalRay(time, function fillVertices(segment) {
|
|
290
156
|
const subray = scope.currentSubray;
|
|
291
|
-
|
|
292
157
|
if (time < subray.birthTime) {
|
|
293
|
-
//&& ( ! this.rayParameters.isEternal || scope.currentSubray.recursion > 0 ) ) {
|
|
294
158
|
return;
|
|
295
159
|
} else if (this.rayParameters.isEternal && scope.currentSubray.recursion == 0) {
|
|
296
|
-
// Eternal rays don't propagate nor vanish, but its subrays do
|
|
297
160
|
scope.createPrism(segment);
|
|
298
161
|
scope.onDecideSubrayCreation(segment, scope);
|
|
299
162
|
} else if (time < subray.endPropagationTime) {
|
|
300
163
|
if (scope.timeFraction >= segment.fraction0 * subray.propagationTimeFactor) {
|
|
301
|
-
// Ray propagation has arrived to this segment
|
|
302
164
|
scope.createPrism(segment);
|
|
303
165
|
scope.onDecideSubrayCreation(segment, scope);
|
|
304
166
|
}
|
|
305
167
|
} else if (time < subray.beginVanishingTime) {
|
|
306
|
-
// Ray is steady (nor propagating nor vanishing)
|
|
307
168
|
scope.createPrism(segment);
|
|
308
169
|
scope.onDecideSubrayCreation(segment, scope);
|
|
309
170
|
} else {
|
|
310
171
|
if (scope.timeFraction <= subray.vanishingTimeFactor + segment.fraction1 * (1 - subray.vanishingTimeFactor)) {
|
|
311
|
-
// Segment has not yet vanished
|
|
312
172
|
scope.createPrism(segment);
|
|
313
173
|
}
|
|
314
|
-
|
|
315
174
|
scope.onDecideSubrayCreation(segment, scope);
|
|
316
175
|
}
|
|
317
176
|
});
|
|
318
177
|
}
|
|
319
|
-
|
|
320
|
-
addNewSubray()
|
|
321
|
-
/*rayParameters*/
|
|
322
|
-
{
|
|
178
|
+
addNewSubray() {
|
|
323
179
|
return this.subrays[this.numSubrays++];
|
|
324
180
|
}
|
|
325
|
-
|
|
326
181
|
initSubray(subray, rayParameters) {
|
|
327
182
|
subray.pos0.copy(rayParameters.sourceOffset);
|
|
328
183
|
subray.pos1.copy(rayParameters.destOffset);
|
|
@@ -338,26 +193,23 @@ class LightningStrike extends BufferGeometry {
|
|
|
338
193
|
subray.propagationTimeFactor = rayParameters.propagationTimeFactor;
|
|
339
194
|
subray.vanishingTimeFactor = rayParameters.vanishingTimeFactor;
|
|
340
195
|
subray.maxIterations = this.maxIterations;
|
|
341
|
-
subray.seed = rayParameters.noiseSeed !==
|
|
196
|
+
subray.seed = rayParameters.noiseSeed !== void 0 ? rayParameters.noiseSeed : 0;
|
|
342
197
|
subray.recursion = 0;
|
|
343
198
|
}
|
|
344
|
-
|
|
345
199
|
fractalRay(time, segmentCallback) {
|
|
346
200
|
this.time = time;
|
|
347
201
|
this.currentSegmentCallback = segmentCallback;
|
|
348
|
-
this.numSubrays = 0;
|
|
349
|
-
|
|
350
|
-
this.initSubray(this.addNewSubray(), this.rayParameters); // Process all subrays that are being generated until consuming all of them
|
|
351
|
-
|
|
202
|
+
this.numSubrays = 0;
|
|
203
|
+
this.initSubray(this.addNewSubray(), this.rayParameters);
|
|
352
204
|
for (let subrayIndex = 0; subrayIndex < this.numSubrays; subrayIndex++) {
|
|
353
205
|
const subray = this.subrays[subrayIndex];
|
|
354
206
|
this.currentSubray = subray;
|
|
355
207
|
this.randomGenerator.setSeed(subray.seed);
|
|
356
|
-
subray.endPropagationTime = MathUtils.lerp(subray.birthTime, subray.deathTime, subray.propagationTimeFactor);
|
|
357
|
-
subray.beginVanishingTime = MathUtils.lerp(subray.deathTime, subray.birthTime, 1 - subray.vanishingTimeFactor);
|
|
208
|
+
subray.endPropagationTime = THREE.MathUtils.lerp(subray.birthTime, subray.deathTime, subray.propagationTimeFactor);
|
|
209
|
+
subray.beginVanishingTime = THREE.MathUtils.lerp(subray.deathTime, subray.birthTime, 1 - subray.vanishingTimeFactor);
|
|
358
210
|
const random1 = this.randomGenerator.random;
|
|
359
|
-
subray.linPos0.set(random1(), random1(), random1()).multiplyScalar(
|
|
360
|
-
subray.linPos1.set(random1(), random1(), random1()).multiplyScalar(
|
|
211
|
+
subray.linPos0.set(random1(), random1(), random1()).multiplyScalar(1e3);
|
|
212
|
+
subray.linPos1.set(random1(), random1(), random1()).multiplyScalar(1e3);
|
|
361
213
|
this.timeFraction = (time - subray.birthTime) / (subray.deathTime - subray.birthTime);
|
|
362
214
|
this.currentSegmentIndex = 0;
|
|
363
215
|
this.isInitialSegment = true;
|
|
@@ -377,38 +229,33 @@ class LightningStrike extends BufferGeometry {
|
|
|
377
229
|
this.subrayProbability = this.ramification * Math.pow(this.recursionProbability, subray.recursion) / (1 << subray.maxIterations);
|
|
378
230
|
this.fractalRayRecursive(segment);
|
|
379
231
|
}
|
|
380
|
-
|
|
381
232
|
this.currentSegmentCallback = null;
|
|
382
233
|
this.currentSubray = null;
|
|
383
234
|
}
|
|
384
|
-
|
|
385
235
|
fractalRayRecursive(segment) {
|
|
386
|
-
// Leave recursion condition
|
|
387
236
|
if (segment.iteration >= this.currentSubray.maxIterations) {
|
|
388
237
|
this.currentSegmentCallback(segment);
|
|
389
238
|
return;
|
|
390
|
-
}
|
|
391
|
-
|
|
392
|
-
|
|
239
|
+
}
|
|
393
240
|
this.forwards.subVectors(segment.pos1, segment.pos0);
|
|
394
241
|
let lForwards = this.forwards.length();
|
|
395
|
-
|
|
396
|
-
if (lForwards < 0.000001) {
|
|
242
|
+
if (lForwards < 1e-6) {
|
|
397
243
|
this.forwards.set(0, 0, 0.01);
|
|
398
244
|
lForwards = this.forwards.length();
|
|
399
245
|
}
|
|
400
|
-
|
|
401
246
|
const middleRadius = (segment.radius0 + segment.radius1) * 0.5;
|
|
402
247
|
const middleFraction = (segment.fraction0 + segment.fraction1) * 0.5;
|
|
403
248
|
const timeDimension = this.time * this.currentSubray.timeScale * Math.pow(2, segment.iteration);
|
|
404
249
|
this.middlePos.lerpVectors(segment.pos0, segment.pos1, 0.5);
|
|
405
250
|
this.middleLinPos.lerpVectors(segment.linPos0, segment.linPos1, 0.5);
|
|
406
|
-
const p = this.middleLinPos;
|
|
407
|
-
|
|
408
|
-
|
|
251
|
+
const p = this.middleLinPos;
|
|
252
|
+
this.newPos.set(
|
|
253
|
+
this.simplexX.noise4d(p.x, p.y, p.z, timeDimension),
|
|
254
|
+
this.simplexY.noise4d(p.x, p.y, p.z, timeDimension),
|
|
255
|
+
this.simplexZ.noise4d(p.x, p.y, p.z, timeDimension)
|
|
256
|
+
);
|
|
409
257
|
this.newPos.multiplyScalar(segment.positionVariationFactor * lForwards);
|
|
410
|
-
this.newPos.add(this.middlePos);
|
|
411
|
-
|
|
258
|
+
this.newPos.add(this.middlePos);
|
|
412
259
|
const newSegment1 = this.getNewSegment();
|
|
413
260
|
newSegment1.pos0.copy(segment.pos0);
|
|
414
261
|
newSegment1.pos1.copy(this.newPos);
|
|
@@ -439,22 +286,16 @@ class LightningStrike extends BufferGeometry {
|
|
|
439
286
|
this.fractalRayRecursive(newSegment1);
|
|
440
287
|
this.fractalRayRecursive(newSegment2);
|
|
441
288
|
}
|
|
442
|
-
|
|
443
289
|
createPrism(segment) {
|
|
444
|
-
// Creates one triangular prism and its vertices at the segment
|
|
445
290
|
this.forwardsFill.subVectors(segment.pos1, segment.pos0).normalize();
|
|
446
|
-
|
|
447
291
|
if (this.isInitialSegment) {
|
|
448
292
|
this.currentCreateTriangleVertices(segment.pos0, segment.up0, this.forwardsFill, segment.radius0, 0);
|
|
449
293
|
this.isInitialSegment = false;
|
|
450
294
|
}
|
|
451
|
-
|
|
452
295
|
this.currentCreateTriangleVertices(segment.pos1, segment.up0, this.forwardsFill, segment.radius1, segment.fraction1);
|
|
453
296
|
this.createPrismFaces();
|
|
454
297
|
}
|
|
455
|
-
|
|
456
298
|
createTriangleVerticesWithoutUVs(pos, up, forwards, radius) {
|
|
457
|
-
// Create an equilateral triangle (only vertices)
|
|
458
299
|
this.side.crossVectors(up, forwards).multiplyScalar(radius * LightningStrike.COS30DEG);
|
|
459
300
|
this.down.copy(up).multiplyScalar(-radius * LightningStrike.SIN30DEG);
|
|
460
301
|
const p = this.vPos;
|
|
@@ -473,9 +314,7 @@ class LightningStrike extends BufferGeometry {
|
|
|
473
314
|
v[this.currentCoordinate++] = p.z;
|
|
474
315
|
this.currentVertex += 3;
|
|
475
316
|
}
|
|
476
|
-
|
|
477
317
|
createTriangleVerticesWithUVs(pos, up, forwards, radius, u) {
|
|
478
|
-
// Create an equilateral triangle (only vertices)
|
|
479
318
|
this.side.crossVectors(up, forwards).multiplyScalar(radius * LightningStrike.COS30DEG);
|
|
480
319
|
this.down.copy(up).multiplyScalar(-radius * LightningStrike.SIN30DEG);
|
|
481
320
|
const p = this.vPos;
|
|
@@ -501,10 +340,7 @@ class LightningStrike extends BufferGeometry {
|
|
|
501
340
|
uv[this.currentUVCoordinate++] = 1;
|
|
502
341
|
this.currentVertex += 3;
|
|
503
342
|
}
|
|
504
|
-
|
|
505
|
-
createPrismFaces(vertex
|
|
506
|
-
/*, index*/
|
|
507
|
-
) {
|
|
343
|
+
createPrismFaces(vertex) {
|
|
508
344
|
const indices = this.indices;
|
|
509
345
|
var vertex = this.currentVertex - 6;
|
|
510
346
|
indices[this.currentIndex++] = vertex + 1;
|
|
@@ -526,26 +362,21 @@ class LightningStrike extends BufferGeometry {
|
|
|
526
362
|
indices[this.currentIndex++] = vertex + 3;
|
|
527
363
|
indices[this.currentIndex++] = vertex + 5;
|
|
528
364
|
}
|
|
529
|
-
|
|
530
365
|
createDefaultSubrayCreationCallbacks() {
|
|
531
366
|
const random1 = this.randomGenerator.random;
|
|
532
|
-
|
|
533
367
|
this.onDecideSubrayCreation = (segment, lightningStrike) => {
|
|
534
|
-
// Decide subrays creation at parent (sub)ray segment
|
|
535
368
|
const subray = lightningStrike.currentSubray;
|
|
536
369
|
const period = lightningStrike.rayParameters.subrayPeriod;
|
|
537
370
|
const dutyCycle = lightningStrike.rayParameters.subrayDutyCycle;
|
|
538
|
-
const phase0 = lightningStrike.rayParameters.isEternal && subray.recursion == 0 ? -random1() * period : MathUtils.lerp(subray.birthTime, subray.endPropagationTime, segment.fraction0) - random1() * period;
|
|
371
|
+
const phase0 = lightningStrike.rayParameters.isEternal && subray.recursion == 0 ? -random1() * period : THREE.MathUtils.lerp(subray.birthTime, subray.endPropagationTime, segment.fraction0) - random1() * period;
|
|
539
372
|
const phase = lightningStrike.time - phase0;
|
|
540
373
|
const currentCycle = Math.floor(phase / period);
|
|
541
374
|
const childSubraySeed = random1() * (currentCycle + 1);
|
|
542
375
|
const isActive = phase % period <= dutyCycle * period;
|
|
543
376
|
let probability = 0;
|
|
544
|
-
|
|
545
377
|
if (isActive) {
|
|
546
|
-
probability = lightningStrike.subrayProbability;
|
|
378
|
+
probability = lightningStrike.subrayProbability;
|
|
547
379
|
}
|
|
548
|
-
|
|
549
380
|
if (subray.recursion < lightningStrike.maxSubrayRecursion && lightningStrike.numSubrays < lightningStrike.maxSubrays && random1() < probability) {
|
|
550
381
|
const childSubray = lightningStrike.addNewSubray();
|
|
551
382
|
const parentSeed = lightningStrike.randomGenerator.getSeed();
|
|
@@ -553,20 +384,21 @@ class LightningStrike extends BufferGeometry {
|
|
|
553
384
|
lightningStrike.randomGenerator.setSeed(childSubraySeed);
|
|
554
385
|
childSubray.recursion = subray.recursion + 1;
|
|
555
386
|
childSubray.maxIterations = Math.max(1, subray.maxIterations - 1);
|
|
556
|
-
childSubray.linPos0.set(random1(), random1(), random1()).multiplyScalar(
|
|
557
|
-
childSubray.linPos1.set(random1(), random1(), random1()).multiplyScalar(
|
|
387
|
+
childSubray.linPos0.set(random1(), random1(), random1()).multiplyScalar(1e3);
|
|
388
|
+
childSubray.linPos1.set(random1(), random1(), random1()).multiplyScalar(1e3);
|
|
558
389
|
childSubray.up0.copy(subray.up0);
|
|
559
390
|
childSubray.up1.copy(subray.up1);
|
|
560
391
|
childSubray.radius0 = segment.radius0 * lightningStrike.rayParameters.radius0Factor;
|
|
561
|
-
childSubray.radius1 = Math.min(
|
|
392
|
+
childSubray.radius1 = Math.min(
|
|
393
|
+
lightningStrike.rayParameters.minRadius,
|
|
394
|
+
segment.radius1 * lightningStrike.rayParameters.radius1Factor
|
|
395
|
+
);
|
|
562
396
|
childSubray.birthTime = phase0 + currentCycle * period;
|
|
563
397
|
childSubray.deathTime = childSubray.birthTime + period * dutyCycle;
|
|
564
|
-
|
|
565
398
|
if (!lightningStrike.rayParameters.isEternal && subray.recursion == 0) {
|
|
566
399
|
childSubray.birthTime = Math.max(childSubray.birthTime, subray.birthTime);
|
|
567
400
|
childSubray.deathTime = Math.min(childSubray.deathTime, subray.deathTime);
|
|
568
401
|
}
|
|
569
|
-
|
|
570
402
|
childSubray.timeScale = subray.timeScale * 2;
|
|
571
403
|
childSubray.roughness = subray.roughness;
|
|
572
404
|
childSubray.straightness = subray.straightness;
|
|
@@ -576,20 +408,14 @@ class LightningStrike extends BufferGeometry {
|
|
|
576
408
|
lightningStrike.randomGenerator.setSeed(parentSeed);
|
|
577
409
|
}
|
|
578
410
|
};
|
|
579
|
-
|
|
580
|
-
const
|
|
581
|
-
const
|
|
582
|
-
const
|
|
583
|
-
const vec4Up = new Vector3();
|
|
584
|
-
|
|
411
|
+
const vec1Pos = new THREE.Vector3();
|
|
412
|
+
const vec2Forward = new THREE.Vector3();
|
|
413
|
+
const vec3Side = new THREE.Vector3();
|
|
414
|
+
const vec4Up = new THREE.Vector3();
|
|
585
415
|
this.onSubrayCreation = (segment, parentSubray, childSubray, lightningStrike) => {
|
|
586
|
-
// Decide childSubray origin and destination positions (pos0 and pos1) and possibly other properties of childSubray
|
|
587
|
-
// Just use the default cone position generator
|
|
588
416
|
lightningStrike.subrayCylinderPosition(segment, parentSubray, childSubray, 0.5, 0.6, 0.2);
|
|
589
417
|
};
|
|
590
|
-
|
|
591
418
|
this.subrayConePosition = (segment, parentSubray, childSubray, heightFactor, sideWidthFactor, minSideWidthFactor) => {
|
|
592
|
-
// Sets childSubray pos0 and pos1 in a cone
|
|
593
419
|
childSubray.pos0.copy(segment.pos0);
|
|
594
420
|
vec1Pos.subVectors(parentSubray.pos1, parentSubray.pos0);
|
|
595
421
|
vec2Forward.copy(vec1Pos).normalize();
|
|
@@ -601,9 +427,7 @@ class LightningStrike extends BufferGeometry {
|
|
|
601
427
|
vec4Up.copy(parentSubray.up0).multiplyScalar(Math.sin(angle));
|
|
602
428
|
childSubray.pos1.copy(vec3Side).add(vec4Up).multiplyScalar(length * sideWidthFactor * (minSideWidthFactor + random1() * (1 - minSideWidthFactor))).add(vec1Pos).add(parentSubray.pos0);
|
|
603
429
|
};
|
|
604
|
-
|
|
605
430
|
this.subrayCylinderPosition = (segment, parentSubray, childSubray, heightFactor, sideWidthFactor, minSideWidthFactor) => {
|
|
606
|
-
// Sets childSubray pos0 and pos1 in a cylinder
|
|
607
431
|
childSubray.pos0.copy(segment.pos0);
|
|
608
432
|
vec1Pos.subVectors(parentSubray.pos1, parentSubray.pos0);
|
|
609
433
|
vec2Forward.copy(vec1Pos).normalize();
|
|
@@ -616,18 +440,17 @@ class LightningStrike extends BufferGeometry {
|
|
|
616
440
|
childSubray.pos1.copy(vec3Side).add(vec4Up).multiplyScalar(length * sideWidthFactor * (minSideWidthFactor + random1() * (1 - minSideWidthFactor))).add(vec1Pos).add(parentSubray.pos0);
|
|
617
441
|
};
|
|
618
442
|
}
|
|
619
|
-
|
|
620
443
|
createSubray() {
|
|
621
444
|
return {
|
|
622
445
|
seed: 0,
|
|
623
446
|
maxIterations: 0,
|
|
624
447
|
recursion: 0,
|
|
625
|
-
pos0: new Vector3(),
|
|
626
|
-
pos1: new Vector3(),
|
|
627
|
-
linPos0: new Vector3(),
|
|
628
|
-
linPos1: new Vector3(),
|
|
629
|
-
up0: new Vector3(),
|
|
630
|
-
up1: new Vector3(),
|
|
448
|
+
pos0: new THREE.Vector3(),
|
|
449
|
+
pos1: new THREE.Vector3(),
|
|
450
|
+
linPos0: new THREE.Vector3(),
|
|
451
|
+
linPos1: new THREE.Vector3(),
|
|
452
|
+
up0: new THREE.Vector3(),
|
|
453
|
+
up1: new THREE.Vector3(),
|
|
631
454
|
radius0: 0,
|
|
632
455
|
radius1: 0,
|
|
633
456
|
birthTime: 0,
|
|
@@ -641,16 +464,15 @@ class LightningStrike extends BufferGeometry {
|
|
|
641
464
|
beginVanishingTime: 0
|
|
642
465
|
};
|
|
643
466
|
}
|
|
644
|
-
|
|
645
467
|
createSegment() {
|
|
646
468
|
return {
|
|
647
469
|
iteration: 0,
|
|
648
|
-
pos0: new Vector3(),
|
|
649
|
-
pos1: new Vector3(),
|
|
650
|
-
linPos0: new Vector3(),
|
|
651
|
-
linPos1: new Vector3(),
|
|
652
|
-
up0: new Vector3(),
|
|
653
|
-
up1: new Vector3(),
|
|
470
|
+
pos0: new THREE.Vector3(),
|
|
471
|
+
pos1: new THREE.Vector3(),
|
|
472
|
+
linPos0: new THREE.Vector3(),
|
|
473
|
+
linPos1: new THREE.Vector3(),
|
|
474
|
+
up0: new THREE.Vector3(),
|
|
475
|
+
up1: new THREE.Vector3(),
|
|
654
476
|
radius0: 0,
|
|
655
477
|
radius1: 0,
|
|
656
478
|
fraction0: 0,
|
|
@@ -658,25 +480,19 @@ class LightningStrike extends BufferGeometry {
|
|
|
658
480
|
positionVariationFactor: 0
|
|
659
481
|
};
|
|
660
482
|
}
|
|
661
|
-
|
|
662
483
|
getNewSegment() {
|
|
663
484
|
return this.raySegments[this.currentSegmentIndex++];
|
|
664
485
|
}
|
|
665
|
-
|
|
666
486
|
copy(source) {
|
|
667
487
|
super.copy(source);
|
|
668
488
|
this.init(LightningStrike.copyParameters({}, source.rayParameters));
|
|
669
489
|
return this;
|
|
670
490
|
}
|
|
671
|
-
|
|
672
491
|
clone() {
|
|
673
492
|
return new this.constructor(LightningStrike.copyParameters({}, this.rayParameters));
|
|
674
493
|
}
|
|
675
|
-
|
|
676
494
|
}
|
|
677
|
-
|
|
678
|
-
LightningStrike.prototype.isLightningStrike = true; // Ray states
|
|
679
|
-
|
|
495
|
+
LightningStrike.prototype.isLightningStrike = true;
|
|
680
496
|
LightningStrike.RAY_INITIALIZED = 0;
|
|
681
497
|
LightningStrike.RAY_UNBORN = 1;
|
|
682
498
|
LightningStrike.RAY_PROPAGATING = 2;
|
|
@@ -685,56 +501,47 @@ LightningStrike.RAY_VANISHING = 4;
|
|
|
685
501
|
LightningStrike.RAY_EXTINGUISHED = 5;
|
|
686
502
|
LightningStrike.COS30DEG = Math.cos(30 * Math.PI / 180);
|
|
687
503
|
LightningStrike.SIN30DEG = Math.sin(30 * Math.PI / 180);
|
|
688
|
-
|
|
689
504
|
LightningStrike.createRandomGenerator = () => {
|
|
690
505
|
const numSeeds = 2053;
|
|
691
506
|
const seeds = [];
|
|
692
|
-
|
|
693
507
|
for (let i = 0; i < numSeeds; i++) {
|
|
694
508
|
seeds.push(Math.random());
|
|
695
509
|
}
|
|
696
|
-
|
|
697
510
|
const generator = {
|
|
698
511
|
currentSeed: 0,
|
|
699
|
-
random: function
|
|
512
|
+
random: function() {
|
|
700
513
|
const value = seeds[generator.currentSeed];
|
|
701
514
|
generator.currentSeed = (generator.currentSeed + 1) % numSeeds;
|
|
702
515
|
return value;
|
|
703
516
|
},
|
|
704
|
-
getSeed: function
|
|
517
|
+
getSeed: function() {
|
|
705
518
|
return generator.currentSeed / numSeeds;
|
|
706
519
|
},
|
|
707
|
-
setSeed: function
|
|
520
|
+
setSeed: function(seed) {
|
|
708
521
|
generator.currentSeed = Math.floor(seed * numSeeds) % numSeeds;
|
|
709
522
|
}
|
|
710
523
|
};
|
|
711
524
|
return generator;
|
|
712
525
|
};
|
|
713
|
-
|
|
714
526
|
LightningStrike.copyParameters = (dest, source) => {
|
|
715
527
|
source = source || {};
|
|
716
528
|
dest = dest || {};
|
|
717
|
-
|
|
718
|
-
const vecCopy = v => {
|
|
529
|
+
const vecCopy = (v) => {
|
|
719
530
|
if (source === dest) {
|
|
720
531
|
return v;
|
|
721
532
|
} else {
|
|
722
533
|
return v.clone();
|
|
723
534
|
}
|
|
724
535
|
};
|
|
725
|
-
|
|
726
|
-
dest.
|
|
727
|
-
dest.
|
|
728
|
-
dest.
|
|
729
|
-
|
|
730
|
-
dest.
|
|
731
|
-
dest.
|
|
732
|
-
dest.
|
|
733
|
-
dest.maxSubrayRecursion = source.maxSubrayRecursion !== undefined ? source.maxSubrayRecursion : 3;
|
|
734
|
-
dest.recursionProbability = source.recursionProbability !== undefined ? source.recursionProbability : 0.6;
|
|
735
|
-
dest.generateUVs = source.generateUVs !== undefined ? source.generateUVs : false;
|
|
536
|
+
dest.sourceOffset = source.sourceOffset !== void 0 ? vecCopy(source.sourceOffset) : new THREE.Vector3(0, 100, 0), dest.destOffset = source.destOffset !== void 0 ? vecCopy(source.destOffset) : new THREE.Vector3(0, 0, 0), dest.timeScale = source.timeScale !== void 0 ? source.timeScale : 1, dest.roughness = source.roughness !== void 0 ? source.roughness : 0.9, dest.straightness = source.straightness !== void 0 ? source.straightness : 0.7, dest.up0 = source.up0 !== void 0 ? vecCopy(source.up0) : new THREE.Vector3(0, 0, 1);
|
|
537
|
+
dest.up1 = source.up1 !== void 0 ? vecCopy(source.up1) : new THREE.Vector3(0, 0, 1), dest.radius0 = source.radius0 !== void 0 ? source.radius0 : 1, dest.radius1 = source.radius1 !== void 0 ? source.radius1 : 1, dest.radius0Factor = source.radius0Factor !== void 0 ? source.radius0Factor : 0.5, dest.radius1Factor = source.radius1Factor !== void 0 ? source.radius1Factor : 0.2, dest.minRadius = source.minRadius !== void 0 ? source.minRadius : 0.2, dest.isEternal = source.isEternal !== void 0 ? source.isEternal : source.birthTime === void 0 || source.deathTime === void 0, dest.birthTime = source.birthTime, dest.deathTime = source.deathTime, dest.propagationTimeFactor = source.propagationTimeFactor !== void 0 ? source.propagationTimeFactor : 0.1, dest.vanishingTimeFactor = source.vanishingTimeFactor !== void 0 ? source.vanishingTimeFactor : 0.9, dest.subrayPeriod = source.subrayPeriod !== void 0 ? source.subrayPeriod : 4, dest.subrayDutyCycle = source.subrayDutyCycle !== void 0 ? source.subrayDutyCycle : 0.6;
|
|
538
|
+
dest.maxIterations = source.maxIterations !== void 0 ? source.maxIterations : 9;
|
|
539
|
+
dest.isStatic = source.isStatic !== void 0 ? source.isStatic : false;
|
|
540
|
+
dest.ramification = source.ramification !== void 0 ? source.ramification : 5;
|
|
541
|
+
dest.maxSubrayRecursion = source.maxSubrayRecursion !== void 0 ? source.maxSubrayRecursion : 3;
|
|
542
|
+
dest.recursionProbability = source.recursionProbability !== void 0 ? source.recursionProbability : 0.6;
|
|
543
|
+
dest.generateUVs = source.generateUVs !== void 0 ? source.generateUVs : false;
|
|
736
544
|
dest.randomGenerator = source.randomGenerator, dest.noiseSeed = source.noiseSeed, dest.onDecideSubrayCreation = source.onDecideSubrayCreation, dest.onSubrayCreation = source.onSubrayCreation;
|
|
737
545
|
return dest;
|
|
738
546
|
};
|
|
739
|
-
|
|
740
|
-
export { LightningStrike };
|
|
547
|
+
exports.LightningStrike = LightningStrike;
|