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/renderers/Projector.js
CHANGED
@@ -1,75 +1,126 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
var RenderableObject = function() {
|
1
|
+
import { Vector3, Color, Vector2, Vector4, Box3, Matrix4, Frustum, Matrix3, DoubleSide } from 'three';
|
2
|
+
|
3
|
+
var RenderableObject = function () {
|
5
4
|
this.id = 0;
|
6
5
|
this.object = null;
|
7
6
|
this.z = 0;
|
8
7
|
this.renderOrder = 0;
|
9
|
-
};
|
10
|
-
|
8
|
+
}; //
|
9
|
+
|
10
|
+
|
11
|
+
var RenderableFace = function () {
|
11
12
|
this.id = 0;
|
12
13
|
this.v1 = new RenderableVertex();
|
13
14
|
this.v2 = new RenderableVertex();
|
14
15
|
this.v3 = new RenderableVertex();
|
15
|
-
this.normalModel = new
|
16
|
-
this.vertexNormalsModel = [new
|
16
|
+
this.normalModel = new Vector3();
|
17
|
+
this.vertexNormalsModel = [new Vector3(), new Vector3(), new Vector3()];
|
17
18
|
this.vertexNormalsLength = 0;
|
18
|
-
this.color = new
|
19
|
+
this.color = new Color();
|
19
20
|
this.material = null;
|
20
|
-
this.uvs = [new
|
21
|
+
this.uvs = [new Vector2(), new Vector2(), new Vector2()];
|
21
22
|
this.z = 0;
|
22
23
|
this.renderOrder = 0;
|
23
|
-
};
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
this.
|
24
|
+
}; //
|
25
|
+
|
26
|
+
|
27
|
+
var RenderableVertex = function () {
|
28
|
+
this.position = new Vector3();
|
29
|
+
this.positionWorld = new Vector3();
|
30
|
+
this.positionScreen = new Vector4();
|
28
31
|
this.visible = true;
|
29
32
|
};
|
30
|
-
|
33
|
+
|
34
|
+
RenderableVertex.prototype.copy = function (vertex) {
|
31
35
|
this.positionWorld.copy(vertex.positionWorld);
|
32
36
|
this.positionScreen.copy(vertex.positionScreen);
|
33
|
-
};
|
34
|
-
|
37
|
+
}; //
|
38
|
+
|
39
|
+
|
40
|
+
var RenderableLine = function () {
|
35
41
|
this.id = 0;
|
36
42
|
this.v1 = new RenderableVertex();
|
37
43
|
this.v2 = new RenderableVertex();
|
38
|
-
this.vertexColors = [new
|
44
|
+
this.vertexColors = [new Color(), new Color()];
|
39
45
|
this.material = null;
|
40
46
|
this.z = 0;
|
41
47
|
this.renderOrder = 0;
|
42
|
-
};
|
43
|
-
|
48
|
+
}; //
|
49
|
+
|
50
|
+
|
51
|
+
var RenderableSprite = function () {
|
44
52
|
this.id = 0;
|
45
53
|
this.object = null;
|
46
54
|
this.x = 0;
|
47
55
|
this.y = 0;
|
48
56
|
this.z = 0;
|
49
57
|
this.rotation = 0;
|
50
|
-
this.scale = new
|
58
|
+
this.scale = new Vector2();
|
51
59
|
this.material = null;
|
52
60
|
this.renderOrder = 0;
|
53
|
-
};
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
61
|
+
}; //
|
62
|
+
|
63
|
+
|
64
|
+
var Projector = function () {
|
65
|
+
var _object,
|
66
|
+
_objectCount,
|
67
|
+
_objectPool = [],
|
68
|
+
_objectPoolLength = 0,
|
69
|
+
_vertex,
|
70
|
+
_vertexCount,
|
71
|
+
_vertexPool = [],
|
72
|
+
_vertexPoolLength = 0,
|
73
|
+
_face,
|
74
|
+
_faceCount,
|
75
|
+
_facePool = [],
|
76
|
+
_facePoolLength = 0,
|
77
|
+
_line,
|
78
|
+
_lineCount,
|
79
|
+
_linePool = [],
|
80
|
+
_linePoolLength = 0,
|
81
|
+
_sprite,
|
82
|
+
_spriteCount,
|
83
|
+
_spritePool = [],
|
84
|
+
_spritePoolLength = 0,
|
85
|
+
_renderData = {
|
86
|
+
objects: [],
|
87
|
+
lights: [],
|
88
|
+
elements: []
|
89
|
+
},
|
90
|
+
_vector3 = new Vector3(),
|
91
|
+
_vector4 = new Vector4(),
|
92
|
+
_clipBox = new Box3(new Vector3(-1, -1, -1), new Vector3(1, 1, 1)),
|
93
|
+
_boundingBox = new Box3(),
|
94
|
+
_points3 = new Array(3),
|
95
|
+
_viewMatrix = new Matrix4(),
|
96
|
+
_viewProjectionMatrix = new Matrix4(),
|
97
|
+
_modelMatrix,
|
98
|
+
_modelViewProjectionMatrix = new Matrix4(),
|
99
|
+
_frustum = new Frustum(); //
|
100
|
+
|
101
|
+
|
102
|
+
this.projectVector = function (vector, camera) {
|
103
|
+
console.warn('THREE.Projector: .projectVector() is now vector.project().');
|
58
104
|
vector.project(camera);
|
59
105
|
};
|
60
|
-
|
61
|
-
|
106
|
+
|
107
|
+
this.unprojectVector = function (vector, camera) {
|
108
|
+
console.warn('THREE.Projector: .unprojectVector() is now vector.unproject().');
|
62
109
|
vector.unproject(camera);
|
63
110
|
};
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
111
|
+
|
112
|
+
this.pickingRay = function () {
|
113
|
+
console.error('THREE.Projector: .pickingRay() is now raycaster.setFromCamera().');
|
114
|
+
}; //
|
115
|
+
|
116
|
+
|
117
|
+
var RenderList = function () {
|
68
118
|
var normals = [];
|
69
119
|
var colors = [];
|
70
120
|
var uvs = [];
|
71
121
|
var object = null;
|
72
|
-
var normalMatrix = new
|
122
|
+
var normalMatrix = new Matrix3();
|
123
|
+
|
73
124
|
function setObject(value) {
|
74
125
|
object = value;
|
75
126
|
normalMatrix.getNormalMatrix(object.matrixWorld);
|
@@ -77,6 +128,7 @@ var Projector = function() {
|
|
77
128
|
colors.length = 0;
|
78
129
|
uvs.length = 0;
|
79
130
|
}
|
131
|
+
|
80
132
|
function projectVertex(vertex) {
|
81
133
|
var position = vertex.position;
|
82
134
|
var positionWorld = vertex.positionWorld;
|
@@ -89,72 +141,100 @@ var Projector = function() {
|
|
89
141
|
positionScreen.z *= invW;
|
90
142
|
vertex.visible = positionScreen.x >= -1 && positionScreen.x <= 1 && positionScreen.y >= -1 && positionScreen.y <= 1 && positionScreen.z >= -1 && positionScreen.z <= 1;
|
91
143
|
}
|
144
|
+
|
92
145
|
function pushVertex(x, y, z) {
|
93
146
|
_vertex = getNextVertexInPool();
|
147
|
+
|
94
148
|
_vertex.position.set(x, y, z);
|
149
|
+
|
95
150
|
projectVertex(_vertex);
|
96
151
|
}
|
152
|
+
|
97
153
|
function pushNormal(x, y, z) {
|
98
154
|
normals.push(x, y, z);
|
99
155
|
}
|
156
|
+
|
100
157
|
function pushColor(r, g, b) {
|
101
158
|
colors.push(r, g, b);
|
102
159
|
}
|
160
|
+
|
103
161
|
function pushUv(x, y) {
|
104
162
|
uvs.push(x, y);
|
105
163
|
}
|
164
|
+
|
106
165
|
function checkTriangleVisibility(v1, v2, v3) {
|
107
|
-
if (v1.visible === true || v2.visible === true || v3.visible === true)
|
108
|
-
return true;
|
166
|
+
if (v1.visible === true || v2.visible === true || v3.visible === true) return true;
|
109
167
|
_points3[0] = v1.positionScreen;
|
110
168
|
_points3[1] = v2.positionScreen;
|
111
169
|
_points3[2] = v3.positionScreen;
|
112
170
|
return _clipBox.intersectsBox(_boundingBox.setFromPoints(_points3));
|
113
171
|
}
|
172
|
+
|
114
173
|
function checkBackfaceCulling(v1, v2, v3) {
|
115
174
|
return (v3.positionScreen.x - v1.positionScreen.x) * (v2.positionScreen.y - v1.positionScreen.y) - (v3.positionScreen.y - v1.positionScreen.y) * (v2.positionScreen.x - v1.positionScreen.x) < 0;
|
116
175
|
}
|
176
|
+
|
117
177
|
function pushLine(a, b) {
|
118
178
|
var v1 = _vertexPool[a];
|
119
|
-
var v2 = _vertexPool[b];
|
179
|
+
var v2 = _vertexPool[b]; // Clip
|
180
|
+
|
120
181
|
v1.positionScreen.copy(v1.position).applyMatrix4(_modelViewProjectionMatrix);
|
121
182
|
v2.positionScreen.copy(v2.position).applyMatrix4(_modelViewProjectionMatrix);
|
183
|
+
|
122
184
|
if (clipLine(v1.positionScreen, v2.positionScreen) === true) {
|
185
|
+
// Perform the perspective divide
|
123
186
|
v1.positionScreen.multiplyScalar(1 / v1.positionScreen.w);
|
124
187
|
v2.positionScreen.multiplyScalar(1 / v2.positionScreen.w);
|
125
188
|
_line = getNextLineInPool();
|
126
189
|
_line.id = object.id;
|
190
|
+
|
127
191
|
_line.v1.copy(v1);
|
192
|
+
|
128
193
|
_line.v2.copy(v2);
|
194
|
+
|
129
195
|
_line.z = Math.max(v1.positionScreen.z, v2.positionScreen.z);
|
130
196
|
_line.renderOrder = object.renderOrder;
|
131
197
|
_line.material = object.material;
|
198
|
+
|
132
199
|
if (object.material.vertexColors) {
|
133
200
|
_line.vertexColors[0].fromArray(colors, a * 3);
|
201
|
+
|
134
202
|
_line.vertexColors[1].fromArray(colors, b * 3);
|
135
203
|
}
|
204
|
+
|
136
205
|
_renderData.elements.push(_line);
|
137
206
|
}
|
138
207
|
}
|
208
|
+
|
139
209
|
function pushTriangle(a, b, c, material) {
|
140
210
|
var v1 = _vertexPool[a];
|
141
211
|
var v2 = _vertexPool[b];
|
142
212
|
var v3 = _vertexPool[c];
|
143
|
-
if (checkTriangleVisibility(v1, v2, v3) === false)
|
144
|
-
|
145
|
-
if (material.side ===
|
213
|
+
if (checkTriangleVisibility(v1, v2, v3) === false) return;
|
214
|
+
|
215
|
+
if (material.side === DoubleSide || checkBackfaceCulling(v1, v2, v3) === true) {
|
146
216
|
_face = getNextFaceInPool();
|
147
217
|
_face.id = object.id;
|
218
|
+
|
148
219
|
_face.v1.copy(v1);
|
220
|
+
|
149
221
|
_face.v2.copy(v2);
|
222
|
+
|
150
223
|
_face.v3.copy(v3);
|
224
|
+
|
151
225
|
_face.z = (v1.positionScreen.z + v2.positionScreen.z + v3.positionScreen.z) / 3;
|
152
|
-
_face.renderOrder = object.renderOrder;
|
226
|
+
_face.renderOrder = object.renderOrder; // face normal
|
227
|
+
|
153
228
|
_vector3.subVectors(v3.position, v2.position);
|
229
|
+
|
154
230
|
_vector4.subVectors(v1.position, v2.position);
|
231
|
+
|
155
232
|
_vector3.cross(_vector4);
|
233
|
+
|
156
234
|
_face.normalModel.copy(_vector3);
|
235
|
+
|
157
236
|
_face.normalModel.applyMatrix3(normalMatrix).normalize();
|
237
|
+
|
158
238
|
for (let i = 0; i < 3; i++) {
|
159
239
|
var normal = _face.vertexNormalsModel[i];
|
160
240
|
normal.fromArray(normals, arguments[i] * 3);
|
@@ -162,109 +242,129 @@ var Projector = function() {
|
|
162
242
|
var uv = _face.uvs[i];
|
163
243
|
uv.fromArray(uvs, arguments[i] * 2);
|
164
244
|
}
|
245
|
+
|
165
246
|
_face.vertexNormalsLength = 3;
|
166
247
|
_face.material = material;
|
248
|
+
|
167
249
|
if (material.vertexColors) {
|
168
250
|
_face.color.fromArray(colors, a * 3);
|
169
251
|
}
|
252
|
+
|
170
253
|
_renderData.elements.push(_face);
|
171
254
|
}
|
172
255
|
}
|
256
|
+
|
173
257
|
return {
|
174
|
-
setObject,
|
175
|
-
projectVertex,
|
176
|
-
checkTriangleVisibility,
|
177
|
-
checkBackfaceCulling,
|
178
|
-
pushVertex,
|
179
|
-
pushNormal,
|
180
|
-
pushColor,
|
181
|
-
pushUv,
|
182
|
-
pushLine,
|
183
|
-
pushTriangle
|
258
|
+
setObject: setObject,
|
259
|
+
projectVertex: projectVertex,
|
260
|
+
checkTriangleVisibility: checkTriangleVisibility,
|
261
|
+
checkBackfaceCulling: checkBackfaceCulling,
|
262
|
+
pushVertex: pushVertex,
|
263
|
+
pushNormal: pushNormal,
|
264
|
+
pushColor: pushColor,
|
265
|
+
pushUv: pushUv,
|
266
|
+
pushLine: pushLine,
|
267
|
+
pushTriangle: pushTriangle
|
184
268
|
};
|
185
269
|
};
|
270
|
+
|
186
271
|
var renderList = new RenderList();
|
272
|
+
|
187
273
|
function projectObject(object) {
|
188
|
-
if (object.visible === false)
|
189
|
-
|
274
|
+
if (object.visible === false) return;
|
275
|
+
|
190
276
|
if (object.isLight) {
|
191
277
|
_renderData.lights.push(object);
|
192
278
|
} else if (object.isMesh || object.isLine || object.isPoints) {
|
193
|
-
if (object.material.visible === false)
|
194
|
-
|
195
|
-
if (object.frustumCulled === true && _frustum.intersectsObject(object) === false)
|
196
|
-
return;
|
279
|
+
if (object.material.visible === false) return;
|
280
|
+
if (object.frustumCulled === true && _frustum.intersectsObject(object) === false) return;
|
197
281
|
addObject(object);
|
198
282
|
} else if (object.isSprite) {
|
199
|
-
if (object.material.visible === false)
|
200
|
-
|
201
|
-
if (object.frustumCulled === true && _frustum.intersectsSprite(object) === false)
|
202
|
-
return;
|
283
|
+
if (object.material.visible === false) return;
|
284
|
+
if (object.frustumCulled === true && _frustum.intersectsSprite(object) === false) return;
|
203
285
|
addObject(object);
|
204
286
|
}
|
287
|
+
|
205
288
|
var children = object.children;
|
289
|
+
|
206
290
|
for (let i = 0, l = children.length; i < l; i++) {
|
207
291
|
projectObject(children[i]);
|
208
292
|
}
|
209
293
|
}
|
294
|
+
|
210
295
|
function addObject(object) {
|
211
296
|
_object = getNextObjectInPool();
|
212
297
|
_object.id = object.id;
|
213
298
|
_object.object = object;
|
299
|
+
|
214
300
|
_vector3.setFromMatrixPosition(object.matrixWorld);
|
301
|
+
|
215
302
|
_vector3.applyMatrix4(_viewProjectionMatrix);
|
303
|
+
|
216
304
|
_object.z = _vector3.z;
|
217
305
|
_object.renderOrder = object.renderOrder;
|
306
|
+
|
218
307
|
_renderData.objects.push(_object);
|
219
308
|
}
|
220
|
-
|
309
|
+
|
310
|
+
this.projectScene = function (scene, camera, sortObjects, sortElements) {
|
221
311
|
_faceCount = 0;
|
222
312
|
_lineCount = 0;
|
223
313
|
_spriteCount = 0;
|
224
314
|
_renderData.elements.length = 0;
|
225
|
-
if (scene.autoUpdate === true)
|
226
|
-
|
227
|
-
|
228
|
-
camera.updateMatrixWorld();
|
315
|
+
if (scene.autoUpdate === true) scene.updateMatrixWorld();
|
316
|
+
if (camera.parent === null) camera.updateMatrixWorld();
|
317
|
+
|
229
318
|
_viewMatrix.copy(camera.matrixWorldInverse);
|
319
|
+
|
230
320
|
_viewProjectionMatrix.multiplyMatrices(camera.projectionMatrix, _viewMatrix);
|
231
|
-
|
321
|
+
|
322
|
+
_frustum.setFromProjectionMatrix(_viewProjectionMatrix); //
|
323
|
+
|
324
|
+
|
232
325
|
_objectCount = 0;
|
233
326
|
_renderData.objects.length = 0;
|
234
327
|
_renderData.lights.length = 0;
|
235
328
|
projectObject(scene);
|
329
|
+
|
236
330
|
if (sortObjects === true) {
|
237
331
|
_renderData.objects.sort(painterSort);
|
238
|
-
}
|
332
|
+
} //
|
333
|
+
|
334
|
+
|
239
335
|
var objects = _renderData.objects;
|
336
|
+
|
240
337
|
for (let o = 0, ol = objects.length; o < ol; o++) {
|
241
338
|
var object = objects[o].object;
|
242
339
|
var geometry = object.geometry;
|
243
340
|
renderList.setObject(object);
|
244
341
|
_modelMatrix = object.matrixWorld;
|
245
342
|
_vertexCount = 0;
|
343
|
+
|
246
344
|
if (object.isMesh) {
|
247
345
|
if (geometry.isBufferGeometry) {
|
248
346
|
var material = object.material;
|
249
347
|
var isMultiMaterial = Array.isArray(material);
|
250
348
|
var attributes = geometry.attributes;
|
251
349
|
var groups = geometry.groups;
|
252
|
-
if (attributes.position ===
|
253
|
-
continue;
|
350
|
+
if (attributes.position === undefined) continue;
|
254
351
|
var positions = attributes.position.array;
|
352
|
+
|
255
353
|
for (let i = 0, l = positions.length; i < l; i += 3) {
|
256
354
|
var x = positions[i];
|
257
355
|
var y = positions[i + 1];
|
258
356
|
var z = positions[i + 2];
|
357
|
+
|
259
358
|
if (material.morphTargets === true) {
|
260
359
|
var morphTargets = geometry.morphAttributes.position;
|
261
360
|
var morphTargetsRelative = geometry.morphTargetsRelative;
|
262
361
|
var morphInfluences = object.morphTargetInfluences;
|
362
|
+
|
263
363
|
for (let t = 0, tl = morphTargets.length; t < tl; t++) {
|
264
364
|
var influence = morphInfluences[t];
|
265
|
-
if (influence === 0)
|
266
|
-
continue;
|
365
|
+
if (influence === 0) continue;
|
267
366
|
var target = morphTargets[t];
|
367
|
+
|
268
368
|
if (morphTargetsRelative) {
|
269
369
|
x += target.getX(i / 3) * influence;
|
270
370
|
y += target.getY(i / 3) * influence;
|
@@ -276,34 +376,43 @@ var Projector = function() {
|
|
276
376
|
}
|
277
377
|
}
|
278
378
|
}
|
379
|
+
|
279
380
|
renderList.pushVertex(x, y, z);
|
280
381
|
}
|
281
|
-
|
382
|
+
|
383
|
+
if (attributes.normal !== undefined) {
|
282
384
|
var normals = attributes.normal.array;
|
385
|
+
|
283
386
|
for (let i = 0, l = normals.length; i < l; i += 3) {
|
284
387
|
renderList.pushNormal(normals[i], normals[i + 1], normals[i + 2]);
|
285
388
|
}
|
286
389
|
}
|
287
|
-
|
390
|
+
|
391
|
+
if (attributes.color !== undefined) {
|
288
392
|
var colors = attributes.color.array;
|
393
|
+
|
289
394
|
for (let i = 0, l = colors.length; i < l; i += 3) {
|
290
395
|
renderList.pushColor(colors[i], colors[i + 1], colors[i + 2]);
|
291
396
|
}
|
292
397
|
}
|
293
|
-
|
398
|
+
|
399
|
+
if (attributes.uv !== undefined) {
|
294
400
|
var uvs = attributes.uv.array;
|
401
|
+
|
295
402
|
for (let i = 0, l = uvs.length; i < l; i += 2) {
|
296
403
|
renderList.pushUv(uvs[i], uvs[i + 1]);
|
297
404
|
}
|
298
405
|
}
|
406
|
+
|
299
407
|
if (geometry.index !== null) {
|
300
408
|
var indices = geometry.index.array;
|
409
|
+
|
301
410
|
if (groups.length > 0) {
|
302
411
|
for (let g = 0; g < groups.length; g++) {
|
303
412
|
var group = groups[g];
|
304
413
|
material = isMultiMaterial === true ? object.material[group.materialIndex] : object.material;
|
305
|
-
if (material ===
|
306
|
-
|
414
|
+
if (material === undefined) continue;
|
415
|
+
|
307
416
|
for (let i = group.start, l = group.start + group.count; i < l; i += 3) {
|
308
417
|
renderList.pushTriangle(indices[i], indices[i + 1], indices[i + 2], material);
|
309
418
|
}
|
@@ -318,8 +427,8 @@ var Projector = function() {
|
|
318
427
|
for (let g = 0; g < groups.length; g++) {
|
319
428
|
var group = groups[g];
|
320
429
|
material = isMultiMaterial === true ? object.material[group.materialIndex] : object.material;
|
321
|
-
if (material ===
|
322
|
-
|
430
|
+
if (material === undefined) continue;
|
431
|
+
|
323
432
|
for (let i = group.start, l = group.start + group.count; i < l; i += 3) {
|
324
433
|
renderList.pushTriangle(i, i + 1, i + 2, material);
|
325
434
|
}
|
@@ -331,140 +440,180 @@ var Projector = function() {
|
|
331
440
|
}
|
332
441
|
}
|
333
442
|
} else if (geometry.isGeometry) {
|
334
|
-
console.error(
|
443
|
+
console.error('THREE.Projector no longer supports Geometry. Use THREE.BufferGeometry instead.');
|
335
444
|
return;
|
336
445
|
}
|
337
446
|
} else if (object.isLine) {
|
338
447
|
_modelViewProjectionMatrix.multiplyMatrices(_viewProjectionMatrix, _modelMatrix);
|
448
|
+
|
339
449
|
if (geometry.isBufferGeometry) {
|
340
450
|
var attributes = geometry.attributes;
|
341
|
-
|
451
|
+
|
452
|
+
if (attributes.position !== undefined) {
|
342
453
|
var positions = attributes.position.array;
|
454
|
+
|
343
455
|
for (let i = 0, l = positions.length; i < l; i += 3) {
|
344
456
|
renderList.pushVertex(positions[i], positions[i + 1], positions[i + 2]);
|
345
457
|
}
|
346
|
-
|
458
|
+
|
459
|
+
if (attributes.color !== undefined) {
|
347
460
|
var colors = attributes.color.array;
|
461
|
+
|
348
462
|
for (let i = 0, l = colors.length; i < l; i += 3) {
|
349
463
|
renderList.pushColor(colors[i], colors[i + 1], colors[i + 2]);
|
350
464
|
}
|
351
465
|
}
|
466
|
+
|
352
467
|
if (geometry.index !== null) {
|
353
468
|
var indices = geometry.index.array;
|
469
|
+
|
354
470
|
for (let i = 0, l = indices.length; i < l; i += 2) {
|
355
471
|
renderList.pushLine(indices[i], indices[i + 1]);
|
356
472
|
}
|
357
473
|
} else {
|
358
474
|
var step = object.isLineSegments ? 2 : 1;
|
475
|
+
|
359
476
|
for (let i = 0, l = positions.length / 3 - 1; i < l; i += step) {
|
360
477
|
renderList.pushLine(i, i + 1);
|
361
478
|
}
|
362
479
|
}
|
363
480
|
}
|
364
481
|
} else if (geometry.isGeometry) {
|
365
|
-
console.error(
|
482
|
+
console.error('THREE.Projector no longer supports Geometry. Use THREE.BufferGeometry instead.');
|
366
483
|
return;
|
367
484
|
}
|
368
485
|
} else if (object.isPoints) {
|
369
486
|
_modelViewProjectionMatrix.multiplyMatrices(_viewProjectionMatrix, _modelMatrix);
|
487
|
+
|
370
488
|
if (geometry.isGeometry) {
|
371
|
-
console.error(
|
489
|
+
console.error('THREE.Projector no longer supports Geometry. Use THREE.BufferGeometry instead.');
|
372
490
|
return;
|
373
491
|
} else if (geometry.isBufferGeometry) {
|
374
492
|
var attributes = geometry.attributes;
|
375
|
-
|
493
|
+
|
494
|
+
if (attributes.position !== undefined) {
|
376
495
|
var positions = attributes.position.array;
|
496
|
+
|
377
497
|
for (let i = 0, l = positions.length; i < l; i += 3) {
|
378
498
|
_vector4.set(positions[i], positions[i + 1], positions[i + 2], 1);
|
499
|
+
|
379
500
|
_vector4.applyMatrix4(_modelViewProjectionMatrix);
|
501
|
+
|
380
502
|
pushPoint(_vector4, object, camera);
|
381
503
|
}
|
382
504
|
}
|
383
505
|
}
|
384
506
|
} else if (object.isSprite) {
|
385
507
|
object.modelViewMatrix.multiplyMatrices(camera.matrixWorldInverse, object.matrixWorld);
|
508
|
+
|
386
509
|
_vector4.set(_modelMatrix.elements[12], _modelMatrix.elements[13], _modelMatrix.elements[14], 1);
|
510
|
+
|
387
511
|
_vector4.applyMatrix4(_viewProjectionMatrix);
|
512
|
+
|
388
513
|
pushPoint(_vector4, object, camera);
|
389
514
|
}
|
390
515
|
}
|
516
|
+
|
391
517
|
if (sortElements === true) {
|
392
518
|
_renderData.elements.sort(painterSort);
|
393
519
|
}
|
520
|
+
|
394
521
|
return _renderData;
|
395
522
|
};
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
523
|
+
|
524
|
+
function pushPoint(_vector4, object, camera) {
|
525
|
+
var invW = 1 / _vector4.w;
|
526
|
+
_vector4.z *= invW;
|
527
|
+
|
528
|
+
if (_vector4.z >= -1 && _vector4.z <= 1) {
|
400
529
|
_sprite = getNextSpriteInPool();
|
401
530
|
_sprite.id = object.id;
|
402
|
-
_sprite.x =
|
403
|
-
_sprite.y =
|
404
|
-
_sprite.z =
|
531
|
+
_sprite.x = _vector4.x * invW;
|
532
|
+
_sprite.y = _vector4.y * invW;
|
533
|
+
_sprite.z = _vector4.z;
|
405
534
|
_sprite.renderOrder = object.renderOrder;
|
406
535
|
_sprite.object = object;
|
407
536
|
_sprite.rotation = object.rotation;
|
408
|
-
_sprite.scale.x = object.scale.x * Math.abs(
|
409
|
-
|
410
|
-
);
|
411
|
-
_sprite.scale.y = object.scale.y * Math.abs(
|
412
|
-
_sprite.y - (_vector42.y + camera.projectionMatrix.elements[5]) / (_vector42.w + camera.projectionMatrix.elements[13])
|
413
|
-
);
|
537
|
+
_sprite.scale.x = object.scale.x * Math.abs(_sprite.x - (_vector4.x + camera.projectionMatrix.elements[0]) / (_vector4.w + camera.projectionMatrix.elements[12]));
|
538
|
+
_sprite.scale.y = object.scale.y * Math.abs(_sprite.y - (_vector4.y + camera.projectionMatrix.elements[5]) / (_vector4.w + camera.projectionMatrix.elements[13]));
|
414
539
|
_sprite.material = object.material;
|
540
|
+
|
415
541
|
_renderData.elements.push(_sprite);
|
416
542
|
}
|
417
|
-
}
|
543
|
+
} // Pools
|
544
|
+
|
545
|
+
|
418
546
|
function getNextObjectInPool() {
|
419
547
|
if (_objectCount === _objectPoolLength) {
|
420
548
|
var object = new RenderableObject();
|
549
|
+
|
421
550
|
_objectPool.push(object);
|
551
|
+
|
422
552
|
_objectPoolLength++;
|
423
553
|
_objectCount++;
|
424
554
|
return object;
|
425
555
|
}
|
556
|
+
|
426
557
|
return _objectPool[_objectCount++];
|
427
558
|
}
|
559
|
+
|
428
560
|
function getNextVertexInPool() {
|
429
561
|
if (_vertexCount === _vertexPoolLength) {
|
430
562
|
var vertex = new RenderableVertex();
|
563
|
+
|
431
564
|
_vertexPool.push(vertex);
|
565
|
+
|
432
566
|
_vertexPoolLength++;
|
433
567
|
_vertexCount++;
|
434
568
|
return vertex;
|
435
569
|
}
|
570
|
+
|
436
571
|
return _vertexPool[_vertexCount++];
|
437
572
|
}
|
573
|
+
|
438
574
|
function getNextFaceInPool() {
|
439
575
|
if (_faceCount === _facePoolLength) {
|
440
576
|
var face = new RenderableFace();
|
577
|
+
|
441
578
|
_facePool.push(face);
|
579
|
+
|
442
580
|
_facePoolLength++;
|
443
581
|
_faceCount++;
|
444
582
|
return face;
|
445
583
|
}
|
584
|
+
|
446
585
|
return _facePool[_faceCount++];
|
447
586
|
}
|
587
|
+
|
448
588
|
function getNextLineInPool() {
|
449
589
|
if (_lineCount === _linePoolLength) {
|
450
590
|
var line = new RenderableLine();
|
591
|
+
|
451
592
|
_linePool.push(line);
|
593
|
+
|
452
594
|
_linePoolLength++;
|
453
595
|
_lineCount++;
|
454
596
|
return line;
|
455
597
|
}
|
598
|
+
|
456
599
|
return _linePool[_lineCount++];
|
457
600
|
}
|
601
|
+
|
458
602
|
function getNextSpriteInPool() {
|
459
603
|
if (_spriteCount === _spritePoolLength) {
|
460
604
|
var sprite = new RenderableSprite();
|
605
|
+
|
461
606
|
_spritePool.push(sprite);
|
607
|
+
|
462
608
|
_spritePoolLength++;
|
463
609
|
_spriteCount++;
|
464
610
|
return sprite;
|
465
611
|
}
|
612
|
+
|
466
613
|
return _spritePool[_spriteCount++];
|
467
|
-
}
|
614
|
+
} //
|
615
|
+
|
616
|
+
|
468
617
|
function painterSort(a, b) {
|
469
618
|
if (a.renderOrder !== b.renderOrder) {
|
470
619
|
return a.renderOrder - b.renderOrder;
|
@@ -476,26 +625,48 @@ var Projector = function() {
|
|
476
625
|
return 0;
|
477
626
|
}
|
478
627
|
}
|
628
|
+
|
479
629
|
function clipLine(s1, s2) {
|
480
|
-
var alpha1 = 0,
|
630
|
+
var alpha1 = 0,
|
631
|
+
alpha2 = 1,
|
632
|
+
// Calculate the boundary coordinate of each vertex for the near and far clip planes,
|
633
|
+
// Z = -1 and Z = +1, respectively.
|
634
|
+
bc1near = s1.z + s1.w,
|
635
|
+
bc2near = s2.z + s2.w,
|
636
|
+
bc1far = -s1.z + s1.w,
|
637
|
+
bc2far = -s2.z + s2.w;
|
638
|
+
|
481
639
|
if (bc1near >= 0 && bc2near >= 0 && bc1far >= 0 && bc2far >= 0) {
|
640
|
+
// Both vertices lie entirely within all clip planes.
|
482
641
|
return true;
|
483
642
|
} else if (bc1near < 0 && bc2near < 0 || bc1far < 0 && bc2far < 0) {
|
643
|
+
// Both vertices lie entirely outside one of the clip planes.
|
484
644
|
return false;
|
485
645
|
} else {
|
646
|
+
// The line segment spans at least one clip plane.
|
486
647
|
if (bc1near < 0) {
|
648
|
+
// v1 lies outside the near plane, v2 inside
|
487
649
|
alpha1 = Math.max(alpha1, bc1near / (bc1near - bc2near));
|
488
650
|
} else if (bc2near < 0) {
|
651
|
+
// v2 lies outside the near plane, v1 inside
|
489
652
|
alpha2 = Math.min(alpha2, bc1near / (bc1near - bc2near));
|
490
653
|
}
|
654
|
+
|
491
655
|
if (bc1far < 0) {
|
656
|
+
// v1 lies outside the far plane, v2 inside
|
492
657
|
alpha1 = Math.max(alpha1, bc1far / (bc1far - bc2far));
|
493
658
|
} else if (bc2far < 0) {
|
659
|
+
// v2 lies outside the far plane, v2 inside
|
494
660
|
alpha2 = Math.min(alpha2, bc1far / (bc1far - bc2far));
|
495
661
|
}
|
662
|
+
|
496
663
|
if (alpha2 < alpha1) {
|
664
|
+
// The line segment spans two boundaries, but is outside both of them.
|
665
|
+
// (This can't happen when we're only clipping against just near/far but good
|
666
|
+
// to leave the check here for future usage if other clip planes are added.)
|
497
667
|
return false;
|
498
668
|
} else {
|
669
|
+
// Update the s1 and s2 vertices to match the clipped line segment.
|
499
670
|
s1.lerp(s2, alpha1);
|
500
671
|
s2.lerp(s1, 1 - alpha2);
|
501
672
|
return true;
|
@@ -503,9 +674,5 @@ var Projector = function() {
|
|
503
674
|
}
|
504
675
|
}
|
505
676
|
};
|
506
|
-
|
507
|
-
|
508
|
-
exports.RenderableLine = RenderableLine;
|
509
|
-
exports.RenderableObject = RenderableObject;
|
510
|
-
exports.RenderableSprite = RenderableSprite;
|
511
|
-
exports.RenderableVertex = RenderableVertex;
|
677
|
+
|
678
|
+
export { Projector, RenderableFace, RenderableLine, RenderableObject, RenderableSprite, RenderableVertex };
|