@playdrop/playdrop-cli 0.3.5-build.1 → 0.3.8-build.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/client-meta.json +5 -5
- package/dist/apps/upload.js +1 -0
- package/dist/catalogue.d.ts +7 -0
- package/dist/catalogue.js +70 -33
- package/dist/commands/create.js +129 -70
- package/dist/commands/createRemixContent.d.ts +3 -0
- package/dist/commands/createRemixContent.js +310 -0
- package/dist/commands/generation.d.ts +0 -1
- package/dist/commands/generation.js +0 -18
- package/dist/commands/init.js +3 -3
- package/dist/commands/upload.js +11 -0
- package/dist/index.js +17 -4
- package/node_modules/@playdrop/ai-client/dist/index.d.ts +1 -1
- package/node_modules/@playdrop/ai-client/dist/index.d.ts.map +1 -1
- package/node_modules/@playdrop/ai-client/dist/index.js +1 -1
- package/node_modules/@playdrop/api-client/dist/client.d.ts +8 -2
- package/node_modules/@playdrop/api-client/dist/client.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/client.js +2 -0
- package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts +3 -2
- package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/apps.js +24 -2
- package/node_modules/@playdrop/api-client/dist/domains/asset-packs.d.ts +3 -1
- package/node_modules/@playdrop/api-client/dist/domains/asset-packs.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/asset-packs.js +19 -1
- package/node_modules/@playdrop/api-client/dist/domains/assets.d.ts +3 -1
- package/node_modules/@playdrop/api-client/dist/domains/assets.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/assets.js +19 -1
- package/node_modules/@playdrop/api-client/dist/index.d.ts +3 -0
- package/node_modules/@playdrop/api-client/dist/index.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/index.js +9 -0
- package/node_modules/@playdrop/config/client-meta.json +5 -5
- package/node_modules/@playdrop/types/dist/api.d.ts +22 -1
- package/node_modules/@playdrop/types/dist/api.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/asset-pack.d.ts +1 -0
- package/node_modules/@playdrop/types/dist/asset-pack.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/asset.d.ts +27 -0
- package/node_modules/@playdrop/types/dist/asset.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/graph.d.ts +21 -0
- package/node_modules/@playdrop/types/dist/graph.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/graph.js +66 -0
- package/node_modules/@playdrop/types/dist/version.d.ts +1 -0
- package/node_modules/@playdrop/types/dist/version.d.ts.map +1 -1
- package/node_modules/@playdrop/vox-three/dist/src/index.d.ts +1 -0
- package/node_modules/@playdrop/vox-three/dist/src/index.js +18 -0
- package/node_modules/@playdrop/vox-three/dist/src/index.js.map +1 -0
- package/node_modules/@playdrop/vox-three/dist/src/vox.d.ts +25 -0
- package/node_modules/@playdrop/vox-three/dist/src/vox.js +425 -0
- package/node_modules/@playdrop/vox-three/dist/src/vox.js.map +1 -0
- package/node_modules/@playdrop/vox-three/dist/test/vox.test.d.ts +1 -0
- package/node_modules/@playdrop/vox-three/dist/test/vox.test.js +79 -0
- package/node_modules/@playdrop/vox-three/dist/test/vox.test.js.map +1 -0
- package/node_modules/@playdrop/vox-three/package.json +25 -0
- package/node_modules/three/LICENSE +1 -1
- package/node_modules/three/README.md +7 -7
- package/node_modules/three/build/three.cjs +49655 -25499
- package/node_modules/three/build/three.core.js +58952 -0
- package/node_modules/three/build/three.core.min.js +6 -0
- package/node_modules/three/build/three.module.js +11162 -45962
- package/node_modules/three/build/three.module.min.js +2 -2
- package/node_modules/three/build/three.tsl.js +640 -0
- package/node_modules/three/build/three.tsl.min.js +6 -0
- package/node_modules/three/build/three.webgpu.js +79685 -0
- package/node_modules/three/build/three.webgpu.min.js +6 -0
- package/node_modules/three/build/three.webgpu.nodes.js +79456 -0
- package/node_modules/three/build/three.webgpu.nodes.min.js +6 -0
- package/node_modules/three/examples/fonts/MPLUSRounded1c/MPLUSRounded1c-Regular.typeface.json.zip +0 -0
- package/node_modules/three/examples/fonts/MPLUSRounded1c/OFL.txt +91 -0
- package/node_modules/three/examples/jsm/Addons.js +8 -18
- package/node_modules/three/examples/jsm/animation/AnimationClipCreator.js +59 -7
- package/node_modules/three/examples/jsm/animation/CCDIKSolver.js +154 -45
- package/node_modules/three/examples/jsm/capabilities/WebGL.js +28 -23
- package/node_modules/three/examples/jsm/capabilities/WebGPU.js +19 -17
- package/node_modules/three/examples/jsm/controls/ArcballControls.js +636 -324
- package/node_modules/three/examples/jsm/controls/DragControls.js +332 -101
- package/node_modules/three/examples/jsm/controls/FirstPersonControls.js +291 -169
- package/node_modules/three/examples/jsm/controls/FlyControls.js +245 -191
- package/node_modules/three/examples/jsm/controls/MapControls.js +43 -9
- package/node_modules/three/examples/jsm/controls/OrbitControls.js +1156 -802
- package/node_modules/three/examples/jsm/controls/PointerLockControls.js +137 -35
- package/node_modules/three/examples/jsm/controls/TrackballControls.js +629 -456
- package/node_modules/three/examples/jsm/controls/TransformControls.js +442 -97
- package/node_modules/three/examples/jsm/csm/CSM.js +230 -17
- package/node_modules/three/examples/jsm/csm/CSMFrustum.js +61 -4
- package/node_modules/three/examples/jsm/csm/CSMHelper.js +50 -0
- package/node_modules/three/examples/jsm/csm/CSMShader.js +17 -5
- package/node_modules/three/examples/jsm/csm/CSMShadowNode.js +599 -0
- package/node_modules/three/examples/jsm/curves/CurveExtras.js +303 -31
- package/node_modules/three/examples/jsm/curves/NURBSCurve.js +91 -16
- package/node_modules/three/examples/jsm/curves/NURBSSurface.js +52 -6
- package/node_modules/three/examples/jsm/curves/NURBSUtils.js +102 -112
- package/node_modules/three/examples/jsm/curves/NURBSVolume.js +24 -4
- package/node_modules/three/examples/jsm/effects/AnaglyphEffect.js +39 -14
- package/node_modules/three/examples/jsm/effects/AsciiEffect.js +69 -22
- package/node_modules/three/examples/jsm/effects/OutlineEffect.js +61 -111
- package/node_modules/three/examples/jsm/effects/ParallaxBarrierEffect.js +48 -12
- package/node_modules/three/examples/jsm/effects/StereoEffect.js +37 -1
- package/node_modules/three/examples/jsm/environments/DebugEnvironment.js +50 -0
- package/node_modules/three/examples/jsm/environments/RoomEnvironment.js +82 -48
- package/node_modules/three/examples/jsm/exporters/DRACOExporter.js +59 -15
- package/node_modules/three/examples/jsm/exporters/EXRExporter.js +58 -19
- package/node_modules/three/examples/jsm/exporters/GLTFExporter.js +460 -174
- package/node_modules/three/examples/jsm/exporters/KTX2Exporter.js +80 -25
- package/node_modules/three/examples/jsm/exporters/OBJExporter.js +25 -1
- package/node_modules/three/examples/jsm/exporters/PLYExporter.js +51 -17
- package/node_modules/three/examples/jsm/exporters/STLExporter.js +27 -5
- package/node_modules/three/examples/jsm/exporters/USDZExporter.js +783 -268
- package/node_modules/three/examples/jsm/geometries/BoxLineGeometry.js +23 -0
- package/node_modules/three/examples/jsm/geometries/ConvexGeometry.js +19 -0
- package/node_modules/three/examples/jsm/geometries/DecalGeometry.js +94 -30
- package/node_modules/three/examples/jsm/geometries/ParametricFunctions.js +100 -0
- package/node_modules/three/examples/jsm/geometries/ParametricGeometry.js +38 -5
- package/node_modules/three/examples/jsm/geometries/RoundedBoxGeometry.js +68 -7
- package/node_modules/three/examples/jsm/geometries/TeapotGeometry.js +23 -38
- package/node_modules/three/examples/jsm/geometries/TextGeometry.js +48 -21
- package/node_modules/three/examples/jsm/gpgpu/BitonicSort.js +715 -0
- package/node_modules/three/examples/jsm/helpers/LightProbeHelper.js +79 -44
- package/node_modules/three/examples/jsm/helpers/LightProbeHelperGPU.js +102 -0
- package/node_modules/three/examples/jsm/helpers/OctreeHelper.js +36 -0
- package/node_modules/three/examples/jsm/helpers/PositionalAudioHelper.js +60 -0
- package/node_modules/three/examples/jsm/helpers/RapierHelper.js +59 -0
- package/node_modules/three/examples/jsm/helpers/RectAreaLightHelper.js +36 -3
- package/node_modules/three/examples/jsm/helpers/TextureHelper.js +28 -0
- package/node_modules/three/examples/jsm/helpers/TextureHelperGPU.js +214 -0
- package/node_modules/three/examples/jsm/helpers/VertexNormalsHelper.js +61 -2
- package/node_modules/three/examples/jsm/helpers/VertexTangentsHelper.js +47 -2
- package/node_modules/three/examples/jsm/helpers/ViewHelper.js +192 -65
- package/node_modules/three/examples/jsm/inspector/Inspector.js +427 -0
- package/node_modules/three/examples/jsm/inspector/RendererInspector.js +415 -0
- package/node_modules/three/examples/jsm/inspector/tabs/Console.js +204 -0
- package/node_modules/three/examples/jsm/inspector/tabs/Parameters.js +332 -0
- package/node_modules/three/examples/jsm/inspector/tabs/Performance.js +268 -0
- package/node_modules/three/examples/jsm/inspector/tabs/Viewer.js +166 -0
- package/node_modules/three/examples/jsm/inspector/ui/Graph.js +95 -0
- package/node_modules/three/examples/jsm/inspector/ui/Item.js +170 -0
- package/node_modules/three/examples/jsm/inspector/ui/List.js +75 -0
- package/node_modules/three/examples/jsm/inspector/ui/Profiler.js +170 -0
- package/node_modules/three/examples/jsm/inspector/ui/Style.js +654 -0
- package/node_modules/three/examples/jsm/inspector/ui/Tab.js +46 -0
- package/node_modules/three/examples/jsm/inspector/ui/Values.js +423 -0
- package/node_modules/three/examples/jsm/inspector/ui/utils.js +56 -0
- package/node_modules/three/examples/jsm/interactive/HTMLMesh.js +50 -21
- package/node_modules/three/examples/jsm/interactive/InteractiveGroup.js +170 -62
- package/node_modules/three/examples/jsm/interactive/SelectionBox.js +106 -9
- package/node_modules/three/examples/jsm/interactive/SelectionHelper.js +76 -30
- package/node_modules/three/examples/jsm/libs/basis/basis_transcoder.js +8 -10
- package/node_modules/three/examples/jsm/libs/basis/basis_transcoder.wasm +0 -0
- package/node_modules/three/examples/jsm/libs/demuxer_mp4.js +109 -0
- package/node_modules/three/examples/jsm/libs/draco/README.md +2 -2
- package/node_modules/three/examples/jsm/libs/fflate.module.js +694 -496
- package/node_modules/three/examples/jsm/libs/ktx-parse.module.js +1 -1
- package/node_modules/three/examples/jsm/libs/meshopt_decoder.module.js +75 -58
- package/node_modules/three/examples/jsm/libs/motion-controllers.module.js +1 -1
- package/node_modules/three/examples/jsm/libs/rhino3dm/rhino3dm.js +1 -8723
- package/node_modules/three/examples/jsm/libs/rhino3dm/rhino3dm.module.js +1 -8734
- package/node_modules/three/examples/jsm/libs/rhino3dm/rhino3dm.wasm +0 -0
- package/node_modules/three/examples/jsm/libs/tween.module.js +32 -14
- package/node_modules/three/examples/jsm/lighting/TiledLighting.js +42 -0
- package/node_modules/three/examples/jsm/lights/LightProbeGenerator.js +65 -14
- package/node_modules/three/examples/jsm/lights/RectAreaLightTexturesLib.js +127 -0
- package/node_modules/three/examples/jsm/lights/RectAreaLightUniformsLib.js +20 -59
- package/node_modules/three/examples/jsm/lines/Line2.js +41 -4
- package/node_modules/three/examples/jsm/lines/LineGeometry.js +80 -2
- package/node_modules/three/examples/jsm/lines/LineMaterial.js +100 -22
- package/node_modules/three/examples/jsm/lines/LineSegments2.js +69 -4
- package/node_modules/three/examples/jsm/lines/LineSegmentsGeometry.js +65 -8
- package/node_modules/three/examples/jsm/lines/Wireframe.js +58 -6
- package/node_modules/three/examples/jsm/lines/WireframeGeometry2.js +27 -2
- package/node_modules/three/examples/jsm/lines/webgpu/Line2.js +46 -0
- package/node_modules/three/examples/jsm/lines/webgpu/LineSegments2.js +411 -0
- package/node_modules/three/examples/jsm/lines/webgpu/Wireframe.js +86 -0
- package/node_modules/three/examples/jsm/loaders/3DMLoader.js +86 -23
- package/node_modules/three/examples/jsm/loaders/3MFLoader.js +148 -5
- package/node_modules/three/examples/jsm/loaders/AMFLoader.js +32 -12
- package/node_modules/three/examples/jsm/loaders/BVHLoader.js +59 -12
- package/node_modules/three/examples/jsm/loaders/ColladaLoader.js +51 -12
- package/node_modules/three/examples/jsm/loaders/DDSLoader.js +68 -1
- package/node_modules/three/examples/jsm/loaders/DRACOLoader.js +149 -23
- package/node_modules/three/examples/jsm/loaders/EXRLoader.js +584 -109
- package/node_modules/three/examples/jsm/loaders/FBXLoader.js +165 -97
- package/node_modules/three/examples/jsm/loaders/FontLoader.js +83 -6
- package/node_modules/three/examples/jsm/loaders/GCodeLoader.js +37 -6
- package/node_modules/three/examples/jsm/loaders/GLTFLoader.js +337 -108
- package/node_modules/three/examples/jsm/loaders/HDRCubeTextureLoader.js +52 -3
- package/node_modules/three/examples/jsm/loaders/HDRLoader.js +486 -0
- package/node_modules/three/examples/jsm/loaders/IESLoader.js +42 -0
- package/node_modules/three/examples/jsm/loaders/KMZLoader.js +33 -0
- package/node_modules/three/examples/jsm/loaders/KTX2Loader.js +441 -138
- package/node_modules/three/examples/jsm/loaders/KTXLoader.js +31 -10
- package/node_modules/three/examples/jsm/loaders/LDrawLoader.js +194 -145
- package/node_modules/three/examples/jsm/loaders/LUT3dlLoader.js +47 -25
- package/node_modules/three/examples/jsm/loaders/LUTCubeLoader.js +46 -23
- package/node_modules/three/examples/jsm/loaders/LUTImageLoader.js +79 -52
- package/node_modules/three/examples/jsm/loaders/LWOLoader.js +47 -20
- package/node_modules/three/examples/jsm/loaders/LottieLoader.js +54 -1
- package/node_modules/three/examples/jsm/loaders/MD2Loader.js +37 -1
- package/node_modules/three/examples/jsm/loaders/MDDLoader.js +57 -12
- package/node_modules/three/examples/jsm/loaders/MTLLoader.js +61 -35
- package/node_modules/three/examples/jsm/loaders/MaterialXLoader.js +291 -39
- package/node_modules/three/examples/jsm/loaders/NRRDLoader.js +38 -6
- package/node_modules/three/examples/jsm/loaders/OBJLoader.js +54 -4
- package/node_modules/three/examples/jsm/loaders/PCDLoader.js +183 -32
- package/node_modules/three/examples/jsm/loaders/PDBLoader.js +44 -4
- package/node_modules/three/examples/jsm/loaders/PLYLoader.js +78 -44
- package/node_modules/three/examples/jsm/loaders/PVRLoader.js +25 -6
- package/node_modules/three/examples/jsm/loaders/RGBELoader.js +6 -438
- package/node_modules/three/examples/jsm/loaders/STLLoader.js +51 -40
- package/node_modules/three/examples/jsm/loaders/SVGLoader.js +118 -24
- package/node_modules/three/examples/jsm/loaders/TDSLoader.js +92 -72
- package/node_modules/three/examples/jsm/loaders/TGALoader.js +23 -0
- package/node_modules/three/examples/jsm/loaders/TIFFLoader.js +23 -0
- package/node_modules/three/examples/jsm/loaders/TTFLoader.js +50 -3
- package/node_modules/three/examples/jsm/loaders/USDLoader.js +219 -0
- package/node_modules/three/examples/jsm/loaders/USDZLoader.js +4 -810
- package/node_modules/three/examples/jsm/loaders/UltraHDRLoader.js +630 -0
- package/node_modules/three/examples/jsm/loaders/VOXLoader.js +67 -2
- package/node_modules/three/examples/jsm/loaders/VRMLLoader.js +57 -21
- package/node_modules/three/examples/jsm/loaders/VTKLoader.js +119 -6
- package/node_modules/three/examples/jsm/loaders/XYZLoader.js +39 -2
- package/node_modules/three/examples/jsm/loaders/lwo/IFFParser.js +81 -78
- package/node_modules/three/examples/jsm/loaders/usd/USDAParser.js +741 -0
- package/node_modules/three/examples/jsm/loaders/usd/USDCParser.js +17 -0
- package/node_modules/three/examples/jsm/materials/LDrawConditionalLineMaterial.js +183 -0
- package/node_modules/three/examples/jsm/materials/LDrawConditionalLineNodeMaterial.js +154 -0
- package/node_modules/three/examples/jsm/materials/MeshGouraudMaterial.js +9 -1
- package/node_modules/three/examples/jsm/materials/MeshPostProcessingMaterial.js +25 -2
- package/node_modules/three/examples/jsm/materials/WoodNodeMaterial.js +533 -0
- package/node_modules/three/examples/jsm/math/Capsule.js +91 -14
- package/node_modules/three/examples/jsm/math/ColorConverter.js +22 -0
- package/node_modules/three/examples/jsm/math/ColorSpaces.js +147 -0
- package/node_modules/three/examples/jsm/math/ConvexHull.js +517 -93
- package/node_modules/three/examples/jsm/math/ImprovedNoise.js +32 -15
- package/node_modules/three/examples/jsm/math/Lut.js +113 -0
- package/node_modules/three/examples/jsm/math/MeshSurfaceSampler.js +78 -13
- package/node_modules/three/examples/jsm/math/OBB.js +141 -29
- package/node_modules/three/examples/jsm/math/Octree.js +177 -25
- package/node_modules/three/examples/jsm/math/SimplexNoise.js +68 -42
- package/node_modules/three/examples/jsm/misc/ConvexObjectBreaker.js +45 -25
- package/node_modules/three/examples/jsm/misc/GPUComputationRenderer.js +105 -45
- package/node_modules/three/examples/jsm/misc/Gyroscope.js +12 -0
- package/node_modules/three/examples/jsm/misc/MD2Character.js +117 -2
- package/node_modules/three/examples/jsm/misc/MD2CharacterComplex.js +175 -11
- package/node_modules/three/examples/jsm/misc/MorphAnimMesh.js +44 -0
- package/node_modules/three/examples/jsm/misc/MorphBlendMesh.js +103 -0
- package/node_modules/three/examples/jsm/misc/ProgressiveLightMap.js +101 -54
- package/node_modules/three/examples/jsm/misc/ProgressiveLightMapGPU.js +322 -0
- package/node_modules/three/examples/jsm/misc/RollerCoaster.js +57 -0
- package/node_modules/three/examples/jsm/misc/TubePainter.js +437 -40
- package/node_modules/three/examples/jsm/misc/Volume.js +123 -75
- package/node_modules/three/examples/jsm/misc/VolumeSlice.js +95 -48
- package/node_modules/three/examples/jsm/modifiers/CurveModifier.js +77 -47
- package/node_modules/three/examples/jsm/modifiers/CurveModifierGPU.js +256 -0
- package/node_modules/three/examples/jsm/modifiers/EdgeSplitModifier.js +20 -0
- package/node_modules/three/examples/jsm/modifiers/SimplifyModifier.js +26 -11
- package/node_modules/three/examples/jsm/modifiers/TessellateModifier.js +35 -2
- package/node_modules/three/examples/jsm/objects/GroundedSkybox.js +25 -6
- package/node_modules/three/examples/jsm/objects/Lensflare.js +96 -4
- package/node_modules/three/examples/jsm/objects/LensflareMesh.js +376 -0
- package/node_modules/three/examples/jsm/objects/MarchingCubes.js +90 -5
- package/node_modules/three/examples/jsm/objects/Reflector.js +76 -2
- package/node_modules/three/examples/jsm/objects/ReflectorForSSRPass.js +41 -0
- package/node_modules/three/examples/jsm/objects/Refractor.js +62 -0
- package/node_modules/three/examples/jsm/objects/ShadowMesh.js +54 -4
- package/node_modules/three/examples/jsm/objects/Sky.js +30 -12
- package/node_modules/three/examples/jsm/objects/SkyMesh.js +243 -0
- package/node_modules/three/examples/jsm/objects/Water.js +45 -5
- package/node_modules/three/examples/jsm/objects/Water2.js +44 -4
- package/node_modules/three/examples/jsm/objects/Water2Mesh.js +199 -0
- package/node_modules/three/examples/jsm/objects/WaterMesh.js +196 -0
- package/node_modules/three/examples/jsm/physics/AmmoPhysics.js +48 -0
- package/node_modules/three/examples/jsm/physics/JoltPhysics.js +330 -0
- package/node_modules/three/examples/jsm/physics/RapierPhysics.js +231 -19
- package/node_modules/three/examples/jsm/postprocessing/AfterimagePass.js +110 -29
- package/node_modules/three/examples/jsm/postprocessing/BloomPass.js +128 -26
- package/node_modules/three/examples/jsm/postprocessing/BokehPass.js +99 -22
- package/node_modules/three/examples/jsm/postprocessing/ClearPass.js +54 -3
- package/node_modules/three/examples/jsm/postprocessing/CubeTexturePass.js +82 -21
- package/node_modules/three/examples/jsm/postprocessing/DotScreenPass.js +59 -10
- package/node_modules/three/examples/jsm/postprocessing/EffectComposer.js +135 -3
- package/node_modules/three/examples/jsm/postprocessing/FXAAPass.js +40 -0
- package/node_modules/three/examples/jsm/postprocessing/FilmPass.js +54 -5
- package/node_modules/three/examples/jsm/postprocessing/GTAOPass.js +202 -57
- package/node_modules/three/examples/jsm/postprocessing/GlitchPass.js +86 -37
- package/node_modules/three/examples/jsm/postprocessing/HalftonePass.js +65 -10
- package/node_modules/three/examples/jsm/postprocessing/LUTPass.js +43 -79
- package/node_modules/three/examples/jsm/postprocessing/MaskPass.js +91 -0
- package/node_modules/three/examples/jsm/postprocessing/OutlinePass.js +277 -155
- package/node_modules/three/examples/jsm/postprocessing/OutputPass.js +58 -14
- package/node_modules/three/examples/jsm/postprocessing/Pass.js +100 -4
- package/node_modules/three/examples/jsm/postprocessing/RenderPass.js +85 -1
- package/node_modules/three/examples/jsm/postprocessing/RenderPixelatedPass.js +124 -45
- package/node_modules/three/examples/jsm/postprocessing/RenderTransitionPass.js +267 -0
- package/node_modules/three/examples/jsm/postprocessing/SAOPass.js +128 -56
- package/node_modules/three/examples/jsm/postprocessing/SMAAPass.js +106 -75
- package/node_modules/three/examples/jsm/postprocessing/SSAARenderPass.js +120 -35
- package/node_modules/three/examples/jsm/postprocessing/SSAOPass.js +174 -67
- package/node_modules/three/examples/jsm/postprocessing/SSRPass.js +268 -53
- package/node_modules/three/examples/jsm/postprocessing/SavePass.js +69 -16
- package/node_modules/three/examples/jsm/postprocessing/ShaderPass.js +65 -7
- package/node_modules/three/examples/jsm/postprocessing/TAARenderPass.js +79 -24
- package/node_modules/three/examples/jsm/postprocessing/TexturePass.js +72 -8
- package/node_modules/three/examples/jsm/postprocessing/UnrealBloomPass.js +125 -46
- package/node_modules/three/examples/jsm/renderers/CSS2DRenderer.js +122 -9
- package/node_modules/three/examples/jsm/renderers/CSS3DRenderer.js +133 -8
- package/node_modules/three/examples/jsm/renderers/Projector.js +20 -2
- package/node_modules/three/examples/jsm/renderers/SVGRenderer.js +134 -5
- package/node_modules/three/examples/jsm/shaders/ACESFilmicToneMappingShader.js +12 -5
- package/node_modules/three/examples/jsm/shaders/AfterimageShader.js +8 -3
- package/node_modules/three/examples/jsm/shaders/BasicShader.js +8 -1
- package/node_modules/three/examples/jsm/shaders/BleachBypassShader.js +11 -5
- package/node_modules/three/examples/jsm/shaders/BlendShader.js +8 -1
- package/node_modules/three/examples/jsm/shaders/BokehShader.js +9 -3
- package/node_modules/three/examples/jsm/shaders/BokehShader2.js +11 -4
- package/node_modules/three/examples/jsm/shaders/BrightnessContrastShader.js +10 -4
- package/node_modules/three/examples/jsm/shaders/ColorCorrectionShader.js +8 -1
- package/node_modules/three/examples/jsm/shaders/ColorifyShader.js +9 -3
- package/node_modules/three/examples/jsm/shaders/ConvolutionShader.js +9 -38
- package/node_modules/three/examples/jsm/shaders/CopyShader.js +8 -1
- package/node_modules/three/examples/jsm/shaders/DOFMipMapShader.js +10 -3
- package/node_modules/three/examples/jsm/shaders/DepthLimitedBlurShader.js +10 -1
- package/node_modules/three/examples/jsm/shaders/DigitalGlitch.js +10 -7
- package/node_modules/three/examples/jsm/shaders/DotScreenShader.js +8 -3
- package/node_modules/three/examples/jsm/shaders/ExposureShader.js +8 -1
- package/node_modules/three/examples/jsm/shaders/FXAAShader.js +243 -233
- package/node_modules/three/examples/jsm/shaders/FilmShader.js +13 -0
- package/node_modules/three/examples/jsm/shaders/FocusShader.js +8 -3
- package/node_modules/three/examples/jsm/shaders/FreiChenShader.js +10 -3
- package/node_modules/three/examples/jsm/shaders/GTAOShader.js +37 -40
- package/node_modules/three/examples/jsm/shaders/GammaCorrectionShader.js +11 -2
- package/node_modules/three/examples/jsm/shaders/GodRaysShader.js +20 -8
- package/node_modules/three/examples/jsm/shaders/HalftoneShader.js +13 -4
- package/node_modules/three/examples/jsm/shaders/HorizontalBlurShader.js +12 -3
- package/node_modules/three/examples/jsm/shaders/HorizontalTiltShiftShader.js +9 -2
- package/node_modules/three/examples/jsm/shaders/HueSaturationShader.js +10 -3
- package/node_modules/three/examples/jsm/shaders/KaleidoShader.js +11 -4
- package/node_modules/three/examples/jsm/shaders/LuminosityHighPassShader.js +9 -7
- package/node_modules/three/examples/jsm/shaders/LuminosityShader.js +8 -2
- package/node_modules/three/examples/jsm/shaders/MirrorShader.js +10 -4
- package/node_modules/three/examples/jsm/shaders/NormalMapShader.js +7 -2
- package/node_modules/three/examples/jsm/shaders/OutputShader.js +24 -2
- package/node_modules/three/examples/jsm/shaders/PoissonDenoiseShader.js +24 -15
- package/node_modules/three/examples/jsm/shaders/RGBShiftShader.js +8 -1
- package/node_modules/three/examples/jsm/shaders/SAOShader.js +10 -1
- package/node_modules/three/examples/jsm/shaders/SMAAShader.js +24 -1
- package/node_modules/three/examples/jsm/shaders/SSAOShader.js +26 -5
- package/node_modules/three/examples/jsm/shaders/SSRShader.js +26 -1
- package/node_modules/three/examples/jsm/shaders/SepiaShader.js +8 -3
- package/node_modules/three/examples/jsm/shaders/SobelOperatorShader.js +9 -3
- package/node_modules/three/examples/jsm/shaders/SubsurfaceScatteringShader.js +13 -8
- package/node_modules/three/examples/jsm/shaders/TechnicolorShader.js +10 -4
- package/node_modules/three/examples/jsm/shaders/ToonShader.js +29 -6
- package/node_modules/three/examples/jsm/shaders/TriangleBlurShader.js +9 -4
- package/node_modules/three/examples/jsm/shaders/UnpackDepthRGBAShader.js +19 -4
- package/node_modules/three/examples/jsm/shaders/VelocityShader.js +8 -1
- package/node_modules/three/examples/jsm/shaders/VerticalBlurShader.js +9 -2
- package/node_modules/three/examples/jsm/shaders/VerticalTiltShiftShader.js +8 -1
- package/node_modules/three/examples/jsm/shaders/VignetteShader.js +8 -3
- package/node_modules/three/examples/jsm/shaders/VolumeShader.js +11 -2
- package/node_modules/three/examples/jsm/shaders/WaterRefractionShader.js +11 -0
- package/node_modules/three/examples/jsm/textures/FlakesTexture.js +14 -0
- package/node_modules/three/examples/jsm/transpiler/AST.js +392 -31
- package/node_modules/three/examples/jsm/transpiler/GLSLDecoder.js +366 -136
- package/node_modules/three/examples/jsm/transpiler/Linker.js +327 -0
- package/node_modules/three/examples/jsm/transpiler/ShaderToyDecoder.js +3 -3
- package/node_modules/three/examples/jsm/transpiler/TSLEncoder.js +336 -111
- package/node_modules/three/examples/jsm/transpiler/Transpiler.js +50 -1
- package/node_modules/three/examples/jsm/transpiler/TranspilerUtils.js +29 -0
- package/node_modules/three/examples/jsm/transpiler/WGSLEncoder.js +812 -0
- package/node_modules/three/examples/jsm/tsl/display/AfterImageNode.js +244 -0
- package/node_modules/three/examples/jsm/tsl/display/AnaglyphPassNode.js +107 -0
- package/node_modules/three/examples/jsm/tsl/display/AnamorphicNode.js +282 -0
- package/node_modules/three/examples/jsm/tsl/display/BleachBypass.js +33 -0
- package/node_modules/three/examples/jsm/tsl/display/BloomNode.js +524 -0
- package/node_modules/three/examples/jsm/tsl/display/ChromaticAberrationNode.js +207 -0
- package/node_modules/three/examples/jsm/tsl/display/DenoiseNode.js +334 -0
- package/node_modules/three/examples/jsm/tsl/display/DepthOfFieldNode.js +554 -0
- package/node_modules/three/examples/jsm/tsl/display/DotScreenNode.js +104 -0
- package/node_modules/three/examples/jsm/tsl/display/FXAANode.js +365 -0
- package/node_modules/three/examples/jsm/tsl/display/FilmNode.js +101 -0
- package/node_modules/three/examples/jsm/tsl/display/GTAONode.js +570 -0
- package/node_modules/three/examples/jsm/tsl/display/GaussianBlurNode.js +380 -0
- package/node_modules/three/examples/jsm/tsl/display/LensflareNode.js +279 -0
- package/node_modules/three/examples/jsm/tsl/display/Lut3DNode.js +109 -0
- package/node_modules/three/examples/jsm/tsl/display/MotionBlur.js +33 -0
- package/node_modules/three/examples/jsm/tsl/display/OutlineNode.js +762 -0
- package/node_modules/three/examples/jsm/tsl/display/ParallaxBarrierPassNode.js +89 -0
- package/node_modules/three/examples/jsm/tsl/display/PixelationPassNode.js +334 -0
- package/node_modules/three/examples/jsm/tsl/display/RGBShiftNode.js +96 -0
- package/node_modules/three/examples/jsm/tsl/display/SMAANode.js +768 -0
- package/node_modules/three/examples/jsm/tsl/display/SSAAPassNode.js +358 -0
- package/node_modules/three/examples/jsm/tsl/display/SSGINode.js +654 -0
- package/node_modules/three/examples/jsm/tsl/display/SSRNode.js +656 -0
- package/node_modules/three/examples/jsm/tsl/display/SSSNode.js +488 -0
- package/node_modules/three/examples/jsm/tsl/display/Sepia.js +24 -0
- package/node_modules/three/examples/jsm/tsl/display/SobelOperatorNode.js +168 -0
- package/node_modules/three/examples/jsm/tsl/display/StereoCompositePassNode.js +185 -0
- package/node_modules/three/examples/jsm/tsl/display/StereoPassNode.js +120 -0
- package/node_modules/three/examples/jsm/tsl/display/TRAANode.js +578 -0
- package/node_modules/three/examples/jsm/tsl/display/TransitionNode.js +141 -0
- package/node_modules/three/examples/jsm/tsl/display/boxBlur.js +65 -0
- package/node_modules/three/examples/jsm/tsl/display/hashBlur.js +54 -0
- package/node_modules/three/examples/jsm/tsl/lighting/TiledLightsNode.js +442 -0
- package/node_modules/three/examples/jsm/tsl/math/Bayer.js +34 -0
- package/node_modules/three/examples/jsm/tsl/shadows/TileShadowNode.js +456 -0
- package/node_modules/three/examples/jsm/tsl/shadows/TileShadowNodeHelper.js +212 -0
- package/node_modules/three/examples/jsm/tsl/utils/Raymarching.js +70 -0
- package/node_modules/three/examples/jsm/utils/BufferGeometryUtils.js +109 -45
- package/node_modules/three/examples/jsm/utils/CameraUtils.js +15 -6
- package/node_modules/three/examples/jsm/utils/GeometryCompressionUtils.js +54 -146
- package/node_modules/three/examples/jsm/utils/GeometryUtils.js +32 -27
- package/node_modules/three/examples/jsm/utils/LDrawUtils.js +13 -4
- package/node_modules/three/examples/jsm/utils/SceneOptimizer.js +458 -0
- package/node_modules/three/examples/jsm/utils/SceneUtils.js +112 -3
- package/node_modules/three/examples/jsm/utils/ShadowMapViewer.js +51 -31
- package/node_modules/three/examples/jsm/utils/ShadowMapViewerGPU.js +233 -0
- package/node_modules/three/examples/jsm/utils/SkeletonUtils.js +145 -68
- package/node_modules/three/examples/jsm/utils/SortUtils.js +23 -8
- package/node_modules/three/examples/jsm/utils/UVsDebug.js +12 -4
- package/node_modules/three/examples/jsm/utils/{TextureUtils.js → WebGLTextureUtils.js} +19 -2
- package/node_modules/three/examples/jsm/utils/WebGPUTextureUtils.js +81 -0
- package/node_modules/three/examples/jsm/utils/WorkerPool.js +67 -2
- package/node_modules/three/examples/jsm/webxr/ARButton.js +19 -0
- package/node_modules/three/examples/jsm/webxr/OculusHandModel.js +87 -2
- package/node_modules/three/examples/jsm/webxr/OculusHandPointerModel.js +148 -22
- package/node_modules/three/examples/jsm/webxr/Text2D.js +20 -6
- package/node_modules/three/examples/jsm/webxr/VRButton.js +44 -5
- package/node_modules/three/examples/jsm/webxr/XRButton.js +23 -1
- package/node_modules/three/examples/jsm/webxr/XRControllerModelFactory.js +103 -4
- package/node_modules/three/examples/jsm/webxr/XREstimatedLight.js +35 -4
- package/node_modules/three/examples/jsm/webxr/XRHandMeshModel.js +37 -0
- package/node_modules/three/examples/jsm/webxr/XRHandModelFactory.js +101 -9
- package/node_modules/three/examples/jsm/webxr/XRHandPrimitiveModel.js +44 -0
- package/node_modules/three/examples/jsm/webxr/XRPlanes.js +18 -0
- package/node_modules/three/package.json +25 -20
- package/node_modules/three/src/Three.Core.js +185 -0
- package/node_modules/three/src/Three.Legacy.js +0 -1
- package/node_modules/three/src/Three.TSL.js +633 -0
- package/node_modules/three/src/Three.WebGPU.Nodes.js +26 -0
- package/node_modules/three/src/Three.WebGPU.js +28 -0
- package/node_modules/three/src/Three.js +1 -176
- package/node_modules/three/src/animation/AnimationAction.js +262 -30
- package/node_modules/three/src/animation/AnimationClip.js +164 -9
- package/node_modules/three/src/animation/AnimationMixer.js +99 -15
- package/node_modules/three/src/animation/AnimationObjectGroup.js +45 -21
- package/node_modules/three/src/animation/AnimationUtils.js +169 -19
- package/node_modules/three/src/animation/KeyframeTrack.js +151 -16
- package/node_modules/three/src/animation/PropertyBinding.js +91 -16
- package/node_modules/three/src/animation/PropertyMixer.js +72 -5
- package/node_modules/three/src/animation/tracks/BooleanKeyframeTrack.js +42 -6
- package/node_modules/three/src/animation/tracks/ColorKeyframeTrack.js +26 -5
- package/node_modules/three/src/animation/tracks/NumberKeyframeTrack.js +26 -2
- package/node_modules/three/src/animation/tracks/QuaternionKeyframeTrack.js +31 -3
- package/node_modules/three/src/animation/tracks/StringKeyframeTrack.js +42 -2
- package/node_modules/three/src/animation/tracks/VectorKeyframeTrack.js +26 -2
- package/node_modules/three/src/audio/Audio.js +388 -10
- package/node_modules/three/src/audio/AudioAnalyser.js +58 -1
- package/node_modules/three/src/audio/AudioContext.js +15 -0
- package/node_modules/three/src/audio/AudioListener.js +89 -10
- package/node_modules/three/src/audio/PositionalAudio.js +107 -0
- package/node_modules/three/src/cameras/ArrayCamera.js +37 -0
- package/node_modules/three/src/cameras/Camera.js +61 -0
- package/node_modules/three/src/cameras/CubeCamera.js +66 -0
- package/node_modules/three/src/cameras/OrthographicCamera.js +110 -1
- package/node_modules/three/src/cameras/PerspectiveCamera.js +174 -35
- package/node_modules/three/src/cameras/StereoCamera.js +48 -2
- package/node_modules/three/src/constants.js +1477 -18
- package/node_modules/three/src/core/BufferAttribute.js +417 -23
- package/node_modules/three/src/core/BufferGeometry.js +416 -49
- package/node_modules/three/src/core/Clock.js +62 -8
- package/node_modules/three/src/core/EventDispatcher.js +52 -8
- package/node_modules/three/src/core/GLBufferAttribute.js +113 -2
- package/node_modules/three/src/core/InstancedBufferAttribute.js +29 -0
- package/node_modules/three/src/core/InstancedBufferGeometry.js +20 -0
- package/node_modules/three/src/core/InstancedInterleavedBuffer.js +26 -0
- package/node_modules/three/src/core/InterleavedBuffer.js +141 -16
- package/node_modules/three/src/core/InterleavedBufferAttribute.js +200 -2
- package/node_modules/three/src/core/Layers.js +71 -10
- package/node_modules/three/src/core/Object3D.js +665 -54
- package/node_modules/three/src/core/Raycaster.js +160 -8
- package/node_modules/three/src/core/RenderTarget.js +297 -36
- package/node_modules/three/src/core/RenderTarget3D.js +48 -0
- package/node_modules/three/src/core/Timer.js +184 -0
- package/node_modules/three/src/core/Uniform.js +29 -0
- package/node_modules/three/src/core/UniformsGroup.js +84 -2
- package/node_modules/three/src/extras/Controls.js +120 -0
- package/node_modules/three/src/extras/DataUtils.js +50 -9
- package/node_modules/three/src/extras/Earcut.js +18 -779
- package/node_modules/three/src/extras/ImageUtils.js +22 -14
- package/node_modules/three/src/extras/PMREMGenerator.js +329 -64
- package/node_modules/three/src/extras/ShapeUtils.js +24 -2
- package/node_modules/three/src/extras/TextureUtils.js +293 -0
- package/node_modules/three/src/extras/core/Curve.js +156 -55
- package/node_modules/three/src/extras/core/CurvePath.js +63 -22
- package/node_modules/three/src/extras/core/Interpolations.js +34 -2
- package/node_modules/three/src/extras/core/Path.js +134 -1
- package/node_modules/three/src/extras/core/Shape.js +66 -3
- package/node_modules/three/src/extras/core/ShapePath.js +80 -4
- package/node_modules/three/src/extras/curves/ArcCurve.js +22 -0
- package/node_modules/three/src/extras/curves/CatmullRomCurve3.js +89 -18
- package/node_modules/three/src/extras/curves/CubicBezierCurve.js +67 -0
- package/node_modules/three/src/extras/curves/CubicBezierCurve3.js +50 -0
- package/node_modules/three/src/extras/curves/EllipseCurve.js +104 -2
- package/node_modules/three/src/extras/curves/LineCurve.js +36 -0
- package/node_modules/three/src/extras/curves/LineCurve3.js +36 -0
- package/node_modules/three/src/extras/curves/QuadraticBezierCurve.js +59 -0
- package/node_modules/three/src/extras/curves/QuadraticBezierCurve3.js +43 -0
- package/node_modules/three/src/extras/curves/SplineCurve.js +48 -0
- package/node_modules/three/src/extras/lib/earcut.js +685 -0
- package/node_modules/three/src/geometries/BoxGeometry.js +39 -0
- package/node_modules/three/src/geometries/CapsuleGeometry.js +196 -11
- package/node_modules/three/src/geometries/CircleGeometry.js +41 -0
- package/node_modules/three/src/geometries/ConeGeometry.js +39 -0
- package/node_modules/three/src/geometries/CylinderGeometry.js +51 -4
- package/node_modules/three/src/geometries/DodecahedronGeometry.js +33 -0
- package/node_modules/three/src/geometries/EdgesGeometry.js +30 -2
- package/node_modules/three/src/geometries/ExtrudeGeometry.js +146 -50
- package/node_modules/three/src/geometries/IcosahedronGeometry.js +33 -0
- package/node_modules/three/src/geometries/LatheGeometry.js +44 -3
- package/node_modules/three/src/geometries/OctahedronGeometry.js +33 -0
- package/node_modules/three/src/geometries/PlaneGeometry.js +35 -0
- package/node_modules/three/src/geometries/PolyhedronGeometry.js +29 -0
- package/node_modules/three/src/geometries/RingGeometry.js +37 -0
- package/node_modules/three/src/geometries/ShapeGeometry.js +38 -0
- package/node_modules/three/src/geometries/SphereGeometry.js +38 -0
- package/node_modules/three/src/geometries/TetrahedronGeometry.js +33 -0
- package/node_modules/three/src/geometries/TorusGeometry.js +36 -0
- package/node_modules/three/src/geometries/TorusKnotGeometry.js +39 -0
- package/node_modules/three/src/geometries/TubeGeometry.js +50 -0
- package/node_modules/three/src/geometries/WireframeGeometry.js +32 -0
- package/node_modules/three/src/helpers/ArrowHelper.js +62 -5
- package/node_modules/three/src/helpers/AxesHelper.js +28 -0
- package/node_modules/three/src/helpers/Box3Helper.js +28 -0
- package/node_modules/three/src/helpers/BoxHelper.js +43 -7
- package/node_modules/three/src/helpers/CameraHelper.js +100 -27
- package/node_modules/three/src/helpers/DirectionalLightHelper.js +52 -0
- package/node_modules/three/src/helpers/GridHelper.js +26 -0
- package/node_modules/three/src/helpers/HemisphereLightHelper.js +39 -0
- package/node_modules/three/src/helpers/PlaneHelper.js +33 -0
- package/node_modules/three/src/helpers/PointLightHelper.js +43 -0
- package/node_modules/three/src/helpers/PolarGridHelper.js +30 -0
- package/node_modules/three/src/helpers/SkeletonHelper.js +73 -7
- package/node_modules/three/src/helpers/SpotLightHelper.js +58 -1
- package/node_modules/three/src/lights/AmbientLight.js +25 -0
- package/node_modules/three/src/lights/DirectionalLight.js +57 -0
- package/node_modules/three/src/lights/DirectionalLightShadow.js +15 -0
- package/node_modules/three/src/lights/HemisphereLight.js +32 -0
- package/node_modules/three/src/lights/Light.js +37 -0
- package/node_modules/three/src/lights/LightProbe.js +43 -0
- package/node_modules/three/src/lights/LightShadow.js +198 -7
- package/node_modules/three/src/lights/PointLight.js +59 -0
- package/node_modules/three/src/lights/PointLightShadow.js +22 -1
- package/node_modules/three/src/lights/RectAreaLight.js +59 -0
- package/node_modules/three/src/lights/SpotLight.js +102 -0
- package/node_modules/three/src/lights/SpotLightShadow.js +33 -3
- package/node_modules/three/src/lights/webgpu/IESSpotLight.js +46 -0
- package/node_modules/three/src/lights/webgpu/ProjectorLight.js +46 -0
- package/node_modules/three/src/loaders/AnimationLoader.js +34 -2
- package/node_modules/three/src/loaders/AudioLoader.js +34 -2
- package/node_modules/three/src/loaders/BufferGeometryLoader.js +38 -13
- package/node_modules/three/src/loaders/Cache.js +47 -2
- package/node_modules/three/src/loaders/CompressedTextureLoader.js +36 -3
- package/node_modules/three/src/loaders/CubeTextureLoader.js +45 -0
- package/node_modules/three/src/loaders/DataTextureLoader.js +45 -8
- package/node_modules/three/src/loaders/FileLoader.js +90 -6
- package/node_modules/three/src/loaders/ImageBitmapLoader.js +108 -11
- package/node_modules/three/src/loaders/ImageLoader.js +85 -8
- package/node_modules/three/src/loaders/Loader.js +144 -0
- package/node_modules/three/src/loaders/LoaderUtils.js +18 -34
- package/node_modules/three/src/loaders/LoadingManager.js +187 -0
- package/node_modules/three/src/loaders/MaterialLoader.js +70 -4
- package/node_modules/three/src/loaders/ObjectLoader.js +146 -30
- package/node_modules/three/src/loaders/TextureLoader.js +33 -0
- package/node_modules/three/src/loaders/nodes/NodeLoader.js +194 -0
- package/node_modules/three/src/loaders/nodes/NodeMaterialLoader.js +108 -0
- package/node_modules/three/src/loaders/nodes/NodeObjectLoader.js +151 -0
- package/node_modules/three/src/materials/LineBasicMaterial.js +74 -1
- package/node_modules/three/src/materials/LineDashedMaterial.js +52 -1
- package/node_modules/three/src/materials/Material.js +504 -11
- package/node_modules/three/src/materials/MeshBasicMaterial.js +172 -3
- package/node_modules/three/src/materials/MeshDepthMaterial.js +94 -0
- package/node_modules/three/src/materials/MeshDistanceMaterial.js +76 -0
- package/node_modules/three/src/materials/MeshLambertMaterial.js +278 -1
- package/node_modules/three/src/materials/MeshMatcapMaterial.js +164 -0
- package/node_modules/three/src/materials/MeshNormalMaterial.js +114 -0
- package/node_modules/three/src/materials/MeshPhongMaterial.js +293 -1
- package/node_modules/three/src/materials/MeshPhysicalMaterial.js +316 -4
- package/node_modules/three/src/materials/MeshStandardMaterial.js +304 -3
- package/node_modules/three/src/materials/MeshToonMaterial.js +219 -0
- package/node_modules/three/src/materials/PointsMaterial.js +89 -0
- package/node_modules/three/src/materials/RawShaderMaterial.js +25 -0
- package/node_modules/three/src/materials/ShaderMaterial.js +215 -10
- package/node_modules/three/src/materials/ShadowMaterial.js +54 -0
- package/node_modules/three/src/materials/SpriteMaterial.js +82 -0
- package/node_modules/three/{examples/jsm/nodes/materials → src/materials/nodes}/Line2NodeMaterial.js +206 -100
- package/node_modules/three/src/materials/nodes/LineBasicNodeMaterial.js +46 -0
- package/node_modules/three/src/materials/nodes/LineDashedNodeMaterial.js +132 -0
- package/node_modules/three/src/materials/nodes/MeshBasicNodeMaterial.js +134 -0
- package/node_modules/three/src/materials/nodes/MeshLambertNodeMaterial.js +82 -0
- package/node_modules/three/src/materials/nodes/MeshMatcapNodeMaterial.js +77 -0
- package/node_modules/three/src/materials/nodes/MeshNormalNodeMaterial.js +67 -0
- package/node_modules/three/src/materials/nodes/MeshPhongNodeMaterial.js +141 -0
- package/node_modules/three/src/materials/nodes/MeshPhysicalNodeMaterial.js +518 -0
- package/node_modules/three/src/materials/nodes/MeshSSSNodeMaterial.js +175 -0
- package/node_modules/three/src/materials/nodes/MeshStandardNodeMaterial.js +186 -0
- package/node_modules/three/src/materials/nodes/MeshToonNodeMaterial.js +66 -0
- package/node_modules/three/src/materials/nodes/NodeMaterial.js +1310 -0
- package/node_modules/three/{examples/jsm/nodes/materials/Materials.js → src/materials/nodes/NodeMaterials.js} +7 -2
- package/node_modules/three/src/materials/nodes/PointsNodeMaterial.js +211 -0
- package/node_modules/three/src/materials/nodes/ShadowNodeMaterial.js +76 -0
- package/node_modules/three/src/materials/nodes/SpriteNodeMaterial.js +186 -0
- package/node_modules/three/src/materials/nodes/VolumeNodeMaterial.js +81 -0
- package/node_modules/three/src/materials/nodes/manager/NodeMaterialObserver.js +613 -0
- package/node_modules/three/src/math/Box2.js +181 -4
- package/node_modules/three/src/math/Box3.js +277 -6
- package/node_modules/three/src/math/Color.js +355 -11
- package/node_modules/three/src/math/ColorManagement.js +161 -85
- package/node_modules/three/src/math/Cylindrical.js +65 -6
- package/node_modules/three/src/math/Euler.js +139 -5
- package/node_modules/three/src/math/Frustum.js +108 -9
- package/node_modules/three/src/math/FrustumArray.js +258 -0
- package/node_modules/three/src/math/Interpolant.js +87 -8
- package/node_modules/three/src/math/Line3.js +223 -2
- package/node_modules/three/src/math/MathUtils.js +408 -20
- package/node_modules/three/src/math/Matrix2.js +124 -0
- package/node_modules/three/src/math/Matrix3.js +229 -4
- package/node_modules/three/src/math/Matrix4.js +416 -30
- package/node_modules/three/src/math/Plane.js +164 -2
- package/node_modules/three/src/math/Quaternion.js +345 -86
- package/node_modules/three/src/math/Ray.js +162 -0
- package/node_modules/three/src/math/Sphere.js +175 -0
- package/node_modules/three/src/math/Spherical.js +74 -13
- package/node_modules/three/src/math/SphericalHarmonics3.js +112 -14
- package/node_modules/three/src/math/Triangle.js +230 -2
- package/node_modules/three/src/math/Vector2.js +396 -10
- package/node_modules/three/src/math/Vector3.js +557 -20
- package/node_modules/three/src/math/Vector4.js +428 -9
- package/node_modules/three/src/math/interpolants/CubicInterpolant.js +10 -1
- package/node_modules/three/src/math/interpolants/DiscreteInterpolant.js +10 -2
- package/node_modules/three/src/math/interpolants/LinearInterpolant.js +13 -0
- package/node_modules/three/src/math/interpolants/QuaternionLinearInterpolant.js +10 -1
- package/node_modules/three/src/nodes/Nodes.js +148 -0
- package/node_modules/three/src/nodes/TSL.js +173 -0
- package/node_modules/three/src/nodes/accessors/AccessorsUtils.js +53 -0
- package/node_modules/three/src/nodes/accessors/Arrays.js +68 -0
- package/node_modules/three/src/nodes/accessors/BatchNode.js +163 -0
- package/node_modules/three/src/nodes/accessors/Bitangent.js +82 -0
- package/node_modules/three/src/nodes/accessors/BufferAttributeNode.js +340 -0
- package/node_modules/three/src/nodes/accessors/BufferNode.js +101 -0
- package/node_modules/three/src/nodes/accessors/BuiltinNode.js +63 -0
- package/node_modules/three/src/nodes/accessors/Camera.js +282 -0
- package/node_modules/three/src/nodes/accessors/ClippingNode.js +255 -0
- package/node_modules/three/src/nodes/accessors/CubeTextureNode.js +190 -0
- package/node_modules/three/src/nodes/accessors/InstanceNode.js +244 -0
- package/node_modules/three/src/nodes/accessors/InstancedMeshNode.js +50 -0
- package/node_modules/three/src/nodes/accessors/Lights.js +139 -0
- package/node_modules/three/src/nodes/accessors/MaterialNode.js +775 -0
- package/node_modules/three/src/nodes/accessors/MaterialProperties.js +59 -0
- package/node_modules/three/src/nodes/accessors/MaterialReferenceNode.js +85 -0
- package/node_modules/three/src/nodes/accessors/ModelNode.js +184 -0
- package/node_modules/three/src/nodes/accessors/ModelViewProjectionNode.js +13 -0
- package/node_modules/three/{examples/jsm → src}/nodes/accessors/MorphNode.js +122 -57
- package/node_modules/three/src/nodes/accessors/Normal.js +243 -0
- package/node_modules/three/src/nodes/accessors/Object3DNode.js +268 -0
- package/node_modules/three/src/nodes/accessors/PointUVNode.js +55 -0
- package/node_modules/three/src/nodes/accessors/Position.js +90 -0
- package/node_modules/three/src/nodes/accessors/ReferenceBaseNode.js +357 -0
- package/node_modules/three/src/nodes/accessors/ReferenceNode.js +424 -0
- package/node_modules/three/src/nodes/accessors/ReflectVector.js +36 -0
- package/node_modules/three/src/nodes/accessors/RendererReferenceNode.js +79 -0
- package/node_modules/three/src/nodes/accessors/SceneNode.js +145 -0
- package/node_modules/three/src/nodes/accessors/SkinningNode.js +327 -0
- package/node_modules/three/src/nodes/accessors/StorageBufferNode.js +416 -0
- package/node_modules/three/src/nodes/accessors/StorageTextureNode.js +264 -0
- package/node_modules/three/src/nodes/accessors/Tangent.js +70 -0
- package/node_modules/three/src/nodes/accessors/TangentUtils.js +46 -0
- package/node_modules/three/src/nodes/accessors/Texture3DNode.js +199 -0
- package/node_modules/three/{examples/jsm/nodes/accessors/TextureBicubicNode.js → src/nodes/accessors/TextureBicubic.js} +28 -30
- package/node_modules/three/src/nodes/accessors/TextureNode.js +927 -0
- package/node_modules/three/src/nodes/accessors/TextureSizeNode.js +77 -0
- package/node_modules/three/src/nodes/accessors/UV.js +11 -0
- package/node_modules/three/src/nodes/accessors/UniformArrayNode.js +348 -0
- package/node_modules/three/src/nodes/accessors/UserDataNode.js +77 -0
- package/node_modules/three/src/nodes/accessors/VelocityNode.js +224 -0
- package/node_modules/three/src/nodes/accessors/VertexColorNode.js +110 -0
- package/node_modules/three/src/nodes/code/CodeNode.js +181 -0
- package/node_modules/three/src/nodes/code/ExpressionNode.js +68 -0
- package/node_modules/three/src/nodes/code/FunctionCallNode.js +187 -0
- package/node_modules/three/src/nodes/code/FunctionNode.js +183 -0
- package/node_modules/three/{examples/jsm → src}/nodes/code/ScriptableNode.js +253 -15
- package/node_modules/three/{examples/jsm → src}/nodes/code/ScriptableValueNode.js +95 -9
- package/node_modules/three/src/nodes/core/ArrayNode.js +155 -0
- package/node_modules/three/src/nodes/core/AssignNode.js +202 -0
- package/node_modules/three/src/nodes/core/AttributeNode.js +168 -0
- package/node_modules/three/src/nodes/core/BypassNode.js +93 -0
- package/node_modules/three/src/nodes/core/ConstNode.js +67 -0
- package/node_modules/three/src/nodes/core/ContextNode.js +184 -0
- package/node_modules/three/src/nodes/core/IndexNode.js +164 -0
- package/node_modules/three/src/nodes/core/InputNode.js +136 -0
- package/node_modules/three/src/nodes/core/InspectorNode.js +128 -0
- package/node_modules/three/src/nodes/core/IsolateNode.js +133 -0
- package/node_modules/three/src/nodes/core/LightingModel.js +77 -0
- package/node_modules/three/src/nodes/core/MRTNode.js +150 -0
- package/node_modules/three/src/nodes/core/Node.js +1083 -0
- package/node_modules/three/src/nodes/core/NodeAttribute.js +53 -0
- package/node_modules/three/src/nodes/core/NodeBuilder.js +3081 -0
- package/node_modules/three/src/nodes/core/NodeCache.js +75 -0
- package/node_modules/three/src/nodes/core/NodeCode.js +46 -0
- package/node_modules/three/src/nodes/core/NodeFrame.js +306 -0
- package/node_modules/three/src/nodes/core/NodeFunction.js +69 -0
- package/node_modules/three/src/nodes/core/NodeFunctionInput.js +61 -0
- package/node_modules/three/src/nodes/core/NodeParser.js +23 -0
- package/node_modules/three/src/nodes/core/NodeUniform.js +91 -0
- package/node_modules/three/src/nodes/core/NodeUtils.js +406 -0
- package/node_modules/three/src/nodes/core/NodeVar.js +60 -0
- package/node_modules/three/src/nodes/core/NodeVarying.js +63 -0
- package/node_modules/three/src/nodes/core/OutputStructNode.js +103 -0
- package/node_modules/three/src/nodes/core/ParameterNode.js +94 -0
- package/node_modules/three/src/nodes/core/PropertyNode.js +351 -0
- package/node_modules/three/src/nodes/core/StackNode.js +377 -0
- package/node_modules/three/src/nodes/core/StructNode.js +120 -0
- package/node_modules/three/src/nodes/core/StructType.js +13 -0
- package/node_modules/three/src/nodes/core/StructTypeNode.js +154 -0
- package/node_modules/three/src/nodes/core/SubBuildNode.js +89 -0
- package/node_modules/three/src/nodes/core/TempNode.js +88 -0
- package/node_modules/three/src/nodes/core/UniformGroupNode.js +137 -0
- package/node_modules/three/src/nodes/core/UniformNode.js +243 -0
- package/node_modules/three/src/nodes/core/VarNode.js +342 -0
- package/node_modules/three/src/nodes/core/VaryingNode.js +227 -0
- package/node_modules/three/src/nodes/core/constants.js +68 -0
- package/node_modules/three/src/nodes/display/BlendModes.js +235 -0
- package/node_modules/three/src/nodes/display/BumpMapNode.js +117 -0
- package/node_modules/three/src/nodes/display/ColorAdjustment.js +141 -0
- package/node_modules/three/src/nodes/display/ColorSpaceFunctions.js +54 -0
- package/node_modules/three/src/nodes/display/ColorSpaceNode.js +164 -0
- package/node_modules/three/src/nodes/display/FrontFacingNode.js +102 -0
- package/node_modules/three/src/nodes/display/NormalMapNode.js +118 -0
- package/node_modules/three/src/nodes/display/PassNode.js +946 -0
- package/node_modules/three/src/nodes/display/PosterizeNode.js +65 -0
- package/node_modules/three/src/nodes/display/RenderOutputNode.js +150 -0
- package/node_modules/three/src/nodes/display/ScreenNode.js +290 -0
- package/node_modules/three/src/nodes/display/ToneMappingFunctions.js +242 -0
- package/node_modules/three/src/nodes/display/ToneMappingNode.js +147 -0
- package/node_modules/three/src/nodes/display/ToonOutlinePassNode.js +191 -0
- package/node_modules/three/src/nodes/display/ViewportDepthNode.js +294 -0
- package/node_modules/three/src/nodes/display/ViewportDepthTextureNode.js +67 -0
- package/node_modules/three/src/nodes/display/ViewportSharedTextureNode.js +73 -0
- package/node_modules/three/src/nodes/display/ViewportTextureNode.js +228 -0
- package/node_modules/three/src/nodes/fog/Fog.js +114 -0
- package/node_modules/three/src/nodes/functions/BSDF/BRDF_GGX.js +55 -0
- package/node_modules/three/src/nodes/functions/BSDF/BRDF_GGX_Multiscatter.js +52 -0
- package/node_modules/three/{examples/jsm → src}/nodes/functions/BSDF/BRDF_Lambert.js +2 -2
- package/node_modules/three/{examples/jsm → src}/nodes/functions/BSDF/BRDF_Sheen.js +9 -9
- package/node_modules/three/src/nodes/functions/BSDF/DFGApprox.js +71 -0
- package/node_modules/three/{examples/jsm → src}/nodes/functions/BSDF/D_GGX.js +2 -2
- package/node_modules/three/src/nodes/functions/BSDF/D_GGX_Anisotropic.js +28 -0
- package/node_modules/three/{examples/jsm → src}/nodes/functions/BSDF/EnvironmentBRDF.js +2 -2
- package/node_modules/three/{examples/jsm → src}/nodes/functions/BSDF/F_Schlick.js +2 -2
- package/node_modules/three/src/nodes/functions/BSDF/LTC.js +175 -0
- package/node_modules/three/{examples/jsm → src}/nodes/functions/BSDF/Schlick_to_F0.js +2 -2
- package/node_modules/three/{examples/jsm → src}/nodes/functions/BSDF/V_GGX_SmithCorrelated.js +2 -4
- package/node_modules/three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated_Anisotropic.js +29 -0
- package/node_modules/three/src/nodes/functions/BasicLightingModel.js +100 -0
- package/node_modules/three/src/nodes/functions/PhongLightingModel.js +99 -0
- package/node_modules/three/src/nodes/functions/PhysicalLightingModel.js +797 -0
- package/node_modules/three/src/nodes/functions/ShadowMaskModel.js +58 -0
- package/node_modules/three/src/nodes/functions/ToonLightingModel.js +70 -0
- package/node_modules/three/src/nodes/functions/VolumetricLightingModel.js +183 -0
- package/node_modules/three/src/nodes/functions/material/getAlphaHashThreshold.js +68 -0
- package/node_modules/three/src/nodes/functions/material/getGeometryRoughness.js +19 -0
- package/node_modules/three/src/nodes/functions/material/getParallaxCorrectNormal.js +37 -0
- package/node_modules/three/{examples/jsm → src}/nodes/functions/material/getRoughness.js +2 -2
- package/node_modules/three/src/nodes/functions/material/getShIrradianceAt.js +28 -0
- package/node_modules/three/src/nodes/geometry/RangeNode.js +208 -0
- package/node_modules/three/src/nodes/gpgpu/AtomicFunctionNode.js +274 -0
- package/node_modules/three/src/nodes/gpgpu/BarrierNode.js +89 -0
- package/node_modules/three/src/nodes/gpgpu/ComputeBuiltinNode.js +228 -0
- package/node_modules/three/src/nodes/gpgpu/ComputeNode.js +284 -0
- package/node_modules/three/src/nodes/gpgpu/SubgroupFunctionNode.js +455 -0
- package/node_modules/three/src/nodes/gpgpu/WorkgroupInfoNode.js +234 -0
- package/node_modules/three/src/nodes/lighting/AONode.js +45 -0
- package/node_modules/three/{examples/jsm → src}/nodes/lighting/AmbientLightNode.js +16 -8
- package/node_modules/three/src/nodes/lighting/AnalyticLightNode.js +256 -0
- package/node_modules/three/src/nodes/lighting/BasicEnvironmentNode.js +49 -0
- package/node_modules/three/src/nodes/lighting/BasicLightMapNode.js +49 -0
- package/node_modules/three/src/nodes/lighting/DirectionalLightNode.js +39 -0
- package/node_modules/three/src/nodes/lighting/EnvironmentNode.js +153 -0
- package/node_modules/three/src/nodes/lighting/HemisphereLightNode.js +87 -0
- package/node_modules/three/{examples/jsm → src}/nodes/lighting/IESSpotLightNode.js +20 -10
- package/node_modules/three/src/nodes/lighting/IrradianceNode.js +44 -0
- package/node_modules/three/src/nodes/lighting/LightProbeNode.js +73 -0
- package/node_modules/three/src/nodes/lighting/LightUtils.js +25 -0
- package/node_modules/three/src/nodes/lighting/LightingContextNode.js +115 -0
- package/node_modules/three/src/nodes/lighting/LightingNode.js +36 -0
- package/node_modules/three/src/nodes/lighting/LightsNode.js +453 -0
- package/node_modules/three/src/nodes/lighting/PointLightNode.js +102 -0
- package/node_modules/three/src/nodes/lighting/PointShadowNode.js +312 -0
- package/node_modules/three/src/nodes/lighting/ProjectorLightNode.js +91 -0
- package/node_modules/three/src/nodes/lighting/RectAreaLightNode.js +133 -0
- package/node_modules/three/src/nodes/lighting/ShadowBaseNode.js +81 -0
- package/node_modules/three/src/nodes/lighting/ShadowFilterNode.js +276 -0
- package/node_modules/three/src/nodes/lighting/ShadowNode.js +811 -0
- package/node_modules/three/src/nodes/lighting/SpotLightNode.js +168 -0
- package/node_modules/three/src/nodes/materialx/MaterialXNodes.js +197 -0
- package/node_modules/three/{examples/jsm → src}/nodes/materialx/lib/mx_hsv.js +43 -46
- package/node_modules/three/{examples/jsm → src}/nodes/materialx/lib/mx_noise.js +625 -564
- package/node_modules/three/{examples/jsm → src}/nodes/materialx/lib/mx_transform_color.js +3 -9
- package/node_modules/three/src/nodes/math/BitcastNode.js +156 -0
- package/node_modules/three/src/nodes/math/ConditionalNode.js +245 -0
- package/node_modules/three/src/nodes/math/Hash.js +21 -0
- package/node_modules/three/src/nodes/math/MathNode.js +1167 -0
- package/node_modules/three/src/nodes/math/MathUtils.js +54 -0
- package/node_modules/three/src/nodes/math/OperatorNode.js +751 -0
- package/node_modules/three/{examples/jsm → src}/nodes/math/TriNoise3D.js +34 -34
- package/node_modules/three/{examples/jsm → src}/nodes/parsers/GLSLNodeFunction.js +23 -7
- package/node_modules/three/{examples/jsm → src}/nodes/parsers/GLSLNodeParser.js +11 -0
- package/node_modules/three/src/nodes/pmrem/PMREMNode.js +397 -0
- package/node_modules/three/src/nodes/pmrem/PMREMUtils.js +403 -0
- package/node_modules/three/src/nodes/procedural/Checker.js +22 -0
- package/node_modules/three/src/nodes/shapes/Shapes.js +33 -0
- package/node_modules/three/src/nodes/tsl/TSLBase.js +36 -0
- package/node_modules/three/src/nodes/tsl/TSLCore.js +1229 -0
- package/node_modules/three/src/nodes/utils/ArrayElementNode.js +77 -0
- package/node_modules/three/src/nodes/utils/ConvertNode.js +100 -0
- package/node_modules/three/src/nodes/utils/CubeMapNode.js +237 -0
- package/node_modules/three/src/nodes/utils/DebugNode.js +83 -0
- package/node_modules/three/src/nodes/utils/Discard.js +24 -0
- package/node_modules/three/src/nodes/utils/EquirectUV.js +27 -0
- package/node_modules/three/src/nodes/utils/EventNode.js +119 -0
- package/node_modules/three/src/nodes/utils/FlipNode.js +106 -0
- package/node_modules/three/src/nodes/utils/FunctionOverloadingNode.js +170 -0
- package/node_modules/three/src/nodes/utils/JoinNode.js +117 -0
- package/node_modules/three/src/nodes/utils/LoopNode.js +349 -0
- package/node_modules/three/src/nodes/utils/MatcapUV.js +22 -0
- package/node_modules/three/src/nodes/utils/MaxMipLevelNode.js +103 -0
- package/node_modules/three/src/nodes/utils/MemberNode.js +120 -0
- package/node_modules/three/src/nodes/utils/Oscillators.js +41 -0
- package/node_modules/three/src/nodes/utils/Packing.js +21 -0
- package/node_modules/three/src/nodes/utils/PostProcessingUtils.js +122 -0
- package/node_modules/three/src/nodes/utils/RTTNode.js +289 -0
- package/node_modules/three/src/nodes/utils/ReflectorNode.js +630 -0
- package/node_modules/three/src/nodes/utils/RemapNode.js +125 -0
- package/node_modules/three/{examples/jsm → src}/nodes/utils/RotateNode.js +48 -13
- package/node_modules/three/src/nodes/utils/SampleNode.js +91 -0
- package/node_modules/three/{examples/jsm → src}/nodes/utils/SetNode.js +50 -4
- package/node_modules/three/{examples/jsm → src}/nodes/utils/SplitNode.js +73 -6
- package/node_modules/three/src/nodes/utils/SpriteSheetUVNode.js +90 -0
- package/node_modules/three/src/nodes/utils/SpriteUtils.js +63 -0
- package/node_modules/three/src/nodes/utils/StorageArrayElementNode.js +143 -0
- package/node_modules/three/src/nodes/utils/Timer.js +26 -0
- package/node_modules/three/src/nodes/utils/TriplanarTextures.js +65 -0
- package/node_modules/three/src/nodes/utils/UVUtils.js +39 -0
- package/node_modules/three/src/nodes/utils/ViewportUtils.js +26 -0
- package/node_modules/three/src/objects/BatchedMesh.js +940 -305
- package/node_modules/three/src/objects/Bone.js +24 -0
- package/node_modules/three/src/objects/ClippingGroup.js +68 -0
- package/node_modules/three/src/objects/Group.js +24 -0
- package/node_modules/three/src/objects/InstancedMesh.js +182 -1
- package/node_modules/three/src/objects/LOD.js +120 -5
- package/node_modules/three/src/objects/Line.js +151 -44
- package/node_modules/three/src/objects/LineLoop.js +20 -0
- package/node_modules/three/src/objects/LineSegments.js +20 -1
- package/node_modules/three/src/objects/Mesh.js +91 -24
- package/node_modules/three/src/objects/Points.js +62 -0
- package/node_modules/three/src/objects/Skeleton.js +111 -5
- package/node_modules/three/src/objects/SkinnedMesh.js +102 -6
- package/node_modules/three/src/objects/Sprite.js +65 -1
- package/node_modules/three/src/renderers/WebGL3DRenderTarget.js +26 -0
- package/node_modules/three/src/renderers/WebGLArrayRenderTarget.js +26 -0
- package/node_modules/three/src/renderers/WebGLCubeRenderTarget.js +42 -15
- package/node_modules/three/src/renderers/WebGLRenderTarget.js +19 -0
- package/node_modules/three/src/renderers/WebGLRenderer.js +1222 -318
- package/node_modules/three/src/renderers/common/Animation.js +159 -0
- package/node_modules/three/{examples/jsm → src}/renderers/common/Attributes.js +45 -2
- package/node_modules/three/src/renderers/common/Backend.js +748 -0
- package/node_modules/three/src/renderers/common/Background.js +212 -0
- package/node_modules/three/src/renderers/common/BindGroup.js +61 -0
- package/node_modules/three/src/renderers/common/Binding.js +60 -0
- package/node_modules/three/src/renderers/common/Bindings.js +379 -0
- package/node_modules/three/src/renderers/common/Buffer.js +87 -0
- package/node_modules/three/src/renderers/common/BufferUtils.js +58 -0
- package/node_modules/three/src/renderers/common/BundleGroup.js +83 -0
- package/node_modules/three/src/renderers/common/CanvasTarget.js +341 -0
- package/node_modules/three/src/renderers/common/ChainMap.js +98 -0
- package/node_modules/three/src/renderers/common/ClippingContext.js +262 -0
- package/node_modules/three/src/renderers/common/Color4.js +77 -0
- package/node_modules/three/src/renderers/common/ComputePipeline.js +41 -0
- package/node_modules/three/{examples/jsm → src}/renderers/common/Constants.js +2 -1
- package/node_modules/three/{examples/jsm → src}/renderers/common/CubeRenderTarget.js +43 -5
- package/node_modules/three/src/renderers/common/DataMap.js +90 -0
- package/node_modules/three/src/renderers/common/Geometries.js +370 -0
- package/node_modules/three/src/renderers/common/IndirectStorageBufferAttribute.js +38 -0
- package/node_modules/three/src/renderers/common/Info.js +172 -0
- package/node_modules/three/src/renderers/common/InspectorBase.js +146 -0
- package/node_modules/three/src/renderers/common/Lighting.js +73 -0
- package/node_modules/three/src/renderers/common/Pipeline.js +35 -0
- package/node_modules/three/{examples/jsm → src}/renderers/common/Pipelines.js +150 -7
- package/node_modules/three/src/renderers/common/PostProcessing.js +226 -0
- package/node_modules/three/src/renderers/common/ProgrammableStage.js +78 -0
- package/node_modules/three/src/renderers/common/QuadMesh.js +112 -0
- package/node_modules/three/src/renderers/common/RenderBundle.js +24 -0
- package/node_modules/three/src/renderers/common/RenderBundles.js +67 -0
- package/node_modules/three/src/renderers/common/RenderContext.js +265 -0
- package/node_modules/three/src/renderers/common/RenderContexts.js +116 -0
- package/node_modules/three/src/renderers/common/RenderList.js +404 -0
- package/node_modules/three/src/renderers/common/RenderLists.js +77 -0
- package/node_modules/three/src/renderers/common/RenderObject.js +903 -0
- package/node_modules/three/src/renderers/common/RenderObjects.js +202 -0
- package/node_modules/three/src/renderers/common/RenderPipeline.js +40 -0
- package/node_modules/three/src/renderers/common/Renderer.js +3290 -0
- package/node_modules/three/src/renderers/common/RendererUtils.js +200 -0
- package/node_modules/three/src/renderers/common/SampledTexture.js +152 -0
- package/node_modules/three/src/renderers/common/Sampler.js +165 -0
- package/node_modules/three/src/renderers/common/Storage3DTexture.js +100 -0
- package/node_modules/three/src/renderers/common/StorageArrayTexture.js +84 -0
- package/node_modules/three/src/renderers/common/StorageBuffer.js +41 -0
- package/node_modules/three/src/renderers/common/StorageBufferAttribute.js +46 -0
- package/node_modules/three/src/renderers/common/StorageInstancedBufferAttribute.js +46 -0
- package/node_modules/three/src/renderers/common/StorageTexture.js +86 -0
- package/node_modules/three/src/renderers/common/Textures.js +544 -0
- package/node_modules/three/src/renderers/common/TimestampQueryPool.js +161 -0
- package/node_modules/three/src/renderers/common/Uniform.js +367 -0
- package/node_modules/three/src/renderers/common/UniformBuffer.js +34 -0
- package/node_modules/three/src/renderers/common/UniformsGroup.js +487 -0
- package/node_modules/three/src/renderers/common/XRManager.js +1676 -0
- package/node_modules/three/src/renderers/common/XRRenderTarget.js +91 -0
- package/node_modules/three/src/renderers/common/extras/PMREMGenerator.js +1034 -0
- package/node_modules/three/src/renderers/common/nodes/NodeBuilderState.js +152 -0
- package/node_modules/three/src/renderers/common/nodes/NodeLibrary.js +196 -0
- package/node_modules/three/src/renderers/common/nodes/NodeSampledTexture.js +140 -0
- package/node_modules/three/src/renderers/common/nodes/NodeSampler.js +62 -0
- package/node_modules/three/src/renderers/common/nodes/NodeStorageBuffer.js +61 -0
- package/node_modules/three/src/renderers/common/nodes/NodeUniform.js +418 -0
- package/node_modules/three/src/renderers/common/nodes/NodeUniformBuffer.js +53 -0
- package/node_modules/three/src/renderers/common/nodes/NodeUniformsGroup.js +51 -0
- package/node_modules/three/src/renderers/common/nodes/Nodes.js +840 -0
- package/node_modules/three/src/renderers/shaders/DFGLUTData.js +64 -0
- package/node_modules/three/src/renderers/shaders/ShaderChunk/batching_pars_vertex.glsl.js +31 -1
- package/node_modules/three/src/renderers/shaders/ShaderChunk/batching_vertex.glsl.js +1 -1
- package/node_modules/three/src/renderers/shaders/ShaderChunk/color_pars_vertex.glsl.js +1 -1
- package/node_modules/three/src/renderers/shaders/ShaderChunk/color_vertex.glsl.js +9 -1
- package/node_modules/three/src/renderers/shaders/ShaderChunk/colorspace_pars_fragment.glsl.js +4 -33
- package/node_modules/three/src/renderers/shaders/ShaderChunk/common.glsl.js +0 -22
- package/node_modules/three/src/renderers/shaders/ShaderChunk/emissivemap_fragment.glsl.js +8 -0
- package/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_common_pars_fragment.glsl.js +2 -1
- package/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_fragment.glsl.js +1 -1
- package/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_physical_pars_fragment.glsl.js +3 -3
- package/node_modules/three/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +3 -3
- package/node_modules/three/src/renderers/shaders/ShaderChunk/lights_pars_begin.glsl.js +8 -22
- package/node_modules/three/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js +6 -0
- package/node_modules/three/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +55 -20
- package/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_fragment.glsl.js +2 -2
- package/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_fragment.glsl.js +1 -1
- package/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_vertex.glsl.js +3 -11
- package/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_vertex.glsl.js +3 -17
- package/node_modules/three/src/renderers/shaders/ShaderChunk/map_fragment.glsl.js +3 -3
- package/node_modules/three/src/renderers/shaders/ShaderChunk/morphcolor_vertex.glsl.js +1 -1
- package/node_modules/three/src/renderers/shaders/ShaderChunk/morphinstance_vertex.glsl.js +14 -0
- package/node_modules/three/src/renderers/shaders/ShaderChunk/morphnormal_vertex.glsl.js +3 -14
- package/node_modules/three/src/renderers/shaders/ShaderChunk/morphtarget_pars_vertex.glsl.js +12 -24
- package/node_modules/three/src/renderers/shaders/ShaderChunk/morphtarget_vertex.glsl.js +3 -23
- package/node_modules/three/src/renderers/shaders/ShaderChunk/packing.glsl.js +45 -13
- package/node_modules/three/src/renderers/shaders/ShaderChunk/premultiplied_alpha_fragment.glsl.js +1 -1
- package/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js +59 -36
- package/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_pars_vertex.glsl.js +3 -0
- package/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmask_pars_fragment.glsl.js +3 -3
- package/node_modules/three/src/renderers/shaders/ShaderChunk/tonemapping_pars_fragment.glsl.js +33 -2
- package/node_modules/three/src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js +1 -1
- package/node_modules/three/src/renderers/shaders/ShaderChunk/transmission_pars_fragment.glsl.js +47 -13
- package/node_modules/three/src/renderers/shaders/ShaderChunk.js +2 -2
- package/node_modules/three/src/renderers/shaders/ShaderLib/background.glsl.js +1 -1
- package/node_modules/three/src/renderers/shaders/ShaderLib/backgroundCube.glsl.js +3 -2
- package/node_modules/three/src/renderers/shaders/ShaderLib/depth.glsl.js +21 -2
- package/node_modules/three/src/renderers/shaders/ShaderLib/distanceRGBA.glsl.js +2 -0
- package/node_modules/three/src/renderers/shaders/ShaderLib/linedashed.glsl.js +1 -0
- package/node_modules/three/src/renderers/shaders/ShaderLib/meshbasic.glsl.js +1 -0
- package/node_modules/three/src/renderers/shaders/ShaderLib/meshlambert.glsl.js +1 -0
- package/node_modules/three/src/renderers/shaders/ShaderLib/meshmatcap.glsl.js +1 -0
- package/node_modules/three/src/renderers/shaders/ShaderLib/meshnormal.glsl.js +1 -0
- package/node_modules/three/src/renderers/shaders/ShaderLib/meshphong.glsl.js +1 -0
- package/node_modules/three/src/renderers/shaders/ShaderLib/meshphysical.glsl.js +5 -0
- package/node_modules/three/src/renderers/shaders/ShaderLib/meshtoon.glsl.js +1 -0
- package/node_modules/three/src/renderers/shaders/ShaderLib/points.glsl.js +1 -0
- package/node_modules/three/src/renderers/shaders/ShaderLib/shadow.glsl.js +1 -0
- package/node_modules/three/src/renderers/shaders/ShaderLib/sprite.glsl.js +2 -4
- package/node_modules/three/src/renderers/shaders/ShaderLib.js +4 -2
- package/node_modules/three/src/renderers/shaders/UniformsLib.js +6 -4
- package/node_modules/three/src/renderers/shaders/UniformsUtils.js +31 -3
- package/node_modules/three/src/renderers/webgl/WebGLAttributes.js +46 -38
- package/node_modules/three/src/renderers/webgl/WebGLBackground.js +69 -5
- package/node_modules/three/src/renderers/webgl/WebGLBindingStates.js +14 -51
- package/node_modules/three/src/renderers/webgl/WebGLBufferRenderer.js +19 -22
- package/node_modules/three/src/renderers/webgl/WebGLCapabilities.js +39 -14
- package/node_modules/three/src/renderers/webgl/WebGLCubeUVMaps.js +10 -6
- package/node_modules/three/src/renderers/webgl/WebGLExtensions.js +8 -44
- package/node_modules/three/src/renderers/webgl/WebGLGeometries.js +0 -28
- package/node_modules/three/src/renderers/webgl/WebGLIndexedBufferRenderer.js +19 -21
- package/node_modules/three/src/renderers/webgl/WebGLInfo.js +3 -1
- package/node_modules/three/src/renderers/webgl/WebGLLights.js +21 -44
- package/node_modules/three/src/renderers/webgl/WebGLMaterials.js +33 -9
- package/node_modules/three/src/renderers/webgl/WebGLMorphtargets.js +78 -210
- package/node_modules/three/src/renderers/webgl/WebGLProgram.js +103 -121
- package/node_modules/three/src/renderers/webgl/WebGLPrograms.js +32 -26
- package/node_modules/three/src/renderers/webgl/WebGLProperties.js +7 -0
- package/node_modules/three/src/renderers/webgl/WebGLRenderStates.js +15 -9
- package/node_modules/three/src/renderers/webgl/WebGLShadowMap.js +41 -29
- package/node_modules/three/src/renderers/webgl/WebGLState.js +104 -100
- package/node_modules/three/src/renderers/webgl/WebGLTextures.js +567 -408
- package/node_modules/three/src/renderers/webgl/WebGLUniforms.js +12 -2
- package/node_modules/three/src/renderers/webgl/WebGLUniformsGroups.js +13 -11
- package/node_modules/three/src/renderers/webgl/WebGLUtils.js +11 -81
- package/node_modules/three/src/renderers/webgl-fallback/WebGLBackend.js +2612 -0
- package/node_modules/three/src/renderers/webgl-fallback/WebGLBufferRenderer.js +140 -0
- package/node_modules/three/src/renderers/webgl-fallback/nodes/GLSLNodeBuilder.js +1577 -0
- package/node_modules/three/{examples/jsm/renderers/webgl → src/renderers/webgl-fallback}/utils/WebGLAttributeUtils.js +76 -3
- package/node_modules/three/src/renderers/webgl-fallback/utils/WebGLCapabilities.js +64 -0
- package/node_modules/three/{examples/jsm/renderers/webgl → src/renderers/webgl-fallback}/utils/WebGLConstants.js +5 -3
- package/node_modules/three/src/renderers/webgl-fallback/utils/WebGLExtensions.js +83 -0
- package/node_modules/three/{examples/jsm/renderers/webgl → src/renderers/webgl-fallback}/utils/WebGLState.js +427 -21
- package/node_modules/three/src/renderers/webgl-fallback/utils/WebGLTextureUtils.js +1309 -0
- package/node_modules/three/src/renderers/webgl-fallback/utils/WebGLTimestampQueryPool.js +396 -0
- package/node_modules/three/{examples/jsm/renderers/webgl → src/renderers/webgl-fallback}/utils/WebGLUtils.js +72 -43
- package/node_modules/three/src/renderers/webgpu/WebGPUBackend.js +2482 -0
- package/node_modules/three/src/renderers/webgpu/WebGPURenderer.Nodes.js +69 -0
- package/node_modules/three/src/renderers/webgpu/WebGPURenderer.js +106 -0
- package/node_modules/three/src/renderers/webgpu/nodes/BasicNodeLibrary.js +66 -0
- package/node_modules/three/src/renderers/webgpu/nodes/StandardNodeLibrary.js +100 -0
- package/node_modules/three/src/renderers/webgpu/nodes/WGSLNodeBuilder.js +2247 -0
- package/node_modules/three/src/renderers/webgpu/nodes/WGSLNodeFunction.js +187 -0
- package/node_modules/three/{examples/jsm → src}/renderers/webgpu/nodes/WGSLNodeParser.js +11 -0
- package/node_modules/three/src/renderers/webgpu/utils/WebGPUAttributeUtils.js +449 -0
- package/node_modules/three/src/renderers/webgpu/utils/WebGPUBindingUtils.js +485 -0
- package/node_modules/three/{examples/jsm → src}/renderers/webgpu/utils/WebGPUConstants.js +24 -4
- package/node_modules/three/{examples/jsm → src}/renderers/webgpu/utils/WebGPUPipelineUtils.js +289 -72
- package/node_modules/three/{examples/jsm → src}/renderers/webgpu/utils/WebGPUTexturePassUtils.js +160 -8
- package/node_modules/three/src/renderers/webgpu/utils/WebGPUTextureUtils.js +1576 -0
- package/node_modules/three/src/renderers/webgpu/utils/WebGPUTimestampQueryPool.js +310 -0
- package/node_modules/three/src/renderers/webgpu/utils/WebGPUUtils.js +247 -0
- package/node_modules/three/src/renderers/webxr/WebXRController.js +87 -2
- package/node_modules/three/src/renderers/webxr/WebXRDepthSensing.js +63 -13
- package/node_modules/three/src/renderers/webxr/WebXRManager.js +323 -44
- package/node_modules/three/src/scenes/Fog.js +60 -0
- package/node_modules/three/src/scenes/FogExp2.js +51 -0
- package/node_modules/three/src/scenes/Scene.js +103 -1
- package/node_modules/three/src/textures/CanvasTexture.js +28 -0
- package/node_modules/three/src/textures/CompressedArrayTexture.js +71 -0
- package/node_modules/three/src/textures/CompressedCubeTexture.js +29 -0
- package/node_modules/three/src/textures/CompressedTexture.js +64 -6
- package/node_modules/three/src/textures/CubeTexture.js +52 -4
- package/node_modules/three/src/textures/Data3DTexture.js +79 -2
- package/node_modules/three/src/textures/DataArrayTexture.js +107 -0
- package/node_modules/three/src/textures/DataTexture.js +65 -0
- package/node_modules/three/src/textures/DepthTexture.js +59 -13
- package/node_modules/three/src/textures/ExternalTexture.js +56 -0
- package/node_modules/three/src/textures/FramebufferTexture.js +62 -0
- package/node_modules/three/src/textures/Source.js +106 -4
- package/node_modules/three/src/textures/Texture.js +490 -27
- package/node_modules/three/src/textures/VideoFrameTexture.js +72 -0
- package/node_modules/three/src/textures/VideoTexture.js +78 -6
- package/node_modules/three/src/utils.js +128 -3
- package/package.json +3 -2
- package/node_modules/three/examples/jsm/animation/MMDAnimationHelper.js +0 -1207
- package/node_modules/three/examples/jsm/animation/MMDPhysics.js +0 -1406
- package/node_modules/three/examples/jsm/cameras/CinematicCamera.js +0 -208
- package/node_modules/three/examples/jsm/effects/PeppersGhostEffect.js +0 -153
- package/node_modules/three/examples/jsm/exporters/MMDExporter.js +0 -217
- package/node_modules/three/examples/jsm/geometries/InstancedPointsGeometry.js +0 -174
- package/node_modules/three/examples/jsm/geometries/ParametricGeometries.js +0 -254
- package/node_modules/three/examples/jsm/geometries/SDFGeometryGenerator.js +0 -144
- package/node_modules/three/examples/jsm/libs/mmdparser.module.js +0 -11530
- package/node_modules/three/examples/jsm/lights/IESSpotLight.js +0 -25
- package/node_modules/three/examples/jsm/loaders/LogLuvLoader.js +0 -606
- package/node_modules/three/examples/jsm/loaders/MMDLoader.js +0 -2276
- package/node_modules/three/examples/jsm/loaders/RGBMLoader.js +0 -1065
- package/node_modules/three/examples/jsm/loaders/TiltLoader.js +0 -520
- package/node_modules/three/examples/jsm/misc/Timer.js +0 -128
- package/node_modules/three/examples/jsm/nodes/Nodes.js +0 -193
- package/node_modules/three/examples/jsm/nodes/accessors/BitangentNode.js +0 -89
- package/node_modules/three/examples/jsm/nodes/accessors/BufferAttributeNode.js +0 -127
- package/node_modules/three/examples/jsm/nodes/accessors/BufferNode.js +0 -30
- package/node_modules/three/examples/jsm/nodes/accessors/CameraNode.js +0 -119
- package/node_modules/three/examples/jsm/nodes/accessors/CubeTextureNode.js +0 -61
- package/node_modules/three/examples/jsm/nodes/accessors/InstanceNode.js +0 -71
- package/node_modules/three/examples/jsm/nodes/accessors/InstancedPointsMaterialNode.js +0 -21
- package/node_modules/three/examples/jsm/nodes/accessors/MaterialNode.js +0 -314
- package/node_modules/three/examples/jsm/nodes/accessors/MaterialReferenceNode.js +0 -51
- package/node_modules/three/examples/jsm/nodes/accessors/ModelNode.js +0 -33
- package/node_modules/three/examples/jsm/nodes/accessors/ModelViewProjectionNode.js +0 -39
- package/node_modules/three/examples/jsm/nodes/accessors/NormalNode.js +0 -96
- package/node_modules/three/examples/jsm/nodes/accessors/Object3DNode.js +0 -150
- package/node_modules/three/examples/jsm/nodes/accessors/PointUVNode.js +0 -26
- package/node_modules/three/examples/jsm/nodes/accessors/PositionNode.js +0 -104
- package/node_modules/three/examples/jsm/nodes/accessors/ReferenceNode.js +0 -102
- package/node_modules/three/examples/jsm/nodes/accessors/ReflectVectorNode.js +0 -35
- package/node_modules/three/examples/jsm/nodes/accessors/SceneNode.js +0 -52
- package/node_modules/three/examples/jsm/nodes/accessors/SkinningNode.js +0 -103
- package/node_modules/three/examples/jsm/nodes/accessors/StorageBufferNode.js +0 -54
- package/node_modules/three/examples/jsm/nodes/accessors/TangentNode.js +0 -103
- package/node_modules/three/examples/jsm/nodes/accessors/TextureNode.js +0 -367
- package/node_modules/three/examples/jsm/nodes/accessors/TextureSizeNode.js +0 -35
- package/node_modules/three/examples/jsm/nodes/accessors/TextureStoreNode.js +0 -82
- package/node_modules/three/examples/jsm/nodes/accessors/UVNode.js +0 -47
- package/node_modules/three/examples/jsm/nodes/accessors/UserDataNode.js +0 -29
- package/node_modules/three/examples/jsm/nodes/accessors/VertexColorNode.js +0 -70
- package/node_modules/three/examples/jsm/nodes/code/CodeNode.js +0 -78
- package/node_modules/three/examples/jsm/nodes/code/ExpressionNode.js +0 -37
- package/node_modules/three/examples/jsm/nodes/code/FunctionCallNode.js +0 -96
- package/node_modules/three/examples/jsm/nodes/code/FunctionNode.js +0 -138
- package/node_modules/three/examples/jsm/nodes/core/ArrayUniformNode.js +0 -26
- package/node_modules/three/examples/jsm/nodes/core/AssignNode.js +0 -72
- package/node_modules/three/examples/jsm/nodes/core/AttributeNode.js +0 -108
- package/node_modules/three/examples/jsm/nodes/core/BypassNode.js +0 -45
- package/node_modules/three/examples/jsm/nodes/core/CacheNode.js +0 -49
- package/node_modules/three/examples/jsm/nodes/core/ConstNode.js +0 -32
- package/node_modules/three/examples/jsm/nodes/core/ContextNode.js +0 -61
- package/node_modules/three/examples/jsm/nodes/core/IndexNode.js +0 -66
- package/node_modules/three/examples/jsm/nodes/core/InputNode.js +0 -83
- package/node_modules/three/examples/jsm/nodes/core/LightingModel.js +0 -17
- package/node_modules/three/examples/jsm/nodes/core/Node.js +0 -483
- package/node_modules/three/examples/jsm/nodes/core/NodeAttribute.js +0 -15
- package/node_modules/three/examples/jsm/nodes/core/NodeBuilder.js +0 -1256
- package/node_modules/three/examples/jsm/nodes/core/NodeCache.js +0 -26
- package/node_modules/three/examples/jsm/nodes/core/NodeCode.js +0 -15
- package/node_modules/three/examples/jsm/nodes/core/NodeFrame.js +0 -143
- package/node_modules/three/examples/jsm/nodes/core/NodeFunction.js +0 -22
- package/node_modules/three/examples/jsm/nodes/core/NodeFunctionInput.js +0 -17
- package/node_modules/three/examples/jsm/nodes/core/NodeKeywords.js +0 -80
- package/node_modules/three/examples/jsm/nodes/core/NodeParser.js +0 -11
- package/node_modules/three/examples/jsm/nodes/core/NodeUniform.js +0 -40
- package/node_modules/three/examples/jsm/nodes/core/NodeUtils.js +0 -210
- package/node_modules/three/examples/jsm/nodes/core/NodeVar.js +0 -14
- package/node_modules/three/examples/jsm/nodes/core/NodeVarying.js +0 -17
- package/node_modules/three/examples/jsm/nodes/core/OutputStructNode.js +0 -62
- package/node_modules/three/examples/jsm/nodes/core/ParameterNode.js +0 -33
- package/node_modules/three/examples/jsm/nodes/core/PropertyNode.js +0 -72
- package/node_modules/three/examples/jsm/nodes/core/StackNode.js +0 -89
- package/node_modules/three/examples/jsm/nodes/core/StructTypeNode.js +0 -24
- package/node_modules/three/examples/jsm/nodes/core/TempNode.js +0 -58
- package/node_modules/three/examples/jsm/nodes/core/UniformGroup.js +0 -13
- package/node_modules/three/examples/jsm/nodes/core/UniformGroupNode.js +0 -36
- package/node_modules/three/examples/jsm/nodes/core/UniformNode.js +0 -80
- package/node_modules/three/examples/jsm/nodes/core/VarNode.js +0 -60
- package/node_modules/three/examples/jsm/nodes/core/VaryingNode.js +0 -65
- package/node_modules/three/examples/jsm/nodes/core/constants.js +0 -28
- package/node_modules/three/examples/jsm/nodes/display/AfterImageNode.js +0 -148
- package/node_modules/three/examples/jsm/nodes/display/AnamorphicNode.js +0 -148
- package/node_modules/three/examples/jsm/nodes/display/BlendModeNode.js +0 -99
- package/node_modules/three/examples/jsm/nodes/display/BumpMapNode.js +0 -99
- package/node_modules/three/examples/jsm/nodes/display/ColorAdjustmentNode.js +0 -99
- package/node_modules/three/examples/jsm/nodes/display/ColorSpaceNode.js +0 -108
- package/node_modules/three/examples/jsm/nodes/display/FrontFacingNode.js +0 -27
- package/node_modules/three/examples/jsm/nodes/display/GaussianBlurNode.js +0 -190
- package/node_modules/three/examples/jsm/nodes/display/NormalMapNode.js +0 -108
- package/node_modules/three/examples/jsm/nodes/display/PassNode.js +0 -183
- package/node_modules/three/examples/jsm/nodes/display/PosterizeNode.js +0 -32
- package/node_modules/three/examples/jsm/nodes/display/ToneMappingNode.js +0 -184
- package/node_modules/three/examples/jsm/nodes/display/ViewportDepthNode.js +0 -97
- package/node_modules/three/examples/jsm/nodes/display/ViewportDepthTextureNode.js +0 -31
- package/node_modules/three/examples/jsm/nodes/display/ViewportNode.js +0 -134
- package/node_modules/three/examples/jsm/nodes/display/ViewportSharedTextureNode.js +0 -31
- package/node_modules/three/examples/jsm/nodes/display/ViewportTextureNode.js +0 -75
- package/node_modules/three/examples/jsm/nodes/fog/FogExp2Node.js +0 -35
- package/node_modules/three/examples/jsm/nodes/fog/FogNode.js +0 -38
- package/node_modules/three/examples/jsm/nodes/fog/FogRangeNode.js +0 -34
- package/node_modules/three/examples/jsm/nodes/functions/BSDF/BRDF_GGX.js +0 -40
- package/node_modules/three/examples/jsm/nodes/functions/BSDF/DFGApprox.js +0 -30
- package/node_modules/three/examples/jsm/nodes/functions/PhongLightingModel.js +0 -67
- package/node_modules/three/examples/jsm/nodes/functions/PhysicalLightingModel.js +0 -393
- package/node_modules/three/examples/jsm/nodes/functions/material/getGeometryRoughness.js +0 -13
- package/node_modules/three/examples/jsm/nodes/geometry/RangeNode.js +0 -104
- package/node_modules/three/examples/jsm/nodes/gpgpu/ComputeNode.js +0 -85
- package/node_modules/three/examples/jsm/nodes/lighting/AONode.js +0 -27
- package/node_modules/three/examples/jsm/nodes/lighting/AnalyticLightNode.js +0 -241
- package/node_modules/three/examples/jsm/nodes/lighting/DirectionalLightNode.js +0 -40
- package/node_modules/three/examples/jsm/nodes/lighting/EnvironmentNode.js +0 -181
- package/node_modules/three/examples/jsm/nodes/lighting/HemisphereLightNode.js +0 -55
- package/node_modules/three/examples/jsm/nodes/lighting/LightNode.js +0 -57
- package/node_modules/three/examples/jsm/nodes/lighting/LightUtils.js +0 -17
- package/node_modules/three/examples/jsm/nodes/lighting/LightingContextNode.js +0 -66
- package/node_modules/three/examples/jsm/nodes/lighting/LightingNode.js +0 -21
- package/node_modules/three/examples/jsm/nodes/lighting/LightsNode.js +0 -188
- package/node_modules/three/examples/jsm/nodes/lighting/PointLightNode.js +0 -68
- package/node_modules/three/examples/jsm/nodes/lighting/SpotLightNode.js +0 -89
- package/node_modules/three/examples/jsm/nodes/loaders/NodeLoader.js +0 -108
- package/node_modules/three/examples/jsm/nodes/loaders/NodeMaterialLoader.js +0 -59
- package/node_modules/three/examples/jsm/nodes/loaders/NodeObjectLoader.js +0 -70
- package/node_modules/three/examples/jsm/nodes/materials/InstancedPointsNodeMaterial.js +0 -162
- package/node_modules/three/examples/jsm/nodes/materials/LineBasicNodeMaterial.js +0 -28
- package/node_modules/three/examples/jsm/nodes/materials/LineDashedNodeMaterial.js +0 -54
- package/node_modules/three/examples/jsm/nodes/materials/MeshBasicNodeMaterial.js +0 -28
- package/node_modules/three/examples/jsm/nodes/materials/MeshLambertNodeMaterial.js +0 -34
- package/node_modules/three/examples/jsm/nodes/materials/MeshNormalNodeMaterial.js +0 -40
- package/node_modules/three/examples/jsm/nodes/materials/MeshPhongNodeMaterial.js +0 -65
- package/node_modules/three/examples/jsm/nodes/materials/MeshPhysicalNodeMaterial.js +0 -155
- package/node_modules/three/examples/jsm/nodes/materials/MeshSSSNodeMaterial.js +0 -84
- package/node_modules/three/examples/jsm/nodes/materials/MeshStandardNodeMaterial.js +0 -80
- package/node_modules/three/examples/jsm/nodes/materials/NodeMaterial.js +0 -570
- package/node_modules/three/examples/jsm/nodes/materials/PointsNodeMaterial.js +0 -39
- package/node_modules/three/examples/jsm/nodes/materials/SpriteNodeMaterial.js +0 -90
- package/node_modules/three/examples/jsm/nodes/materialx/MaterialXNodes.js +0 -68
- package/node_modules/three/examples/jsm/nodes/math/CondNode.js +0 -86
- package/node_modules/three/examples/jsm/nodes/math/HashNode.js +0 -34
- package/node_modules/three/examples/jsm/nodes/math/MathNode.js +0 -371
- package/node_modules/three/examples/jsm/nodes/math/MathUtils.js +0 -15
- package/node_modules/three/examples/jsm/nodes/math/OperatorNode.js +0 -274
- package/node_modules/three/examples/jsm/nodes/procedural/CheckerNode.js +0 -42
- package/node_modules/three/examples/jsm/nodes/shadernode/ShaderNode.js +0 -634
- package/node_modules/three/examples/jsm/nodes/utils/ArrayElementNode.js +0 -41
- package/node_modules/three/examples/jsm/nodes/utils/ConvertNode.js +0 -65
- package/node_modules/three/examples/jsm/nodes/utils/DiscardNode.js +0 -27
- package/node_modules/three/examples/jsm/nodes/utils/EquirectUVNode.js +0 -33
- package/node_modules/three/examples/jsm/nodes/utils/FunctionOverloadingNode.js +0 -95
- package/node_modules/three/examples/jsm/nodes/utils/JoinNode.js +0 -61
- package/node_modules/three/examples/jsm/nodes/utils/LoopNode.js +0 -198
- package/node_modules/three/examples/jsm/nodes/utils/MatcapUVNode.js +0 -30
- package/node_modules/three/examples/jsm/nodes/utils/MaxMipLevelNode.js +0 -46
- package/node_modules/three/examples/jsm/nodes/utils/OscNode.js +0 -81
- package/node_modules/three/examples/jsm/nodes/utils/PackingNode.js +0 -55
- package/node_modules/three/examples/jsm/nodes/utils/ReflectorNode.js +0 -227
- package/node_modules/three/examples/jsm/nodes/utils/RemapNode.js +0 -42
- package/node_modules/three/examples/jsm/nodes/utils/RotateUVNode.js +0 -35
- package/node_modules/three/examples/jsm/nodes/utils/SpecularMIPLevelNode.js +0 -37
- package/node_modules/three/examples/jsm/nodes/utils/SpriteSheetUVNode.js +0 -41
- package/node_modules/three/examples/jsm/nodes/utils/TimerNode.js +0 -94
- package/node_modules/three/examples/jsm/nodes/utils/TriplanarTexturesNode.js +0 -62
- package/node_modules/three/examples/jsm/objects/InstancedPoints.js +0 -21
- package/node_modules/three/examples/jsm/objects/QuadMesh.js +0 -66
- package/node_modules/three/examples/jsm/renderers/common/Animation.js +0 -47
- package/node_modules/three/examples/jsm/renderers/common/Backend.js +0 -195
- package/node_modules/three/examples/jsm/renderers/common/Background.js +0 -134
- package/node_modules/three/examples/jsm/renderers/common/Binding.js +0 -25
- package/node_modules/three/examples/jsm/renderers/common/Bindings.js +0 -173
- package/node_modules/three/examples/jsm/renderers/common/Buffer.js +0 -38
- package/node_modules/three/examples/jsm/renderers/common/BufferUtils.js +0 -33
- package/node_modules/three/examples/jsm/renderers/common/ChainMap.js +0 -89
- package/node_modules/three/examples/jsm/renderers/common/Color4.js +0 -37
- package/node_modules/three/examples/jsm/renderers/common/ComputePipeline.js +0 -17
- package/node_modules/three/examples/jsm/renderers/common/DataMap.js +0 -54
- package/node_modules/three/examples/jsm/renderers/common/Geometries.js +0 -215
- package/node_modules/three/examples/jsm/renderers/common/Info.js +0 -107
- package/node_modules/three/examples/jsm/renderers/common/Pipeline.js +0 -13
- package/node_modules/three/examples/jsm/renderers/common/PostProcessing.js +0 -25
- package/node_modules/three/examples/jsm/renderers/common/ProgrammableStage.js +0 -20
- package/node_modules/three/examples/jsm/renderers/common/RenderContext.js +0 -41
- package/node_modules/three/examples/jsm/renderers/common/RenderContexts.js +0 -74
- package/node_modules/three/examples/jsm/renderers/common/RenderList.js +0 -186
- package/node_modules/three/examples/jsm/renderers/common/RenderLists.js +0 -38
- package/node_modules/three/examples/jsm/renderers/common/RenderObject.js +0 -178
- package/node_modules/three/examples/jsm/renderers/common/RenderObjects.js +0 -91
- package/node_modules/three/examples/jsm/renderers/common/RenderPipeline.js +0 -16
- package/node_modules/three/examples/jsm/renderers/common/Renderer.js +0 -1247
- package/node_modules/three/examples/jsm/renderers/common/SampledTexture.js +0 -83
- package/node_modules/three/examples/jsm/renderers/common/Sampler.js +0 -18
- package/node_modules/three/examples/jsm/renderers/common/StorageBuffer.js +0 -17
- package/node_modules/three/examples/jsm/renderers/common/StorageBufferAttribute.js +0 -17
- package/node_modules/three/examples/jsm/renderers/common/StorageTexture.js +0 -20
- package/node_modules/three/examples/jsm/renderers/common/Textures.js +0 -354
- package/node_modules/three/examples/jsm/renderers/common/Uniform.js +0 -140
- package/node_modules/three/examples/jsm/renderers/common/UniformBuffer.js +0 -15
- package/node_modules/three/examples/jsm/renderers/common/UniformsGroup.js +0 -299
- package/node_modules/three/examples/jsm/renderers/common/nodes/NodeBuilderState.js +0 -44
- package/node_modules/three/examples/jsm/renderers/common/nodes/NodeSampledTexture.js +0 -49
- package/node_modules/three/examples/jsm/renderers/common/nodes/NodeSampler.js +0 -15
- package/node_modules/three/examples/jsm/renderers/common/nodes/NodeUniform.js +0 -135
- package/node_modules/three/examples/jsm/renderers/common/nodes/NodeUniformsGroup.js +0 -44
- package/node_modules/three/examples/jsm/renderers/common/nodes/Nodes.js +0 -495
- package/node_modules/three/examples/jsm/renderers/webgl/WebGLBackend.js +0 -1362
- package/node_modules/three/examples/jsm/renderers/webgl/nodes/GLSLNodeBuilder.js +0 -679
- package/node_modules/three/examples/jsm/renderers/webgl/utils/WebGLCapabilities.js +0 -36
- package/node_modules/three/examples/jsm/renderers/webgl/utils/WebGLExtensions.js +0 -36
- package/node_modules/three/examples/jsm/renderers/webgl/utils/WebGLTextureUtils.js +0 -647
- package/node_modules/three/examples/jsm/renderers/webgl-legacy/nodes/GLSL1NodeBuilder.js +0 -320
- package/node_modules/three/examples/jsm/renderers/webgl-legacy/nodes/SlotNode.js +0 -26
- package/node_modules/three/examples/jsm/renderers/webgl-legacy/nodes/WebGLNodeBuilder.js +0 -794
- package/node_modules/three/examples/jsm/renderers/webgl-legacy/nodes/WebGLNodes.js +0 -51
- package/node_modules/three/examples/jsm/renderers/webgpu/WebGPUBackend.js +0 -1321
- package/node_modules/three/examples/jsm/renderers/webgpu/WebGPURenderer.js +0 -53
- package/node_modules/three/examples/jsm/renderers/webgpu/nodes/WGSLNodeBuilder.js +0 -1103
- package/node_modules/three/examples/jsm/renderers/webgpu/nodes/WGSLNodeFunction.js +0 -104
- package/node_modules/three/examples/jsm/renderers/webgpu/utils/WebGPUAttributeUtils.js +0 -287
- package/node_modules/three/examples/jsm/renderers/webgpu/utils/WebGPUBindingUtils.js +0 -244
- package/node_modules/three/examples/jsm/renderers/webgpu/utils/WebGPUTextureUtils.js +0 -1040
- package/node_modules/three/examples/jsm/renderers/webgpu/utils/WebGPUUtils.js +0 -93
- package/node_modules/three/examples/jsm/shaders/MMDToonShader.js +0 -134
- package/node_modules/three/examples/jsm/utils/GPUStatsPanel.js +0 -128
- package/node_modules/three/examples/jsm/utils/PackedPhongMaterial.js +0 -178
- package/node_modules/three/src/renderers/WebGL1Renderer.js +0 -7
- package/node_modules/three/src/renderers/WebGLMultipleRenderTargets.js +0 -82
- package/node_modules/three/src/renderers/shaders/ShaderChunk/lightmap_fragment.glsl.js +0 -10
- /package/node_modules/three/{examples/jsm → src}/nodes/materialx/DISCLAIMER.md +0 -0
|
@@ -24,9 +24,9 @@ import {
|
|
|
24
24
|
CompressedTexture,
|
|
25
25
|
Vector3,
|
|
26
26
|
Quaternion,
|
|
27
|
+
REVISION,
|
|
28
|
+
ImageUtils
|
|
27
29
|
} from 'three';
|
|
28
|
-
import { decompress } from './../utils/TextureUtils.js';
|
|
29
|
-
|
|
30
30
|
|
|
31
31
|
/**
|
|
32
32
|
* The KHR_mesh_quantization extension allows these extra attribute component types
|
|
@@ -62,11 +62,59 @@ const KHR_mesh_quantization_ExtraAttrTypes = {
|
|
|
62
62
|
],
|
|
63
63
|
};
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
/**
|
|
66
|
+
* An exporter for `glTF` 2.0.
|
|
67
|
+
*
|
|
68
|
+
* glTF (GL Transmission Format) is an [open format specification](https://github.com/KhronosGroup/glTF/tree/master/specification/2.0)
|
|
69
|
+
* for efficient delivery and loading of 3D content. Assets may be provided either in JSON (.gltf)
|
|
70
|
+
* or binary (.glb) format. External files store textures (.jpg, .png) and additional binary
|
|
71
|
+
* data (.bin). A glTF asset may deliver one or more scenes, including meshes, materials,
|
|
72
|
+
* textures, skins, skeletons, morph targets, animations, lights, and/or cameras.
|
|
73
|
+
*
|
|
74
|
+
* GLTFExporter supports the [glTF 2.0 extensions](https://github.com/KhronosGroup/glTF/tree/master/extensions/):
|
|
75
|
+
*
|
|
76
|
+
* - KHR_lights_punctual
|
|
77
|
+
* - KHR_materials_clearcoat
|
|
78
|
+
* - KHR_materials_dispersion
|
|
79
|
+
* - KHR_materials_emissive_strength
|
|
80
|
+
* - KHR_materials_ior
|
|
81
|
+
* - KHR_materials_iridescence
|
|
82
|
+
* - KHR_materials_specular
|
|
83
|
+
* - KHR_materials_sheen
|
|
84
|
+
* - KHR_materials_transmission
|
|
85
|
+
* - KHR_materials_unlit
|
|
86
|
+
* - KHR_materials_volume
|
|
87
|
+
* - KHR_mesh_quantization
|
|
88
|
+
* - KHR_texture_transform
|
|
89
|
+
* - EXT_materials_bump
|
|
90
|
+
* - EXT_mesh_gpu_instancing
|
|
91
|
+
*
|
|
92
|
+
* The following glTF 2.0 extension is supported by an external user plugin:
|
|
93
|
+
*
|
|
94
|
+
* - [KHR_materials_variants](https://github.com/takahirox/three-gltf-extensions)
|
|
95
|
+
*
|
|
96
|
+
* ```js
|
|
97
|
+
* const exporter = new GLTFExporter();
|
|
98
|
+
* const data = await exporter.parseAsync( scene, options );
|
|
99
|
+
* ```
|
|
100
|
+
*
|
|
101
|
+
* @three_import import { GLTFExporter } from 'three/addons/exporters/GLTFExporter.js';
|
|
102
|
+
*/
|
|
66
103
|
class GLTFExporter {
|
|
67
104
|
|
|
105
|
+
/**
|
|
106
|
+
* Constructs a new glTF exporter.
|
|
107
|
+
*/
|
|
68
108
|
constructor() {
|
|
69
109
|
|
|
110
|
+
/**
|
|
111
|
+
* A reference to a texture utils module.
|
|
112
|
+
*
|
|
113
|
+
* @type {?(WebGLTextureUtils|WebGPUTextureUtils)}
|
|
114
|
+
* @default null
|
|
115
|
+
*/
|
|
116
|
+
this.textureUtils = null;
|
|
117
|
+
|
|
70
118
|
this.pluginCallbacks = [];
|
|
71
119
|
|
|
72
120
|
this.register( function ( writer ) {
|
|
@@ -111,6 +159,12 @@ class GLTFExporter {
|
|
|
111
159
|
|
|
112
160
|
} );
|
|
113
161
|
|
|
162
|
+
this.register( function ( writer ) {
|
|
163
|
+
|
|
164
|
+
return new GLTFMaterialsDispersionExtension( writer );
|
|
165
|
+
|
|
166
|
+
} );
|
|
167
|
+
|
|
114
168
|
this.register( function ( writer ) {
|
|
115
169
|
|
|
116
170
|
return new GLTFMaterialsIridescenceExtension( writer );
|
|
@@ -149,6 +203,14 @@ class GLTFExporter {
|
|
|
149
203
|
|
|
150
204
|
}
|
|
151
205
|
|
|
206
|
+
/**
|
|
207
|
+
* Registers a plugin callback. This API is internally used to implement the various
|
|
208
|
+
* glTF extensions but can also used by third-party code to add additional logic
|
|
209
|
+
* to the exporter.
|
|
210
|
+
*
|
|
211
|
+
* @param {function(writer:GLTFWriter)} callback - The callback function to register.
|
|
212
|
+
* @return {GLTFExporter} A reference to this exporter.
|
|
213
|
+
*/
|
|
152
214
|
register( callback ) {
|
|
153
215
|
|
|
154
216
|
if ( this.pluginCallbacks.indexOf( callback ) === - 1 ) {
|
|
@@ -161,6 +223,12 @@ class GLTFExporter {
|
|
|
161
223
|
|
|
162
224
|
}
|
|
163
225
|
|
|
226
|
+
/**
|
|
227
|
+
* Unregisters a plugin callback.
|
|
228
|
+
*
|
|
229
|
+
* @param {Function} callback - The callback function to unregister.
|
|
230
|
+
* @return {GLTFExporter} A reference to this exporter.
|
|
231
|
+
*/
|
|
164
232
|
unregister( callback ) {
|
|
165
233
|
|
|
166
234
|
if ( this.pluginCallbacks.indexOf( callback ) !== - 1 ) {
|
|
@@ -174,11 +242,29 @@ class GLTFExporter {
|
|
|
174
242
|
}
|
|
175
243
|
|
|
176
244
|
/**
|
|
177
|
-
*
|
|
178
|
-
*
|
|
179
|
-
* @
|
|
180
|
-
* @
|
|
181
|
-
*
|
|
245
|
+
* Sets the texture utils for this exporter. Only relevant when compressed textures have to be exported.
|
|
246
|
+
*
|
|
247
|
+
* Depending on whether you use {@link WebGLRenderer} or {@link WebGPURenderer}, you must inject the
|
|
248
|
+
* corresponding texture utils {@link WebGLTextureUtils} or {@link WebGPUTextureUtils}.
|
|
249
|
+
*
|
|
250
|
+
* @param {WebGLTextureUtils|WebGPUTextureUtils} utils - The texture utils.
|
|
251
|
+
* @return {GLTFExporter} A reference to this exporter.
|
|
252
|
+
*/
|
|
253
|
+
setTextureUtils( utils ) {
|
|
254
|
+
|
|
255
|
+
this.textureUtils = utils;
|
|
256
|
+
|
|
257
|
+
return this;
|
|
258
|
+
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
/**
|
|
262
|
+
* Parses the given scenes and generates the glTF output.
|
|
263
|
+
*
|
|
264
|
+
* @param {Scene|Array<Scene>} input - A scene or an array of scenes.
|
|
265
|
+
* @param {GLTFExporter~OnDone} onDone - A callback function that is executed when the export has finished.
|
|
266
|
+
* @param {GLTFExporter~OnError} onError - A callback function that is executed when an error happens.
|
|
267
|
+
* @param {GLTFExporter~Options} options - options
|
|
182
268
|
*/
|
|
183
269
|
parse( input, onDone, onError, options ) {
|
|
184
270
|
|
|
@@ -192,10 +278,18 @@ class GLTFExporter {
|
|
|
192
278
|
}
|
|
193
279
|
|
|
194
280
|
writer.setPlugins( plugins );
|
|
195
|
-
writer.
|
|
281
|
+
writer.setTextureUtils( this.textureUtils );
|
|
282
|
+
writer.writeAsync( input, onDone, options ).catch( onError );
|
|
196
283
|
|
|
197
284
|
}
|
|
198
285
|
|
|
286
|
+
/**
|
|
287
|
+
* Async version of {@link GLTFExporter#parse}.
|
|
288
|
+
*
|
|
289
|
+
* @param {Scene|Array<Scene>} input - A scene or an array of scenes.
|
|
290
|
+
* @param {GLTFExporter~Options} options - options.
|
|
291
|
+
* @return {Promise<ArrayBuffer|string>} A Promise that resolved with the exported glTF data.
|
|
292
|
+
*/
|
|
199
293
|
parseAsync( input, options ) {
|
|
200
294
|
|
|
201
295
|
const scope = this;
|
|
@@ -287,9 +381,11 @@ const GLB_CHUNK_TYPE_BIN = 0x004E4942;
|
|
|
287
381
|
|
|
288
382
|
/**
|
|
289
383
|
* Compare two arrays
|
|
290
|
-
*
|
|
291
|
-
* @
|
|
292
|
-
* @
|
|
384
|
+
*
|
|
385
|
+
* @private
|
|
386
|
+
* @param {Array} array1 Array 1 to compare
|
|
387
|
+
* @param {Array} array2 Array 2 to compare
|
|
388
|
+
* @return {boolean} Returns true if both arrays are equal
|
|
293
389
|
*/
|
|
294
390
|
function equalArray( array1, array2 ) {
|
|
295
391
|
|
|
@@ -303,7 +399,9 @@ function equalArray( array1, array2 ) {
|
|
|
303
399
|
|
|
304
400
|
/**
|
|
305
401
|
* Converts a string to an ArrayBuffer.
|
|
306
|
-
*
|
|
402
|
+
*
|
|
403
|
+
* @private
|
|
404
|
+
* @param {string} text
|
|
307
405
|
* @return {ArrayBuffer}
|
|
308
406
|
*/
|
|
309
407
|
function stringToArrayBuffer( text ) {
|
|
@@ -315,8 +413,9 @@ function stringToArrayBuffer( text ) {
|
|
|
315
413
|
/**
|
|
316
414
|
* Is identity matrix
|
|
317
415
|
*
|
|
416
|
+
* @private
|
|
318
417
|
* @param {Matrix4} matrix
|
|
319
|
-
* @returns {
|
|
418
|
+
* @returns {boolean} Returns true, if parameter is identity matrix
|
|
320
419
|
*/
|
|
321
420
|
function isIdentityMatrix( matrix ) {
|
|
322
421
|
|
|
@@ -326,9 +425,11 @@ function isIdentityMatrix( matrix ) {
|
|
|
326
425
|
|
|
327
426
|
/**
|
|
328
427
|
* Get the min and max vectors from the given attribute
|
|
329
|
-
*
|
|
330
|
-
* @
|
|
331
|
-
* @param
|
|
428
|
+
*
|
|
429
|
+
* @private
|
|
430
|
+
* @param {BufferAttribute} attribute Attribute to find the min/max in range from start to start + count
|
|
431
|
+
* @param {number} start Start index
|
|
432
|
+
* @param {number} count Range to cover
|
|
332
433
|
* @return {Object} Object containing the `min` and `max` values (As an array of attribute.itemSize components)
|
|
333
434
|
*/
|
|
334
435
|
function getMinMax( attribute, start, count ) {
|
|
@@ -382,8 +483,9 @@ function getMinMax( attribute, start, count ) {
|
|
|
382
483
|
* Get the required size + padding for a buffer, rounded to the next 4-byte boundary.
|
|
383
484
|
* https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#data-alignment
|
|
384
485
|
*
|
|
385
|
-
* @
|
|
386
|
-
* @
|
|
486
|
+
* @private
|
|
487
|
+
* @param {number} bufferSize The size the original buffer. Should be an integer.
|
|
488
|
+
* @returns {number} new buffer size with required padding as an integer.
|
|
387
489
|
*
|
|
388
490
|
*/
|
|
389
491
|
function getPaddedBufferSize( bufferSize ) {
|
|
@@ -395,8 +497,9 @@ function getPaddedBufferSize( bufferSize ) {
|
|
|
395
497
|
/**
|
|
396
498
|
* Returns a buffer aligned to 4-byte boundary.
|
|
397
499
|
*
|
|
500
|
+
* @private
|
|
398
501
|
* @param {ArrayBuffer} arrayBuffer Buffer to pad
|
|
399
|
-
* @param {
|
|
502
|
+
* @param {number} [paddingByte=0] Should be an integer
|
|
400
503
|
* @returns {ArrayBuffer} The same buffer if it's already aligned to 4-byte boundary or a new buffer
|
|
401
504
|
*/
|
|
402
505
|
function getPaddedArrayBuffer( arrayBuffer, paddingByte = 0 ) {
|
|
@@ -440,37 +543,43 @@ function getCanvas() {
|
|
|
440
543
|
|
|
441
544
|
function getToBlobPromise( canvas, mimeType ) {
|
|
442
545
|
|
|
443
|
-
if (
|
|
546
|
+
if ( typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas ) {
|
|
444
547
|
|
|
445
|
-
|
|
548
|
+
let quality;
|
|
446
549
|
|
|
447
|
-
|
|
550
|
+
// Blink's implementation of convertToBlob seems to default to a quality level of 100%
|
|
551
|
+
// Use the Blink default quality levels of toBlob instead so that file sizes are comparable.
|
|
552
|
+
if ( mimeType === 'image/jpeg' ) {
|
|
448
553
|
|
|
449
|
-
|
|
554
|
+
quality = 0.92;
|
|
450
555
|
|
|
451
|
-
|
|
452
|
-
// Use the Blink default quality levels of toBlob instead so that file sizes are comparable.
|
|
453
|
-
if ( mimeType === 'image/jpeg' ) {
|
|
556
|
+
} else if ( mimeType === 'image/webp' ) {
|
|
454
557
|
|
|
455
|
-
|
|
558
|
+
quality = 0.8;
|
|
456
559
|
|
|
457
|
-
|
|
560
|
+
}
|
|
458
561
|
|
|
459
|
-
|
|
562
|
+
return canvas.convertToBlob( {
|
|
460
563
|
|
|
461
|
-
|
|
564
|
+
type: mimeType,
|
|
565
|
+
quality: quality
|
|
462
566
|
|
|
463
|
-
|
|
567
|
+
} );
|
|
464
568
|
|
|
465
|
-
|
|
466
|
-
quality: quality
|
|
569
|
+
} else {
|
|
467
570
|
|
|
468
|
-
|
|
571
|
+
// HTMLCanvasElement code path
|
|
572
|
+
|
|
573
|
+
return new Promise( ( resolve ) => canvas.toBlob( resolve, mimeType ) );
|
|
574
|
+
|
|
575
|
+
}
|
|
469
576
|
|
|
470
577
|
}
|
|
471
578
|
|
|
472
579
|
/**
|
|
473
580
|
* Writer
|
|
581
|
+
*
|
|
582
|
+
* @private
|
|
474
583
|
*/
|
|
475
584
|
class GLTFWriter {
|
|
476
585
|
|
|
@@ -496,7 +605,7 @@ class GLTFWriter {
|
|
|
496
605
|
this.json = {
|
|
497
606
|
asset: {
|
|
498
607
|
version: '2.0',
|
|
499
|
-
generator: 'THREE.GLTFExporter'
|
|
608
|
+
generator: 'THREE.GLTFExporter r' + REVISION
|
|
500
609
|
}
|
|
501
610
|
};
|
|
502
611
|
|
|
@@ -509,6 +618,8 @@ class GLTFWriter {
|
|
|
509
618
|
images: new Map()
|
|
510
619
|
};
|
|
511
620
|
|
|
621
|
+
this.textureUtils = null;
|
|
622
|
+
|
|
512
623
|
}
|
|
513
624
|
|
|
514
625
|
setPlugins( plugins ) {
|
|
@@ -517,13 +628,20 @@ class GLTFWriter {
|
|
|
517
628
|
|
|
518
629
|
}
|
|
519
630
|
|
|
631
|
+
setTextureUtils( utils ) {
|
|
632
|
+
|
|
633
|
+
this.textureUtils = utils;
|
|
634
|
+
|
|
635
|
+
}
|
|
636
|
+
|
|
520
637
|
/**
|
|
521
638
|
* Parse scenes and generate GLTF output
|
|
522
|
-
*
|
|
523
|
-
* @param
|
|
524
|
-
* @param
|
|
639
|
+
*
|
|
640
|
+
* @param {Scene|Array<Scene>} input Scene or Array of THREE.Scenes
|
|
641
|
+
* @param {Function} onDone Callback on completed
|
|
642
|
+
* @param {Object} options options
|
|
525
643
|
*/
|
|
526
|
-
async
|
|
644
|
+
async writeAsync( input, onDone, options = {} ) {
|
|
527
645
|
|
|
528
646
|
this.options = Object.assign( {
|
|
529
647
|
// default options
|
|
@@ -542,7 +660,7 @@ class GLTFWriter {
|
|
|
542
660
|
|
|
543
661
|
}
|
|
544
662
|
|
|
545
|
-
this.
|
|
663
|
+
await this.processInputAsync( input );
|
|
546
664
|
|
|
547
665
|
await Promise.all( this.pending );
|
|
548
666
|
|
|
@@ -643,7 +761,7 @@ class GLTFWriter {
|
|
|
643
761
|
/**
|
|
644
762
|
* Serializes a userData.
|
|
645
763
|
*
|
|
646
|
-
* @param {THREE.Object3D|THREE.Material} object
|
|
764
|
+
* @param {THREE.Object3D|THREE.Material|THREE.BufferGeometry|THREE.AnimationClip} object
|
|
647
765
|
* @param {Object} objectDef
|
|
648
766
|
*/
|
|
649
767
|
serializeUserData( object, objectDef ) {
|
|
@@ -685,8 +803,10 @@ class GLTFWriter {
|
|
|
685
803
|
|
|
686
804
|
/**
|
|
687
805
|
* Returns ids for buffer attributes.
|
|
688
|
-
*
|
|
689
|
-
* @
|
|
806
|
+
*
|
|
807
|
+
* @param {Object} attribute
|
|
808
|
+
* @param {boolean} [isRelativeCopy=false]
|
|
809
|
+
* @return {number} An integer
|
|
690
810
|
*/
|
|
691
811
|
getUID( attribute, isRelativeCopy = false ) {
|
|
692
812
|
|
|
@@ -711,7 +831,7 @@ class GLTFWriter {
|
|
|
711
831
|
* Checks if normal attribute values are normalized.
|
|
712
832
|
*
|
|
713
833
|
* @param {BufferAttribute} normal
|
|
714
|
-
* @returns {
|
|
834
|
+
* @returns {boolean}
|
|
715
835
|
*/
|
|
716
836
|
isNormalizedNormalAttribute( normal ) {
|
|
717
837
|
|
|
@@ -816,7 +936,7 @@ class GLTFWriter {
|
|
|
816
936
|
|
|
817
937
|
}
|
|
818
938
|
|
|
819
|
-
|
|
939
|
+
async buildMetalRoughTextureAsync( metalnessMap, roughnessMap ) {
|
|
820
940
|
|
|
821
941
|
if ( metalnessMap === roughnessMap ) return metalnessMap;
|
|
822
942
|
|
|
@@ -840,17 +960,15 @@ class GLTFWriter {
|
|
|
840
960
|
|
|
841
961
|
}
|
|
842
962
|
|
|
843
|
-
console.warn( 'THREE.GLTFExporter: Merged metalnessMap and roughnessMap textures.' );
|
|
844
|
-
|
|
845
963
|
if ( metalnessMap instanceof CompressedTexture ) {
|
|
846
964
|
|
|
847
|
-
metalnessMap =
|
|
965
|
+
metalnessMap = await this.decompressTextureAsync( metalnessMap );
|
|
848
966
|
|
|
849
967
|
}
|
|
850
968
|
|
|
851
969
|
if ( roughnessMap instanceof CompressedTexture ) {
|
|
852
970
|
|
|
853
|
-
roughnessMap =
|
|
971
|
+
roughnessMap = await this.decompressTextureAsync( roughnessMap );
|
|
854
972
|
|
|
855
973
|
}
|
|
856
974
|
|
|
@@ -864,7 +982,9 @@ class GLTFWriter {
|
|
|
864
982
|
canvas.width = width;
|
|
865
983
|
canvas.height = height;
|
|
866
984
|
|
|
867
|
-
const context = canvas.getContext( '2d'
|
|
985
|
+
const context = canvas.getContext( '2d', {
|
|
986
|
+
willReadFrequently: true,
|
|
987
|
+
} );
|
|
868
988
|
context.fillStyle = '#00ffff';
|
|
869
989
|
context.fillRect( 0, 0, width, height );
|
|
870
990
|
|
|
@@ -918,14 +1038,29 @@ class GLTFWriter {
|
|
|
918
1038
|
|
|
919
1039
|
}
|
|
920
1040
|
|
|
1041
|
+
console.warn( 'THREE.GLTFExporter: Merged metalnessMap and roughnessMap textures.' );
|
|
1042
|
+
|
|
921
1043
|
return texture;
|
|
922
1044
|
|
|
923
1045
|
}
|
|
924
1046
|
|
|
1047
|
+
|
|
1048
|
+
async decompressTextureAsync( texture, maxTextureSize = Infinity ) {
|
|
1049
|
+
|
|
1050
|
+
if ( this.textureUtils === null ) {
|
|
1051
|
+
|
|
1052
|
+
throw new Error( 'THREE.GLTFExporter: setTextureUtils() must be called to process compressed textures.' );
|
|
1053
|
+
|
|
1054
|
+
}
|
|
1055
|
+
|
|
1056
|
+
return await this.textureUtils.decompress( texture, maxTextureSize );
|
|
1057
|
+
|
|
1058
|
+
}
|
|
1059
|
+
|
|
925
1060
|
/**
|
|
926
1061
|
* Process a buffer to append to the default one.
|
|
927
|
-
* @param
|
|
928
|
-
* @return {
|
|
1062
|
+
* @param {ArrayBuffer} buffer
|
|
1063
|
+
* @return {0}
|
|
929
1064
|
*/
|
|
930
1065
|
processBuffer( buffer ) {
|
|
931
1066
|
|
|
@@ -943,11 +1078,11 @@ class GLTFWriter {
|
|
|
943
1078
|
|
|
944
1079
|
/**
|
|
945
1080
|
* Process and generate a BufferView
|
|
946
|
-
* @param
|
|
947
|
-
* @param
|
|
948
|
-
* @param
|
|
949
|
-
* @param
|
|
950
|
-
* @param
|
|
1081
|
+
* @param {BufferAttribute} attribute
|
|
1082
|
+
* @param {number} componentType
|
|
1083
|
+
* @param {number} start
|
|
1084
|
+
* @param {number} count
|
|
1085
|
+
* @param {number} [target] Target usage of the BufferView
|
|
951
1086
|
* @return {Object}
|
|
952
1087
|
*/
|
|
953
1088
|
processBufferView( attribute, componentType, start, count, target ) {
|
|
@@ -982,7 +1117,17 @@ class GLTFWriter {
|
|
|
982
1117
|
|
|
983
1118
|
}
|
|
984
1119
|
|
|
985
|
-
|
|
1120
|
+
let byteStride = attribute.itemSize * componentSize;
|
|
1121
|
+
|
|
1122
|
+
if ( target === WEBGL_CONSTANTS.ARRAY_BUFFER ) {
|
|
1123
|
+
|
|
1124
|
+
// Each element of a vertex attribute MUST be aligned to 4-byte boundaries
|
|
1125
|
+
// inside a bufferView
|
|
1126
|
+
byteStride = Math.ceil( byteStride / 4 ) * 4;
|
|
1127
|
+
|
|
1128
|
+
}
|
|
1129
|
+
|
|
1130
|
+
const byteLength = getPaddedBufferSize( count * byteStride );
|
|
986
1131
|
const dataView = new DataView( new ArrayBuffer( byteLength ) );
|
|
987
1132
|
let offset = 0;
|
|
988
1133
|
|
|
@@ -1047,6 +1192,12 @@ class GLTFWriter {
|
|
|
1047
1192
|
|
|
1048
1193
|
}
|
|
1049
1194
|
|
|
1195
|
+
if ( ( offset % byteStride ) !== 0 ) {
|
|
1196
|
+
|
|
1197
|
+
offset += byteStride - ( offset % byteStride );
|
|
1198
|
+
|
|
1199
|
+
}
|
|
1200
|
+
|
|
1050
1201
|
}
|
|
1051
1202
|
|
|
1052
1203
|
const bufferViewDef = {
|
|
@@ -1062,7 +1213,7 @@ class GLTFWriter {
|
|
|
1062
1213
|
if ( target === WEBGL_CONSTANTS.ARRAY_BUFFER ) {
|
|
1063
1214
|
|
|
1064
1215
|
// Only define byteStride for vertex attributes.
|
|
1065
|
-
bufferViewDef.byteStride =
|
|
1216
|
+
bufferViewDef.byteStride = byteStride;
|
|
1066
1217
|
|
|
1067
1218
|
}
|
|
1068
1219
|
|
|
@@ -1085,7 +1236,7 @@ class GLTFWriter {
|
|
|
1085
1236
|
/**
|
|
1086
1237
|
* Process and generate a BufferView from an image Blob.
|
|
1087
1238
|
* @param {Blob} blob
|
|
1088
|
-
* @return {Promise<
|
|
1239
|
+
* @return {Promise<number>} An integer
|
|
1089
1240
|
*/
|
|
1090
1241
|
processBufferViewImage( blob ) {
|
|
1091
1242
|
|
|
@@ -1119,11 +1270,11 @@ class GLTFWriter {
|
|
|
1119
1270
|
|
|
1120
1271
|
/**
|
|
1121
1272
|
* Process attribute to generate an accessor
|
|
1122
|
-
* @param
|
|
1123
|
-
* @param
|
|
1124
|
-
* @param
|
|
1125
|
-
* @param
|
|
1126
|
-
* @return {
|
|
1273
|
+
* @param {BufferAttribute} attribute Attribute to process
|
|
1274
|
+
* @param {?BufferGeometry} [geometry] Geometry used for truncated draw range
|
|
1275
|
+
* @param {number} [start=0]
|
|
1276
|
+
* @param {number} [count=Infinity]
|
|
1277
|
+
* @return {?number} Index of the processed accessor on the "accessors" array
|
|
1127
1278
|
*/
|
|
1128
1279
|
processAccessor( attribute, geometry, start, count ) {
|
|
1129
1280
|
|
|
@@ -1217,11 +1368,11 @@ class GLTFWriter {
|
|
|
1217
1368
|
|
|
1218
1369
|
/**
|
|
1219
1370
|
* Process image
|
|
1220
|
-
* @param
|
|
1221
|
-
* @param
|
|
1222
|
-
* @param
|
|
1223
|
-
* @param
|
|
1224
|
-
* @return {
|
|
1371
|
+
* @param {Image} image to process
|
|
1372
|
+
* @param {number} format Identifier of the format (RGBAFormat)
|
|
1373
|
+
* @param {boolean} flipY before writing out the image
|
|
1374
|
+
* @param {string} mimeType export format
|
|
1375
|
+
* @return {number} Index of the processed texture in the "images" array
|
|
1225
1376
|
*/
|
|
1226
1377
|
processImage( image, format, flipY, mimeType = 'image/png' ) {
|
|
1227
1378
|
|
|
@@ -1250,7 +1401,9 @@ class GLTFWriter {
|
|
|
1250
1401
|
canvas.width = Math.min( image.width, options.maxTextureSize );
|
|
1251
1402
|
canvas.height = Math.min( image.height, options.maxTextureSize );
|
|
1252
1403
|
|
|
1253
|
-
const ctx = canvas.getContext( '2d'
|
|
1404
|
+
const ctx = canvas.getContext( '2d', {
|
|
1405
|
+
willReadFrequently: true,
|
|
1406
|
+
} );
|
|
1254
1407
|
|
|
1255
1408
|
if ( flipY === true ) {
|
|
1256
1409
|
|
|
@@ -1288,7 +1441,18 @@ class GLTFWriter {
|
|
|
1288
1441
|
|
|
1289
1442
|
} else {
|
|
1290
1443
|
|
|
1291
|
-
|
|
1444
|
+
if ( ( typeof HTMLImageElement !== 'undefined' && image instanceof HTMLImageElement ) ||
|
|
1445
|
+
( typeof HTMLCanvasElement !== 'undefined' && image instanceof HTMLCanvasElement ) ||
|
|
1446
|
+
( typeof ImageBitmap !== 'undefined' && image instanceof ImageBitmap ) ||
|
|
1447
|
+
( typeof OffscreenCanvas !== 'undefined' && image instanceof OffscreenCanvas ) ) {
|
|
1448
|
+
|
|
1449
|
+
ctx.drawImage( image, 0, 0, canvas.width, canvas.height );
|
|
1450
|
+
|
|
1451
|
+
} else {
|
|
1452
|
+
|
|
1453
|
+
throw new Error( 'THREE.GLTFExporter: Invalid image type. Use HTMLImageElement, HTMLCanvasElement, ImageBitmap or OffscreenCanvas.' );
|
|
1454
|
+
|
|
1455
|
+
}
|
|
1292
1456
|
|
|
1293
1457
|
}
|
|
1294
1458
|
|
|
@@ -1308,25 +1472,7 @@ class GLTFWriter {
|
|
|
1308
1472
|
|
|
1309
1473
|
} else {
|
|
1310
1474
|
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
imageDef.uri = canvas.toDataURL( mimeType );
|
|
1314
|
-
|
|
1315
|
-
} else {
|
|
1316
|
-
|
|
1317
|
-
pending.push(
|
|
1318
|
-
|
|
1319
|
-
getToBlobPromise( canvas, mimeType )
|
|
1320
|
-
.then( blob => new FileReader().readAsDataURL( blob ) )
|
|
1321
|
-
.then( dataURL => {
|
|
1322
|
-
|
|
1323
|
-
imageDef.uri = dataURL;
|
|
1324
|
-
|
|
1325
|
-
} )
|
|
1326
|
-
|
|
1327
|
-
);
|
|
1328
|
-
|
|
1329
|
-
}
|
|
1475
|
+
imageDef.uri = ImageUtils.getDataURL( canvas, mimeType );
|
|
1330
1476
|
|
|
1331
1477
|
}
|
|
1332
1478
|
|
|
@@ -1344,8 +1490,8 @@ class GLTFWriter {
|
|
|
1344
1490
|
|
|
1345
1491
|
/**
|
|
1346
1492
|
* Process sampler
|
|
1347
|
-
* @param
|
|
1348
|
-
* @return {
|
|
1493
|
+
* @param {Texture} map Texture to process
|
|
1494
|
+
* @return {number} Index of the processed texture in the "samplers" array
|
|
1349
1495
|
*/
|
|
1350
1496
|
processSampler( map ) {
|
|
1351
1497
|
|
|
@@ -1366,10 +1512,10 @@ class GLTFWriter {
|
|
|
1366
1512
|
|
|
1367
1513
|
/**
|
|
1368
1514
|
* Process texture
|
|
1369
|
-
* @param
|
|
1370
|
-
* @return {
|
|
1515
|
+
* @param {Texture} map Map to process
|
|
1516
|
+
* @return {Promise<number>} Index of the processed texture in the "textures" array
|
|
1371
1517
|
*/
|
|
1372
|
-
|
|
1518
|
+
async processTextureAsync( map ) {
|
|
1373
1519
|
|
|
1374
1520
|
const writer = this;
|
|
1375
1521
|
const options = writer.options;
|
|
@@ -1383,7 +1529,7 @@ class GLTFWriter {
|
|
|
1383
1529
|
// make non-readable textures (e.g. CompressedTexture) readable by blitting them into a new texture
|
|
1384
1530
|
if ( map instanceof CompressedTexture ) {
|
|
1385
1531
|
|
|
1386
|
-
map =
|
|
1532
|
+
map = await this.decompressTextureAsync( map, options.maxTextureSize );
|
|
1387
1533
|
|
|
1388
1534
|
}
|
|
1389
1535
|
|
|
@@ -1398,9 +1544,9 @@ class GLTFWriter {
|
|
|
1398
1544
|
|
|
1399
1545
|
if ( map.name ) textureDef.name = map.name;
|
|
1400
1546
|
|
|
1401
|
-
this.
|
|
1547
|
+
await this._invokeAllAsync( async function ( ext ) {
|
|
1402
1548
|
|
|
1403
|
-
ext.writeTexture && ext.writeTexture( map, textureDef );
|
|
1549
|
+
ext.writeTexture && await ext.writeTexture( map, textureDef );
|
|
1404
1550
|
|
|
1405
1551
|
} );
|
|
1406
1552
|
|
|
@@ -1412,10 +1558,10 @@ class GLTFWriter {
|
|
|
1412
1558
|
|
|
1413
1559
|
/**
|
|
1414
1560
|
* Process material
|
|
1415
|
-
* @param
|
|
1416
|
-
* @return {
|
|
1561
|
+
* @param {THREE.Material} material Material to process
|
|
1562
|
+
* @return {Promise<?number>} Index of the processed material in the "materials" array
|
|
1417
1563
|
*/
|
|
1418
|
-
|
|
1564
|
+
async processMaterialAsync( material ) {
|
|
1419
1565
|
|
|
1420
1566
|
const cache = this.cache;
|
|
1421
1567
|
const json = this.json;
|
|
@@ -1456,19 +1602,19 @@ class GLTFWriter {
|
|
|
1456
1602
|
|
|
1457
1603
|
} else {
|
|
1458
1604
|
|
|
1459
|
-
materialDef.pbrMetallicRoughness.metallicFactor = 0
|
|
1460
|
-
materialDef.pbrMetallicRoughness.roughnessFactor =
|
|
1605
|
+
materialDef.pbrMetallicRoughness.metallicFactor = 0;
|
|
1606
|
+
materialDef.pbrMetallicRoughness.roughnessFactor = 1;
|
|
1461
1607
|
|
|
1462
1608
|
}
|
|
1463
1609
|
|
|
1464
1610
|
// pbrMetallicRoughness.metallicRoughnessTexture
|
|
1465
1611
|
if ( material.metalnessMap || material.roughnessMap ) {
|
|
1466
1612
|
|
|
1467
|
-
const metalRoughTexture = this.
|
|
1613
|
+
const metalRoughTexture = await this.buildMetalRoughTextureAsync( material.metalnessMap, material.roughnessMap );
|
|
1468
1614
|
|
|
1469
1615
|
const metalRoughMapDef = {
|
|
1470
|
-
index: this.
|
|
1471
|
-
|
|
1616
|
+
index: await this.processTextureAsync( metalRoughTexture ),
|
|
1617
|
+
texCoord: metalRoughTexture.channel
|
|
1472
1618
|
};
|
|
1473
1619
|
this.applyTextureTransform( metalRoughMapDef, metalRoughTexture );
|
|
1474
1620
|
materialDef.pbrMetallicRoughness.metallicRoughnessTexture = metalRoughMapDef;
|
|
@@ -1479,7 +1625,7 @@ class GLTFWriter {
|
|
|
1479
1625
|
if ( material.map ) {
|
|
1480
1626
|
|
|
1481
1627
|
const baseColorMapDef = {
|
|
1482
|
-
index: this.
|
|
1628
|
+
index: await this.processTextureAsync( material.map ),
|
|
1483
1629
|
texCoord: material.map.channel
|
|
1484
1630
|
};
|
|
1485
1631
|
this.applyTextureTransform( baseColorMapDef, material.map );
|
|
@@ -1502,7 +1648,7 @@ class GLTFWriter {
|
|
|
1502
1648
|
if ( material.emissiveMap ) {
|
|
1503
1649
|
|
|
1504
1650
|
const emissiveMapDef = {
|
|
1505
|
-
index: this.
|
|
1651
|
+
index: await this.processTextureAsync( material.emissiveMap ),
|
|
1506
1652
|
texCoord: material.emissiveMap.channel
|
|
1507
1653
|
};
|
|
1508
1654
|
this.applyTextureTransform( emissiveMapDef, material.emissiveMap );
|
|
@@ -1516,7 +1662,7 @@ class GLTFWriter {
|
|
|
1516
1662
|
if ( material.normalMap ) {
|
|
1517
1663
|
|
|
1518
1664
|
const normalMapDef = {
|
|
1519
|
-
index: this.
|
|
1665
|
+
index: await this.processTextureAsync( material.normalMap ),
|
|
1520
1666
|
texCoord: material.normalMap.channel
|
|
1521
1667
|
};
|
|
1522
1668
|
|
|
@@ -1537,7 +1683,7 @@ class GLTFWriter {
|
|
|
1537
1683
|
if ( material.aoMap ) {
|
|
1538
1684
|
|
|
1539
1685
|
const occlusionMapDef = {
|
|
1540
|
-
index: this.
|
|
1686
|
+
index: await this.processTextureAsync( material.aoMap ),
|
|
1541
1687
|
texCoord: material.aoMap.channel
|
|
1542
1688
|
};
|
|
1543
1689
|
|
|
@@ -1574,9 +1720,9 @@ class GLTFWriter {
|
|
|
1574
1720
|
|
|
1575
1721
|
this.serializeUserData( material, materialDef );
|
|
1576
1722
|
|
|
1577
|
-
this.
|
|
1723
|
+
await this._invokeAllAsync( async function ( ext ) {
|
|
1578
1724
|
|
|
1579
|
-
ext.
|
|
1725
|
+
ext.writeMaterialAsync && await ext.writeMaterialAsync( material, materialDef );
|
|
1580
1726
|
|
|
1581
1727
|
} );
|
|
1582
1728
|
|
|
@@ -1588,10 +1734,10 @@ class GLTFWriter {
|
|
|
1588
1734
|
|
|
1589
1735
|
/**
|
|
1590
1736
|
* Process mesh
|
|
1591
|
-
* @param
|
|
1592
|
-
* @return {
|
|
1737
|
+
* @param {THREE.Mesh} mesh Mesh to process
|
|
1738
|
+
* @return {Promise<?number>} Index of the processed mesh in the "meshes" array
|
|
1593
1739
|
*/
|
|
1594
|
-
|
|
1740
|
+
async processMeshAsync( mesh ) {
|
|
1595
1741
|
|
|
1596
1742
|
const cache = this.cache;
|
|
1597
1743
|
const json = this.json;
|
|
@@ -1695,7 +1841,9 @@ class GLTFWriter {
|
|
|
1695
1841
|
|
|
1696
1842
|
}
|
|
1697
1843
|
|
|
1698
|
-
//
|
|
1844
|
+
// Enforce glTF vertex attribute requirements:
|
|
1845
|
+
// - JOINTS_0 must be UNSIGNED_BYTE or UNSIGNED_SHORT
|
|
1846
|
+
// - Only custom attributes may be INT or UNSIGNED_INT
|
|
1699
1847
|
modifiedAttribute = null;
|
|
1700
1848
|
const array = attribute.array;
|
|
1701
1849
|
|
|
@@ -1706,6 +1854,11 @@ class GLTFWriter {
|
|
|
1706
1854
|
console.warn( 'GLTFExporter: Attribute "skinIndex" converted to type UNSIGNED_SHORT.' );
|
|
1707
1855
|
modifiedAttribute = new BufferAttribute( new Uint16Array( array ), attribute.itemSize, attribute.normalized );
|
|
1708
1856
|
|
|
1857
|
+
} else if ( ( array instanceof Uint32Array || array instanceof Int32Array ) && ! attributeName.startsWith( '_' ) ) {
|
|
1858
|
+
|
|
1859
|
+
console.warn( `GLTFExporter: Attribute "${ attributeName }" converted to type FLOAT.` );
|
|
1860
|
+
modifiedAttribute = GLTFExporter.Utils.toFloat32BufferAttribute( attribute );
|
|
1861
|
+
|
|
1709
1862
|
}
|
|
1710
1863
|
|
|
1711
1864
|
const accessor = this.processAccessor( modifiedAttribute || attribute, geometry );
|
|
@@ -1892,7 +2045,7 @@ class GLTFWriter {
|
|
|
1892
2045
|
|
|
1893
2046
|
}
|
|
1894
2047
|
|
|
1895
|
-
const material = this.
|
|
2048
|
+
const material = await this.processMaterialAsync( materials[ groups[ i ].materialIndex ] );
|
|
1896
2049
|
|
|
1897
2050
|
if ( material !== null ) primitive.material = material;
|
|
1898
2051
|
|
|
@@ -1910,7 +2063,7 @@ class GLTFWriter {
|
|
|
1910
2063
|
|
|
1911
2064
|
if ( ! json.meshes ) json.meshes = [];
|
|
1912
2065
|
|
|
1913
|
-
this.
|
|
2066
|
+
await this._invokeAllAsync( function ( ext ) {
|
|
1914
2067
|
|
|
1915
2068
|
ext.writeMesh && ext.writeMesh( mesh, meshDef );
|
|
1916
2069
|
|
|
@@ -1986,8 +2139,8 @@ class GLTFWriter {
|
|
|
1986
2139
|
|
|
1987
2140
|
/**
|
|
1988
2141
|
* Process camera
|
|
1989
|
-
* @param
|
|
1990
|
-
* @return {
|
|
2142
|
+
* @param {THREE.Camera} camera Camera to process
|
|
2143
|
+
* @return {number} Index of the processed mesh in the "camera" array
|
|
1991
2144
|
*/
|
|
1992
2145
|
processCamera( camera ) {
|
|
1993
2146
|
|
|
@@ -2036,7 +2189,7 @@ class GLTFWriter {
|
|
|
2036
2189
|
*
|
|
2037
2190
|
* @param {THREE.AnimationClip} clip
|
|
2038
2191
|
* @param {THREE.Object3D} root
|
|
2039
|
-
* @return {number
|
|
2192
|
+
* @return {?number}
|
|
2040
2193
|
*/
|
|
2041
2194
|
processAnimation( clip, root ) {
|
|
2042
2195
|
|
|
@@ -2075,7 +2228,7 @@ class GLTFWriter {
|
|
|
2075
2228
|
if ( ! trackNode || ! trackProperty ) {
|
|
2076
2229
|
|
|
2077
2230
|
console.warn( 'THREE.GLTFExporter: Could not export animation track "%s".', track.name );
|
|
2078
|
-
|
|
2231
|
+
continue;
|
|
2079
2232
|
|
|
2080
2233
|
}
|
|
2081
2234
|
|
|
@@ -2130,11 +2283,15 @@ class GLTFWriter {
|
|
|
2130
2283
|
|
|
2131
2284
|
}
|
|
2132
2285
|
|
|
2133
|
-
|
|
2286
|
+
const animationDef = {
|
|
2134
2287
|
name: clip.name || 'clip_' + json.animations.length,
|
|
2135
2288
|
samplers: samplers,
|
|
2136
2289
|
channels: channels
|
|
2137
|
-
}
|
|
2290
|
+
};
|
|
2291
|
+
|
|
2292
|
+
this.serializeUserData( clip, animationDef );
|
|
2293
|
+
|
|
2294
|
+
json.animations.push( animationDef );
|
|
2138
2295
|
|
|
2139
2296
|
return json.animations.length - 1;
|
|
2140
2297
|
|
|
@@ -2142,7 +2299,7 @@ class GLTFWriter {
|
|
|
2142
2299
|
|
|
2143
2300
|
/**
|
|
2144
2301
|
* @param {THREE.Object3D} object
|
|
2145
|
-
* @return {number
|
|
2302
|
+
* @return {?number}
|
|
2146
2303
|
*/
|
|
2147
2304
|
processSkin( object ) {
|
|
2148
2305
|
|
|
@@ -2187,10 +2344,10 @@ class GLTFWriter {
|
|
|
2187
2344
|
|
|
2188
2345
|
/**
|
|
2189
2346
|
* Process Object3D node
|
|
2190
|
-
* @param
|
|
2191
|
-
* @return {
|
|
2347
|
+
* @param {THREE.Object3D} object Object3D to processNodeAsync
|
|
2348
|
+
* @return {Promise<number>} Index of the node in the nodes list
|
|
2192
2349
|
*/
|
|
2193
|
-
|
|
2350
|
+
async processNodeAsync( object ) {
|
|
2194
2351
|
|
|
2195
2352
|
const json = this.json;
|
|
2196
2353
|
const options = this.options;
|
|
@@ -2247,7 +2404,7 @@ class GLTFWriter {
|
|
|
2247
2404
|
|
|
2248
2405
|
if ( object.isMesh || object.isLine || object.isPoints ) {
|
|
2249
2406
|
|
|
2250
|
-
const meshIndex = this.
|
|
2407
|
+
const meshIndex = await this.processMeshAsync( object );
|
|
2251
2408
|
|
|
2252
2409
|
if ( meshIndex !== null ) nodeDef.mesh = meshIndex;
|
|
2253
2410
|
|
|
@@ -2259,6 +2416,9 @@ class GLTFWriter {
|
|
|
2259
2416
|
|
|
2260
2417
|
if ( object.isSkinnedMesh ) this.skins.push( object );
|
|
2261
2418
|
|
|
2419
|
+
const nodeIndex = json.nodes.push( nodeDef ) - 1;
|
|
2420
|
+
nodeMap.set( object, nodeIndex );
|
|
2421
|
+
|
|
2262
2422
|
if ( object.children.length > 0 ) {
|
|
2263
2423
|
|
|
2264
2424
|
const children = [];
|
|
@@ -2269,9 +2429,9 @@ class GLTFWriter {
|
|
|
2269
2429
|
|
|
2270
2430
|
if ( child.visible || options.onlyVisible === false ) {
|
|
2271
2431
|
|
|
2272
|
-
const
|
|
2432
|
+
const childNodeIndex = await this.processNodeAsync( child );
|
|
2273
2433
|
|
|
2274
|
-
if (
|
|
2434
|
+
if ( childNodeIndex !== null ) children.push( childNodeIndex );
|
|
2275
2435
|
|
|
2276
2436
|
}
|
|
2277
2437
|
|
|
@@ -2281,23 +2441,21 @@ class GLTFWriter {
|
|
|
2281
2441
|
|
|
2282
2442
|
}
|
|
2283
2443
|
|
|
2284
|
-
this.
|
|
2444
|
+
await this._invokeAllAsync( function ( ext ) {
|
|
2285
2445
|
|
|
2286
2446
|
ext.writeNode && ext.writeNode( object, nodeDef );
|
|
2287
2447
|
|
|
2288
2448
|
} );
|
|
2289
2449
|
|
|
2290
|
-
const nodeIndex = json.nodes.push( nodeDef ) - 1;
|
|
2291
|
-
nodeMap.set( object, nodeIndex );
|
|
2292
2450
|
return nodeIndex;
|
|
2293
2451
|
|
|
2294
2452
|
}
|
|
2295
2453
|
|
|
2296
2454
|
/**
|
|
2297
2455
|
* Process Scene
|
|
2298
|
-
* @param
|
|
2456
|
+
* @param {Scene} scene Scene to process
|
|
2299
2457
|
*/
|
|
2300
|
-
|
|
2458
|
+
async processSceneAsync( scene ) {
|
|
2301
2459
|
|
|
2302
2460
|
const json = this.json;
|
|
2303
2461
|
const options = this.options;
|
|
@@ -2323,7 +2481,7 @@ class GLTFWriter {
|
|
|
2323
2481
|
|
|
2324
2482
|
if ( child.visible || options.onlyVisible === false ) {
|
|
2325
2483
|
|
|
2326
|
-
const nodeIndex = this.
|
|
2484
|
+
const nodeIndex = await this.processNodeAsync( child );
|
|
2327
2485
|
|
|
2328
2486
|
if ( nodeIndex !== null ) nodes.push( nodeIndex );
|
|
2329
2487
|
|
|
@@ -2339,9 +2497,9 @@ class GLTFWriter {
|
|
|
2339
2497
|
|
|
2340
2498
|
/**
|
|
2341
2499
|
* Creates a Scene to hold a list of objects and parse it
|
|
2342
|
-
* @param
|
|
2500
|
+
* @param {Array<THREE.Object3D>} objects List of objects to process
|
|
2343
2501
|
*/
|
|
2344
|
-
|
|
2502
|
+
async processObjectsAsync( objects ) {
|
|
2345
2503
|
|
|
2346
2504
|
const scene = new Scene();
|
|
2347
2505
|
scene.name = 'AuxScene';
|
|
@@ -2354,20 +2512,20 @@ class GLTFWriter {
|
|
|
2354
2512
|
|
|
2355
2513
|
}
|
|
2356
2514
|
|
|
2357
|
-
this.
|
|
2515
|
+
await this.processSceneAsync( scene );
|
|
2358
2516
|
|
|
2359
2517
|
}
|
|
2360
2518
|
|
|
2361
2519
|
/**
|
|
2362
2520
|
* @param {THREE.Object3D|Array<THREE.Object3D>} input
|
|
2363
2521
|
*/
|
|
2364
|
-
|
|
2522
|
+
async processInputAsync( input ) {
|
|
2365
2523
|
|
|
2366
2524
|
const options = this.options;
|
|
2367
2525
|
|
|
2368
2526
|
input = input instanceof Array ? input : [ input ];
|
|
2369
2527
|
|
|
2370
|
-
this.
|
|
2528
|
+
await this._invokeAllAsync( function ( ext ) {
|
|
2371
2529
|
|
|
2372
2530
|
ext.beforeParse && ext.beforeParse( input );
|
|
2373
2531
|
|
|
@@ -2379,7 +2537,7 @@ class GLTFWriter {
|
|
|
2379
2537
|
|
|
2380
2538
|
if ( input[ i ] instanceof Scene ) {
|
|
2381
2539
|
|
|
2382
|
-
this.
|
|
2540
|
+
await this.processSceneAsync( input[ i ] );
|
|
2383
2541
|
|
|
2384
2542
|
} else {
|
|
2385
2543
|
|
|
@@ -2389,7 +2547,11 @@ class GLTFWriter {
|
|
|
2389
2547
|
|
|
2390
2548
|
}
|
|
2391
2549
|
|
|
2392
|
-
if ( objectsWithoutScene.length > 0 )
|
|
2550
|
+
if ( objectsWithoutScene.length > 0 ) {
|
|
2551
|
+
|
|
2552
|
+
await this.processObjectsAsync( objectsWithoutScene );
|
|
2553
|
+
|
|
2554
|
+
}
|
|
2393
2555
|
|
|
2394
2556
|
for ( let i = 0; i < this.skins.length; ++ i ) {
|
|
2395
2557
|
|
|
@@ -2403,7 +2565,7 @@ class GLTFWriter {
|
|
|
2403
2565
|
|
|
2404
2566
|
}
|
|
2405
2567
|
|
|
2406
|
-
this.
|
|
2568
|
+
await this._invokeAllAsync( function ( ext ) {
|
|
2407
2569
|
|
|
2408
2570
|
ext.afterParse && ext.afterParse( input );
|
|
2409
2571
|
|
|
@@ -2411,11 +2573,11 @@ class GLTFWriter {
|
|
|
2411
2573
|
|
|
2412
2574
|
}
|
|
2413
2575
|
|
|
2414
|
-
|
|
2576
|
+
async _invokeAllAsync( func ) {
|
|
2415
2577
|
|
|
2416
2578
|
for ( let i = 0, il = this.plugins.length; i < il; i ++ ) {
|
|
2417
2579
|
|
|
2418
|
-
func( this.plugins[ i ] );
|
|
2580
|
+
await func( this.plugins[ i ] );
|
|
2419
2581
|
|
|
2420
2582
|
}
|
|
2421
2583
|
|
|
@@ -2427,6 +2589,8 @@ class GLTFWriter {
|
|
|
2427
2589
|
* Punctual Lights Extension
|
|
2428
2590
|
*
|
|
2429
2591
|
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_lights_punctual
|
|
2592
|
+
*
|
|
2593
|
+
* @private
|
|
2430
2594
|
*/
|
|
2431
2595
|
class GLTFLightExtension {
|
|
2432
2596
|
|
|
@@ -2522,6 +2686,8 @@ class GLTFLightExtension {
|
|
|
2522
2686
|
* Unlit Materials Extension
|
|
2523
2687
|
*
|
|
2524
2688
|
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_unlit
|
|
2689
|
+
*
|
|
2690
|
+
* @private
|
|
2525
2691
|
*/
|
|
2526
2692
|
class GLTFMaterialsUnlitExtension {
|
|
2527
2693
|
|
|
@@ -2532,7 +2698,7 @@ class GLTFMaterialsUnlitExtension {
|
|
|
2532
2698
|
|
|
2533
2699
|
}
|
|
2534
2700
|
|
|
2535
|
-
|
|
2701
|
+
async writeMaterialAsync( material, materialDef ) {
|
|
2536
2702
|
|
|
2537
2703
|
if ( ! material.isMeshBasicMaterial ) return;
|
|
2538
2704
|
|
|
@@ -2555,6 +2721,8 @@ class GLTFMaterialsUnlitExtension {
|
|
|
2555
2721
|
* Clearcoat Materials Extension
|
|
2556
2722
|
*
|
|
2557
2723
|
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_clearcoat
|
|
2724
|
+
*
|
|
2725
|
+
* @private
|
|
2558
2726
|
*/
|
|
2559
2727
|
class GLTFMaterialsClearcoatExtension {
|
|
2560
2728
|
|
|
@@ -2565,7 +2733,7 @@ class GLTFMaterialsClearcoatExtension {
|
|
|
2565
2733
|
|
|
2566
2734
|
}
|
|
2567
2735
|
|
|
2568
|
-
|
|
2736
|
+
async writeMaterialAsync( material, materialDef ) {
|
|
2569
2737
|
|
|
2570
2738
|
if ( ! material.isMeshPhysicalMaterial || material.clearcoat === 0 ) return;
|
|
2571
2739
|
|
|
@@ -2579,7 +2747,7 @@ class GLTFMaterialsClearcoatExtension {
|
|
|
2579
2747
|
if ( material.clearcoatMap ) {
|
|
2580
2748
|
|
|
2581
2749
|
const clearcoatMapDef = {
|
|
2582
|
-
index: writer.
|
|
2750
|
+
index: await writer.processTextureAsync( material.clearcoatMap ),
|
|
2583
2751
|
texCoord: material.clearcoatMap.channel
|
|
2584
2752
|
};
|
|
2585
2753
|
writer.applyTextureTransform( clearcoatMapDef, material.clearcoatMap );
|
|
@@ -2592,7 +2760,7 @@ class GLTFMaterialsClearcoatExtension {
|
|
|
2592
2760
|
if ( material.clearcoatRoughnessMap ) {
|
|
2593
2761
|
|
|
2594
2762
|
const clearcoatRoughnessMapDef = {
|
|
2595
|
-
index: writer.
|
|
2763
|
+
index: await writer.processTextureAsync( material.clearcoatRoughnessMap ),
|
|
2596
2764
|
texCoord: material.clearcoatRoughnessMap.channel
|
|
2597
2765
|
};
|
|
2598
2766
|
writer.applyTextureTransform( clearcoatRoughnessMapDef, material.clearcoatRoughnessMap );
|
|
@@ -2603,9 +2771,12 @@ class GLTFMaterialsClearcoatExtension {
|
|
|
2603
2771
|
if ( material.clearcoatNormalMap ) {
|
|
2604
2772
|
|
|
2605
2773
|
const clearcoatNormalMapDef = {
|
|
2606
|
-
index: writer.
|
|
2774
|
+
index: await writer.processTextureAsync( material.clearcoatNormalMap ),
|
|
2607
2775
|
texCoord: material.clearcoatNormalMap.channel
|
|
2608
2776
|
};
|
|
2777
|
+
|
|
2778
|
+
if ( material.clearcoatNormalScale.x !== 1 ) clearcoatNormalMapDef.scale = material.clearcoatNormalScale.x;
|
|
2779
|
+
|
|
2609
2780
|
writer.applyTextureTransform( clearcoatNormalMapDef, material.clearcoatNormalMap );
|
|
2610
2781
|
extensionDef.clearcoatNormalTexture = clearcoatNormalMapDef;
|
|
2611
2782
|
|
|
@@ -2621,10 +2792,48 @@ class GLTFMaterialsClearcoatExtension {
|
|
|
2621
2792
|
|
|
2622
2793
|
}
|
|
2623
2794
|
|
|
2795
|
+
/**
|
|
2796
|
+
* Materials dispersion Extension
|
|
2797
|
+
*
|
|
2798
|
+
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_dispersion
|
|
2799
|
+
*
|
|
2800
|
+
* @private
|
|
2801
|
+
*/
|
|
2802
|
+
class GLTFMaterialsDispersionExtension {
|
|
2803
|
+
|
|
2804
|
+
constructor( writer ) {
|
|
2805
|
+
|
|
2806
|
+
this.writer = writer;
|
|
2807
|
+
this.name = 'KHR_materials_dispersion';
|
|
2808
|
+
|
|
2809
|
+
}
|
|
2810
|
+
|
|
2811
|
+
async writeMaterialAsync( material, materialDef ) {
|
|
2812
|
+
|
|
2813
|
+
if ( ! material.isMeshPhysicalMaterial || material.dispersion === 0 ) return;
|
|
2814
|
+
|
|
2815
|
+
const writer = this.writer;
|
|
2816
|
+
const extensionsUsed = writer.extensionsUsed;
|
|
2817
|
+
|
|
2818
|
+
const extensionDef = {};
|
|
2819
|
+
|
|
2820
|
+
extensionDef.dispersion = material.dispersion;
|
|
2821
|
+
|
|
2822
|
+
materialDef.extensions = materialDef.extensions || {};
|
|
2823
|
+
materialDef.extensions[ this.name ] = extensionDef;
|
|
2824
|
+
|
|
2825
|
+
extensionsUsed[ this.name ] = true;
|
|
2826
|
+
|
|
2827
|
+
}
|
|
2828
|
+
|
|
2829
|
+
}
|
|
2830
|
+
|
|
2624
2831
|
/**
|
|
2625
2832
|
* Iridescence Materials Extension
|
|
2626
2833
|
*
|
|
2627
2834
|
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_iridescence
|
|
2835
|
+
*
|
|
2836
|
+
* @private
|
|
2628
2837
|
*/
|
|
2629
2838
|
class GLTFMaterialsIridescenceExtension {
|
|
2630
2839
|
|
|
@@ -2635,7 +2844,7 @@ class GLTFMaterialsIridescenceExtension {
|
|
|
2635
2844
|
|
|
2636
2845
|
}
|
|
2637
2846
|
|
|
2638
|
-
|
|
2847
|
+
async writeMaterialAsync( material, materialDef ) {
|
|
2639
2848
|
|
|
2640
2849
|
if ( ! material.isMeshPhysicalMaterial || material.iridescence === 0 ) return;
|
|
2641
2850
|
|
|
@@ -2649,7 +2858,7 @@ class GLTFMaterialsIridescenceExtension {
|
|
|
2649
2858
|
if ( material.iridescenceMap ) {
|
|
2650
2859
|
|
|
2651
2860
|
const iridescenceMapDef = {
|
|
2652
|
-
index: writer.
|
|
2861
|
+
index: await writer.processTextureAsync( material.iridescenceMap ),
|
|
2653
2862
|
texCoord: material.iridescenceMap.channel
|
|
2654
2863
|
};
|
|
2655
2864
|
writer.applyTextureTransform( iridescenceMapDef, material.iridescenceMap );
|
|
@@ -2664,7 +2873,7 @@ class GLTFMaterialsIridescenceExtension {
|
|
|
2664
2873
|
if ( material.iridescenceThicknessMap ) {
|
|
2665
2874
|
|
|
2666
2875
|
const iridescenceThicknessMapDef = {
|
|
2667
|
-
index: writer.
|
|
2876
|
+
index: await writer.processTextureAsync( material.iridescenceThicknessMap ),
|
|
2668
2877
|
texCoord: material.iridescenceThicknessMap.channel
|
|
2669
2878
|
};
|
|
2670
2879
|
writer.applyTextureTransform( iridescenceThicknessMapDef, material.iridescenceThicknessMap );
|
|
@@ -2685,6 +2894,8 @@ class GLTFMaterialsIridescenceExtension {
|
|
|
2685
2894
|
* Transmission Materials Extension
|
|
2686
2895
|
*
|
|
2687
2896
|
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_transmission
|
|
2897
|
+
*
|
|
2898
|
+
* @private
|
|
2688
2899
|
*/
|
|
2689
2900
|
class GLTFMaterialsTransmissionExtension {
|
|
2690
2901
|
|
|
@@ -2695,7 +2906,7 @@ class GLTFMaterialsTransmissionExtension {
|
|
|
2695
2906
|
|
|
2696
2907
|
}
|
|
2697
2908
|
|
|
2698
|
-
|
|
2909
|
+
async writeMaterialAsync( material, materialDef ) {
|
|
2699
2910
|
|
|
2700
2911
|
if ( ! material.isMeshPhysicalMaterial || material.transmission === 0 ) return;
|
|
2701
2912
|
|
|
@@ -2709,7 +2920,7 @@ class GLTFMaterialsTransmissionExtension {
|
|
|
2709
2920
|
if ( material.transmissionMap ) {
|
|
2710
2921
|
|
|
2711
2922
|
const transmissionMapDef = {
|
|
2712
|
-
index: writer.
|
|
2923
|
+
index: await writer.processTextureAsync( material.transmissionMap ),
|
|
2713
2924
|
texCoord: material.transmissionMap.channel
|
|
2714
2925
|
};
|
|
2715
2926
|
writer.applyTextureTransform( transmissionMapDef, material.transmissionMap );
|
|
@@ -2730,6 +2941,8 @@ class GLTFMaterialsTransmissionExtension {
|
|
|
2730
2941
|
* Materials Volume Extension
|
|
2731
2942
|
*
|
|
2732
2943
|
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_volume
|
|
2944
|
+
*
|
|
2945
|
+
* @private
|
|
2733
2946
|
*/
|
|
2734
2947
|
class GLTFMaterialsVolumeExtension {
|
|
2735
2948
|
|
|
@@ -2740,7 +2953,7 @@ class GLTFMaterialsVolumeExtension {
|
|
|
2740
2953
|
|
|
2741
2954
|
}
|
|
2742
2955
|
|
|
2743
|
-
|
|
2956
|
+
async writeMaterialAsync( material, materialDef ) {
|
|
2744
2957
|
|
|
2745
2958
|
if ( ! material.isMeshPhysicalMaterial || material.transmission === 0 ) return;
|
|
2746
2959
|
|
|
@@ -2754,7 +2967,7 @@ class GLTFMaterialsVolumeExtension {
|
|
|
2754
2967
|
if ( material.thicknessMap ) {
|
|
2755
2968
|
|
|
2756
2969
|
const thicknessMapDef = {
|
|
2757
|
-
index: writer.
|
|
2970
|
+
index: await writer.processTextureAsync( material.thicknessMap ),
|
|
2758
2971
|
texCoord: material.thicknessMap.channel
|
|
2759
2972
|
};
|
|
2760
2973
|
writer.applyTextureTransform( thicknessMapDef, material.thicknessMap );
|
|
@@ -2762,7 +2975,12 @@ class GLTFMaterialsVolumeExtension {
|
|
|
2762
2975
|
|
|
2763
2976
|
}
|
|
2764
2977
|
|
|
2765
|
-
|
|
2978
|
+
if ( material.attenuationDistance !== Infinity ) {
|
|
2979
|
+
|
|
2980
|
+
extensionDef.attenuationDistance = material.attenuationDistance;
|
|
2981
|
+
|
|
2982
|
+
}
|
|
2983
|
+
|
|
2766
2984
|
extensionDef.attenuationColor = material.attenuationColor.toArray();
|
|
2767
2985
|
|
|
2768
2986
|
materialDef.extensions = materialDef.extensions || {};
|
|
@@ -2778,6 +2996,8 @@ class GLTFMaterialsVolumeExtension {
|
|
|
2778
2996
|
* Materials ior Extension
|
|
2779
2997
|
*
|
|
2780
2998
|
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_ior
|
|
2999
|
+
*
|
|
3000
|
+
* @private
|
|
2781
3001
|
*/
|
|
2782
3002
|
class GLTFMaterialsIorExtension {
|
|
2783
3003
|
|
|
@@ -2788,7 +3008,7 @@ class GLTFMaterialsIorExtension {
|
|
|
2788
3008
|
|
|
2789
3009
|
}
|
|
2790
3010
|
|
|
2791
|
-
|
|
3011
|
+
async writeMaterialAsync( material, materialDef ) {
|
|
2792
3012
|
|
|
2793
3013
|
if ( ! material.isMeshPhysicalMaterial || material.ior === 1.5 ) return;
|
|
2794
3014
|
|
|
@@ -2812,6 +3032,8 @@ class GLTFMaterialsIorExtension {
|
|
|
2812
3032
|
* Materials specular Extension
|
|
2813
3033
|
*
|
|
2814
3034
|
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_specular
|
|
3035
|
+
*
|
|
3036
|
+
* @private
|
|
2815
3037
|
*/
|
|
2816
3038
|
class GLTFMaterialsSpecularExtension {
|
|
2817
3039
|
|
|
@@ -2822,7 +3044,7 @@ class GLTFMaterialsSpecularExtension {
|
|
|
2822
3044
|
|
|
2823
3045
|
}
|
|
2824
3046
|
|
|
2825
|
-
|
|
3047
|
+
async writeMaterialAsync( material, materialDef ) {
|
|
2826
3048
|
|
|
2827
3049
|
if ( ! material.isMeshPhysicalMaterial || ( material.specularIntensity === 1.0 &&
|
|
2828
3050
|
material.specularColor.equals( DEFAULT_SPECULAR_COLOR ) &&
|
|
@@ -2836,7 +3058,7 @@ class GLTFMaterialsSpecularExtension {
|
|
|
2836
3058
|
if ( material.specularIntensityMap ) {
|
|
2837
3059
|
|
|
2838
3060
|
const specularIntensityMapDef = {
|
|
2839
|
-
index: writer.
|
|
3061
|
+
index: await writer.processTextureAsync( material.specularIntensityMap ),
|
|
2840
3062
|
texCoord: material.specularIntensityMap.channel
|
|
2841
3063
|
};
|
|
2842
3064
|
writer.applyTextureTransform( specularIntensityMapDef, material.specularIntensityMap );
|
|
@@ -2847,7 +3069,7 @@ class GLTFMaterialsSpecularExtension {
|
|
|
2847
3069
|
if ( material.specularColorMap ) {
|
|
2848
3070
|
|
|
2849
3071
|
const specularColorMapDef = {
|
|
2850
|
-
index: writer.
|
|
3072
|
+
index: await writer.processTextureAsync( material.specularColorMap ),
|
|
2851
3073
|
texCoord: material.specularColorMap.channel
|
|
2852
3074
|
};
|
|
2853
3075
|
writer.applyTextureTransform( specularColorMapDef, material.specularColorMap );
|
|
@@ -2871,6 +3093,8 @@ class GLTFMaterialsSpecularExtension {
|
|
|
2871
3093
|
* Sheen Materials Extension
|
|
2872
3094
|
*
|
|
2873
3095
|
* Specification: https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_materials_sheen
|
|
3096
|
+
*
|
|
3097
|
+
* @private
|
|
2874
3098
|
*/
|
|
2875
3099
|
class GLTFMaterialsSheenExtension {
|
|
2876
3100
|
|
|
@@ -2881,7 +3105,7 @@ class GLTFMaterialsSheenExtension {
|
|
|
2881
3105
|
|
|
2882
3106
|
}
|
|
2883
3107
|
|
|
2884
|
-
|
|
3108
|
+
async writeMaterialAsync( material, materialDef ) {
|
|
2885
3109
|
|
|
2886
3110
|
if ( ! material.isMeshPhysicalMaterial || material.sheen == 0.0 ) return;
|
|
2887
3111
|
|
|
@@ -2893,7 +3117,7 @@ class GLTFMaterialsSheenExtension {
|
|
|
2893
3117
|
if ( material.sheenRoughnessMap ) {
|
|
2894
3118
|
|
|
2895
3119
|
const sheenRoughnessMapDef = {
|
|
2896
|
-
index: writer.
|
|
3120
|
+
index: await writer.processTextureAsync( material.sheenRoughnessMap ),
|
|
2897
3121
|
texCoord: material.sheenRoughnessMap.channel
|
|
2898
3122
|
};
|
|
2899
3123
|
writer.applyTextureTransform( sheenRoughnessMapDef, material.sheenRoughnessMap );
|
|
@@ -2904,7 +3128,7 @@ class GLTFMaterialsSheenExtension {
|
|
|
2904
3128
|
if ( material.sheenColorMap ) {
|
|
2905
3129
|
|
|
2906
3130
|
const sheenColorMapDef = {
|
|
2907
|
-
index: writer.
|
|
3131
|
+
index: await writer.processTextureAsync( material.sheenColorMap ),
|
|
2908
3132
|
texCoord: material.sheenColorMap.channel
|
|
2909
3133
|
};
|
|
2910
3134
|
writer.applyTextureTransform( sheenColorMapDef, material.sheenColorMap );
|
|
@@ -2928,6 +3152,8 @@ class GLTFMaterialsSheenExtension {
|
|
|
2928
3152
|
* Anisotropy Materials Extension
|
|
2929
3153
|
*
|
|
2930
3154
|
* Specification: https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_materials_anisotropy
|
|
3155
|
+
*
|
|
3156
|
+
* @private
|
|
2931
3157
|
*/
|
|
2932
3158
|
class GLTFMaterialsAnisotropyExtension {
|
|
2933
3159
|
|
|
@@ -2938,7 +3164,7 @@ class GLTFMaterialsAnisotropyExtension {
|
|
|
2938
3164
|
|
|
2939
3165
|
}
|
|
2940
3166
|
|
|
2941
|
-
|
|
3167
|
+
async writeMaterialAsync( material, materialDef ) {
|
|
2942
3168
|
|
|
2943
3169
|
if ( ! material.isMeshPhysicalMaterial || material.anisotropy == 0.0 ) return;
|
|
2944
3170
|
|
|
@@ -2949,7 +3175,7 @@ class GLTFMaterialsAnisotropyExtension {
|
|
|
2949
3175
|
|
|
2950
3176
|
if ( material.anisotropyMap ) {
|
|
2951
3177
|
|
|
2952
|
-
const anisotropyMapDef = { index: writer.
|
|
3178
|
+
const anisotropyMapDef = { index: await writer.processTextureAsync( material.anisotropyMap ) };
|
|
2953
3179
|
writer.applyTextureTransform( anisotropyMapDef, material.anisotropyMap );
|
|
2954
3180
|
extensionDef.anisotropyTexture = anisotropyMapDef;
|
|
2955
3181
|
|
|
@@ -2971,6 +3197,8 @@ class GLTFMaterialsAnisotropyExtension {
|
|
|
2971
3197
|
* Materials Emissive Strength Extension
|
|
2972
3198
|
*
|
|
2973
3199
|
* Specification: https://github.com/KhronosGroup/glTF/blob/5768b3ce0ef32bc39cdf1bef10b948586635ead3/extensions/2.0/Khronos/KHR_materials_emissive_strength/README.md
|
|
3200
|
+
*
|
|
3201
|
+
* @private
|
|
2974
3202
|
*/
|
|
2975
3203
|
class GLTFMaterialsEmissiveStrengthExtension {
|
|
2976
3204
|
|
|
@@ -2981,7 +3209,7 @@ class GLTFMaterialsEmissiveStrengthExtension {
|
|
|
2981
3209
|
|
|
2982
3210
|
}
|
|
2983
3211
|
|
|
2984
|
-
|
|
3212
|
+
async writeMaterialAsync( material, materialDef ) {
|
|
2985
3213
|
|
|
2986
3214
|
if ( ! material.isMeshStandardMaterial || material.emissiveIntensity === 1.0 ) return;
|
|
2987
3215
|
|
|
@@ -3006,6 +3234,8 @@ class GLTFMaterialsEmissiveStrengthExtension {
|
|
|
3006
3234
|
* Materials bump Extension
|
|
3007
3235
|
*
|
|
3008
3236
|
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/EXT_materials_bump
|
|
3237
|
+
*
|
|
3238
|
+
* @private
|
|
3009
3239
|
*/
|
|
3010
3240
|
class GLTFMaterialsBumpExtension {
|
|
3011
3241
|
|
|
@@ -3016,7 +3246,7 @@ class GLTFMaterialsBumpExtension {
|
|
|
3016
3246
|
|
|
3017
3247
|
}
|
|
3018
3248
|
|
|
3019
|
-
|
|
3249
|
+
async writeMaterialAsync( material, materialDef ) {
|
|
3020
3250
|
|
|
3021
3251
|
if ( ! material.isMeshStandardMaterial || (
|
|
3022
3252
|
material.bumpScale === 1 &&
|
|
@@ -3030,7 +3260,7 @@ class GLTFMaterialsBumpExtension {
|
|
|
3030
3260
|
if ( material.bumpMap ) {
|
|
3031
3261
|
|
|
3032
3262
|
const bumpMapDef = {
|
|
3033
|
-
index: writer.
|
|
3263
|
+
index: await writer.processTextureAsync( material.bumpMap ),
|
|
3034
3264
|
texCoord: material.bumpMap.channel
|
|
3035
3265
|
};
|
|
3036
3266
|
writer.applyTextureTransform( bumpMapDef, material.bumpMap );
|
|
@@ -3053,6 +3283,8 @@ class GLTFMaterialsBumpExtension {
|
|
|
3053
3283
|
* GPU Instancing Extension
|
|
3054
3284
|
*
|
|
3055
3285
|
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/EXT_mesh_gpu_instancing
|
|
3286
|
+
*
|
|
3287
|
+
* @private
|
|
3056
3288
|
*/
|
|
3057
3289
|
class GLTFMeshGpuInstancing {
|
|
3058
3290
|
|
|
@@ -3112,6 +3344,8 @@ class GLTFMeshGpuInstancing {
|
|
|
3112
3344
|
|
|
3113
3345
|
/**
|
|
3114
3346
|
* Static utility functions
|
|
3347
|
+
*
|
|
3348
|
+
* @private
|
|
3115
3349
|
*/
|
|
3116
3350
|
GLTFExporter.Utils = {
|
|
3117
3351
|
|
|
@@ -3302,8 +3536,60 @@ GLTFExporter.Utils = {
|
|
|
3302
3536
|
|
|
3303
3537
|
return clip;
|
|
3304
3538
|
|
|
3539
|
+
},
|
|
3540
|
+
|
|
3541
|
+
toFloat32BufferAttribute: function ( srcAttribute ) {
|
|
3542
|
+
|
|
3543
|
+
const dstAttribute = new BufferAttribute( new Float32Array( srcAttribute.count * srcAttribute.itemSize ), srcAttribute.itemSize, false );
|
|
3544
|
+
|
|
3545
|
+
if ( ! srcAttribute.normalized && ! srcAttribute.isInterleavedBufferAttribute ) {
|
|
3546
|
+
|
|
3547
|
+
dstAttribute.array.set( srcAttribute.array );
|
|
3548
|
+
|
|
3549
|
+
return dstAttribute;
|
|
3550
|
+
|
|
3551
|
+
}
|
|
3552
|
+
|
|
3553
|
+
for ( let i = 0, il = srcAttribute.count; i < il; i ++ ) {
|
|
3554
|
+
|
|
3555
|
+
for ( let j = 0; j < srcAttribute.itemSize; j ++ ) {
|
|
3556
|
+
|
|
3557
|
+
dstAttribute.setComponent( i, j, srcAttribute.getComponent( i, j ) );
|
|
3558
|
+
|
|
3559
|
+
}
|
|
3560
|
+
|
|
3561
|
+
}
|
|
3562
|
+
|
|
3563
|
+
return dstAttribute;
|
|
3564
|
+
|
|
3305
3565
|
}
|
|
3306
3566
|
|
|
3307
3567
|
};
|
|
3308
3568
|
|
|
3569
|
+
/**
|
|
3570
|
+
* Export options of `GLTFExporter`.
|
|
3571
|
+
*
|
|
3572
|
+
* @typedef {Object} GLTFExporter~Options
|
|
3573
|
+
* @property {boolean} [trs=false] - Export position, rotation and scale instead of matrix per node.
|
|
3574
|
+
* @property {boolean} [onlyVisible=true] - Export only visible 3D objects.
|
|
3575
|
+
* @property {boolean} [binary=false] - Export in binary (.glb) format, returning an ArrayBuffer.
|
|
3576
|
+
* @property {number} [maxTextureSize=Infinity] - Restricts the image maximum size (both width and height) to the given value.
|
|
3577
|
+
* @property {Array<AnimationClip>} [animations=[]] - List of animations to be included in the export.
|
|
3578
|
+
* @property {boolean} [includeCustomExtensions=false] - Export custom glTF extensions defined on an object's `userData.gltfExtensions` property.
|
|
3579
|
+
**/
|
|
3580
|
+
|
|
3581
|
+
/**
|
|
3582
|
+
* onDone callback of `GLTFExporter`.
|
|
3583
|
+
*
|
|
3584
|
+
* @callback GLTFExporter~OnDone
|
|
3585
|
+
* @param {ArrayBuffer|string} result - The generated .gltf (JSON) or .glb (binary).
|
|
3586
|
+
*/
|
|
3587
|
+
|
|
3588
|
+
/**
|
|
3589
|
+
* onError callback of `GLTFExporter`.
|
|
3590
|
+
*
|
|
3591
|
+
* @callback GLTFExporter~OnError
|
|
3592
|
+
* @param {Error} error - The error object.
|
|
3593
|
+
*/
|
|
3594
|
+
|
|
3309
3595
|
export { GLTFExporter };
|