three-stdlib 2.15.2 → 2.16.1
Sign up to get free protection for your applications and to get access to all the features.
- package/BufferGeometryUtils-1a7a235c.js +655 -0
- package/BufferGeometryUtils-971dfde3.js +1 -0
- package/Nodes-4f766d71.js +471 -0
- package/Nodes-9aa16d74.js +1 -0
- package/animation/AnimationClipCreator.cjs.js +1 -0
- package/animation/AnimationClipCreator.js +52 -32
- package/animation/CCDIKSolver.cjs.js +1 -0
- package/animation/CCDIKSolver.js +275 -207
- package/animation/MMDAnimationHelper.cjs.js +1 -0
- package/animation/MMDAnimationHelper.js +341 -150
- package/animation/MMDPhysics.cjs.js +1 -0
- package/animation/MMDPhysics.js +361 -154
- package/cameras/CinematicCamera.cjs.js +1 -0
- package/cameras/CinematicCamera.js +77 -67
- package/controls/ArcballControls.cjs.js +1 -0
- package/controls/ArcballControls.js +1449 -544
- package/controls/DeviceOrientationControls.cjs.js +1 -0
- package/controls/DeviceOrientationControls.js +97 -52
- package/controls/DragControls.cjs.js +1 -0
- package/controls/DragControls.js +187 -85
- package/controls/FirstPersonControls.cjs.js +1 -0
- package/controls/FirstPersonControls.js +193 -123
- package/controls/FlyControls.cjs.js +1 -0
- package/controls/FlyControls.js +152 -82
- package/controls/OrbitControls.cjs.js +1 -0
- package/controls/OrbitControls.js +481 -232
- package/controls/PointerLockControls.cjs.js +1 -0
- package/controls/PointerLockControls.js +99 -63
- package/controls/TrackballControls.cjs.js +1 -0
- package/controls/TrackballControls.js +383 -211
- package/controls/TransformControls.cjs.js +1 -0
- package/controls/TransformControls.js +782 -575
- package/controls/experimental/CameraControls.cjs.js +1 -0
- package/controls/experimental/CameraControls.js +609 -329
- package/csm/CSM.cjs.js +1 -0
- package/csm/CSM.js +108 -47
- package/csm/CSMFrustum.cjs.js +1 -0
- package/csm/CSMFrustum.js +29 -14
- package/csm/CSMHelper.cjs.js +1 -0
- package/csm/CSMHelper.js +34 -20
- package/csm/CSMShader.cjs.js +1 -0
- package/csm/CSMShader.js +11 -7
- package/curves/CurveExtras.cjs.js +1 -0
- package/curves/CurveExtras.js +115 -73
- package/curves/NURBSCurve.cjs.js +1 -0
- package/curves/NURBSCurve.js +43 -15
- package/curves/NURBSSurface.cjs.js +1 -0
- package/curves/NURBSSurface.js +27 -11
- package/curves/NURBSUtils.cjs.js +1 -0
- package/curves/NURBSUtils.js +203 -54
- package/custom.d.cjs.js +1 -0
- package/{shaders/types.mjs → custom.d.js} +0 -0
- package/deprecated/Geometry.cjs.js +1 -0
- package/deprecated/Geometry.js +486 -191
- package/effects/AnaglyphEffect.cjs.js +1 -0
- package/effects/AnaglyphEffect.js +60 -95
- package/effects/AsciiEffect.cjs.js +1 -0
- package/effects/AsciiEffect.js +110 -80
- package/effects/OutlineEffect.cjs.js +1 -0
- package/effects/OutlineEffect.js +204 -121
- package/effects/ParallaxBarrierEffect.cjs.js +1 -0
- package/effects/ParallaxBarrierEffect.js +38 -39
- package/effects/PeppersGhostEffect.cjs.js +1 -0
- package/effects/PeppersGhostEffect.js +68 -19
- package/effects/StereoEffect.cjs.js +1 -0
- package/effects/StereoEffect.js +16 -12
- package/environments/RoomEnvironment.cjs.js +1 -0
- package/environments/RoomEnvironment.js +47 -52
- package/exporters/ColladaExporter.cjs.js +1 -0
- package/exporters/ColladaExporter.js +241 -115
- package/exporters/DRACOExporter.cjs.js +1 -0
- package/exporters/DRACOExporter.js +121 -67
- package/exporters/GLTFExporter.cjs.js +1 -0
- package/exporters/GLTFExporter.js +1014 -463
- package/exporters/MMDExporter.cjs.js +1 -0
- package/exporters/MMDExporter.js +102 -44
- package/exporters/OBJExporter.cjs.js +1 -0
- package/exporters/OBJExporter.js +140 -78
- package/exporters/PLYExporter.cjs.js +1 -0
- package/exporters/PLYExporter.js +154 -93
- package/exporters/STLExporter.cjs.js +1 -0
- package/exporters/STLExporter.js +81 -30
- package/exporters/USDZExporter.cjs.js +1 -0
- package/exporters/USDZExporter.js +144 -84
- package/geometries/BoxLineGeometry.cjs.js +1 -0
- package/geometries/BoxLineGeometry.js +14 -7
- package/geometries/ConvexGeometry.cjs.js +1 -0
- package/geometries/ConvexGeometry.js +23 -14
- package/geometries/DecalGeometry.cjs.js +1 -0
- package/geometries/DecalGeometry.js +162 -108
- package/geometries/LightningStrike.cjs.js +1 -0
- package/geometries/LightningStrike.js +294 -101
- package/geometries/ParametricGeometries.cjs.js +1 -0
- package/geometries/ParametricGeometries.js +76 -26
- package/geometries/ParametricGeometry.cjs.js +1 -0
- package/geometries/ParametricGeometry.js +48 -24
- package/geometries/RoundedBoxGeometry.cjs.js +1 -0
- package/geometries/RoundedBoxGeometry.js +64 -33
- package/geometries/TeapotGeometry.cjs.js +1 -0
- package/geometries/TeapotGeometry.js +174 -1434
- package/geometries/TextGeometry.cjs.js +1 -0
- package/geometries/TextGeometry.js +17 -9
- package/helpers/LightProbeHelper.cjs.js +1 -0
- package/helpers/LightProbeHelper.js +21 -53
- package/helpers/PositionalAudioHelper.cjs.js +1 -0
- package/helpers/PositionalAudioHelper.js +30 -23
- package/helpers/RectAreaLightHelper.cjs.js +1 -0
- package/helpers/RectAreaLightHelper.js +33 -17
- package/helpers/VertexNormalsHelper.cjs.js +1 -0
- package/helpers/VertexNormalsHelper.js +41 -20
- package/helpers/VertexTangentsHelper.cjs.js +1 -0
- package/helpers/VertexTangentsHelper.js +36 -18
- package/index.cjs.js +1 -0
- package/index.js +333 -968
- package/interactive/InteractiveGroup.cjs.js +1 -0
- package/interactive/InteractiveGroup.d.ts +5 -0
- package/interactive/InteractiveGroup.js +87 -0
- package/interactive/SelectionBox.cjs.js +1 -0
- package/interactive/SelectionBox.js +46 -31
- package/interactive/SelectionHelper.cjs.js +1 -0
- package/interactive/SelectionHelper.js +21 -16
- package/libs/MeshoptDecoder.cjs.js +1 -0
- package/libs/MeshoptDecoder.js +58 -147
- package/libs/MotionControllers.cjs.js +1 -0
- package/libs/MotionControllers.js +208 -66
- package/lights/LightProbeGenerator.cjs.js +1 -0
- package/lights/LightProbeGenerator.js +96 -40
- package/lights/RectAreaLightUniformsLib.cjs.js +1 -0
- package/lights/RectAreaLightUniformsLib.js +9 -32842
- package/lines/Line2.cjs.js +1 -0
- package/lines/Line2.js +12 -9
- package/lines/LineGeometry.cjs.js +1 -0
- package/lines/LineGeometry.js +19 -7
- package/lines/LineMaterial.cjs.js +1 -0
- package/lines/LineMaterial.js +89 -51
- package/lines/LineSegments2.cjs.js +1 -0
- package/lines/LineSegments2.js +165 -56
- package/lines/LineSegmentsGeometry.cjs.js +1 -0
- package/lines/LineSegmentsGeometry.js +71 -29
- package/lines/Wireframe.cjs.js +1 -0
- package/lines/Wireframe.js +29 -15
- package/lines/WireframeGeometry2.cjs.js +1 -0
- package/lines/WireframeGeometry2.js +9 -8
- package/loaders/3DMLoader.cjs.js +1 -0
- package/loaders/3DMLoader.js +469 -234
- package/loaders/3MFLoader.cjs.js +1 -0
- package/loaders/3MFLoader.js +555 -340
- package/loaders/AMFLoader.cjs.js +1 -0
- package/loaders/AMFLoader.js +219 -114
- package/loaders/AssimpLoader.cjs.js +1 -0
- package/loaders/AssimpLoader.js +725 -328
- package/loaders/BVHLoader.cjs.js +1 -0
- package/loaders/BVHLoader.js +200 -94
- package/loaders/BasisTextureLoader.cjs.js +1 -0
- package/loaders/BasisTextureLoader.js +357 -229
- package/loaders/ColladaLoader.cjs.js +1 -0
- package/loaders/ColladaLoader.js +1522 -932
- package/loaders/DDSLoader.cjs.js +1 -0
- package/loaders/DDSLoader.js +108 -42
- package/loaders/DRACOLoader.cjs.js +1 -0
- package/loaders/DRACOLoader.js +210 -103
- package/loaders/EXRLoader.cjs.js +1 -0
- package/loaders/EXRLoader.js +809 -461
- package/loaders/FBXLoader.cjs.js +1 -0
- package/loaders/FBXLoader.js +1397 -842
- package/loaders/FontLoader.cjs.js +1 -0
- package/loaders/FontLoader.js +66 -33
- package/loaders/GCodeLoader.cjs.js +1 -0
- package/loaders/GCodeLoader.js +111 -63
- package/loaders/GLTFLoader.cjs.js +1 -0
- package/loaders/GLTFLoader.js +1484 -771
- package/loaders/HDRCubeTextureLoader.cjs.js +1 -0
- package/loaders/HDRCubeTextureLoader.js +50 -45
- package/loaders/KMZLoader.cjs.js +1 -0
- package/loaders/KMZLoader.js +55 -42
- package/loaders/KTX2Loader.cjs.js +1 -0
- package/loaders/KTX2Loader.js +362 -229
- package/loaders/KTXLoader.cjs.js +1 -0
- package/loaders/KTXLoader.js +99 -37
- package/loaders/LDrawLoader.cjs.js +1 -0
- package/loaders/LDrawLoader.js +746 -313
- package/loaders/LUT3dlLoader.cjs.js +1 -0
- package/loaders/LUT3dlLoader.js +62 -50
- package/loaders/LUTCubeLoader.cjs.js +1 -0
- package/loaders/LUTCubeLoader.js +56 -45
- package/loaders/LWOLoader.cjs.js +1 -0
- package/loaders/LWOLoader.js +339 -227
- package/loaders/LottieLoader.cjs.js +1 -0
- package/loaders/LottieLoader.js +38 -36
- package/loaders/MD2Loader.cjs.js +1 -0
- package/loaders/MD2Loader.js +91 -248
- package/loaders/MDDLoader.cjs.js +1 -0
- package/loaders/MDDLoader.js +45 -25
- package/loaders/MMDLoader.cjs.js +1 -0
- package/loaders/MMDLoader.js +795 -359
- package/loaders/MTLLoader.cjs.js +1 -0
- package/loaders/MTLLoader.js +201 -91
- package/loaders/NRRDLoader.cjs.js +1 -0
- package/loaders/NRRDLoader.js +263 -182
- package/loaders/NodeMaterialLoader.cjs.js +1 -0
- package/loaders/NodeMaterialLoader.js +14 -121
- package/loaders/OBJLoader.cjs.js +1 -0
- package/loaders/OBJLoader.js +283 -161
- package/loaders/PCDLoader.cjs.js +1 -0
- package/loaders/PCDLoader.js +164 -145
- package/loaders/PDBLoader.cjs.js +1 -0
- package/loaders/PDBLoader.js +63 -45
- package/loaders/PLYLoader.cjs.js +1 -0
- package/loaders/PLYLoader.js +203 -106
- package/loaders/PRWMLoader.cjs.js +1 -0
- package/loaders/PRWMLoader.js +110 -73
- package/loaders/PVRLoader.cjs.js +1 -0
- package/loaders/PVRLoader.js +93 -32
- package/loaders/RGBELoader.cjs.js +1 -0
- package/loaders/RGBELoader.js +233 -96
- package/loaders/RGBMLoader.cjs.js +1 -0
- package/loaders/RGBMLoader.js +514 -344
- package/loaders/STLLoader.cjs.js +1 -0
- package/loaders/STLLoader.js +165 -59
- package/loaders/SVGLoader.cjs.js +1 -0
- package/loaders/SVGLoader.js +851 -481
- package/loaders/TDSLoader.cjs.js +1 -0
- package/loaders/TDSLoader.js +527 -137
- package/loaders/TGALoader.cjs.js +1 -0
- package/loaders/TGALoader.js +205 -94
- package/loaders/TTFLoader.cjs.js +1 -0
- package/loaders/TTFLoader.js +79 -58
- package/loaders/TiltLoader.cjs.js +1 -0
- package/loaders/TiltLoader.js +167 -129
- package/loaders/VOXLoader.cjs.js +1 -0
- package/loaders/VOXLoader.js +84 -320
- package/loaders/VRMLLoader.cjs.js +1 -0
- package/loaders/VRMLLoader.js +1268 -786
- package/loaders/VRMLoader.cjs.js +1 -0
- package/loaders/VRMLoader.js +31 -23
- package/loaders/VTKLoader.cjs.js +1 -0
- package/loaders/VTKLoader.js +407 -219
- package/loaders/XLoader.cjs.js +1 -0
- package/loaders/XLoader.js +1259 -1083
- package/loaders/XYZLoader.cjs.js +1 -0
- package/loaders/XYZLoader.js +34 -28
- package/loaders/lwo/IFFParser.cjs.js +1 -0
- package/loaders/lwo/IFFParser.js +492 -238
- package/loaders/lwo/LWO2Parser.cjs.js +1 -0
- package/loaders/lwo/LWO2Parser.js +279 -176
- package/loaders/lwo/LWO3Parser.cjs.js +1 -0
- package/loaders/lwo/LWO3Parser.js +247 -160
- package/math/Capsule.cjs.js +1 -0
- package/math/Capsule.js +43 -56
- package/math/ColorConverter.cjs.js +1 -0
- package/math/ColorConverter.js +32 -18
- package/math/ConvexHull.cjs.js +1 -0
- package/math/ConvexHull.js +357 -97
- package/math/ImprovedNoise.cjs.js +1 -0
- package/math/ImprovedNoise.js +32 -282
- package/math/Lut.cjs.js +1 -0
- package/math/Lut.js +35 -51
- package/math/MeshSurfaceSampler.cjs.js +1 -0
- package/math/MeshSurfaceSampler.js +68 -25
- package/math/OBB.cjs.js +1 -0
- package/math/OBB.js +152 -91
- package/math/Octree.cjs.js +1 -0
- package/math/Octree.js +139 -76
- package/math/SimplexNoise.cjs.js +1 -0
- package/math/SimplexNoise.js +238 -217
- package/misc/ConvexObjectBreaker.cjs.js +1 -0
- package/misc/ConvexObjectBreaker.js +185 -79
- package/misc/GPUComputationRenderer.cjs.js +1 -0
- package/misc/GPUComputationRenderer.js +194 -69
- package/misc/Gyroscope.cjs.js +1 -0
- package/misc/Gyroscope.js +22 -16
- package/misc/MD2Character.cjs.js +1 -0
- package/misc/MD2Character.js +74 -52
- package/misc/MD2CharacterComplex.cjs.js +1 -0
- package/misc/MD2CharacterComplex.js +163 -112
- package/misc/MorphAnimMesh.cjs.js +1 -0
- package/misc/MorphAnimMesh.js +28 -20
- package/misc/MorphBlendMesh.cjs.js +1 -0
- package/misc/MorphBlendMesh.js +69 -45
- package/misc/ProgressiveLightmap.cjs.js +1 -0
- package/misc/ProgressiveLightmap.js +187 -70
- package/misc/RollerCoaster.cjs.js +1 -0
- package/misc/RollerCoaster.js +135 -106
- package/misc/TubePainter.cjs.js +1 -0
- package/misc/TubePainter.js +92 -74
- package/misc/Volume.cjs.js +1 -0
- package/misc/Volume.js +270 -108
- package/misc/VolumeSlice.cjs.js +1 -0
- package/misc/VolumeSlice.js +122 -34
- package/misc/WebGL.cjs.js +1 -0
- package/misc/WebGL.js +34 -37
- package/modifiers/CurveModifier.cjs.js +1 -0
- package/modifiers/CurveModifier.js +151 -46
- package/modifiers/EdgeSplitModifier.cjs.js +1 -0
- package/modifiers/EdgeSplitModifier.js +90 -46
- package/modifiers/SimplifyModifier.cjs.js +1 -0
- package/modifiers/SimplifyModifier.js +202 -77
- package/modifiers/TessellateModifier.cjs.js +1 -0
- package/modifiers/TessellateModifier.js +90 -65
- package/nodes/Nodes.cjs.js +1 -0
- package/nodes/Nodes.js +140 -274
- package/nodes/ShaderNode.cjs.js +1 -0
- package/nodes/ShaderNode.js +196 -296
- package/nodes/accessors/BufferNode.cjs.js +1 -0
- package/nodes/accessors/BufferNode.js +8 -4
- package/nodes/accessors/CameraNode.cjs.js +1 -0
- package/nodes/accessors/CameraNode.js +25 -20
- package/nodes/accessors/CubeTextureNode.cjs.js +1 -0
- package/nodes/accessors/CubeTextureNode.js +26 -14
- package/nodes/accessors/MaterialNode.cjs.js +1 -0
- package/nodes/accessors/MaterialNode.js +53 -43
- package/nodes/accessors/MaterialReferenceNode.cjs.js +1 -0
- package/nodes/accessors/MaterialReferenceNode.js +6 -3
- package/nodes/accessors/ModelNode.cjs.js +1 -0
- package/nodes/accessors/ModelNode.js +5 -3
- package/nodes/accessors/ModelViewProjectionNode.cjs.js +1 -0
- package/nodes/accessors/ModelViewProjectionNode.js +13 -14
- package/nodes/accessors/NormalNode.cjs.js +1 -0
- package/nodes/accessors/NormalNode.js +39 -40
- package/nodes/accessors/Object3DNode.cjs.js +1 -0
- package/nodes/accessors/Object3DNode.js +50 -40
- package/nodes/accessors/PointUVNode.cjs.js +1 -0
- package/nodes/accessors/PointUVNode.js +9 -5
- package/nodes/accessors/PositionNode.cjs.js +1 -0
- package/nodes/accessors/PositionNode.js +41 -42
- package/nodes/accessors/ReferenceNode.cjs.js +1 -0
- package/nodes/accessors/ReferenceNode.js +17 -10
- package/nodes/accessors/ReflectNode.cjs.js +1 -0
- package/nodes/accessors/ReflectNode.js +26 -23
- package/nodes/accessors/SkinningNode.cjs.js +1 -0
- package/nodes/accessors/SkinningNode.js +48 -46
- package/nodes/accessors/TextureNode.cjs.js +1 -0
- package/nodes/accessors/TextureNode.js +29 -14
- package/nodes/accessors/UVNode.cjs.js +1 -0
- package/nodes/accessors/UVNode.js +11 -5
- package/nodes/core/ArrayUniformNode.cjs.js +1 -0
- package/nodes/core/ArrayUniformNode.js +7 -3
- package/nodes/core/AttributeNode.cjs.js +1 -0
- package/nodes/core/AttributeNode.js +12 -5
- package/nodes/core/BypassNode.cjs.js +1 -0
- package/nodes/core/BypassNode.js +12 -5
- package/nodes/core/CodeNode.cjs.js +1 -0
- package/nodes/core/CodeNode.js +12 -4
- package/nodes/core/ConstNode.cjs.js +1 -0
- package/nodes/core/ConstNode.js +7 -3
- package/nodes/core/ContextNode.cjs.js +1 -0
- package/nodes/core/ContextNode.js +8 -3
- package/nodes/core/ExpressionNode.cjs.js +1 -0
- package/nodes/core/ExpressionNode.js +9 -5
- package/nodes/core/FunctionCallNode.cjs.js +1 -0
- package/nodes/core/FunctionCallNode.js +15 -6
- package/nodes/core/FunctionNode.cjs.js +1 -0
- package/nodes/core/FunctionNode.js +25 -10
- package/nodes/core/InputNode.cjs.js +1 -0
- package/nodes/core/InputNode.js +23 -12
- package/nodes/core/Node.cjs.js +1 -0
- package/nodes/core/Node.js +75 -35
- package/nodes/core/NodeAttribute.cjs.js +1 -0
- package/nodes/core/NodeAttribute.js +4 -2
- package/nodes/core/NodeBuilder.cjs.js +1 -0
- package/nodes/core/NodeBuilder.js +224 -110
- package/nodes/core/NodeCode.cjs.js +1 -0
- package/nodes/core/NodeCode.js +7 -4
- package/nodes/core/NodeFrame.cjs.js +1 -0
- package/nodes/core/NodeFrame.js +12 -9
- package/nodes/core/NodeFunction.cjs.js +1 -0
- package/nodes/core/NodeFunction.js +17 -0
- package/nodes/core/NodeFunctionInput.cjs.js +1 -0
- package/nodes/core/NodeFunctionInput.js +5 -3
- package/nodes/core/NodeKeywords.cjs.js +1 -0
- package/nodes/core/NodeKeywords.js +16 -5
- package/nodes/core/NodeParser.cjs.js +1 -0
- package/nodes/core/NodeParser.js +8 -0
- package/nodes/core/NodeUniform.cjs.js +1 -0
- package/nodes/core/NodeUniform.js +7 -3
- package/nodes/core/NodeUtils.cjs.js +1 -0
- package/nodes/core/NodeUtils.js +43 -39
- package/nodes/core/NodeVar.cjs.js +1 -0
- package/nodes/core/NodeVar.js +4 -2
- package/nodes/core/NodeVary.cjs.js +1 -0
- package/nodes/core/NodeVary.js +4 -2
- package/nodes/core/PropertyNode.cjs.js +1 -0
- package/nodes/core/PropertyNode.js +10 -4
- package/nodes/core/TempNode.cjs.js +1 -0
- package/nodes/core/TempNode.js +11 -5
- package/nodes/core/UniformNode.cjs.js +1 -0
- package/nodes/core/UniformNode.js +10 -4
- package/nodes/core/VarNode.cjs.js +1 -0
- package/nodes/core/VarNode.js +11 -3
- package/nodes/core/VaryNode.cjs.js +1 -0
- package/nodes/core/VaryNode.js +15 -6
- package/nodes/core/constants.cjs.js +1 -0
- package/nodes/core/constants.js +7 -20
- package/nodes/display/ColorSpaceNode.cjs.js +1 -0
- package/nodes/display/ColorSpaceNode.js +38 -34
- package/nodes/display/NormalMapNode.cjs.js +1 -0
- package/nodes/display/NormalMapNode.js +53 -35
- package/nodes/fog/FogNode.cjs.js +1 -0
- package/nodes/fog/FogNode.js +9 -5
- package/nodes/fog/FogRangeNode.cjs.js +1 -0
- package/nodes/fog/FogRangeNode.js +9 -5
- package/nodes/functions/BSDFs.cjs.js +1 -0
- package/nodes/functions/BSDFs.js +118 -61
- package/nodes/functions/PhysicalMaterialFunctions.cjs.js +1 -0
- package/nodes/functions/PhysicalMaterialFunctions.js +57 -0
- package/nodes/lights/LightContextNode.cjs.js +1 -0
- package/nodes/lights/LightContextNode.js +23 -14
- package/nodes/lights/LightNode.cjs.js +1 -0
- package/nodes/lights/LightNode.js +31 -27
- package/nodes/lights/LightsNode.cjs.js +1 -0
- package/nodes/lights/LightsNode.js +28 -9
- package/nodes/loaders/NodeLoader.cjs.js +1 -0
- package/nodes/loaders/NodeLoader.js +42 -27
- package/nodes/loaders/NodeMaterialLoader.cjs.js +1 -0
- package/nodes/loaders/NodeMaterialLoader.js +10 -4
- package/nodes/loaders/NodeObjectLoader.cjs.js +1 -0
- package/nodes/loaders/NodeObjectLoader.js +19 -9
- package/nodes/materials/LineBasicNodeMaterial.cjs.js +1 -0
- package/nodes/materials/LineBasicNodeMaterial.js +10 -5
- package/nodes/materials/Materials.cjs.js +1 -0
- package/nodes/materials/Materials.js +17 -14
- package/nodes/materials/MeshBasicNodeMaterial.cjs.js +1 -0
- package/nodes/materials/MeshBasicNodeMaterial.js +10 -5
- package/nodes/materials/MeshStandardNodeMaterial.cjs.js +1 -0
- package/nodes/materials/MeshStandardNodeMaterial.js +8 -5
- package/nodes/materials/NodeMaterial.cjs.js +1 -0
- package/nodes/materials/NodeMaterial.js +36 -20
- package/nodes/materials/PointsNodeMaterial.cjs.js +1 -0
- package/nodes/materials/PointsNodeMaterial.js +10 -5
- package/nodes/math/CondNode.cjs.js +1 -0
- package/nodes/math/CondNode.js +23 -11
- package/nodes/math/MathNode.cjs.js +1 -0
- package/nodes/math/MathNode.js +142 -98
- package/nodes/math/OperatorNode.cjs.js +1 -0
- package/nodes/math/OperatorNode.js +46 -24
- package/nodes/parsers/GLSLNodeFunction.cjs.js +1 -0
- package/nodes/parsers/GLSLNodeFunction.js +101 -0
- package/nodes/parsers/GLSLNodeParser.cjs.js +1 -0
- package/nodes/parsers/GLSLNodeParser.js +13 -0
- package/nodes/parsers/WGSLNodeFunction.cjs.js +1 -0
- package/nodes/parsers/WGSLNodeFunction.js +71 -0
- package/nodes/parsers/WGSLNodeParser.cjs.js +1 -0
- package/nodes/parsers/WGSLNodeParser.js +13 -0
- package/nodes/procedural/CheckerNode.cjs.js +1 -0
- package/nodes/procedural/CheckerNode.js +19 -13
- package/nodes/utils/ArrayElementNode.cjs.js +1 -0
- package/nodes/utils/ArrayElementNode.js +8 -4
- package/nodes/utils/ConvertNode.cjs.js +1 -0
- package/nodes/utils/ConvertNode.js +8 -3
- package/nodes/utils/JoinNode.cjs.js +1 -0
- package/nodes/utils/JoinNode.js +11 -7
- package/nodes/utils/MatcapUVNode.cjs.js +1 -0
- package/nodes/utils/MatcapUVNode.js +11 -8
- package/nodes/utils/OscNode.cjs.js +1 -0
- package/nodes/utils/OscNode.js +33 -27
- package/nodes/utils/SplitNode.cjs.js +1 -0
- package/nodes/utils/SplitNode.js +20 -6
- package/nodes/utils/SpriteSheetUVNode.cjs.js +1 -0
- package/nodes/utils/SpriteSheetUVNode.js +23 -23
- package/nodes/utils/TimerNode.cjs.js +1 -0
- package/nodes/utils/TimerNode.js +24 -20
- package/objects/GroundProjectedEnv.cjs.js +1 -0
- package/objects/GroundProjectedEnv.js +37 -22
- package/objects/Lensflare.cjs.js +1 -0
- package/objects/Lensflare.js +156 -86
- package/objects/LightningStorm.cjs.js +1 -0
- package/objects/LightningStorm.js +102 -38
- package/objects/MarchingCubes.cjs.js +1 -0
- package/objects/MarchingCubes.js +303 -150
- package/objects/Reflector.cjs.js +1 -0
- package/objects/Reflector.js +72 -50
- package/objects/ReflectorForSSRPass.cjs.js +1 -0
- package/objects/ReflectorForSSRPass.js +131 -80
- package/objects/ReflectorRTT.cjs.js +1 -0
- package/objects/ReflectorRTT.js +7 -6
- package/objects/Refractor.cjs.js +1 -0
- package/objects/Refractor.js +106 -64
- package/objects/ShadowMesh.cjs.js +1 -0
- package/objects/ShadowMesh.js +17 -8
- package/objects/Sky.cjs.js +1 -0
- package/objects/Sky.js +80 -119
- package/objects/Water.cjs.js +1 -0
- package/objects/Water.js +127 -83
- package/objects/Water2.cjs.js +1 -0
- package/objects/Water2.js +108 -72
- package/offscreen/jank.cjs.js +1 -0
- package/offscreen/jank.js +14 -10
- package/offscreen/offscreen.cjs.js +1 -0
- package/offscreen/offscreen.js +5 -4
- package/offscreen/scene.cjs.js +1 -0
- package/offscreen/scene.js +48 -45
- package/package.json +3 -3
- package/physics/AmmoPhysics.cjs.js +1 -0
- package/physics/AmmoPhysics.js +71 -30
- package/postprocessing/AdaptiveToneMappingPass.cjs.js +1 -0
- package/postprocessing/AdaptiveToneMappingPass.js +123 -97
- package/postprocessing/AfterimagePass.cjs.js +1 -0
- package/postprocessing/AfterimagePass.js +49 -28
- package/postprocessing/BloomPass.cjs.js +1 -0
- package/postprocessing/BloomPass.js +69 -43
- package/postprocessing/BokehPass.cjs.js +1 -0
- package/postprocessing/BokehPass.js +69 -39
- package/postprocessing/ClearPass.cjs.js +1 -0
- package/postprocessing/ClearPass.js +25 -10
- package/postprocessing/CubeTexturePass.cjs.js +1 -0
- package/postprocessing/CubeTexturePass.js +27 -28
- package/postprocessing/DotScreenPass.cjs.js +1 -0
- package/postprocessing/DotScreenPass.js +32 -24
- package/postprocessing/EffectComposer.cjs.js +1 -0
- package/postprocessing/EffectComposer.js +86 -39
- package/postprocessing/FilmPass.cjs.js +1 -0
- package/postprocessing/FilmPass.js +30 -25
- package/postprocessing/GlitchPass.cjs.js +1 -0
- package/postprocessing/GlitchPass.js +61 -38
- package/postprocessing/HalftonePass.cjs.js +1 -0
- package/postprocessing/HalftonePass.js +39 -19
- package/postprocessing/LUTPass.cjs.js +1 -0
- package/postprocessing/LUTPass.js +38 -13
- package/postprocessing/MaskPass.cjs.js +1 -0
- package/postprocessing/MaskPass.js +38 -19
- package/postprocessing/OutlinePass.cjs.js +1 -0
- package/postprocessing/OutlinePass.js +277 -135
- package/postprocessing/Pass.cjs.js +1 -0
- package/postprocessing/Pass.js +44 -20
- package/postprocessing/RenderPass.cjs.js +1 -0
- package/postprocessing/RenderPass.js +36 -13
- package/postprocessing/RenderPixelatedPass.cjs.js +1 -0
- package/postprocessing/RenderPixelatedPass.js +58 -44
- package/postprocessing/SAOPass.cjs.js +1 -0
- package/postprocessing/SAOPass.js +189 -154
- package/postprocessing/SMAAPass.cjs.js +1 -0
- package/postprocessing/SMAAPass.js +84 -64
- package/postprocessing/SSAARenderPass.cjs.js +1 -0
- package/postprocessing/SSAARenderPass.js +69 -121
- package/postprocessing/SSAOPass.cjs.js +1 -0
- package/postprocessing/SSAOPass.js +172 -123
- package/postprocessing/SSRPass.cjs.js +1 -0
- package/postprocessing/SSRPass.js +280 -211
- package/postprocessing/SavePass.cjs.js +1 -0
- package/postprocessing/SavePass.js +25 -20
- package/postprocessing/ShaderPass.cjs.js +1 -0
- package/postprocessing/ShaderPass.js +30 -14
- package/postprocessing/TAARenderPass.cjs.js +1 -0
- package/postprocessing/TAARenderPass.js +61 -42
- package/postprocessing/TexturePass.cjs.js +1 -0
- package/postprocessing/TexturePass.js +22 -21
- package/postprocessing/UnrealBloomPass.cjs.js +1 -0
- package/postprocessing/UnrealBloomPass.js +213 -105
- package/renderers/CSS2DRenderer.cjs.js +1 -0
- package/renderers/CSS2DRenderer.js +56 -44
- package/renderers/CSS3DRenderer.cjs.js +1 -0
- package/renderers/CSS3DRenderer.js +86 -53
- package/renderers/Projector.cjs.js +1 -0
- package/renderers/Projector.js +274 -107
- package/renderers/SVGRenderer.cjs.js +1 -0
- package/renderers/SVGRenderer.js +182 -72
- package/renderers/nodes/accessors/CameraNode.cjs.js +1 -0
- package/renderers/nodes/accessors/CameraNode.js +40 -29
- package/renderers/nodes/accessors/ModelNode.cjs.js +1 -0
- package/renderers/nodes/accessors/ModelNode.js +37 -28
- package/renderers/nodes/accessors/ModelViewProjectionNode.cjs.js +1 -0
- package/renderers/nodes/accessors/ModelViewProjectionNode.js +23 -10
- package/renderers/nodes/accessors/NormalNode.cjs.js +1 -0
- package/renderers/nodes/accessors/NormalNode.js +45 -35
- package/renderers/nodes/accessors/PositionNode.cjs.js +1 -0
- package/renderers/nodes/accessors/PositionNode.js +19 -18
- package/renderers/nodes/accessors/UVNode.cjs.js +1 -0
- package/renderers/nodes/accessors/UVNode.js +10 -5
- package/renderers/nodes/core/AttributeNode.cjs.js +1 -0
- package/renderers/nodes/core/AttributeNode.js +14 -5
- package/renderers/nodes/core/InputNode.cjs.js +1 -0
- package/renderers/nodes/core/InputNode.js +14 -4
- package/renderers/nodes/core/Node.cjs.js +1 -0
- package/renderers/nodes/core/Node.js +17 -7
- package/renderers/nodes/core/NodeAttribute.cjs.js +1 -0
- package/renderers/nodes/core/NodeAttribute.js +6 -3
- package/renderers/nodes/core/NodeBuilder.cjs.js +1 -0
- package/renderers/nodes/core/NodeBuilder.js +154 -87
- package/renderers/nodes/core/NodeFrame.cjs.js +1 -0
- package/renderers/nodes/core/NodeFrame.js +12 -9
- package/renderers/nodes/core/NodeSlot.cjs.js +1 -0
- package/renderers/nodes/core/NodeSlot.js +3 -2
- package/renderers/nodes/core/NodeUniform.cjs.js +1 -0
- package/renderers/nodes/core/NodeUniform.js +9 -4
- package/renderers/nodes/core/NodeVary.cjs.js +1 -0
- package/renderers/nodes/core/NodeVary.js +7 -4
- package/renderers/nodes/core/VaryNode.cjs.js +1 -0
- package/renderers/nodes/core/VaryNode.js +12 -6
- package/renderers/nodes/core/constants.cjs.js +1 -0
- package/renderers/nodes/core/constants.js +13 -16
- package/renderers/nodes/inputs/ColorNode.cjs.js +1 -0
- package/renderers/nodes/inputs/ColorNode.js +11 -5
- package/renderers/nodes/inputs/FloatNode.cjs.js +1 -0
- package/renderers/nodes/inputs/FloatNode.js +11 -5
- package/renderers/nodes/inputs/Matrix3Node.cjs.js +1 -0
- package/renderers/nodes/inputs/Matrix3Node.js +13 -7
- package/renderers/nodes/inputs/Matrix4Node.cjs.js +1 -0
- package/renderers/nodes/inputs/Matrix4Node.js +13 -7
- package/renderers/nodes/inputs/TextureNode.cjs.js +1 -0
- package/renderers/nodes/inputs/TextureNode.js +15 -7
- package/renderers/nodes/inputs/Vector2Node.cjs.js +1 -0
- package/renderers/nodes/inputs/Vector2Node.js +11 -5
- package/renderers/nodes/inputs/Vector3Node.cjs.js +1 -0
- package/renderers/nodes/inputs/Vector3Node.js +13 -7
- package/renderers/nodes/inputs/Vector4Node.cjs.js +1 -0
- package/renderers/nodes/inputs/Vector4Node.js +13 -7
- package/renderers/nodes/math/MathNode.cjs.js +1 -0
- package/renderers/nodes/math/MathNode.js +30 -20
- package/renderers/nodes/math/OperatorNode.cjs.js +1 -0
- package/renderers/nodes/math/OperatorNode.js +20 -4
- package/renderers/nodes/utils/SwitchNode.cjs.js +1 -0
- package/renderers/nodes/utils/SwitchNode.js +9 -4
- package/renderers/nodes/utils/TimerNode.cjs.js +1 -0
- package/renderers/nodes/utils/TimerNode.js +10 -5
- package/renderers/webgpu/WebGPU.cjs.js +1 -0
- package/renderers/webgpu/WebGPU.js +16 -14
- package/renderers/webgpu/WebGPUAttributes.cjs.js +1 -0
- package/renderers/webgpu/WebGPUAttributes.js +23 -16
- package/renderers/webgpu/WebGPUBackground.cjs.js +1 -0
- package/renderers/webgpu/WebGPUBackground.js +30 -13
- package/renderers/webgpu/WebGPUBinding.cjs.js +1 -0
- package/renderers/webgpu/WebGPUBinding.js +7 -4
- package/renderers/webgpu/WebGPUBindings.cjs.js +1 -0
- package/renderers/webgpu/WebGPUBindings.js +57 -21
- package/renderers/webgpu/WebGPUComputePipelines.cjs.js +1 -0
- package/renderers/webgpu/WebGPUComputePipelines.js +25 -14
- package/renderers/webgpu/WebGPUGeometries.cjs.js +1 -0
- package/renderers/webgpu/WebGPUGeometries.js +15 -5
- package/renderers/webgpu/WebGPUInfo.cjs.js +1 -0
- package/renderers/webgpu/WebGPUInfo.js +8 -3
- package/renderers/webgpu/WebGPUObjects.cjs.js +1 -0
- package/renderers/webgpu/WebGPUObjects.js +10 -5
- package/renderers/webgpu/WebGPUProperties.cjs.js +1 -0
- package/renderers/webgpu/WebGPUProperties.js +11 -5
- package/renderers/webgpu/WebGPURenderLists.cjs.js +1 -0
- package/renderers/webgpu/WebGPURenderLists.js +36 -20
- package/renderers/webgpu/WebGPURenderPipelines.cjs.js +1 -0
- package/renderers/webgpu/WebGPURenderPipelines.js +387 -260
- package/renderers/webgpu/WebGPURenderer.cjs.js +1 -0
- package/renderers/webgpu/WebGPURenderer.js +262 -124
- package/renderers/webgpu/WebGPUSampledTexture.cjs.js +1 -0
- package/renderers/webgpu/WebGPUSampledTexture.js +31 -18
- package/renderers/webgpu/WebGPUSampler.cjs.js +1 -0
- package/renderers/webgpu/WebGPUSampler.js +12 -7
- package/renderers/webgpu/WebGPUStorageBuffer.cjs.js +1 -0
- package/renderers/webgpu/WebGPUStorageBuffer.js +12 -7
- package/renderers/webgpu/WebGPUTextureRenderer.cjs.js +1 -0
- package/renderers/webgpu/WebGPUTextureRenderer.js +11 -5
- package/renderers/webgpu/WebGPUTextureUtils.cjs.js +1 -0
- package/renderers/webgpu/WebGPUTextureUtils.js +40 -29
- package/renderers/webgpu/WebGPUTextures.cjs.js +1 -0
- package/renderers/webgpu/WebGPUTextures.js +333 -186
- package/renderers/webgpu/WebGPUUniform.cjs.js +1 -0
- package/renderers/webgpu/WebGPUUniform.js +51 -25
- package/renderers/webgpu/WebGPUUniformsGroup.cjs.js +1 -0
- package/renderers/webgpu/WebGPUUniformsGroup.js +72 -32
- package/renderers/webgpu/constants.cjs.js +1 -0
- package/renderers/webgpu/constants.js +181 -190
- package/renderers/webgpu/nodes/ShaderLib.cjs.js +1 -0
- package/renderers/webgpu/nodes/ShaderLib.js +2 -2
- package/renderers/webgpu/nodes/WebGPUNodeBuilder.cjs.js +1 -0
- package/renderers/webgpu/nodes/WebGPUNodeBuilder.js +124 -53
- package/renderers/webgpu/nodes/WebGPUNodeUniform.cjs.js +1 -0
- package/renderers/webgpu/nodes/WebGPUNodeUniform.js +31 -17
- package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.cjs.js +1 -0
- package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.js +9 -8
- package/renderers/webgpu/nodes/WebGPUNodes.cjs.js +1 -0
- package/renderers/webgpu/nodes/WebGPUNodes.js +45 -7
- package/shaders/ACESFilmicToneMappingShader.cjs.js +1 -0
- package/shaders/ACESFilmicToneMappingShader.js +24 -44
- package/shaders/AfterimageShader.cjs.js +1 -0
- package/shaders/AfterimageShader.js +18 -28
- package/shaders/BasicShader.cjs.js +1 -0
- package/shaders/BasicShader.js +7 -9
- package/shaders/BleachBypassShader.cjs.js +1 -0
- package/shaders/BleachBypassShader.js +15 -31
- package/shaders/BlendShader.cjs.js +1 -0
- package/shaders/BlendShader.js +19 -26
- package/shaders/BokehShader.cjs.js +1 -0
- package/shaders/BokehShader.js +36 -98
- package/shaders/BokehShader2.cjs.js +1 -0
- package/shaders/BokehShader2.js +90 -261
- package/shaders/BrightnessContrastShader.cjs.js +1 -0
- package/shaders/BrightnessContrastShader.js +19 -28
- package/shaders/ColorCorrectionShader.cjs.js +1 -0
- package/shaders/ColorCorrectionShader.js +22 -26
- package/shaders/ColorifyShader.cjs.js +1 -0
- package/shaders/ColorifyShader.js +16 -24
- package/shaders/ConvolutionShader.cjs.js +1 -0
- package/shaders/ConvolutionShader.js +36 -40
- package/shaders/CopyShader.cjs.js +1 -0
- package/shaders/CopyShader.js +13 -21
- package/shaders/DOFMipMapShader.cjs.js +1 -0
- package/shaders/DOFMipMapShader.js +21 -28
- package/shaders/DepthLimitedBlurShader.cjs.js +1 -0
- package/shaders/DepthLimitedBlurShader.js +40 -85
- package/shaders/DigitalGlitch.cjs.js +1 -0
- package/shaders/DigitalGlitch.js +46 -74
- package/shaders/DotScreenShader.cjs.js +1 -0
- package/shaders/DotScreenShader.js +27 -35
- package/shaders/FXAAShader.cjs.js +1 -0
- package/shaders/FXAAShader.js +19 -1094
- package/shaders/FilmShader.cjs.js +1 -0
- package/shaders/FilmShader.js +52 -38
- package/shaders/FocusShader.cjs.js +1 -0
- package/shaders/FocusShader.js +24 -51
- package/shaders/FreiChenShader.cjs.js +1 -0
- package/shaders/FreiChenShader.js +24 -57
- package/shaders/FresnelShader.cjs.js +1 -0
- package/shaders/FresnelShader.js +22 -43
- package/shaders/GammaCorrectionShader.cjs.js +1 -0
- package/shaders/GammaCorrectionShader.js +11 -19
- package/shaders/GodRaysShader.cjs.js +1 -0
- package/shaders/GodRaysShader.js +94 -103
- package/shaders/HalftoneShader.cjs.js +1 -0
- package/shaders/HalftoneShader.js +65 -208
- package/shaders/HorizontalBlurShader.cjs.js +1 -0
- package/shaders/HorizontalBlurShader.js +23 -7
- package/shaders/HorizontalTiltShiftShader.cjs.js +1 -0
- package/shaders/HorizontalTiltShiftShader.js +21 -33
- package/shaders/HueSaturationShader.cjs.js +1 -0
- package/shaders/HueSaturationShader.js +21 -37
- package/shaders/KaleidoShader.cjs.js +1 -0
- package/shaders/KaleidoShader.js +22 -30
- package/shaders/LuminosityHighPassShader.cjs.js +1 -0
- package/shaders/LuminosityHighPassShader.js +27 -33
- package/shaders/LuminosityShader.cjs.js +1 -0
- package/shaders/LuminosityShader.js +11 -21
- package/shaders/MirrorShader.cjs.js +1 -0
- package/shaders/MirrorShader.js +16 -31
- package/shaders/NormalMapShader.cjs.js +1 -0
- package/shaders/NormalMapShader.js +23 -27
- package/shaders/ParallaxShader.cjs.js +1 -0
- package/shaders/ParallaxShader.js +48 -107
- package/shaders/PixelShader.cjs.js +1 -0
- package/shaders/PixelShader.js +16 -24
- package/shaders/RGBShiftShader.cjs.js +1 -0
- package/shaders/RGBShiftShader.js +22 -26
- package/shaders/SAOShader.cjs.js +1 -0
- package/shaders/SAOShader.js +48 -132
- package/shaders/SMAAShader.cjs.js +1 -0
- package/shaders/SMAAShader.js +135 -256
- package/shaders/SSAOShader.cjs.js +1 -0
- package/shaders/SSAOShader.js +81 -153
- package/shaders/SSRShader.cjs.js +1 -0
- package/shaders/SSRShader.js +87 -32
- package/shaders/SepiaShader.cjs.js +1 -0
- package/shaders/SepiaShader.js +15 -25
- package/shaders/SobelOperatorShader.cjs.js +1 -0
- package/shaders/SobelOperatorShader.js +29 -40
- package/shaders/SubsurfaceScatteringShader.cjs.js +1 -0
- package/shaders/SubsurfaceScatteringShader.js +39 -53
- package/shaders/TechnicolorShader.cjs.js +1 -0
- package/shaders/TechnicolorShader.js +13 -20
- package/shaders/ToneMapShader.cjs.js +1 -0
- package/shaders/ToneMapShader.js +28 -44
- package/shaders/ToonShader.cjs.js +1 -0
- package/shaders/ToonShader.js +96 -172
- package/shaders/TriangleBlurShader.cjs.js +1 -0
- package/shaders/TriangleBlurShader.js +23 -32
- package/shaders/UnpackDepthRGBAShader.cjs.js +1 -0
- package/shaders/UnpackDepthRGBAShader.js +14 -22
- package/shaders/VerticalBlurShader.cjs.js +1 -0
- package/shaders/VerticalBlurShader.js +23 -7
- package/shaders/VerticalTiltShiftShader.cjs.js +1 -0
- package/shaders/VerticalTiltShiftShader.js +21 -33
- package/shaders/VignetteShader.cjs.js +1 -0
- package/shaders/VignetteShader.js +28 -24
- package/shaders/VolumeShader.cjs.js +1 -0
- package/shaders/VolumeShader.js +77 -174
- package/shaders/WaterRefractionShader.cjs.js +1 -0
- package/shaders/WaterRefractionShader.js +6 -38
- package/shaders/types.cjs.js +1 -0
- package/shaders/types.js +1 -1
- package/textures/FlakesTexture.cjs.js +1 -0
- package/textures/FlakesTexture.js +10 -8
- package/types/helpers.cjs.js +1 -0
- package/types/helpers.js +2 -3
- package/types/shared.cjs.js +1 -0
- package/types/shared.js +1 -0
- package/types/utils.cjs.js +1 -0
- package/types/utils.js +1 -0
- package/utils/BufferGeometryUtils.cjs.js +1 -0
- package/utils/BufferGeometryUtils.js +325 -251
- package/utils/GeometryCompressionUtils.cjs.js +1 -0
- package/utils/GeometryCompressionUtils.js +239 -241
- package/utils/GeometryUtils.cjs.js +1 -0
- package/utils/GeometryUtils.js +94 -41
- package/utils/LDrawUtils.cjs.js +1 -0
- package/utils/LDrawUtils.d.ts +5 -0
- package/utils/LDrawUtils.js +144 -0
- package/utils/RoughnessMipmapper.cjs.js +1 -0
- package/utils/RoughnessMipmapper.js +82 -38
- package/utils/SceneUtils.cjs.js +1 -0
- package/utils/SceneUtils.js +20 -15
- package/utils/ShadowMapViewer.cjs.js +1 -0
- package/utils/ShadowMapViewer.js +95 -49
- package/utils/SkeletonUtils.cjs.js +1 -0
- package/utils/SkeletonUtils.js +165 -74
- package/utils/UVsDebug.cjs.js +1 -0
- package/utils/UVsDebug.js +62 -32
- package/utils/WorkerPool.cjs.js +1 -0
- package/utils/WorkerPool.js +33 -13
- package/webxr/ARButton.cjs.js +1 -0
- package/webxr/ARButton.js +98 -72
- package/webxr/OculusHandModel.cjs.js +1 -0
- package/webxr/OculusHandModel.js +37 -18
- package/webxr/OculusHandPointerModel.cjs.js +1 -0
- package/webxr/OculusHandPointerModel.js +80 -58
- package/webxr/Text2D.cjs.js +1 -0
- package/webxr/Text2D.js +19 -37
- package/webxr/VRButton.cjs.js +1 -0
- package/webxr/VRButton.js +90 -59
- package/webxr/XRControllerModelFactory.cjs.js +1 -0
- package/webxr/XRControllerModelFactory.js +116 -58
- package/webxr/XREstimatedLight.cjs.js +1 -0
- package/webxr/XREstimatedLight.js +66 -39
- package/webxr/XRHandMeshModel.cjs.js +1 -0
- package/webxr/XRHandMeshModel.js +29 -40
- package/webxr/XRHandModelFactory.cjs.js +1 -0
- package/webxr/XRHandModelFactory.js +31 -28
- package/webxr/XRHandPrimitiveModel.cjs.js +1 -0
- package/webxr/XRHandPrimitiveModel.js +27 -41
- package/animation/AnimationClipCreator.mjs +0 -57
- package/animation/CCDIKSolver.mjs +0 -234
- package/animation/MMDAnimationHelper.mjs +0 -514
- package/animation/MMDPhysics.mjs +0 -769
- package/cameras/CinematicCamera.mjs +0 -129
- package/controls/ArcballControls.mjs +0 -1737
- package/controls/DeviceOrientationControls.mjs +0 -74
- package/controls/DragControls.mjs +0 -172
- package/controls/FirstPersonControls.mjs +0 -220
- package/controls/FlyControls.mjs +0 -239
- package/controls/OrbitControls.mjs +0 -731
- package/controls/PointerLockControls.mjs +0 -88
- package/controls/TrackballControls.mjs +0 -481
- package/controls/TransformControls.mjs +0 -1068
- package/controls/experimental/CameraControls.mjs +0 -673
- package/csm/CSM.mjs +0 -244
- package/csm/CSMFrustum.mjs +0 -75
- package/csm/CSMHelper.mjs +0 -114
- package/csm/CSMShader.mjs +0 -251
- package/curves/CurveExtras.mjs +0 -224
- package/curves/NURBSCurve.mjs +0 -35
- package/curves/NURBSSurface.mjs +0 -28
- package/curves/NURBSUtils.mjs +0 -226
- package/deprecated/Geometry.mjs +0 -966
- package/effects/AnaglyphEffect.mjs +0 -120
- package/effects/AsciiEffect.mjs +0 -173
- package/effects/OutlineEffect.mjs +0 -295
- package/effects/ParallaxBarrierEffect.mjs +0 -64
- package/effects/PeppersGhostEffect.mjs +0 -85
- package/effects/StereoEffect.mjs +0 -32
- package/environments/RoomEnvironment.mjs +0 -78
- package/exporters/ColladaExporter.mjs +0 -299
- package/exporters/DRACOExporter.mjs +0 -132
- package/exporters/GLTFExporter.mjs +0 -1381
- package/exporters/MMDExporter.mjs +0 -102
- package/exporters/OBJExporter.mjs +0 -166
- package/exporters/PLYExporter.mjs +0 -278
- package/exporters/STLExporter.mjs +0 -129
- package/exporters/USDZExporter.mjs +0 -328
- package/geometries/BoxLineGeometry.mjs +0 -45
- package/geometries/ConvexGeometry.mjs +0 -29
- package/geometries/DecalGeometry.mjs +0 -184
- package/geometries/LightningStrike.mjs +0 -547
- package/geometries/ParametricGeometries.mjs +0 -129
- package/geometries/ParametricGeometry.mjs +0 -63
- package/geometries/RoundedBoxGeometry.mjs +0 -91
- package/geometries/TeapotGeometry.mjs +0 -1557
- package/geometries/TextGeometry.mjs +0 -23
- package/helpers/LightProbeHelper.mjs +0 -72
- package/helpers/PositionalAudioHelper.mjs +0 -68
- package/helpers/RectAreaLightHelper.mjs +0 -44
- package/helpers/VertexNormalsHelper.mjs +0 -54
- package/helpers/VertexTangentsHelper.mjs +0 -45
- package/index.mjs +0 -968
- package/interactive/SelectionBox.mjs +0 -137
- package/interactive/SelectionHelper.mjs +0 -54
- package/libs/MeshoptDecoder.mjs +0 -210
- package/libs/MotionControllers.mjs +0 -261
- package/lights/LightProbeGenerator.mjs +0 -145
- package/lights/RectAreaLightUniformsLib.mjs +0 -32842
- package/lines/Line2.mjs +0 -13
- package/lines/LineGeometry.mjs +0 -44
- package/lines/LineMaterial.mjs +0 -539
- package/lines/LineSegments2.mjs +0 -202
- package/lines/LineSegmentsGeometry.mjs +0 -124
- package/lines/Wireframe.mjs +0 -31
- package/lines/WireframeGeometry2.mjs +0 -13
- package/loaders/3DMLoader.mjs +0 -802
- package/loaders/3MFLoader.mjs +0 -837
- package/loaders/AMFLoader.mjs +0 -284
- package/loaders/AssimpLoader.mjs +0 -1396
- package/loaders/BVHLoader.mjs +0 -207
- package/loaders/BasisTextureLoader.mjs +0 -474
- package/loaders/ColladaLoader.mjs +0 -2403
- package/loaders/DDSLoader.mjs +0 -148
- package/loaders/DRACOLoader.mjs +0 -340
- package/loaders/EXRLoader.mjs +0 -1351
- package/loaders/FBXLoader.mjs +0 -2362
- package/loaders/FontLoader.mjs +0 -111
- package/loaders/GCodeLoader.mjs +0 -141
- package/loaders/GLTFLoader.mjs +0 -2316
- package/loaders/HDRCubeTextureLoader.mjs +0 -77
- package/loaders/KMZLoader.mjs +0 -75
- package/loaders/KTX2Loader.mjs +0 -427
- package/loaders/KTXLoader.mjs +0 -87
- package/loaders/LDrawLoader.mjs +0 -1409
- package/loaders/LUT3dlLoader.mjs +0 -100
- package/loaders/LUTCubeLoader.mjs +0 -104
- package/loaders/LWOLoader.mjs +0 -625
- package/loaders/LottieLoader.mjs +0 -47
- package/loaders/MD2Loader.mjs +0 -359
- package/loaders/MDDLoader.mjs +0 -58
- package/loaders/MMDLoader.mjs +0 -998
- package/loaders/MTLLoader.mjs +0 -280
- package/loaders/NRRDLoader.mjs +0 -401
- package/loaders/NodeMaterialLoader.mjs +0 -146
- package/loaders/OBJLoader.mjs +0 -487
- package/loaders/PCDLoader.mjs +0 -248
- package/loaders/PDBLoader.mjs +0 -246
- package/loaders/PLYLoader.mjs +0 -317
- package/loaders/PRWMLoader.mjs +0 -160
- package/loaders/PVRLoader.mjs +0 -131
- package/loaders/RGBELoader.mjs +0 -244
- package/loaders/RGBMLoader.mjs +0 -998
- package/loaders/STLLoader.mjs +0 -190
- package/loaders/SVGLoader.mjs +0 -1709
- package/loaders/TDSLoader.mjs +0 -480
- package/loaders/TGALoader.mjs +0 -285
- package/loaders/TTFLoader.mjs +0 -131
- package/loaders/TiltLoader.mjs +0 -373
- package/loaders/VOXLoader.mjs +0 -431
- package/loaders/VRMLLoader.mjs +0 -2093
- package/loaders/VRMLoader.mjs +0 -38
- package/loaders/VTKLoader.mjs +0 -646
- package/loaders/XLoader.mjs +0 -1258
- package/loaders/XYZLoader.mjs +0 -60
- package/loaders/lwo/IFFParser.mjs +0 -697
- package/loaders/lwo/LWO2Parser.mjs +0 -327
- package/loaders/lwo/LWO3Parser.mjs +0 -298
- package/math/Capsule.mjs +0 -100
- package/math/ColorConverter.mjs +0 -51
- package/math/ConvexHull.mjs +0 -574
- package/math/ImprovedNoise.mjs +0 -302
- package/math/Lut.mjs +0 -135
- package/math/MeshSurfaceSampler.mjs +0 -107
- package/math/OBB.mjs +0 -235
- package/math/Octree.mjs +0 -278
- package/math/SimplexNoise.mjs +0 -425
- package/misc/ConvexObjectBreaker.mjs +0 -292
- package/misc/GPUComputationRenderer.mjs +0 -171
- package/misc/Gyroscope.mjs +0 -35
- package/misc/MD2Character.mjs +0 -162
- package/misc/MD2CharacterComplex.mjs +0 -328
- package/misc/MorphAnimMesh.mjs +0 -40
- package/misc/MorphBlendMesh.mjs +0 -179
- package/misc/ProgressiveLightmap.mjs +0 -166
- package/misc/RollerCoaster.mjs +0 -346
- package/misc/TubePainter.mjs +0 -123
- package/misc/Volume.mjs +0 -244
- package/misc/VolumeSlice.mjs +0 -106
- package/misc/WebGL.mjs +0 -74
- package/modifiers/CurveModifier.mjs +0 -182
- package/modifiers/EdgeSplitModifier.mjs +0 -162
- package/modifiers/SimplifyModifier.mjs +0 -282
- package/modifiers/TessellateModifier.mjs +0 -206
- package/nodes/Nodes.mjs +0 -400
- package/nodes/ShaderNode.mjs +0 -408
- package/nodes/accessors/BufferNode.mjs +0 -15
- package/nodes/accessors/CameraNode.mjs +0 -44
- package/nodes/accessors/CubeTextureNode.mjs +0 -42
- package/nodes/accessors/MaterialNode.mjs +0 -71
- package/nodes/accessors/MaterialReferenceNode.mjs +0 -14
- package/nodes/accessors/ModelNode.mjs +0 -9
- package/nodes/accessors/ModelViewProjectionNode.mjs +0 -24
- package/nodes/accessors/NormalNode.mjs +0 -62
- package/nodes/accessors/Object3DNode.mjs +0 -76
- package/nodes/accessors/PointUVNode.mjs +0 -13
- package/nodes/accessors/PositionNode.mjs +0 -65
- package/nodes/accessors/ReferenceNode.mjs +0 -37
- package/nodes/accessors/ReflectNode.mjs +0 -43
- package/nodes/accessors/SkinningNode.mjs +0 -58
- package/nodes/accessors/TextureNode.mjs +0 -54
- package/nodes/accessors/UVNode.mjs +0 -23
- package/nodes/core/ArrayUniformNode.mjs +0 -14
- package/nodes/core/AttributeNode.mjs +0 -30
- package/nodes/core/BypassNode.mjs +0 -22
- package/nodes/core/CodeNode.mjs +0 -28
- package/nodes/core/ConstNode.mjs +0 -14
- package/nodes/core/ContextNode.mjs +0 -22
- package/nodes/core/ExpressionNode.mjs +0 -19
- package/nodes/core/FunctionCallNode.mjs +0 -37
- package/nodes/core/FunctionNode.mjs +0 -56
- package/nodes/core/InputNode.mjs +0 -38
- package/nodes/core/Node.mjs +0 -139
- package/nodes/core/NodeAttribute.mjs +0 -10
- package/nodes/core/NodeBuilder.mjs +0 -395
- package/nodes/core/NodeCode.mjs +0 -11
- package/nodes/core/NodeFrame.mjs +0 -35
- package/nodes/core/NodeFunctionInput.mjs +0 -13
- package/nodes/core/NodeKeywords.mjs +0 -44
- package/nodes/core/NodeUniform.mjs +0 -18
- package/nodes/core/NodeUtils.mjs +0 -57
- package/nodes/core/NodeVar.mjs +0 -10
- package/nodes/core/NodeVary.mjs +0 -10
- package/nodes/core/PropertyNode.mjs +0 -21
- package/nodes/core/TempNode.mjs +0 -25
- package/nodes/core/UniformNode.mjs +0 -23
- package/nodes/core/VarNode.mjs +0 -31
- package/nodes/core/VaryNode.mjs +0 -30
- package/nodes/core/constants.mjs +0 -24
- package/nodes/display/ColorSpaceNode.mjs +0 -63
- package/nodes/display/NormalMapNode.mjs +0 -54
- package/nodes/fog/FogNode.mjs +0 -15
- package/nodes/fog/FogRangeNode.mjs +0 -17
- package/nodes/functions/BSDFs.mjs +0 -64
- package/nodes/lights/LightContextNode.mjs +0 -35
- package/nodes/lights/LightNode.mjs +0 -58
- package/nodes/lights/LightsNode.mjs +0 -59
- package/nodes/loaders/NodeLoader.mjs +0 -66
- package/nodes/loaders/NodeMaterialLoader.mjs +0 -24
- package/nodes/loaders/NodeObjectLoader.mjs +0 -40
- package/nodes/materials/LineBasicNodeMaterial.mjs +0 -27
- package/nodes/materials/Materials.mjs +0 -28
- package/nodes/materials/MeshBasicNodeMaterial.mjs +0 -28
- package/nodes/materials/MeshStandardNodeMaterial.mjs +0 -41
- package/nodes/materials/NodeMaterial.mjs +0 -64
- package/nodes/materials/PointsNodeMaterial.mjs +0 -30
- package/nodes/math/CondNode.mjs +0 -38
- package/nodes/math/MathNode.mjs +0 -163
- package/nodes/math/OperatorNode.mjs +0 -103
- package/nodes/procedural/CheckerNode.mjs +0 -21
- package/nodes/utils/ArrayElementNode.mjs +0 -19
- package/nodes/utils/ConvertNode.mjs +0 -25
- package/nodes/utils/JoinNode.mjs +0 -26
- package/nodes/utils/MatcapUVNode.mjs +0 -16
- package/nodes/utils/OscNode.mjs +0 -50
- package/nodes/utils/SplitNode.mjs +0 -45
- package/nodes/utils/SpriteSheetUVNode.mjs +0 -40
- package/nodes/utils/TimerNode.mjs +0 -44
- package/objects/GroundProjectedEnv.mjs +0 -130
- package/objects/Lensflare.mjs +0 -262
- package/objects/LightningStorm.mjs +0 -110
- package/objects/MarchingCubes.mjs +0 -457
- package/objects/Reflector.mjs +0 -166
- package/objects/ReflectorForSSRPass.mjs +0 -247
- package/objects/ReflectorRTT.mjs +0 -10
- package/objects/Refractor.mjs +0 -178
- package/objects/ShadowMesh.mjs +0 -41
- package/objects/Sky.mjs +0 -124
- package/objects/Water.mjs +0 -235
- package/objects/Water2.mjs +0 -252
- package/offscreen/jank.mjs +0 -27
- package/offscreen/offscreen.mjs +0 -5
- package/offscreen/scene.mjs +0 -52
- package/physics/AmmoPhysics.mjs +0 -165
- package/postprocessing/AdaptiveToneMappingPass.mjs +0 -221
- package/postprocessing/AfterimagePass.mjs +0 -55
- package/postprocessing/BloomPass.mjs +0 -90
- package/postprocessing/BokehPass.mjs +0 -76
- package/postprocessing/ClearPass.mjs +0 -27
- package/postprocessing/CubeTexturePass.mjs +0 -49
- package/postprocessing/DotScreenPass.mjs +0 -40
- package/postprocessing/EffectComposer.mjs +0 -139
- package/postprocessing/FilmPass.mjs +0 -42
- package/postprocessing/GlitchPass.mjs +0 -75
- package/postprocessing/HalftonePass.mjs +0 -44
- package/postprocessing/LUTPass.mjs +0 -136
- package/postprocessing/MaskPass.mjs +0 -60
- package/postprocessing/OutlinePass.mjs +0 -438
- package/postprocessing/Pass.mjs +0 -37
- package/postprocessing/RenderPass.mjs +0 -48
- package/postprocessing/RenderPixelatedPass.mjs +0 -199
- package/postprocessing/SAOPass.mjs +0 -282
- package/postprocessing/SMAAPass.mjs +0 -112
- package/postprocessing/SSAARenderPass.mjs +0 -170
- package/postprocessing/SSAOPass.mjs +0 -265
- package/postprocessing/SSRPass.mjs +0 -432
- package/postprocessing/SavePass.mjs +0 -37
- package/postprocessing/ShaderPass.mjs +0 -39
- package/postprocessing/TAARenderPass.mjs +0 -88
- package/postprocessing/TexturePass.mjs +0 -39
- package/postprocessing/UnrealBloomPass.mjs +0 -220
- package/renderers/CSS2DRenderer.mjs +0 -112
- package/renderers/CSS3DRenderer.mjs +0 -133
- package/renderers/Projector.mjs +0 -511
- package/renderers/SVGRenderer.mjs +0 -306
- package/renderers/nodes/accessors/CameraNode.mjs +0 -63
- package/renderers/nodes/accessors/ModelNode.mjs +0 -61
- package/renderers/nodes/accessors/ModelViewProjectionNode.mjs +0 -21
- package/renderers/nodes/accessors/NormalNode.mjs +0 -61
- package/renderers/nodes/accessors/PositionNode.mjs +0 -30
- package/renderers/nodes/accessors/UVNode.mjs +0 -13
- package/renderers/nodes/core/AttributeNode.mjs +0 -35
- package/renderers/nodes/core/InputNode.mjs +0 -31
- package/renderers/nodes/core/Node.mjs +0 -34
- package/renderers/nodes/core/NodeAttribute.mjs +0 -10
- package/renderers/nodes/core/NodeBuilder.mjs +0 -243
- package/renderers/nodes/core/NodeFrame.mjs +0 -35
- package/renderers/nodes/core/NodeSlot.mjs +0 -10
- package/renderers/nodes/core/NodeUniform.mjs +0 -18
- package/renderers/nodes/core/NodeVary.mjs +0 -11
- package/renderers/nodes/core/VaryNode.mjs +0 -22
- package/renderers/nodes/core/constants.mjs +0 -22
- package/renderers/nodes/inputs/ColorNode.mjs +0 -11
- package/renderers/nodes/inputs/FloatNode.mjs +0 -11
- package/renderers/nodes/inputs/Matrix3Node.mjs +0 -12
- package/renderers/nodes/inputs/Matrix4Node.mjs +0 -12
- package/renderers/nodes/inputs/TextureNode.mjs +0 -20
- package/renderers/nodes/inputs/Vector2Node.mjs +0 -11
- package/renderers/nodes/inputs/Vector3Node.mjs +0 -12
- package/renderers/nodes/inputs/Vector4Node.mjs +0 -12
- package/renderers/nodes/math/MathNode.mjs +0 -55
- package/renderers/nodes/math/OperatorNode.mjs +0 -42
- package/renderers/nodes/utils/SwitchNode.mjs +0 -20
- package/renderers/nodes/utils/TimerNode.mjs +0 -14
- package/renderers/webgpu/WebGPU.mjs +0 -24
- package/renderers/webgpu/WebGPUAttributes.mjs +0 -69
- package/renderers/webgpu/WebGPUBackground.mjs +0 -61
- package/renderers/webgpu/WebGPUBinding.mjs +0 -14
- package/renderers/webgpu/WebGPUBindings.mjs +0 -155
- package/renderers/webgpu/WebGPUComputePipelines.mjs +0 -44
- package/renderers/webgpu/WebGPUGeometries.mjs +0 -41
- package/renderers/webgpu/WebGPUInfo.mjs +0 -46
- package/renderers/webgpu/WebGPUObjects.mjs +0 -25
- package/renderers/webgpu/WebGPUProperties.mjs +0 -22
- package/renderers/webgpu/WebGPURenderLists.mjs +0 -119
- package/renderers/webgpu/WebGPURenderPipelines.mjs +0 -545
- package/renderers/webgpu/WebGPURenderer.mjs +0 -574
- package/renderers/webgpu/WebGPUSampledTexture.mjs +0 -40
- package/renderers/webgpu/WebGPUSampler.mjs +0 -15
- package/renderers/webgpu/WebGPUStorageBuffer.mjs +0 -15
- package/renderers/webgpu/WebGPUTextureRenderer.mjs +0 -23
- package/renderers/webgpu/WebGPUTextureUtils.mjs +0 -98
- package/renderers/webgpu/WebGPUTextures.mjs +0 -484
- package/renderers/webgpu/WebGPUUniform.mjs +0 -81
- package/renderers/webgpu/WebGPUUniformsGroup.mjs +0 -176
- package/renderers/webgpu/constants.mjs +0 -230
- package/renderers/webgpu/nodes/ShaderLib.mjs +0 -42
- package/renderers/webgpu/nodes/WebGPUNodeBuilder.mjs +0 -165
- package/renderers/webgpu/nodes/WebGPUNodeUniform.mjs +0 -73
- package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.mjs +0 -15
- package/renderers/webgpu/nodes/WebGPUNodes.mjs +0 -40
- package/shaders/ACESFilmicToneMappingShader.mjs +0 -48
- package/shaders/AfterimageShader.mjs +0 -32
- package/shaders/BasicShader.mjs +0 -12
- package/shaders/BleachBypassShader.mjs +0 -35
- package/shaders/BlendShader.mjs +0 -30
- package/shaders/BokehShader.mjs +0 -106
- package/shaders/BokehShader2.mjs +0 -269
- package/shaders/BrightnessContrastShader.mjs +0 -32
- package/shaders/ColorCorrectionShader.mjs +0 -30
- package/shaders/ColorifyShader.mjs +0 -28
- package/shaders/ConvolutionShader.mjs +0 -55
- package/shaders/CopyShader.mjs +0 -25
- package/shaders/DOFMipMapShader.mjs +0 -32
- package/shaders/DepthLimitedBlurShader.mjs +0 -114
- package/shaders/DigitalGlitch.mjs +0 -78
- package/shaders/DotScreenShader.mjs +0 -39
- package/shaders/FXAAShader.mjs +0 -1098
- package/shaders/FilmShader.mjs +0 -42
- package/shaders/FocusShader.mjs +0 -55
- package/shaders/FreiChenShader.mjs +0 -61
- package/shaders/FresnelShader.mjs +0 -47
- package/shaders/GammaCorrectionShader.mjs +0 -23
- package/shaders/GodRaysShader.mjs +0 -146
- package/shaders/HalftoneShader.mjs +0 -212
- package/shaders/HorizontalBlurShader.mjs +0 -43
- package/shaders/HorizontalTiltShiftShader.mjs +0 -37
- package/shaders/HueSaturationShader.mjs +0 -41
- package/shaders/KaleidoShader.mjs +0 -34
- package/shaders/LuminosityHighPassShader.mjs +0 -37
- package/shaders/LuminosityShader.mjs +0 -25
- package/shaders/MirrorShader.mjs +0 -35
- package/shaders/NormalMapShader.mjs +0 -31
- package/shaders/ParallaxShader.mjs +0 -113
- package/shaders/PixelShader.mjs +0 -28
- package/shaders/RGBShiftShader.mjs +0 -30
- package/shaders/SAOShader.mjs +0 -144
- package/shaders/SMAAShader.mjs +0 -272
- package/shaders/SSAOShader.mjs +0 -172
- package/shaders/SSRShader.mjs +0 -324
- package/shaders/SepiaShader.mjs +0 -29
- package/shaders/SobelOperatorShader.mjs +0 -44
- package/shaders/SubsurfaceScatteringShader.mjs +0 -59
- package/shaders/TechnicolorShader.mjs +0 -24
- package/shaders/ToneMapShader.mjs +0 -48
- package/shaders/ToonShader.mjs +0 -188
- package/shaders/TriangleBlurShader.mjs +0 -36
- package/shaders/UnpackDepthRGBAShader.mjs +0 -26
- package/shaders/VerticalBlurShader.mjs +0 -44
- package/shaders/VerticalTiltShiftShader.mjs +0 -37
- package/shaders/VignetteShader.mjs +0 -28
- package/shaders/VolumeShader.mjs +0 -178
- package/shaders/WaterRefractionShader.mjs +0 -57
- package/textures/FlakesTexture.mjs +0 -30
- package/types/helpers.mjs +0 -4
- package/utils/BufferGeometryUtils.mjs +0 -570
- package/utils/GeometryCompressionUtils.mjs +0 -547
- package/utils/GeometryUtils.mjs +0 -108
- package/utils/RoughnessMipmapper.mjs +0 -213
- package/utils/SceneUtils.mjs +0 -36
- package/utils/ShadowMapViewer.mjs +0 -114
- package/utils/SkeletonUtils.mjs +0 -292
- package/utils/UVsDebug.mjs +0 -85
- package/utils/WorkerPool.mjs +0 -62
- package/webxr/ARButton.mjs +0 -119
- package/webxr/OculusHandModel.mjs +0 -71
- package/webxr/OculusHandPointerModel.mjs +0 -207
- package/webxr/Text2D.mjs +0 -31
- package/webxr/VRButton.mjs +0 -105
- package/webxr/XRControllerModelFactory.mjs +0 -146
- package/webxr/XREstimatedLight.mjs +0 -126
- package/webxr/XRHandMeshModel.mjs +0 -73
- package/webxr/XRHandModelFactory.mjs +0 -61
- package/webxr/XRHandPrimitiveModel.mjs +0 -68
package/loaders/VOXLoader.js
CHANGED
@@ -1,310 +1,55 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
class VOXLoader extends THREE.Loader {
|
1
|
+
import { Loader, FileLoader, Mesh, BufferGeometry, Float32BufferAttribute, MeshStandardMaterial, DataTexture3D, RedFormat, NearestFilter, LinearFilter } from 'three';
|
2
|
+
|
3
|
+
class VOXLoader extends Loader {
|
5
4
|
load(url, onLoad, onProgress, onError) {
|
6
5
|
const scope = this;
|
7
|
-
const loader = new
|
6
|
+
const loader = new FileLoader(scope.manager);
|
8
7
|
loader.setPath(scope.path);
|
9
|
-
loader.setResponseType(
|
8
|
+
loader.setResponseType('arraybuffer');
|
10
9
|
loader.setRequestHeader(scope.requestHeader);
|
11
|
-
loader.load(
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
} else {
|
20
|
-
console.error(e);
|
21
|
-
}
|
22
|
-
scope.manager.itemError(url);
|
10
|
+
loader.load(url, function (buffer) {
|
11
|
+
try {
|
12
|
+
onLoad(scope.parse(buffer));
|
13
|
+
} catch (e) {
|
14
|
+
if (onError) {
|
15
|
+
onError(e);
|
16
|
+
} else {
|
17
|
+
console.error(e);
|
23
18
|
}
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
);
|
19
|
+
|
20
|
+
scope.manager.itemError(url);
|
21
|
+
}
|
22
|
+
}, onProgress, onError);
|
28
23
|
}
|
24
|
+
|
29
25
|
parse(buffer) {
|
30
26
|
const data = new DataView(buffer);
|
31
27
|
const id = data.getUint32(0, true);
|
32
28
|
const version = data.getUint32(4, true);
|
29
|
+
|
33
30
|
if (id !== 542658390 || version !== 150) {
|
34
|
-
console.error(
|
31
|
+
console.error('Not a valid VOX file');
|
35
32
|
return;
|
36
33
|
}
|
37
|
-
|
38
|
-
|
39
|
-
4294967295,
|
40
|
-
4291624959,
|
41
|
-
4288282623,
|
42
|
-
4284940287,
|
43
|
-
4281597951,
|
44
|
-
4278255615,
|
45
|
-
4294954239,
|
46
|
-
4291611903,
|
47
|
-
4288269567,
|
48
|
-
4284927231,
|
49
|
-
4281584895,
|
50
|
-
4278242559,
|
51
|
-
4294941183,
|
52
|
-
4291598847,
|
53
|
-
4288256511,
|
54
|
-
4284914175,
|
55
|
-
4281571839,
|
56
|
-
4278229503,
|
57
|
-
4294928127,
|
58
|
-
4291585791,
|
59
|
-
4288243455,
|
60
|
-
4284901119,
|
61
|
-
4281558783,
|
62
|
-
4278216447,
|
63
|
-
4294915071,
|
64
|
-
4291572735,
|
65
|
-
4288230399,
|
66
|
-
4284888063,
|
67
|
-
4281545727,
|
68
|
-
4278203391,
|
69
|
-
4294902015,
|
70
|
-
4291559679,
|
71
|
-
4288217343,
|
72
|
-
4284875007,
|
73
|
-
4281532671,
|
74
|
-
4278190335,
|
75
|
-
4294967244,
|
76
|
-
4291624908,
|
77
|
-
4288282572,
|
78
|
-
4284940236,
|
79
|
-
4281597900,
|
80
|
-
4278255564,
|
81
|
-
4294954188,
|
82
|
-
4291611852,
|
83
|
-
4288269516,
|
84
|
-
4284927180,
|
85
|
-
4281584844,
|
86
|
-
4278242508,
|
87
|
-
4294941132,
|
88
|
-
4291598796,
|
89
|
-
4288256460,
|
90
|
-
4284914124,
|
91
|
-
4281571788,
|
92
|
-
4278229452,
|
93
|
-
4294928076,
|
94
|
-
4291585740,
|
95
|
-
4288243404,
|
96
|
-
4284901068,
|
97
|
-
4281558732,
|
98
|
-
4278216396,
|
99
|
-
4294915020,
|
100
|
-
4291572684,
|
101
|
-
4288230348,
|
102
|
-
4284888012,
|
103
|
-
4281545676,
|
104
|
-
4278203340,
|
105
|
-
4294901964,
|
106
|
-
4291559628,
|
107
|
-
4288217292,
|
108
|
-
4284874956,
|
109
|
-
4281532620,
|
110
|
-
4278190284,
|
111
|
-
4294967193,
|
112
|
-
4291624857,
|
113
|
-
4288282521,
|
114
|
-
4284940185,
|
115
|
-
4281597849,
|
116
|
-
4278255513,
|
117
|
-
4294954137,
|
118
|
-
4291611801,
|
119
|
-
4288269465,
|
120
|
-
4284927129,
|
121
|
-
4281584793,
|
122
|
-
4278242457,
|
123
|
-
4294941081,
|
124
|
-
4291598745,
|
125
|
-
4288256409,
|
126
|
-
4284914073,
|
127
|
-
4281571737,
|
128
|
-
4278229401,
|
129
|
-
4294928025,
|
130
|
-
4291585689,
|
131
|
-
4288243353,
|
132
|
-
4284901017,
|
133
|
-
4281558681,
|
134
|
-
4278216345,
|
135
|
-
4294914969,
|
136
|
-
4291572633,
|
137
|
-
4288230297,
|
138
|
-
4284887961,
|
139
|
-
4281545625,
|
140
|
-
4278203289,
|
141
|
-
4294901913,
|
142
|
-
4291559577,
|
143
|
-
4288217241,
|
144
|
-
4284874905,
|
145
|
-
4281532569,
|
146
|
-
4278190233,
|
147
|
-
4294967142,
|
148
|
-
4291624806,
|
149
|
-
4288282470,
|
150
|
-
4284940134,
|
151
|
-
4281597798,
|
152
|
-
4278255462,
|
153
|
-
4294954086,
|
154
|
-
4291611750,
|
155
|
-
4288269414,
|
156
|
-
4284927078,
|
157
|
-
4281584742,
|
158
|
-
4278242406,
|
159
|
-
4294941030,
|
160
|
-
4291598694,
|
161
|
-
4288256358,
|
162
|
-
4284914022,
|
163
|
-
4281571686,
|
164
|
-
4278229350,
|
165
|
-
4294927974,
|
166
|
-
4291585638,
|
167
|
-
4288243302,
|
168
|
-
4284900966,
|
169
|
-
4281558630,
|
170
|
-
4278216294,
|
171
|
-
4294914918,
|
172
|
-
4291572582,
|
173
|
-
4288230246,
|
174
|
-
4284887910,
|
175
|
-
4281545574,
|
176
|
-
4278203238,
|
177
|
-
4294901862,
|
178
|
-
4291559526,
|
179
|
-
4288217190,
|
180
|
-
4284874854,
|
181
|
-
4281532518,
|
182
|
-
4278190182,
|
183
|
-
4294967091,
|
184
|
-
4291624755,
|
185
|
-
4288282419,
|
186
|
-
4284940083,
|
187
|
-
4281597747,
|
188
|
-
4278255411,
|
189
|
-
4294954035,
|
190
|
-
4291611699,
|
191
|
-
4288269363,
|
192
|
-
4284927027,
|
193
|
-
4281584691,
|
194
|
-
4278242355,
|
195
|
-
4294940979,
|
196
|
-
4291598643,
|
197
|
-
4288256307,
|
198
|
-
4284913971,
|
199
|
-
4281571635,
|
200
|
-
4278229299,
|
201
|
-
4294927923,
|
202
|
-
4291585587,
|
203
|
-
4288243251,
|
204
|
-
4284900915,
|
205
|
-
4281558579,
|
206
|
-
4278216243,
|
207
|
-
4294914867,
|
208
|
-
4291572531,
|
209
|
-
4288230195,
|
210
|
-
4284887859,
|
211
|
-
4281545523,
|
212
|
-
4278203187,
|
213
|
-
4294901811,
|
214
|
-
4291559475,
|
215
|
-
4288217139,
|
216
|
-
4284874803,
|
217
|
-
4281532467,
|
218
|
-
4278190131,
|
219
|
-
4294967040,
|
220
|
-
4291624704,
|
221
|
-
4288282368,
|
222
|
-
4284940032,
|
223
|
-
4281597696,
|
224
|
-
4278255360,
|
225
|
-
4294953984,
|
226
|
-
4291611648,
|
227
|
-
4288269312,
|
228
|
-
4284926976,
|
229
|
-
4281584640,
|
230
|
-
4278242304,
|
231
|
-
4294940928,
|
232
|
-
4291598592,
|
233
|
-
4288256256,
|
234
|
-
4284913920,
|
235
|
-
4281571584,
|
236
|
-
4278229248,
|
237
|
-
4294927872,
|
238
|
-
4291585536,
|
239
|
-
4288243200,
|
240
|
-
4284900864,
|
241
|
-
4281558528,
|
242
|
-
4278216192,
|
243
|
-
4294914816,
|
244
|
-
4291572480,
|
245
|
-
4288230144,
|
246
|
-
4284887808,
|
247
|
-
4281545472,
|
248
|
-
4278203136,
|
249
|
-
4294901760,
|
250
|
-
4291559424,
|
251
|
-
4288217088,
|
252
|
-
4284874752,
|
253
|
-
4281532416,
|
254
|
-
4278190318,
|
255
|
-
4278190301,
|
256
|
-
4278190267,
|
257
|
-
4278190250,
|
258
|
-
4278190216,
|
259
|
-
4278190199,
|
260
|
-
4278190165,
|
261
|
-
4278190148,
|
262
|
-
4278190114,
|
263
|
-
4278190097,
|
264
|
-
4278251008,
|
265
|
-
4278246656,
|
266
|
-
4278237952,
|
267
|
-
4278233600,
|
268
|
-
4278224896,
|
269
|
-
4278220544,
|
270
|
-
4278211840,
|
271
|
-
4278207488,
|
272
|
-
4278198784,
|
273
|
-
4278194432,
|
274
|
-
4293787648,
|
275
|
-
4292673536,
|
276
|
-
4290445312,
|
277
|
-
4289331200,
|
278
|
-
4287102976,
|
279
|
-
4285988864,
|
280
|
-
4283760640,
|
281
|
-
4282646528,
|
282
|
-
4280418304,
|
283
|
-
4279304192,
|
284
|
-
4293848814,
|
285
|
-
4292730333,
|
286
|
-
4290493371,
|
287
|
-
4289374890,
|
288
|
-
4287137928,
|
289
|
-
4286019447,
|
290
|
-
4283782485,
|
291
|
-
4282664004,
|
292
|
-
4280427042,
|
293
|
-
4279308561
|
294
|
-
];
|
34
|
+
|
35
|
+
const DEFAULT_PALETTE = [0x00000000, 0xffffffff, 0xffccffff, 0xff99ffff, 0xff66ffff, 0xff33ffff, 0xff00ffff, 0xffffccff, 0xffccccff, 0xff99ccff, 0xff66ccff, 0xff33ccff, 0xff00ccff, 0xffff99ff, 0xffcc99ff, 0xff9999ff, 0xff6699ff, 0xff3399ff, 0xff0099ff, 0xffff66ff, 0xffcc66ff, 0xff9966ff, 0xff6666ff, 0xff3366ff, 0xff0066ff, 0xffff33ff, 0xffcc33ff, 0xff9933ff, 0xff6633ff, 0xff3333ff, 0xff0033ff, 0xffff00ff, 0xffcc00ff, 0xff9900ff, 0xff6600ff, 0xff3300ff, 0xff0000ff, 0xffffffcc, 0xffccffcc, 0xff99ffcc, 0xff66ffcc, 0xff33ffcc, 0xff00ffcc, 0xffffcccc, 0xffcccccc, 0xff99cccc, 0xff66cccc, 0xff33cccc, 0xff00cccc, 0xffff99cc, 0xffcc99cc, 0xff9999cc, 0xff6699cc, 0xff3399cc, 0xff0099cc, 0xffff66cc, 0xffcc66cc, 0xff9966cc, 0xff6666cc, 0xff3366cc, 0xff0066cc, 0xffff33cc, 0xffcc33cc, 0xff9933cc, 0xff6633cc, 0xff3333cc, 0xff0033cc, 0xffff00cc, 0xffcc00cc, 0xff9900cc, 0xff6600cc, 0xff3300cc, 0xff0000cc, 0xffffff99, 0xffccff99, 0xff99ff99, 0xff66ff99, 0xff33ff99, 0xff00ff99, 0xffffcc99, 0xffcccc99, 0xff99cc99, 0xff66cc99, 0xff33cc99, 0xff00cc99, 0xffff9999, 0xffcc9999, 0xff999999, 0xff669999, 0xff339999, 0xff009999, 0xffff6699, 0xffcc6699, 0xff996699, 0xff666699, 0xff336699, 0xff006699, 0xffff3399, 0xffcc3399, 0xff993399, 0xff663399, 0xff333399, 0xff003399, 0xffff0099, 0xffcc0099, 0xff990099, 0xff660099, 0xff330099, 0xff000099, 0xffffff66, 0xffccff66, 0xff99ff66, 0xff66ff66, 0xff33ff66, 0xff00ff66, 0xffffcc66, 0xffcccc66, 0xff99cc66, 0xff66cc66, 0xff33cc66, 0xff00cc66, 0xffff9966, 0xffcc9966, 0xff999966, 0xff669966, 0xff339966, 0xff009966, 0xffff6666, 0xffcc6666, 0xff996666, 0xff666666, 0xff336666, 0xff006666, 0xffff3366, 0xffcc3366, 0xff993366, 0xff663366, 0xff333366, 0xff003366, 0xffff0066, 0xffcc0066, 0xff990066, 0xff660066, 0xff330066, 0xff000066, 0xffffff33, 0xffccff33, 0xff99ff33, 0xff66ff33, 0xff33ff33, 0xff00ff33, 0xffffcc33, 0xffcccc33, 0xff99cc33, 0xff66cc33, 0xff33cc33, 0xff00cc33, 0xffff9933, 0xffcc9933, 0xff999933, 0xff669933, 0xff339933, 0xff009933, 0xffff6633, 0xffcc6633, 0xff996633, 0xff666633, 0xff336633, 0xff006633, 0xffff3333, 0xffcc3333, 0xff993333, 0xff663333, 0xff333333, 0xff003333, 0xffff0033, 0xffcc0033, 0xff990033, 0xff660033, 0xff330033, 0xff000033, 0xffffff00, 0xffccff00, 0xff99ff00, 0xff66ff00, 0xff33ff00, 0xff00ff00, 0xffffcc00, 0xffcccc00, 0xff99cc00, 0xff66cc00, 0xff33cc00, 0xff00cc00, 0xffff9900, 0xffcc9900, 0xff999900, 0xff669900, 0xff339900, 0xff009900, 0xffff6600, 0xffcc6600, 0xff996600, 0xff666600, 0xff336600, 0xff006600, 0xffff3300, 0xffcc3300, 0xff993300, 0xff663300, 0xff333300, 0xff003300, 0xffff0000, 0xffcc0000, 0xff990000, 0xff660000, 0xff330000, 0xff0000ee, 0xff0000dd, 0xff0000bb, 0xff0000aa, 0xff000088, 0xff000077, 0xff000055, 0xff000044, 0xff000022, 0xff000011, 0xff00ee00, 0xff00dd00, 0xff00bb00, 0xff00aa00, 0xff008800, 0xff007700, 0xff005500, 0xff004400, 0xff002200, 0xff001100, 0xffee0000, 0xffdd0000, 0xffbb0000, 0xffaa0000, 0xff880000, 0xff770000, 0xff550000, 0xff440000, 0xff220000, 0xff110000, 0xffeeeeee, 0xffdddddd, 0xffbbbbbb, 0xffaaaaaa, 0xff888888, 0xff777777, 0xff555555, 0xff444444, 0xff222222, 0xff111111];
|
295
36
|
let i = 8;
|
296
37
|
let chunk;
|
297
38
|
const chunks = [];
|
39
|
+
|
298
40
|
while (i < data.byteLength) {
|
299
|
-
let
|
41
|
+
let id = '';
|
42
|
+
|
300
43
|
for (let j = 0; j < 4; j++) {
|
301
|
-
|
44
|
+
id += String.fromCharCode(data.getUint8(i++, true));
|
302
45
|
}
|
46
|
+
|
303
47
|
const chunkSize = data.getUint32(i, true);
|
304
48
|
i += 4;
|
305
49
|
data.getUint32(i, true);
|
306
|
-
i += 4;
|
307
|
-
|
50
|
+
i += 4; // childChunks
|
51
|
+
|
52
|
+
if (id === 'SIZE') {
|
308
53
|
const x = data.getUint32(i, true);
|
309
54
|
i += 4;
|
310
55
|
const y = data.getUint32(i, true);
|
@@ -313,34 +58,45 @@ class VOXLoader extends THREE.Loader {
|
|
313
58
|
i += 4;
|
314
59
|
chunk = {
|
315
60
|
palette: DEFAULT_PALETTE,
|
316
|
-
size: {
|
61
|
+
size: {
|
62
|
+
x: x,
|
63
|
+
y: y,
|
64
|
+
z: z
|
65
|
+
}
|
317
66
|
};
|
318
67
|
chunks.push(chunk);
|
319
68
|
i += chunkSize - 3 * 4;
|
320
|
-
} else if (
|
69
|
+
} else if (id === 'XYZI') {
|
321
70
|
const numVoxels = data.getUint32(i, true);
|
322
71
|
i += 4;
|
323
72
|
chunk.data = new Uint8Array(buffer, i, numVoxels * 4);
|
324
73
|
i += numVoxels * 4;
|
325
|
-
} else if (
|
74
|
+
} else if (id === 'RGBA') {
|
326
75
|
const palette = [0];
|
76
|
+
|
327
77
|
for (let j = 0; j < 256; j++) {
|
328
78
|
palette[j + 1] = data.getUint32(i, true);
|
329
79
|
i += 4;
|
330
80
|
}
|
81
|
+
|
331
82
|
chunk.palette = palette;
|
332
83
|
} else {
|
84
|
+
// console.log( id, chunkSize, childChunks );
|
333
85
|
i += chunkSize;
|
334
86
|
}
|
335
87
|
}
|
88
|
+
|
336
89
|
return chunks;
|
337
90
|
}
|
91
|
+
|
338
92
|
}
|
339
|
-
|
93
|
+
|
94
|
+
class VOXMesh extends Mesh {
|
340
95
|
constructor(chunk) {
|
341
96
|
const data = chunk.data;
|
342
97
|
const size = chunk.size;
|
343
|
-
const palette = chunk.palette;
|
98
|
+
const palette = chunk.palette; //
|
99
|
+
|
344
100
|
const vertices = [];
|
345
101
|
const colors = [];
|
346
102
|
const nx = [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1];
|
@@ -349,69 +105,76 @@ class VOXMesh extends THREE.Mesh {
|
|
349
105
|
const ny = [0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0];
|
350
106
|
const nz = [0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0];
|
351
107
|
const pz = [0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1];
|
108
|
+
|
352
109
|
function add(tile, x, y, z, r, g, b) {
|
353
110
|
x -= size.x / 2;
|
354
111
|
y -= size.z / 2;
|
355
112
|
z += size.y / 2;
|
113
|
+
|
356
114
|
for (let i = 0; i < 18; i += 3) {
|
357
115
|
vertices.push(tile[i + 0] + x, tile[i + 1] + y, tile[i + 2] + z);
|
358
116
|
colors.push(r, g, b);
|
359
117
|
}
|
360
|
-
}
|
118
|
+
} // Store data in a volume for sampling
|
119
|
+
|
120
|
+
|
361
121
|
const offsety = size.x;
|
362
122
|
const offsetz = size.x * size.y;
|
363
123
|
const array = new Uint8Array(size.x * size.y * size.z);
|
124
|
+
|
364
125
|
for (let j = 0; j < data.length; j += 4) {
|
365
126
|
const x = data[j + 0];
|
366
127
|
const y = data[j + 1];
|
367
128
|
const z = data[j + 2];
|
368
129
|
const index = x + y * offsety + z * offsetz;
|
369
130
|
array[index] = 255;
|
370
|
-
}
|
131
|
+
} // Construct geometry
|
132
|
+
|
133
|
+
|
371
134
|
let hasColors = false;
|
135
|
+
|
372
136
|
for (let j = 0; j < data.length; j += 4) {
|
373
137
|
const x = data[j + 0];
|
374
138
|
const y = data[j + 1];
|
375
139
|
const z = data[j + 2];
|
376
140
|
const c = data[j + 3];
|
377
141
|
const hex = palette[c];
|
378
|
-
const r = (hex >> 0 &
|
379
|
-
const g = (hex >> 8 &
|
380
|
-
const b = (hex >> 16 &
|
381
|
-
if (r > 0 || g > 0 || b > 0)
|
382
|
-
hasColors = true;
|
142
|
+
const r = (hex >> 0 & 0xff) / 0xff;
|
143
|
+
const g = (hex >> 8 & 0xff) / 0xff;
|
144
|
+
const b = (hex >> 16 & 0xff) / 0xff;
|
145
|
+
if (r > 0 || g > 0 || b > 0) hasColors = true;
|
383
146
|
const index = x + y * offsety + z * offsetz;
|
384
|
-
if (array[index + 1] === 0 || x === size.x - 1)
|
385
|
-
|
386
|
-
if (array[index
|
387
|
-
|
388
|
-
if (array[index +
|
389
|
-
|
390
|
-
if (array[index - offsety] === 0 || y === 0)
|
391
|
-
add(py, x, z, -y, r, g, b);
|
392
|
-
if (array[index + offsetz] === 0 || z === size.z - 1)
|
393
|
-
add(pz, x, z, -y, r, g, b);
|
394
|
-
if (array[index - offsetz] === 0 || z === 0)
|
395
|
-
add(nz, x, z, -y, r, g, b);
|
147
|
+
if (array[index + 1] === 0 || x === size.x - 1) add(px, x, z, -y, r, g, b);
|
148
|
+
if (array[index - 1] === 0 || x === 0) add(nx, x, z, -y, r, g, b);
|
149
|
+
if (array[index + offsety] === 0 || y === size.y - 1) add(ny, x, z, -y, r, g, b);
|
150
|
+
if (array[index - offsety] === 0 || y === 0) add(py, x, z, -y, r, g, b);
|
151
|
+
if (array[index + offsetz] === 0 || z === size.z - 1) add(pz, x, z, -y, r, g, b);
|
152
|
+
if (array[index - offsetz] === 0 || z === 0) add(nz, x, z, -y, r, g, b);
|
396
153
|
}
|
397
|
-
|
398
|
-
geometry
|
154
|
+
|
155
|
+
const geometry = new BufferGeometry();
|
156
|
+
geometry.setAttribute('position', new Float32BufferAttribute(vertices, 3));
|
399
157
|
geometry.computeVertexNormals();
|
400
|
-
const material = new
|
158
|
+
const material = new MeshStandardMaterial();
|
159
|
+
|
401
160
|
if (hasColors) {
|
402
|
-
geometry.setAttribute(
|
161
|
+
geometry.setAttribute('color', new Float32BufferAttribute(colors, 3));
|
403
162
|
material.vertexColors = true;
|
404
163
|
}
|
164
|
+
|
405
165
|
super(geometry, material);
|
406
166
|
}
|
167
|
+
|
407
168
|
}
|
408
|
-
|
169
|
+
|
170
|
+
class VOXDataTexture3D extends DataTexture3D {
|
409
171
|
constructor(chunk) {
|
410
172
|
const data = chunk.data;
|
411
173
|
const size = chunk.size;
|
412
174
|
const offsety = size.x;
|
413
175
|
const offsetz = size.x * size.y;
|
414
176
|
const array = new Uint8Array(size.x * size.y * size.z);
|
177
|
+
|
415
178
|
for (let j = 0; j < data.length; j += 4) {
|
416
179
|
const x = data[j + 0];
|
417
180
|
const y = data[j + 1];
|
@@ -419,13 +182,14 @@ class VOXDataTexture3D extends THREE.DataTexture3D {
|
|
419
182
|
const index = x + y * offsety + z * offsetz;
|
420
183
|
array[index] = 255;
|
421
184
|
}
|
185
|
+
|
422
186
|
super(array, size.x, size.y, size.z);
|
423
|
-
this.format =
|
424
|
-
this.minFilter =
|
425
|
-
this.magFilter =
|
187
|
+
this.format = RedFormat;
|
188
|
+
this.minFilter = NearestFilter;
|
189
|
+
this.magFilter = LinearFilter;
|
426
190
|
this.unpackAlignment = 1;
|
427
191
|
}
|
192
|
+
|
428
193
|
}
|
429
|
-
|
430
|
-
|
431
|
-
exports.VOXMesh = VOXMesh;
|
194
|
+
|
195
|
+
export { VOXDataTexture3D, VOXLoader, VOXMesh };
|
@@ -0,0 +1 @@
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),t=require("chevrotain");class n extends e.Loader{constructor(e){super(e)}load(t,n,r,o){const a=this,s=""===a.path?e.LoaderUtils.extractUrlBase(t):a.path,l=new e.FileLoader(a.manager);l.setPath(a.path),l.setRequestHeader(a.requestHeader),l.setWithCredentials(a.withCredentials),l.load(t,(function(e){try{n(a.parse(e,s))}catch(e){o?o(e):console.error(e),a.manager.itemError(t)}}),r,o)}parse(n,l){const i={};function c(e){e.DEF&&(i[e.DEF]=e);const t=e.fields;for(let e=0,n=t.length;e<n;e++){const n=t[e];if("node"===n.type){const e=n.values;for(let t=0,n=e.length;t<n;t++)c(e[t])}}}function u(t){return t.USE?function(e){const t=u(i[e]);return t.isObject3D||t.isMaterial?t.clone():t}(t.USE):(void 0!==t.build||(t.build=function(t){const n=t.name;let r;switch(n){case"Group":case"Transform":case"Collision":r=function(t){const n=new e.Group,r=t.fields;for(let t=0,o=r.length;t<o;t++){const o=r[t],a=o.name,s=o.values;switch(a){case"bboxCenter":case"bboxSize":case"center":break;case"children":p(s,n);break;case"collide":break;case"rotation":const t=new e.Vector3(s[0],s[1],s[2]),r=s[3];n.quaternion.setFromAxisAngle(t,r);break;case"scale":n.scale.set(s[0],s[1],s[2]);break;case"scaleOrientation":break;case"translation":n.position.set(s[0],s[1],s[2]);break;case"proxy":break;default:console.warn("THREE.VRMLLoader: Unknown field:",a)}}return n}(t);break;case"Background":r=function(t){const n=new e.Group;let r,o,a,s;const l=t.fields;for(let e=0,t=l.length;e<t;e++){const t=l[e],n=t.name,i=t.values;switch(n){case"groundAngle":r=i;break;case"groundColor":o=i;break;case"backUrl":case"bottomUrl":case"frontUrl":case"leftUrl":case"rightUrl":case"topUrl":break;case"skyAngle":a=i;break;case"skyColor":s=i;break;default:console.warn("THREE.VRMLLoader: Unknown field:",n)}}const i=1e4;if(s){const t=new e.SphereGeometry(i,32,16),r=new e.MeshBasicMaterial({fog:!1,side:e.BackSide,depthWrite:!1,depthTest:!1});s.length>3?(N(t,i,a,I(s),!0),r.vertexColors=!0):r.color.setRGB(s[0],s[1],s[2]);const o=new e.Mesh(t,r);n.add(o)}if(o&&o.length>0){const t=new e.SphereGeometry(i,32,16,0,2*Math.PI,.5*Math.PI,1.5*Math.PI),a=new e.MeshBasicMaterial({fog:!1,side:e.BackSide,vertexColors:!0,depthWrite:!1,depthTest:!1});N(t,i,r,I(o),!1);const s=new e.Mesh(t,a);n.add(s)}return n.renderOrder=-1/0,n}(t);break;case"Shape":r=function(t){const n=t.fields;let r,o,a=new e.MeshBasicMaterial({color:0});for(let e=0,t=n.length;e<t;e++){const t=n[e],o=t.name,s=t.values;switch(o){case"appearance":null!==s[0]&&(a=u(s[0]));break;case"geometry":null!==s[0]&&(r=u(s[0]));break;default:console.warn("THREE.VRMLLoader: Unknown field:",o)}}if(r&&r.attributes.position){const t=r._type;if("points"===t){const t=new e.PointsMaterial({color:16777215});void 0!==r.attributes.color?t.vertexColors=!0:a.isMeshPhongMaterial&&t.color.copy(a.emissive),o=new e.Points(r,t)}else if("line"===t){const t=new e.LineBasicMaterial({color:16777215});void 0!==r.attributes.color?t.vertexColors=!0:a.isMeshPhongMaterial&&t.color.copy(a.emissive),o=new e.LineSegments(r,t)}else void 0!==r._solid&&(a.side=r._solid?e.FrontSide:e.DoubleSide),void 0!==r.attributes.color&&(a.vertexColors=!0),o=new e.Mesh(r,a)}else o=new e.Object3D,o.visible=!1;return o}(t);break;case"Appearance":r=function(t){let n,r=new e.MeshPhongMaterial;const o=t.fields;for(let t=0,a=o.length;t<a;t++){const a=o[t],s=a.name,l=a.values;switch(s){case"material":if(null!==l[0]){const e=u(l[0]);e.diffuseColor&&r.color.copy(e.diffuseColor),e.emissiveColor&&r.emissive.copy(e.emissiveColor),e.shininess&&(r.shininess=e.shininess),e.specularColor&&r.specular.copy(e.specularColor),e.transparency&&(r.opacity=1-e.transparency),e.transparency>0&&(r.transparent=!0)}else r=new e.MeshBasicMaterial({color:0});break;case"texture":const t=l[0];null!==t&&("ImageTexture"!==t.name&&"PixelTexture"!==t.name||(r.map=u(t)));break;case"textureTransform":null!==l[0]&&(n=u(l[0]));break;default:console.warn("THREE.VRMLLoader: Unknown field:",s)}}if(r.map){if(r.map.__type){switch(r.map.__type){case s.INTENSITY_ALPHA:r.opacity=1;break;case s.RGB:r.color.set(16777215);break;case s.RGBA:r.color.set(16777215),r.opacity=1}delete r.map.__type}n&&(r.map.center.copy(n.center),r.map.rotation=n.rotation,r.map.repeat.copy(n.scale),r.map.offset.copy(n.translation))}return r}(t);break;case"Material":r=function(t){const n={},r=t.fields;for(let t=0,o=r.length;t<o;t++){const o=r[t],a=o.name,s=o.values;switch(a){case"ambientIntensity":break;case"diffuseColor":n.diffuseColor=new e.Color(s[0],s[1],s[2]);break;case"emissiveColor":n.emissiveColor=new e.Color(s[0],s[1],s[2]);break;case"shininess":n.shininess=s[0];break;case"specularColor":n.emissiveColor=new e.Color(s[0],s[1],s[2]);break;case"transparency":n.transparency=s[0];break;default:console.warn("THREE.VRMLLoader: Unknown field:",a)}}return n}(t);break;case"ImageTexture":r=function(t){let n,r=e.RepeatWrapping,o=e.RepeatWrapping;const a=t.fields;for(let t=0,s=a.length;t<s;t++){const s=a[t],l=s.name,i=s.values;switch(l){case"url":const t=i[0];t&&(n=B.load(t));break;case"repeatS":!1===i[0]&&(r=e.ClampToEdgeWrapping);break;case"repeatT":!1===i[0]&&(o=e.ClampToEdgeWrapping);break;default:console.warn("THREE.VRMLLoader: Unknown field:",l)}}n&&(n.wrapS=r,n.wrapT=o);return n}(t);break;case"PixelTexture":r=function(t){let n,r=e.RepeatWrapping,o=e.RepeatWrapping;const a=t.fields;for(let t=0,s=a.length;t<s;t++){const s=a[t],l=s.name,i=s.values;switch(l){case"image":const t=i[0],a=i[1],s=d(i[2]),c=new Uint8Array(4*t*a),u={r:0,g:0,b:0,a:0};for(let e=3,t=0,n=i.length;e<n;e++,t++){f(i[e],s,u);const n=4*t;c[n+0]=u.r,c[n+1]=u.g,c[n+2]=u.b,c[n+3]=u.a}n=new e.DataTexture(c,t,a),n.needsUpdate=!0,n.__type=s;break;case"repeatS":!1===i[0]&&(r=e.ClampToEdgeWrapping);break;case"repeatT":!1===i[0]&&(o=e.ClampToEdgeWrapping);break;default:console.warn("THREE.VRMLLoader: Unknown field:",l)}}n&&(n.wrapS=r,n.wrapT=o);return n}(t);break;case"TextureTransform":r=function(t){const n={center:new e.Vector2,rotation:new e.Vector2,scale:new e.Vector2,translation:new e.Vector2},r=t.fields;for(let e=0,t=r.length;e<t;e++){const t=r[e],o=t.name,a=t.values;switch(o){case"center":n.center.set(a[0],a[1]);break;case"rotation":n.rotation=a[0];break;case"scale":n.scale.set(a[0],a[1]);break;case"translation":n.translation.set(a[0],a[1]);break;default:console.warn("THREE.VRMLLoader: Unknown field:",o)}}return n}(t);break;case"IndexedFaceSet":r=function(t){let n,r,o,a,s,l,i,c,f=!0,d=!0,p=0,m=!0,g=!0;const k=t.fields;for(let e=0,t=k.length;e<t;e++){const t=k[e],h=t.name,b=t.values;switch(h){case"color":const e=b[0];null!==e&&(n=u(e));break;case"coord":const t=b[0];null!==t&&(r=u(t));break;case"normal":const x=b[0];null!==x&&(o=u(x));break;case"texCoord":const k=b[0];null!==k&&(a=u(k));break;case"ccw":f=b[0];break;case"colorIndex":s=b;break;case"colorPerVertex":m=b[0];break;case"convex":break;case"coordIndex":l=b;break;case"creaseAngle":p=b[0];break;case"normalIndex":i=b;break;case"normalPerVertex":g=b[0];break;case"solid":d=b[0];break;case"texCoordIndex":c=b;break;default:console.warn("THREE.VRMLLoader: Unknown field:",h)}}if(void 0===l)return console.warn("THREE.VRMLLoader: Missing coordIndex."),new e.BufferGeometry;const w=h(l,f);let L,E,y;if(n)if(!0===m)if(s&&s.length>0){L=S(w,h(s,f),n,3)}else L=U(w,new e.Float32BufferAttribute(n,3));else if(s&&s.length>0){L=A(w,b(x(n,s),l))}else{L=A(w,b(n,l))}if(o)if(!0===g)if(i&&i.length>0){E=S(w,h(i,f),o,3)}else E=U(w,new e.Float32BufferAttribute(o,3));else if(i&&i.length>0){E=A(w,b(x(o,i),l))}else{E=A(w,b(o,l))}else E=v(w,r,p);if(a)if(c&&c.length>0){y=S(w,h(c,f),a,2)}else y=U(w,new e.Float32BufferAttribute(a,2));const T=new e.BufferGeometry,R=U(w,new e.Float32BufferAttribute(r,3));T.setAttribute("position",R),T.setAttribute("normal",E),L&&T.setAttribute("color",L);y&&T.setAttribute("uv",y);return T._solid=d,T._type="mesh",T}(t);break;case"IndexedLineSet":r=function(t){let n,r,o,a,s=!0;const l=t.fields;for(let e=0,t=l.length;e<t;e++){const t=l[e],i=t.name,c=t.values;switch(i){case"color":const e=c[0];null!==e&&(n=u(e));break;case"coord":const t=c[0];null!==t&&(r=u(t));break;case"colorIndex":o=c;break;case"colorPerVertex":s=c[0];break;case"coordIndex":a=c;break;default:console.warn("THREE.VRMLLoader: Unknown field:",i)}}let i;const c=m(a);if(n)if(!0===s)if(o.length>0){i=S(c,m(o),n,3)}else i=U(c,new e.Float32BufferAttribute(n,3));else if(o.length>0){i=R(c,g(x(n,o),a))}else{i=R(c,g(n,a))}const f=new e.BufferGeometry,d=U(c,new e.Float32BufferAttribute(r,3));f.setAttribute("position",d),i&&f.setAttribute("color",i);return f._type="line",f}(t);break;case"PointSet":r=function(t){let n,r;const o=t.fields;for(let e=0,t=o.length;e<t;e++){const t=o[e],a=t.name,s=t.values;switch(a){case"color":const e=s[0];null!==e&&(n=u(e));break;case"coord":const t=s[0];null!==t&&(r=u(t));break;default:console.warn("THREE.VRMLLoader: Unknown field:",a)}}const a=new e.BufferGeometry;a.setAttribute("position",new e.Float32BufferAttribute(r,3)),n&&a.setAttribute("color",new e.Float32BufferAttribute(n,3));return a._type="points",a}(t);break;case"Box":r=function(t){const n=new e.Vector3(2,2,2),r=t.fields;for(let e=0,t=r.length;e<t;e++){const t=r[e],o=t.name,a=t.values;switch(o){case"size":n.x=a[0],n.y=a[1],n.z=a[2];break;default:console.warn("THREE.VRMLLoader: Unknown field:",o)}}return new e.BoxGeometry(n.x,n.y,n.z)}(t);break;case"Cone":r=function(t){let n=1,r=2,o=!1;const a=t.fields;for(let e=0,t=a.length;e<t;e++){const t=a[e],s=t.name,l=t.values;switch(s){case"bottom":o=!l[0];break;case"bottomRadius":n=l[0];break;case"height":r=l[0];break;case"side":break;default:console.warn("THREE.VRMLLoader: Unknown field:",s)}}return new e.ConeGeometry(n,r,16,1,o)}(t);break;case"Cylinder":r=function(t){let n=1,r=2;const o=t.fields;for(let e=0,t=o.length;e<t;e++){const t=o[e],a=t.name,s=t.values;switch(a){case"bottom":break;case"radius":n=s[0];break;case"height":r=s[0];break;case"side":case"top":break;default:console.warn("THREE.VRMLLoader: Unknown field:",a)}}return new e.CylinderGeometry(n,n,r,16,1)}(t);break;case"Sphere":r=function(t){let n=1;const r=t.fields;for(let e=0,t=r.length;e<t;e++){const t=r[e],o=t.name,a=t.values;switch(o){case"radius":n=a[0];break;default:console.warn("THREE.VRMLLoader: Unknown field:",o)}}return new e.SphereGeometry(n,16,16)}(t);break;case"ElevationGrid":r=function(t){let n,r,o,a,s=!0,l=!0,i=!0,c=!0,f=0,d=2,p=2,h=1,b=1;const x=t.fields;for(let e=0,t=x.length;e<t;e++){const t=x[e],m=t.name,g=t.values;switch(m){case"color":const e=g[0];null!==e&&(n=u(e));break;case"normal":const t=g[0];null!==t&&(r=u(t));break;case"texCoord":const x=g[0];null!==x&&(o=u(x));break;case"height":a=g;break;case"ccw":c=g[0];break;case"colorPerVertex":s=g[0];break;case"creaseAngle":f=g[0];break;case"normalPerVertex":l=g[0];break;case"solid":i=g[0];break;case"xDimension":d=g[0];break;case"xSpacing":h=g[0];break;case"zDimension":p=g[0];break;case"zSpacing":b=g[0];break;default:console.warn("THREE.VRMLLoader: Unknown field:",m)}}const m=[],g=[],k=[],w=[];for(let e=0;e<p;e++)for(let t=0;t<d;t++){const i=e*d+t,c=h*e,u=a[i],f=b*t;if(m.push(c,u,f),n&&!0===s){const e=n[3*i+0],t=n[3*i+1],r=n[3*i+2];k.push(e,t,r)}if(r&&!0===l){const e=r[3*i+0],t=r[3*i+1],n=r[3*i+2];g.push(e,t,n)}if(o){const e=o[2*i+0],t=o[2*i+1];w.push(e,t)}else w.push(e/(d-1),t/(p-1))}const L=[];for(let e=0;e<d-1;e++)for(let t=0;t<p-1;t++){const n=e+t*d,r=e+(t+1)*d,o=e+1+(t+1)*d,a=e+1+t*d;!0===c?(L.push(n,o,r),L.push(o,n,a)):(L.push(n,r,o),L.push(o,a,n))}const E=U(L,new e.Float32BufferAttribute(m,3)),y=U(L,new e.Float32BufferAttribute(w,2));let T,S;if(n)if(!1===s){for(let e=0;e<d-1;e++)for(let t=0;t<p-1;t++){const r=e+t*(d-1),o=n[3*r+0],a=n[3*r+1],s=n[3*r+2];k.push(o,a,s),k.push(o,a,s),k.push(o,a,s),k.push(o,a,s),k.push(o,a,s),k.push(o,a,s)}T=new e.Float32BufferAttribute(k,3)}else T=U(L,new e.Float32BufferAttribute(k,3));if(r)if(!1===l){for(let e=0;e<d-1;e++)for(let t=0;t<p-1;t++){const n=e+t*(d-1),o=r[3*n+0],a=r[3*n+1],s=r[3*n+2];g.push(o,a,s),g.push(o,a,s),g.push(o,a,s),g.push(o,a,s),g.push(o,a,s),g.push(o,a,s)}S=new e.Float32BufferAttribute(g,3)}else S=U(L,new e.Float32BufferAttribute(g,3));else S=v(L,m,f);const A=new e.BufferGeometry;A.setAttribute("position",E),A.setAttribute("normal",S),A.setAttribute("uv",y),T&&A.setAttribute("color",T);return A._solid=i,A._type="mesh",A}(t);break;case"Extrusion":r=function(t){let n,r,o=[1,1,1,-1,-1,-1,-1,1,1,1],a=[0,0,0,0,1,0],s=!0,l=!0,i=0,c=!0,u=!0;const f=t.fields;for(let e=0,t=f.length;e<t;e++){const t=f[e],d=t.name,p=t.values;switch(d){case"beginCap":s=p[0];break;case"ccw":l=p[0];break;case"convex":break;case"creaseAngle":i=p[0];break;case"crossSection":o=p;break;case"endCap":c=p[0];break;case"orientation":r=p;break;case"scale":n=p;break;case"solid":u=p[0];break;case"spine":a=p;break;default:console.warn("THREE.VRMLLoader: Unknown field:",d)}}const d=o[0]===o[o.length-2]&&o[1]===o[o.length-1],p=[],h=new e.Vector3,b=new e.Vector3,x=new e.Vector3,m=new e.Vector3,g=new e.Quaternion;for(let e=0,t=0,s=0,l=a.length;e<l;e+=3,t+=2,s+=4){h.fromArray(a,e),b.x=n?n[t+0]:1,b.y=1,b.z=n?n[t+1]:1,x.x=r?r[s+0]:0,x.y=r?r[s+1]:0,x.z=r?r[s+2]:1;const l=r?r[s+3]:0;for(let e=0,t=o.length;e<t;e+=2)m.x=o[e+0],m.y=0,m.z=o[e+1],m.multiply(b),g.setFromAxisAngle(x,l),m.applyQuaternion(g),m.add(h),p.push(m.x,m.y,m.z)}const k=[],w=a.length/3,L=o.length/2;for(let e=0;e<w-1;e++)for(let t=0;t<L-1;t++){const n=t+e*L;let r=t+1+e*L;const o=t+(e+1)*L;let a=t+1+(e+1)*L;t===L-2&&!0===d&&(r=e*L,a=(e+1)*L),!0===l?(k.push(n,r,o),k.push(o,r,a)):(k.push(n,o,r),k.push(o,a,r))}if(!0===s||!0===c){const t=[];for(let n=0,r=o.length;n<r;n+=2)t.push(new e.Vector2(o[n],o[n+1]));const n=e.ShapeUtils.triangulateShape(t,[]),r=[];for(let e=0,t=n.length;e<t;e++){const t=n[e];r.push(t[0],t[1],t[2])}if(!0===s)for(let e=0,t=r.length;e<t;e+=3)!0===l?k.push(r[e+0],r[e+1],r[e+2]):k.push(r[e+0],r[e+2],r[e+1]);if(!0===c){const e=L*(w-1);for(let t=0,n=r.length;t<n;t+=3)!0===l?k.push(e+r[t+0],e+r[t+2],e+r[t+1]):k.push(e+r[t+0],e+r[t+1],e+r[t+2])}}const E=U(k,new e.Float32BufferAttribute(p,3)),y=v(k,p,i),T=new e.BufferGeometry;return T.setAttribute("position",E),T.setAttribute("normal",y),T._solid=u,T._type="mesh",T}(t);break;case"Color":case"Coordinate":case"Normal":case"TextureCoordinate":r=function(e){return e.fields[0].values}(t);break;case"WorldInfo":r=function(e){const t={},n=e.fields;for(let e=0,r=n.length;e<r;e++){const r=n[e],o=r.name,a=r.values;switch(o){case"title":t.title=a[0];break;case"info":t.info=a;break;default:console.warn("THREE.VRMLLoader: Unknown field:",o)}}return t}(t);break;case"Anchor":case"Billboard":case"Inline":case"LOD":case"Switch":case"AudioClip":case"DirectionalLight":case"PointLight":case"Script":case"Sound":case"SpotLight":case"CylinderSensor":case"PlaneSensor":case"ProximitySensor":case"SphereSensor":case"TimeSensor":case"TouchSensor":case"VisibilitySensor":case"Text":case"FontStyle":case"MovieTexture":case"ColorInterpolator":case"CoordinateInterpolator":case"NormalInterpolator":case"OrientationInterpolator":case"PositionInterpolator":case"ScalarInterpolator":case"Fog":case"NavigationInfo":case"Viewpoint":break;default:console.warn("THREE.VRMLLoader: Unknown node:",n)}void 0!==r&&void 0!==t.DEF&&!0===r.hasOwnProperty("name")&&(r.name=t.DEF);return r}(t)),t.build)}function f(e,t,n){let r;switch(t){case s.INTENSITY:r=parseInt(e),n.r=r,n.g=r,n.b=r,n.a=1;break;case s.INTENSITY_ALPHA:r=parseInt("0x"+e.substring(2,4)),n.r=r,n.g=r,n.b=r,n.a=parseInt("0x"+e.substring(4,6));break;case s.RGB:n.r=parseInt("0x"+e.substring(2,4)),n.g=parseInt("0x"+e.substring(4,6)),n.b=parseInt("0x"+e.substring(6,8)),n.a=1;break;case s.RGBA:n.r=parseInt("0x"+e.substring(2,4)),n.g=parseInt("0x"+e.substring(4,6)),n.b=parseInt("0x"+e.substring(6,8)),n.a=parseInt("0x"+e.substring(8,10))}}function d(e){let t;switch(e){case 1:t=s.INTENSITY;break;case 2:t=s.INTENSITY_ALPHA;break;case 3:t=s.RGB;break;case 4:t=s.RGBA}return t}function p(t,n){for(let r=0,o=t.length;r<o;r++){const o=u(t[r]);o instanceof e.Object3D&&n.add(o)}}function h(e,t){const n=[];let r=0;for(let o=0,a=e.length;o<a;o++){const s=e[r],l=e[o+(t?1:2)],i=e[o+(t?2:1)];n.push(s,l,i),(-1===e[o+3]||o+3>=a)&&(o+=3,r=o+1)}return n}function b(e,t){const n=[];let r=0;for(let o=0,a=t.length;o<a;o++){const s=3*r,l=e[s],i=e[s+1],c=e[s+2];n.push(l,i,c),(-1===t[o+3]||o+3>=a)&&(o+=3,r++)}return n}function x(e,t){const n=[];for(let r=0,o=t.length;r<o;r++){const o=3*t[r],a=e[o],s=e[o+1],l=e[o+2];n.push(a,s,l)}return n}function m(e){const t=[];for(let n=0,r=e.length;n<r;n++){const o=e[n],a=e[n+1];t.push(o,a),(-1===e[n+2]||n+2>=r)&&(n+=2)}return t}function g(e,t){const n=[];let r=0;for(let o=0,a=t.length;o<a;o++){const s=3*r,l=e[s],i=e[s+1],c=e[s+2];n.push(l,i,c),(-1===t[o+2]||o+2>=a)&&(o+=2,r++)}return n}const k=new e.Vector3,w=new e.Vector3,L=new e.Vector3,E=new e.Vector2,y=new e.Vector2,T=new e.Vector2;function S(t,n,r,o){const a=[];for(let e=0,s=t.length;e<s;e+=3){const t=n[e],s=n[e+1],l=n[e+2];2===o?(E.fromArray(r,t*o),y.fromArray(r,s*o),T.fromArray(r,l*o),a.push(E.x,E.y),a.push(y.x,y.y),a.push(T.x,T.y)):(k.fromArray(r,t*o),w.fromArray(r,s*o),L.fromArray(r,l*o),a.push(k.x,k.y,k.z),a.push(w.x,w.y,w.z),a.push(L.x,L.y,L.z))}return new e.Float32BufferAttribute(a,o)}function A(t,n){const r=[];for(let e=0,o=0,a=t.length;e<a;e+=3,o++)k.fromArray(n,3*o),r.push(k.x,k.y,k.z),r.push(k.x,k.y,k.z),r.push(k.x,k.y,k.z);return new e.Float32BufferAttribute(r,3)}function R(t,n){const r=[];for(let e=0,o=0,a=t.length;e<a;e+=2,o++)k.fromArray(n,3*o),r.push(k.x,k.y,k.z),r.push(k.x,k.y,k.z);return new e.Float32BufferAttribute(r,3)}function U(t,n){const r=n.array,o=n.itemSize,a=new r.constructor(t.length*o);let s=0,l=0;for(let e=0,n=t.length;e<n;e++){s=t[e]*o;for(let e=0;e<o;e++)a[l++]=r[s++]}return new e.Float32BufferAttribute(a,o)}const C=new e.Vector3,M=new e.Vector3;function v(t,n,r){const o=[],s={};for(let e=0,r=t.length;e<r;e+=3){const r=t[e],l=t[e+1],i=t[e+2],c=new a(r,l,i);k.fromArray(n,3*r),w.fromArray(n,3*l),L.fromArray(n,3*i),M.subVectors(L,w),C.subVectors(k,w),M.cross(C),M.normalize(),c.normal.copy(M),void 0===s[r]&&(s[r]=[]),void 0===s[l]&&(s[l]=[]),void 0===s[i]&&(s[i]=[]),s[r].push(c.normal),s[l].push(c.normal),s[i].push(c.normal),o.push(c)}const l=[];for(let e=0,t=o.length;e<t;e++){const t=o[e],a=V(s[t.a],t.normal,r),i=V(s[t.b],t.normal,r),c=V(s[t.c],t.normal,r);k.fromArray(n,3*t.a),w.fromArray(n,3*t.b),L.fromArray(n,3*t.c),l.push(a.x,a.y,a.z),l.push(i.x,i.y,i.z),l.push(c.x,c.y,c.z)}return new e.Float32BufferAttribute(l,3)}function V(t,n,r){const o=new e.Vector3;if(0===r)o.copy(n);else for(let e=0,a=t.length;e<a;e++)t[e].angleTo(n)<r&&o.add(t[e]);return o.normalize()}function I(t){const n=[];for(let r=0,o=t.length;r<o;r+=3)n.push(new e.Color(t[r],t[r+1],t[r+2]));return n}function N(t,n,r,o,a){const s=[],l=!0===a?0:Math.PI;for(let t=0,i=o.length;t<i;t++){let o=0===t?0:r[t-1];o=!0===a?o:l-o;const i=new e.Vector3;i.setFromSphericalCoords(n,o,0),s.push(i)}const i=t.index,c=t.attributes.position,u=new e.BufferAttribute(new Float32Array(3*t.attributes.position.count),3),f=new e.Vector3,d=new e.Color;for(let e=0;e<i.count;e++){const t=i.getX(e);let n,r;f.fromBufferAttribute(c,t);let l=1;for(let e=1;e<s.length;e++){n=e-1,r=e;const t=s[n],o=s[r];if(!0===a){if(f.y<=t.y&&f.y>o.y){l=Math.abs(t.y-f.y)/Math.abs(t.y-o.y);break}}else if(f.y>=t.y&&f.y<o.y){l=Math.abs(t.y-f.y)/Math.abs(t.y-o.y);break}}const p=o[n],h=o[r];d.copy(p).lerp(h,l),u.setXYZ(t,d.r,d.g,d.b)}t.setAttribute("color",u)}const B=new e.TextureLoader(this.manager);if(B.setPath(this.resourcePath||l).setCrossOrigin(this.crossOrigin),-1===n.indexOf("#VRML V2.0"))throw Error("THREE.VRMLLexer: Version of VRML asset not supported.");return function(t){const n=t.nodes,r=new e.Scene;for(let e=0,t=n.length;e<t;e++){c(n[e])}for(let t=0,o=n.length;t<o;t++){const o=n[t],a=u(o);a instanceof e.Object3D&&r.add(a),"WorldInfo"===o.name&&(r.userData.worldInfo=a)}return r}(function(e){const n=function(){const e=t.createToken({name:"RouteIdentifier",pattern:/[^\x30-\x39\0-\x20\x22\x27\x23\x2b\x2c\x2d\x2e\x5b\x5d\x5c\x7b\x7d][^\0-\x20\x22\x27\x23\x2b\x2c\x2d\x2e\x5b\x5d\x5c\x7b\x7d]*[\.][^\x30-\x39\0-\x20\x22\x27\x23\x2b\x2c\x2d\x2e\x5b\x5d\x5c\x7b\x7d][^\0-\x20\x22\x27\x23\x2b\x2c\x2d\x2e\x5b\x5d\x5c\x7b\x7d]*/}),n=t.createToken({name:"Identifier",pattern:/[^\x30-\x39\0-\x20\x22\x27\x23\x2b\x2c\x2d\x2e\x5b\x5d\x5c\x7b\x7d][^\0-\x20\x22\x27\x23\x2b\x2c\x2d\x2e\x5b\x5d\x5c\x7b\x7d]*/,longer_alt:e}),r=["Anchor","Billboard","Collision","Group","Transform","Inline","LOD","Switch","AudioClip","DirectionalLight","PointLight","Script","Shape","Sound","SpotLight","WorldInfo","CylinderSensor","PlaneSensor","ProximitySensor","SphereSensor","TimeSensor","TouchSensor","VisibilitySensor","Box","Cone","Cylinder","ElevationGrid","Extrusion","IndexedFaceSet","IndexedLineSet","PointSet","Sphere","Color","Coordinate","Normal","TextureCoordinate","Appearance","FontStyle","ImageTexture","Material","MovieTexture","PixelTexture","TextureTransform","ColorInterpolator","CoordinateInterpolator","NormalInterpolator","OrientationInterpolator","PositionInterpolator","ScalarInterpolator","Background","Fog","NavigationInfo","Viewpoint","Text"],o=t.createToken({name:"Version",pattern:/#VRML.*/,longer_alt:n}),a=t.createToken({name:"NodeName",pattern:new RegExp(r.join("|")),longer_alt:n}),s=t.createToken({name:"DEF",pattern:/DEF/,longer_alt:n}),l=t.createToken({name:"USE",pattern:/USE/,longer_alt:n}),i=t.createToken({name:"ROUTE",pattern:/ROUTE/,longer_alt:n}),c=t.createToken({name:"TO",pattern:/TO/,longer_alt:n}),u=t.createToken({name:"StringLiteral",pattern:/"(?:[^\\"\n\r]|\\[bfnrtv"\\/]|\\u[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F])*"/}),f=t.createToken({name:"HexLiteral",pattern:/0[xX][0-9a-fA-F]+/}),d=t.createToken({name:"NumberLiteral",pattern:/[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?/}),p=t.createToken({name:"TrueLiteral",pattern:/TRUE/}),h=t.createToken({name:"FalseLiteral",pattern:/FALSE/}),b=t.createToken({name:"NullLiteral",pattern:/NULL/}),x=t.createToken({name:"LSquare",pattern:/\[/}),m=t.createToken({name:"RSquare",pattern:/]/}),g=t.createToken({name:"LCurly",pattern:/{/}),k=t.createToken({name:"RCurly",pattern:/}/}),w=t.createToken({name:"Comment",pattern:/#.*/,group:t.Lexer.SKIPPED}),L=[t.createToken({name:"WhiteSpace",pattern:/[ ,\s]/,group:t.Lexer.SKIPPED}),a,s,l,i,c,p,h,b,o,n,e,u,f,d,x,m,g,k,w],E={};for(let e=0,t=L.length;e<t;e++){const t=L[e];E[t.name]=t}return{tokens:L,tokenVocabulary:E}}(),a=new r(n.tokens),s=new o(n.tokenVocabulary),l=function(e){function t(){e.call(this),this.validateVisitor()}function n(e,t){const n={type:null,values:[]};if(t.node){n.type="node";for(let r=0,o=t.node.length;r<o;r++){const o=t.node[r];n.values.push(e.visit(o))}}if(t.use){n.type="use";for(let r=0,o=t.use.length;r<o;r++){const o=t.use[r];n.values.push(e.visit(o))}}if(t.StringLiteral){n.type="string";for(let e=0,r=t.StringLiteral.length;e<r;e++){const r=t.StringLiteral[e];n.values.push(r.image.replace(/'|"/g,""))}}if(t.NumberLiteral){n.type="number";for(let e=0,r=t.NumberLiteral.length;e<r;e++){const r=t.NumberLiteral[e];n.values.push(parseFloat(r.image))}}if(t.HexLiteral){n.type="hex";for(let e=0,r=t.HexLiteral.length;e<r;e++){const r=t.HexLiteral[e];n.values.push(r.image)}}if(t.TrueLiteral){n.type="boolean";for(let e=0,r=t.TrueLiteral.length;e<r;e++){"TRUE"===t.TrueLiteral[e].image&&n.values.push(!0)}}if(t.FalseLiteral){n.type="boolean";for(let e=0,r=t.FalseLiteral.length;e<r;e++){"FALSE"===t.FalseLiteral[e].image&&n.values.push(!1)}}return t.NullLiteral&&(n.type="null",t.NullLiteral.forEach((function(){n.values.push(null)}))),n}return t.prototype=Object.assign(Object.create(e.prototype),{constructor:t,vrml:function(e){const t={version:this.visit(e.version),nodes:[],routes:[]};for(let n=0,r=e.node.length;n<r;n++){const r=e.node[n];t.nodes.push(this.visit(r))}if(e.route)for(let n=0,r=e.route.length;n<r;n++){const r=e.route[n];t.routes.push(this.visit(r))}return t},version:function(e){return e.Version[0].image},node:function(e){const t={name:e.NodeName[0].image,fields:[]};if(e.field)for(let n=0,r=e.field.length;n<r;n++){const r=e.field[n];t.fields.push(this.visit(r))}return e.def&&(t.DEF=this.visit(e.def[0])),t},field:function(e){const t={name:e.Identifier[0].image,type:null,values:null};let n;return e.singleFieldValue&&(n=this.visit(e.singleFieldValue[0])),e.multiFieldValue&&(n=this.visit(e.multiFieldValue[0])),t.type=n.type,t.values=n.values,t},def:function(e){return(e.Identifier||e.NodeName)[0].image},use:function(e){return{USE:(e.Identifier||e.NodeName)[0].image}},singleFieldValue:function(e){return n(this,e)},multiFieldValue:function(e){return n(this,e)},route:function(e){return{FROM:e.RouteIdentifier[0].image,TO:e.RouteIdentifier[1].image}}}),new t}(s.getBaseCstVisitorConstructor()),i=a.lex(e);s.input=i.tokens;const c=s.vrml();if(s.errors.length>0)throw console.error(s.errors),Error("THREE.VRMLLoader: Parsing errors detected.");return l.visit(c)}(n))}}class r{constructor(e){this.lexer=new t.Lexer(e)}lex(e){const t=this.lexer.tokenize(e);if(t.errors.length>0)throw console.error(t.errors),Error("THREE.VRMLLexer: Lexing errors detected.");return t}}class o extends t.CstParser{constructor(e){super(e);const t=this,n=e.Version,r=e.LCurly,o=e.RCurly,a=e.LSquare,s=e.RSquare,l=e.Identifier,i=e.RouteIdentifier,c=e.StringLiteral,u=e.HexLiteral,f=e.NumberLiteral,d=e.TrueLiteral,p=e.FalseLiteral,h=e.NullLiteral,b=e.DEF,x=e.USE,m=e.ROUTE,g=e.TO,k=e.NodeName;t.RULE("vrml",(function(){t.SUBRULE(t.version),t.AT_LEAST_ONE((function(){t.SUBRULE(t.node)})),t.MANY((function(){t.SUBRULE(t.route)}))})),t.RULE("version",(function(){t.CONSUME(n)})),t.RULE("node",(function(){t.OPTION((function(){t.SUBRULE(t.def)})),t.CONSUME(k),t.CONSUME(r),t.MANY((function(){t.SUBRULE(t.field)})),t.CONSUME(o)})),t.RULE("field",(function(){t.CONSUME(l),t.OR2([{ALT:function(){t.SUBRULE(t.singleFieldValue)}},{ALT:function(){t.SUBRULE(t.multiFieldValue)}}])})),t.RULE("def",(function(){t.CONSUME(b),t.OR([{ALT:function(){t.CONSUME(l)}},{ALT:function(){t.CONSUME(k)}}])})),t.RULE("use",(function(){t.CONSUME(x),t.OR([{ALT:function(){t.CONSUME(l)}},{ALT:function(){t.CONSUME(k)}}])})),t.RULE("singleFieldValue",(function(){t.AT_LEAST_ONE((function(){t.OR([{ALT:function(){t.SUBRULE(t.node)}},{ALT:function(){t.SUBRULE(t.use)}},{ALT:function(){t.CONSUME(c)}},{ALT:function(){t.CONSUME(u)}},{ALT:function(){t.CONSUME(f)}},{ALT:function(){t.CONSUME(d)}},{ALT:function(){t.CONSUME(p)}},{ALT:function(){t.CONSUME(h)}}])}))})),t.RULE("multiFieldValue",(function(){t.CONSUME(a),t.MANY((function(){t.OR([{ALT:function(){t.SUBRULE(t.node)}},{ALT:function(){t.SUBRULE(t.use)}},{ALT:function(){t.CONSUME(c)}},{ALT:function(){t.CONSUME(u)}},{ALT:function(){t.CONSUME(f)}},{ALT:function(){t.CONSUME(h)}}])})),t.CONSUME(s)})),t.RULE("route",(function(){t.CONSUME(m),t.CONSUME(i),t.CONSUME(g),t.CONSUME2(i)})),this.performSelfAnalysis()}}class a{constructor(t,n,r){this.a=t,this.b=n,this.c=r,this.normal=new e.Vector3}}const s={INTENSITY:1,INTENSITY_ALPHA:2,RGB:3,RGBA:4};exports.VRMLLoader=n;
|