@onerjs/core 8.41.5 → 8.41.7
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/Animations/animation.d.ts +6 -2
- package/Animations/animation.js +28 -4
- package/Animations/animation.js.map +1 -1
- package/Animations/animationGroup.d.ts +2 -1
- package/Animations/animationGroup.js +3 -2
- package/Animations/animationGroup.js.map +1 -1
- package/Animations/animatorAvatar.d.ts +161 -0
- package/Animations/animatorAvatar.js +573 -0
- package/Animations/animatorAvatar.js.map +1 -0
- package/Animations/index.d.ts +1 -0
- package/Animations/index.js +1 -0
- package/Animations/index.js.map +1 -1
- package/AudioV2/webAudio/webAudioSoundSource.d.ts +2 -2
- package/AudioV2/webAudio/webAudioSoundSource.js +12 -2
- package/AudioV2/webAudio/webAudioSoundSource.js.map +1 -1
- package/Bones/index.d.ts +1 -0
- package/Bones/index.js +1 -0
- package/Bones/index.js.map +1 -1
- package/Bones/skeleton.d.ts +13 -0
- package/Bones/skeleton.functions.d.ts +26 -0
- package/Bones/skeleton.functions.js +91 -0
- package/Bones/skeleton.functions.js.map +1 -0
- package/Bones/skeleton.js +26 -0
- package/Bones/skeleton.js.map +1 -1
- package/Cameras/Inputs/geospatialCameraPointersInput.d.ts +16 -0
- package/Cameras/Inputs/geospatialCameraPointersInput.js +19 -3
- package/Cameras/Inputs/geospatialCameraPointersInput.js.map +1 -1
- package/Cameras/Limits/geospatialLimits.d.ts +0 -6
- package/Cameras/Limits/geospatialLimits.js +0 -6
- package/Cameras/Limits/geospatialLimits.js.map +1 -1
- package/Cameras/geospatialCamera.d.ts +5 -0
- package/Cameras/geospatialCamera.js +54 -25
- package/Cameras/geospatialCamera.js.map +1 -1
- package/Cameras/geospatialCameraMovement.d.ts +8 -1
- package/Cameras/geospatialCameraMovement.js +29 -8
- package/Cameras/geospatialCameraMovement.js.map +1 -1
- package/Collisions/gpuPicker.d.ts +11 -0
- package/Collisions/gpuPicker.js +148 -19
- package/Collisions/gpuPicker.js.map +1 -1
- package/Debug/skeletonViewer.d.ts +4 -8
- package/Debug/skeletonViewer.js +13 -22
- package/Debug/skeletonViewer.js.map +1 -1
- package/Engines/Extensions/engine.multiview.d.ts +2 -0
- package/Engines/Extensions/engine.multiview.js +7 -3
- package/Engines/Extensions/engine.multiview.js.map +1 -1
- package/Engines/abstractEngine.d.ts +2 -2
- package/Engines/abstractEngine.js +2 -2
- package/Engines/abstractEngine.js.map +1 -1
- package/Engines/constants.d.ts +4 -0
- package/Engines/constants.js +4 -0
- package/Engines/constants.js.map +1 -1
- package/Engines/webgpuEngine.d.ts +1 -4
- package/Engines/webgpuEngine.js +8 -6
- package/Engines/webgpuEngine.js.map +1 -1
- package/FrameGraph/frameGraphContext.js +1 -1
- package/FrameGraph/frameGraphContext.js.map +1 -1
- package/FrameGraph/frameGraphRenderContext.js +2 -2
- package/FrameGraph/frameGraphRenderContext.js.map +1 -1
- package/Instrumentation/engineInstrumentation.js +2 -1
- package/Instrumentation/engineInstrumentation.js.map +1 -1
- package/Layers/effectLayer.js +1 -3
- package/Layers/effectLayer.js.map +1 -1
- package/Lights/Shadows/cascadedShadowGenerator.js +2 -2
- package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
- package/Lights/Shadows/shadowGenerator.js +3 -4
- package/Lights/Shadows/shadowGenerator.js.map +1 -1
- package/Lights/lightingVolume.js +1 -1
- package/Lights/lightingVolume.js.map +1 -1
- package/Materials/Background/backgroundMaterial.js +37 -2
- package/Materials/Background/backgroundMaterial.js.map +1 -1
- package/Materials/GaussianSplatting/gaussianSplattingGpuPickingMaterialPlugin.d.ts +109 -0
- package/Materials/GaussianSplatting/gaussianSplattingGpuPickingMaterialPlugin.js +210 -0
- package/Materials/GaussianSplatting/gaussianSplattingGpuPickingMaterialPlugin.js.map +1 -0
- package/Materials/GaussianSplatting/gaussianSplattingMaterial.d.ts +1 -0
- package/Materials/GaussianSplatting/gaussianSplattingMaterial.js +71 -15
- package/Materials/GaussianSplatting/gaussianSplattingMaterial.js.map +1 -1
- package/Materials/GaussianSplatting/gaussianSplattingSolidColorMaterialPlugin.d.ts +86 -0
- package/Materials/GaussianSplatting/gaussianSplattingSolidColorMaterialPlugin.js +161 -0
- package/Materials/GaussianSplatting/gaussianSplattingSolidColorMaterialPlugin.js.map +1 -0
- package/Materials/GreasedLine/greasedLinePluginMaterial.js +0 -6
- package/Materials/GreasedLine/greasedLinePluginMaterial.js.map +1 -1
- package/Materials/GreasedLine/greasedLinePluginMaterialShadersGLSL.js +0 -1
- package/Materials/GreasedLine/greasedLinePluginMaterialShadersGLSL.js.map +1 -1
- package/Materials/GreasedLine/greasedLinePluginMaterialShadersWGSL.js +0 -1
- package/Materials/GreasedLine/greasedLinePluginMaterialShadersWGSL.js.map +1 -1
- package/Materials/Node/Blocks/Dual/clipPlanesBlock.d.ts +14 -0
- package/Materials/Node/Blocks/Dual/clipPlanesBlock.js +14 -0
- package/Materials/Node/Blocks/Dual/clipPlanesBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/currentScreenBlock.d.ts +20 -1
- package/Materials/Node/Blocks/Dual/currentScreenBlock.js +20 -1
- package/Materials/Node/Blocks/Dual/currentScreenBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/depthSourceBlock.d.ts +13 -0
- package/Materials/Node/Blocks/Dual/depthSourceBlock.js +13 -0
- package/Materials/Node/Blocks/Dual/depthSourceBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/fogBlock.d.ts +21 -0
- package/Materials/Node/Blocks/Dual/fogBlock.js +21 -0
- package/Materials/Node/Blocks/Dual/fogBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/imageSourceBlock.d.ts +21 -0
- package/Materials/Node/Blocks/Dual/imageSourceBlock.js +21 -0
- package/Materials/Node/Blocks/Dual/imageSourceBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/lightBlock.d.ts +38 -0
- package/Materials/Node/Blocks/Dual/lightBlock.js +38 -0
- package/Materials/Node/Blocks/Dual/lightBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.d.ts +29 -0
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js +29 -0
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/reflectionTextureBlock.d.ts +5 -0
- package/Materials/Node/Blocks/Dual/reflectionTextureBlock.js +5 -0
- package/Materials/Node/Blocks/Dual/reflectionTextureBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/sceneDepthBlock.d.ts +16 -0
- package/Materials/Node/Blocks/Dual/sceneDepthBlock.js +16 -0
- package/Materials/Node/Blocks/Dual/sceneDepthBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/smartFilterTextureBlock.d.ts +16 -0
- package/Materials/Node/Blocks/Dual/smartFilterTextureBlock.js +16 -0
- package/Materials/Node/Blocks/Dual/smartFilterTextureBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/textureBlock.d.ts +34 -0
- package/Materials/Node/Blocks/Dual/textureBlock.js +34 -0
- package/Materials/Node/Blocks/Dual/textureBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/TBNBlock.d.ts +17 -0
- package/Materials/Node/Blocks/Fragment/TBNBlock.js +17 -2
- package/Materials/Node/Blocks/Fragment/TBNBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/ambientOcclusionBlock.d.ts +7 -0
- package/Materials/Node/Blocks/Fragment/ambientOcclusionBlock.js +7 -0
- package/Materials/Node/Blocks/Fragment/ambientOcclusionBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.d.ts +21 -0
- package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js +21 -0
- package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/heightToNormalBlock.d.ts +10 -0
- package/Materials/Node/Blocks/Fragment/heightToNormalBlock.js +10 -0
- package/Materials/Node/Blocks/Fragment/heightToNormalBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/imageProcessingBlock.d.ts +28 -0
- package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js +28 -0
- package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/perturbNormalBlock.d.ts +30 -0
- package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js +30 -1
- package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/screenSizeBlock.d.ts +4 -0
- package/Materials/Node/Blocks/Fragment/screenSizeBlock.js +4 -0
- package/Materials/Node/Blocks/Fragment/screenSizeBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/screenSpaceBlock.d.ts +5 -0
- package/Materials/Node/Blocks/Fragment/screenSpaceBlock.js +5 -0
- package/Materials/Node/Blocks/Fragment/screenSpaceBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/twirlBlock.d.ts +3 -0
- package/Materials/Node/Blocks/Fragment/twirlBlock.js +3 -0
- package/Materials/Node/Blocks/Fragment/twirlBlock.js.map +1 -1
- package/Materials/Node/Blocks/GaussianSplatting/splatReaderBlock.d.ts +6 -0
- package/Materials/Node/Blocks/GaussianSplatting/splatReaderBlock.js +6 -0
- package/Materials/Node/Blocks/GaussianSplatting/splatReaderBlock.js.map +1 -1
- package/Materials/Node/Blocks/Input/inputBlock.d.ts +16 -0
- package/Materials/Node/Blocks/Input/inputBlock.js +16 -1
- package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
- package/Materials/Node/Blocks/Input/prePassTextureBlock.d.ts +5 -0
- package/Materials/Node/Blocks/Input/prePassTextureBlock.js +5 -0
- package/Materials/Node/Blocks/Input/prePassTextureBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/anisotropyBlock.d.ts +10 -0
- package/Materials/Node/Blocks/PBR/anisotropyBlock.js +10 -1
- package/Materials/Node/Blocks/PBR/anisotropyBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/clearCoatBlock.d.ts +23 -0
- package/Materials/Node/Blocks/PBR/clearCoatBlock.js +23 -1
- package/Materials/Node/Blocks/PBR/clearCoatBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/iridescenceBlock.d.ts +17 -0
- package/Materials/Node/Blocks/PBR/iridescenceBlock.js +17 -0
- package/Materials/Node/Blocks/PBR/iridescenceBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.d.ts +41 -0
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +41 -0
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/reflectionBlock.d.ts +21 -0
- package/Materials/Node/Blocks/PBR/reflectionBlock.js +21 -0
- package/Materials/Node/Blocks/PBR/reflectionBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/refractionBlock.d.ts +29 -0
- package/Materials/Node/Blocks/PBR/refractionBlock.js +29 -0
- package/Materials/Node/Blocks/PBR/refractionBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/sheenBlock.d.ts +14 -0
- package/Materials/Node/Blocks/PBR/sheenBlock.js +14 -0
- package/Materials/Node/Blocks/PBR/sheenBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/subSurfaceBlock.d.ts +7 -0
- package/Materials/Node/Blocks/PBR/subSurfaceBlock.js +7 -0
- package/Materials/Node/Blocks/PBR/subSurfaceBlock.js.map +1 -1
- package/Materials/Node/Blocks/Particle/particleTextureBlock.d.ts +23 -0
- package/Materials/Node/Blocks/Particle/particleTextureBlock.js +23 -0
- package/Materials/Node/Blocks/Particle/particleTextureBlock.js.map +1 -1
- package/Materials/Node/Blocks/Teleport/teleportInBlock.d.ts +6 -0
- package/Materials/Node/Blocks/Teleport/teleportInBlock.js +6 -0
- package/Materials/Node/Blocks/Teleport/teleportInBlock.js.map +1 -1
- package/Materials/Node/Blocks/Teleport/teleportOutBlock.d.ts +17 -0
- package/Materials/Node/Blocks/Teleport/teleportOutBlock.js +17 -0
- package/Materials/Node/Blocks/Teleport/teleportOutBlock.js.map +1 -1
- package/Materials/Node/Blocks/Vertex/bonesBlock.d.ts +22 -0
- package/Materials/Node/Blocks/Vertex/bonesBlock.js +22 -0
- package/Materials/Node/Blocks/Vertex/bonesBlock.js.map +1 -1
- package/Materials/Node/Blocks/Vertex/instancesBlock.d.ts +13 -0
- package/Materials/Node/Blocks/Vertex/instancesBlock.js +13 -0
- package/Materials/Node/Blocks/Vertex/instancesBlock.js.map +1 -1
- package/Materials/Node/Blocks/Vertex/lightInformationBlock.d.ts +20 -0
- package/Materials/Node/Blocks/Vertex/lightInformationBlock.js +20 -0
- package/Materials/Node/Blocks/Vertex/lightInformationBlock.js.map +1 -1
- package/Materials/Node/Blocks/Vertex/morphTargetsBlock.d.ts +27 -0
- package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js +27 -0
- package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js.map +1 -1
- package/Materials/Node/Blocks/clampBlock.d.ts +10 -0
- package/Materials/Node/Blocks/clampBlock.js +10 -0
- package/Materials/Node/Blocks/clampBlock.js.map +1 -1
- package/Materials/Node/Blocks/cloudBlock.d.ts +10 -0
- package/Materials/Node/Blocks/cloudBlock.js +10 -0
- package/Materials/Node/Blocks/cloudBlock.js.map +1 -1
- package/Materials/Node/Blocks/colorMergerBlock.d.ts +10 -0
- package/Materials/Node/Blocks/colorMergerBlock.js +10 -0
- package/Materials/Node/Blocks/colorMergerBlock.js.map +1 -1
- package/Materials/Node/Blocks/conditionalBlock.d.ts +14 -0
- package/Materials/Node/Blocks/conditionalBlock.js +14 -0
- package/Materials/Node/Blocks/conditionalBlock.js.map +1 -1
- package/Materials/Node/Blocks/curveBlock.d.ts +10 -0
- package/Materials/Node/Blocks/curveBlock.js +10 -0
- package/Materials/Node/Blocks/curveBlock.js.map +1 -1
- package/Materials/Node/Blocks/customBlock.d.ts +10 -0
- package/Materials/Node/Blocks/customBlock.js +10 -0
- package/Materials/Node/Blocks/customBlock.js.map +1 -1
- package/Materials/Node/Blocks/debugBlock.d.ts +10 -0
- package/Materials/Node/Blocks/debugBlock.js +10 -0
- package/Materials/Node/Blocks/debugBlock.js.map +1 -1
- package/Materials/Node/Blocks/fresnelBlock.d.ts +4 -0
- package/Materials/Node/Blocks/fresnelBlock.js +4 -0
- package/Materials/Node/Blocks/fresnelBlock.js.map +1 -1
- package/Materials/Node/Blocks/gradientBlock.d.ts +10 -0
- package/Materials/Node/Blocks/gradientBlock.js +10 -0
- package/Materials/Node/Blocks/gradientBlock.js.map +1 -1
- package/Materials/Node/Blocks/loopBlock.d.ts +10 -0
- package/Materials/Node/Blocks/loopBlock.js +10 -0
- package/Materials/Node/Blocks/loopBlock.js.map +1 -1
- package/Materials/Node/Blocks/matrixBuilderBlock.d.ts +1 -0
- package/Materials/Node/Blocks/matrixBuilderBlock.js +1 -0
- package/Materials/Node/Blocks/matrixBuilderBlock.js.map +1 -1
- package/Materials/Node/Blocks/meshAttributeExistsBlock.d.ts +10 -0
- package/Materials/Node/Blocks/meshAttributeExistsBlock.js +10 -0
- package/Materials/Node/Blocks/meshAttributeExistsBlock.js.map +1 -1
- package/Materials/Node/Blocks/pannerBlock.d.ts +5 -0
- package/Materials/Node/Blocks/pannerBlock.js +5 -0
- package/Materials/Node/Blocks/pannerBlock.js.map +1 -1
- package/Materials/Node/Blocks/remapBlock.d.ts +10 -0
- package/Materials/Node/Blocks/remapBlock.js +10 -0
- package/Materials/Node/Blocks/remapBlock.js.map +1 -1
- package/Materials/Node/Blocks/rotate2dBlock.d.ts +1 -0
- package/Materials/Node/Blocks/rotate2dBlock.js +1 -0
- package/Materials/Node/Blocks/rotate2dBlock.js.map +1 -1
- package/Materials/Node/Blocks/transformBlock.d.ts +10 -0
- package/Materials/Node/Blocks/transformBlock.js +10 -0
- package/Materials/Node/Blocks/transformBlock.js.map +1 -1
- package/Materials/Node/Blocks/triPlanarBlock.d.ts +22 -0
- package/Materials/Node/Blocks/triPlanarBlock.js +22 -0
- package/Materials/Node/Blocks/triPlanarBlock.js.map +1 -1
- package/Materials/Node/Blocks/trigonometryBlock.d.ts +10 -0
- package/Materials/Node/Blocks/trigonometryBlock.js +10 -0
- package/Materials/Node/Blocks/trigonometryBlock.js.map +1 -1
- package/Materials/Node/Blocks/vectorMergerBlock.d.ts +10 -0
- package/Materials/Node/Blocks/vectorMergerBlock.js +10 -0
- package/Materials/Node/Blocks/vectorMergerBlock.js.map +1 -1
- package/Materials/Node/Blocks/viewDirectionBlock.d.ts +5 -0
- package/Materials/Node/Blocks/viewDirectionBlock.js +5 -0
- package/Materials/Node/Blocks/viewDirectionBlock.js.map +1 -1
- package/Materials/Node/Blocks/waveBlock.d.ts +10 -0
- package/Materials/Node/Blocks/waveBlock.js +10 -0
- package/Materials/Node/Blocks/waveBlock.js.map +1 -1
- package/Materials/Node/Blocks/worleyNoise3DBlock.d.ts +1 -0
- package/Materials/Node/Blocks/worleyNoise3DBlock.js +1 -0
- package/Materials/Node/Blocks/worleyNoise3DBlock.js.map +1 -1
- package/Materials/Node/nodeMaterial.d.ts +13 -0
- package/Materials/Node/nodeMaterial.js +14 -2
- package/Materials/Node/nodeMaterial.js.map +1 -1
- package/Materials/Node/nodeMaterialBlock.d.ts +0 -3
- package/Materials/Node/nodeMaterialBlock.js +1 -6
- package/Materials/Node/nodeMaterialBlock.js.map +1 -1
- package/Materials/Node/nodeMaterialBlockConnectionPoint.js +1 -2
- package/Materials/Node/nodeMaterialBlockConnectionPoint.js.map +1 -1
- package/Materials/Textures/Procedurals/proceduralTexture.js +1 -1
- package/Materials/Textures/Procedurals/proceduralTexture.js.map +1 -1
- package/Materials/Textures/mirrorTexture.js +1 -1
- package/Materials/Textures/mirrorTexture.js.map +1 -1
- package/Materials/index.d.ts +2 -0
- package/Materials/index.js +2 -0
- package/Materials/index.js.map +1 -1
- package/Maths/math.constants.d.ts +2 -1
- package/Maths/math.constants.js +3 -2
- package/Maths/math.constants.js.map +1 -1
- package/Meshes/Builders/capsuleBuilder.js +0 -3
- package/Meshes/Builders/capsuleBuilder.js.map +1 -1
- package/Meshes/Builders/cylinderBuilder.d.ts +1 -1
- package/Meshes/Builders/cylinderBuilder.js +1 -2
- package/Meshes/Builders/cylinderBuilder.js.map +1 -1
- package/Meshes/Builders/decalBuilder.js +2 -0
- package/Meshes/Builders/decalBuilder.js.map +1 -1
- package/Meshes/Builders/discBuilder.js +0 -1
- package/Meshes/Builders/discBuilder.js.map +1 -1
- package/Meshes/Builders/groundBuilder.d.ts +50 -54
- package/Meshes/Builders/groundBuilder.js +50 -54
- package/Meshes/Builders/groundBuilder.js.map +1 -1
- package/Meshes/Builders/tiledBoxBuilder.d.ts +0 -26
- package/Meshes/Builders/tiledBoxBuilder.js +0 -26
- package/Meshes/Builders/tiledBoxBuilder.js.map +1 -1
- package/Meshes/Builders/tiledPlaneBuilder.d.ts +0 -25
- package/Meshes/Builders/tiledPlaneBuilder.js +0 -25
- package/Meshes/Builders/tiledPlaneBuilder.js.map +1 -1
- package/Meshes/Builders/torusBuilder.d.ts +0 -13
- package/Meshes/Builders/torusBuilder.js +0 -13
- package/Meshes/Builders/torusBuilder.js.map +1 -1
- package/Meshes/Builders/torusKnotBuilder.d.ts +0 -19
- package/Meshes/Builders/torusKnotBuilder.js +0 -19
- package/Meshes/Builders/torusKnotBuilder.js.map +1 -1
- package/Meshes/Compression/dracoCompressionWorker.js.map +1 -1
- package/Meshes/Compression/dracoDecoder.js.map +1 -1
- package/Meshes/Compression/dracoDecoder.types.d.ts +11 -0
- package/Meshes/Compression/dracoDecoder.types.js.map +1 -1
- package/Meshes/Compression/dracoEncoder.js.map +1 -1
- package/Meshes/Compression/meshoptCompression.js +0 -2
- package/Meshes/Compression/meshoptCompression.js.map +1 -1
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.js +17 -1
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.js.map +1 -1
- package/Meshes/GreasedLine/greasedLineRibbonMesh.js +0 -8
- package/Meshes/GreasedLine/greasedLineRibbonMesh.js.map +1 -1
- package/Meshes/Node/Blocks/Instances/instantiateBaseBlock.d.ts +1 -0
- package/Meshes/Node/Blocks/Instances/instantiateBaseBlock.js +1 -0
- package/Meshes/Node/Blocks/Instances/instantiateBaseBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Instances/instantiateOnFacesBlock.d.ts +1 -0
- package/Meshes/Node/Blocks/Instances/instantiateOnFacesBlock.js +1 -0
- package/Meshes/Node/Blocks/Instances/instantiateOnFacesBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Instances/instantiateOnVerticesBlock.d.ts +1 -0
- package/Meshes/Node/Blocks/Instances/instantiateOnVerticesBlock.js +1 -0
- package/Meshes/Node/Blocks/Instances/instantiateOnVerticesBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Instances/instantiateOnVolumeBlock.d.ts +1 -0
- package/Meshes/Node/Blocks/Instances/instantiateOnVolumeBlock.js +1 -0
- package/Meshes/Node/Blocks/Instances/instantiateOnVolumeBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Matrices/scalingBlock.d.ts +1 -0
- package/Meshes/Node/Blocks/Matrices/scalingBlock.js +1 -0
- package/Meshes/Node/Blocks/Matrices/scalingBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Matrices/translationBlock.d.ts +1 -0
- package/Meshes/Node/Blocks/Matrices/translationBlock.js +1 -0
- package/Meshes/Node/Blocks/Matrices/translationBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Set/aggregatorBlock.d.ts +1 -0
- package/Meshes/Node/Blocks/Set/aggregatorBlock.js +1 -0
- package/Meshes/Node/Blocks/Set/aggregatorBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Set/latticeBlock.d.ts +1 -0
- package/Meshes/Node/Blocks/Set/latticeBlock.js +1 -0
- package/Meshes/Node/Blocks/Set/latticeBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Set/setColorsBlock.d.ts +1 -0
- package/Meshes/Node/Blocks/Set/setColorsBlock.js +1 -0
- package/Meshes/Node/Blocks/Set/setColorsBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Set/setMaterialIDBlock.d.ts +1 -0
- package/Meshes/Node/Blocks/Set/setMaterialIDBlock.js +1 -0
- package/Meshes/Node/Blocks/Set/setMaterialIDBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Set/setNormalsBlock.d.ts +1 -0
- package/Meshes/Node/Blocks/Set/setNormalsBlock.js +1 -0
- package/Meshes/Node/Blocks/Set/setNormalsBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Set/setPositionsBlock.d.ts +1 -0
- package/Meshes/Node/Blocks/Set/setPositionsBlock.js +1 -0
- package/Meshes/Node/Blocks/Set/setPositionsBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Set/setTangentsBlock.d.ts +1 -0
- package/Meshes/Node/Blocks/Set/setTangentsBlock.js +1 -0
- package/Meshes/Node/Blocks/Set/setTangentsBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Set/setUVsBlock.d.ts +1 -0
- package/Meshes/Node/Blocks/Set/setUVsBlock.js +1 -0
- package/Meshes/Node/Blocks/Set/setUVsBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/boxBlock.d.ts +2 -0
- package/Meshes/Node/Blocks/Sources/boxBlock.js +2 -0
- package/Meshes/Node/Blocks/Sources/boxBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/capsuleBlock.d.ts +2 -0
- package/Meshes/Node/Blocks/Sources/capsuleBlock.js +2 -0
- package/Meshes/Node/Blocks/Sources/capsuleBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/cylinderBlock.d.ts +2 -0
- package/Meshes/Node/Blocks/Sources/cylinderBlock.js +2 -0
- package/Meshes/Node/Blocks/Sources/cylinderBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/discBlock.d.ts +2 -0
- package/Meshes/Node/Blocks/Sources/discBlock.js +2 -0
- package/Meshes/Node/Blocks/Sources/discBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/gridBlock.d.ts +2 -0
- package/Meshes/Node/Blocks/Sources/gridBlock.js +2 -0
- package/Meshes/Node/Blocks/Sources/gridBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/icoSphereBlock.d.ts +2 -0
- package/Meshes/Node/Blocks/Sources/icoSphereBlock.js +2 -0
- package/Meshes/Node/Blocks/Sources/icoSphereBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/meshBlock.d.ts +1 -0
- package/Meshes/Node/Blocks/Sources/meshBlock.js +1 -0
- package/Meshes/Node/Blocks/Sources/meshBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/planeBlock.d.ts +2 -0
- package/Meshes/Node/Blocks/Sources/planeBlock.js +2 -0
- package/Meshes/Node/Blocks/Sources/planeBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/pointListBlock.d.ts +2 -1
- package/Meshes/Node/Blocks/Sources/pointListBlock.js +2 -1
- package/Meshes/Node/Blocks/Sources/pointListBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/sphereBlock.d.ts +2 -0
- package/Meshes/Node/Blocks/Sources/sphereBlock.js +2 -0
- package/Meshes/Node/Blocks/Sources/sphereBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/torusBlock.d.ts +2 -0
- package/Meshes/Node/Blocks/Sources/torusBlock.js +2 -0
- package/Meshes/Node/Blocks/Sources/torusBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Teleport/teleportInBlock.d.ts +1 -0
- package/Meshes/Node/Blocks/Teleport/teleportInBlock.js +1 -0
- package/Meshes/Node/Blocks/Teleport/teleportInBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Teleport/teleportOutBlock.d.ts +3 -0
- package/Meshes/Node/Blocks/Teleport/teleportOutBlock.js +3 -0
- package/Meshes/Node/Blocks/Teleport/teleportOutBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Textures/geometryTextureBlock.d.ts +1 -0
- package/Meshes/Node/Blocks/Textures/geometryTextureBlock.js +1 -1
- package/Meshes/Node/Blocks/Textures/geometryTextureBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Textures/geometryTextureFetchBlock.d.ts +1 -0
- package/Meshes/Node/Blocks/Textures/geometryTextureFetchBlock.js +1 -0
- package/Meshes/Node/Blocks/Textures/geometryTextureFetchBlock.js.map +1 -1
- package/Meshes/Node/Blocks/booleanGeometryBlock.d.ts +1 -0
- package/Meshes/Node/Blocks/booleanGeometryBlock.js +1 -1
- package/Meshes/Node/Blocks/booleanGeometryBlock.js.map +1 -1
- package/Meshes/Node/Blocks/cleanGeometryBlock.d.ts +1 -0
- package/Meshes/Node/Blocks/cleanGeometryBlock.js +1 -0
- package/Meshes/Node/Blocks/cleanGeometryBlock.js.map +1 -1
- package/Meshes/Node/Blocks/conditionBlock.d.ts +2 -0
- package/Meshes/Node/Blocks/conditionBlock.js +2 -0
- package/Meshes/Node/Blocks/conditionBlock.js.map +1 -1
- package/Meshes/Node/Blocks/geometryClampBlock.d.ts +1 -0
- package/Meshes/Node/Blocks/geometryClampBlock.js +1 -0
- package/Meshes/Node/Blocks/geometryClampBlock.js.map +1 -1
- package/Meshes/Node/Blocks/geometryCollectionBlock.d.ts +1 -0
- package/Meshes/Node/Blocks/geometryCollectionBlock.js +1 -0
- package/Meshes/Node/Blocks/geometryCollectionBlock.js.map +1 -1
- package/Meshes/Node/Blocks/geometryCurveBlock.d.ts +2 -0
- package/Meshes/Node/Blocks/geometryCurveBlock.js +2 -0
- package/Meshes/Node/Blocks/geometryCurveBlock.js.map +1 -1
- package/Meshes/Node/Blocks/geometryEaseBlock.d.ts +2 -0
- package/Meshes/Node/Blocks/geometryEaseBlock.js +2 -0
- package/Meshes/Node/Blocks/geometryEaseBlock.js.map +1 -1
- package/Meshes/Node/Blocks/geometryInputBlock.d.ts +3 -0
- package/Meshes/Node/Blocks/geometryInputBlock.js +3 -0
- package/Meshes/Node/Blocks/geometryInputBlock.js.map +1 -1
- package/Meshes/Node/Blocks/geometryOptimizeBlock.d.ts +1 -0
- package/Meshes/Node/Blocks/geometryOptimizeBlock.js +1 -0
- package/Meshes/Node/Blocks/geometryOptimizeBlock.js.map +1 -1
- package/Meshes/Node/Blocks/geometryTransformBlock.d.ts +1 -0
- package/Meshes/Node/Blocks/geometryTransformBlock.js +1 -0
- package/Meshes/Node/Blocks/geometryTransformBlock.js.map +1 -1
- package/Meshes/Node/Blocks/geometryTrigonometryBlock.d.ts +2 -0
- package/Meshes/Node/Blocks/geometryTrigonometryBlock.js +2 -0
- package/Meshes/Node/Blocks/geometryTrigonometryBlock.js.map +1 -1
- package/Meshes/Node/Blocks/mappingBlock.d.ts +1 -0
- package/Meshes/Node/Blocks/mappingBlock.js +1 -0
- package/Meshes/Node/Blocks/mappingBlock.js.map +1 -1
- package/Meshes/Node/Blocks/mathBlock.d.ts +1 -0
- package/Meshes/Node/Blocks/mathBlock.js +1 -0
- package/Meshes/Node/Blocks/mathBlock.js.map +1 -1
- package/Meshes/Node/Blocks/mergeGeometryBlock.d.ts +1 -0
- package/Meshes/Node/Blocks/mergeGeometryBlock.js +1 -0
- package/Meshes/Node/Blocks/mergeGeometryBlock.js.map +1 -1
- package/Meshes/Node/Blocks/randomBlock.d.ts +2 -0
- package/Meshes/Node/Blocks/randomBlock.js +2 -0
- package/Meshes/Node/Blocks/randomBlock.js.map +1 -1
- package/Meshes/Node/Blocks/subdivideBlock.d.ts +1 -0
- package/Meshes/Node/Blocks/subdivideBlock.js +1 -0
- package/Meshes/Node/Blocks/subdivideBlock.js.map +1 -1
- package/Meshes/Node/Interfaces/nodeGeometryTextureData.d.ts +3 -0
- package/Meshes/Node/Interfaces/nodeGeometryTextureData.js.map +1 -1
- package/Meshes/Node/nodeGeometry.js +0 -2
- package/Meshes/Node/nodeGeometry.js.map +1 -1
- package/Meshes/Node/nodeGeometryBlockConnectionPoint.js +0 -1
- package/Meshes/Node/nodeGeometryBlockConnectionPoint.js.map +1 -1
- package/Meshes/Node/nodeGeometryBuildState.js +0 -1
- package/Meshes/Node/nodeGeometryBuildState.js.map +1 -1
- package/Meshes/WebGL/webGLDataBuffer.d.ts +2 -0
- package/Meshes/WebGL/webGLDataBuffer.js +2 -0
- package/Meshes/WebGL/webGLDataBuffer.js.map +1 -1
- package/Meshes/WebGPU/webgpuDataBuffer.d.ts +4 -0
- package/Meshes/WebGPU/webgpuDataBuffer.js +4 -0
- package/Meshes/WebGPU/webgpuDataBuffer.js.map +1 -1
- package/Meshes/abstractMesh.d.ts +1 -0
- package/Meshes/abstractMesh.decalMap.d.ts +1 -0
- package/Meshes/abstractMesh.decalMap.js.map +1 -1
- package/Meshes/abstractMesh.js +1 -6
- package/Meshes/abstractMesh.js.map +1 -1
- package/Meshes/csg.js +0 -6
- package/Meshes/csg.js.map +1 -1
- package/Meshes/csg2.js +1 -2
- package/Meshes/csg2.js.map +1 -1
- package/Meshes/geodesicMesh.d.ts +26 -0
- package/Meshes/geodesicMesh.js +18 -3
- package/Meshes/geodesicMesh.js.map +1 -1
- package/Meshes/groundMesh.d.ts +1 -0
- package/Meshes/groundMesh.js +1 -0
- package/Meshes/groundMesh.js.map +1 -1
- package/Meshes/index.js +0 -2
- package/Meshes/index.js.map +1 -1
- package/Meshes/instancedMesh.d.ts +18 -3
- package/Meshes/instancedMesh.js +11 -3
- package/Meshes/instancedMesh.js.map +1 -1
- package/Meshes/mesh.d.ts +291 -204
- package/Meshes/mesh.js +290 -213
- package/Meshes/mesh.js.map +1 -1
- package/Meshes/mesh.vertexData.d.ts +15 -19
- package/Meshes/mesh.vertexData.js +15 -19
- package/Meshes/mesh.vertexData.js.map +1 -1
- package/Meshes/meshSimplification.d.ts +0 -1
- package/Meshes/meshSimplification.js +6 -1
- package/Meshes/meshSimplification.js.map +1 -1
- package/Meshes/meshSimplificationSceneComponent.d.ts +2 -0
- package/Meshes/meshSimplificationSceneComponent.js.map +1 -1
- package/Meshes/meshUVSpaceRenderer.d.ts +1 -0
- package/Meshes/meshUVSpaceRenderer.js.map +1 -1
- package/Meshes/polygonMesh.js +4 -0
- package/Meshes/polygonMesh.js.map +1 -1
- package/Meshes/subMesh.project.d.ts +1 -0
- package/Meshes/subMesh.project.js.map +1 -1
- package/Meshes/thinInstanceMesh.d.ts +5 -0
- package/Meshes/thinInstanceMesh.js.map +1 -1
- package/Meshes/transformNode.d.ts +1 -1
- package/Meshes/transformNode.js +1 -1
- package/Meshes/transformNode.js.map +1 -1
- package/Misc/dataStorage.d.ts +13 -0
- package/Misc/dataStorage.js +25 -0
- package/Misc/dataStorage.js.map +1 -1
- package/Morph/morphTarget.d.ts +9 -5
- package/Morph/morphTarget.js +15 -7
- package/Morph/morphTarget.js.map +1 -1
- package/Morph/morphTargetManager.d.ts +3 -1
- package/Morph/morphTargetManager.js +5 -2
- package/Morph/morphTargetManager.js.map +1 -1
- package/Particles/Node/Blocks/Emitters/boxShapeBlock.js +1 -1
- package/Particles/Node/Blocks/Emitters/boxShapeBlock.js.map +1 -1
- package/Particles/Node/Blocks/Emitters/coneShapeBlock.js +1 -1
- package/Particles/Node/Blocks/Emitters/coneShapeBlock.js.map +1 -1
- package/Particles/Node/Blocks/Emitters/customShapeBlock.js +1 -1
- package/Particles/Node/Blocks/Emitters/customShapeBlock.js.map +1 -1
- package/Particles/Node/Blocks/Emitters/cylinderShapeBlock.js +1 -1
- package/Particles/Node/Blocks/Emitters/cylinderShapeBlock.js.map +1 -1
- package/Particles/Node/Blocks/Emitters/emitters.functions.js +3 -3
- package/Particles/Node/Blocks/Emitters/emitters.functions.js.map +1 -1
- package/Particles/Node/Blocks/Emitters/meshShapeBlock.js +1 -1
- package/Particles/Node/Blocks/Emitters/meshShapeBlock.js.map +1 -1
- package/Particles/Node/Blocks/Emitters/pointShapeBlock.js +1 -1
- package/Particles/Node/Blocks/Emitters/pointShapeBlock.js.map +1 -1
- package/Particles/Node/Blocks/Emitters/sphereShapeBlock.js +1 -1
- package/Particles/Node/Blocks/Emitters/sphereShapeBlock.js.map +1 -1
- package/Particles/Node/Blocks/Update/basicPositionUpdateBlock.js +2 -2
- package/Particles/Node/Blocks/Update/basicPositionUpdateBlock.js.map +1 -1
- package/Particles/Node/Blocks/Update/updateNoiseBlock.js +7 -7
- package/Particles/Node/Blocks/Update/updateNoiseBlock.js.map +1 -1
- package/Particles/Node/Blocks/particleLocalVariableBlock.js +2 -2
- package/Particles/Node/Blocks/particleLocalVariableBlock.js.map +1 -1
- package/Particles/Node/nodeParticleBuildState.js +7 -7
- package/Particles/Node/nodeParticleBuildState.js.map +1 -1
- package/Particles/Node/nodeParticleSystemSet.helper.js +9 -4
- package/Particles/Node/nodeParticleSystemSet.helper.js.map +1 -1
- package/Particles/particle.d.ts +73 -61
- package/Particles/particle.js +106 -91
- package/Particles/particle.js.map +1 -1
- package/Particles/particleSystem.js +5 -5
- package/Particles/particleSystem.js.map +1 -1
- package/Particles/thinParticleSystem.function.js +83 -83
- package/Particles/thinParticleSystem.function.js.map +1 -1
- package/Particles/thinParticleSystem.js +8 -8
- package/Particles/thinParticleSystem.js.map +1 -1
- package/Physics/v2/Plugins/havokPlugin.d.ts +89 -3
- package/Physics/v2/Plugins/havokPlugin.js +388 -53
- package/Physics/v2/Plugins/havokPlugin.js.map +1 -1
- package/Probes/reflectionProbe.js +10 -7
- package/Probes/reflectionProbe.js.map +1 -1
- package/Rendering/depthRenderer.js +1 -1
- package/Rendering/depthRenderer.js.map +1 -1
- package/Rendering/objectRenderer.d.ts +3 -1
- package/Rendering/objectRenderer.js +28 -8
- package/Rendering/objectRenderer.js.map +1 -1
- package/Rendering/reflectiveShadowMap.js +1 -1
- package/Rendering/reflectiveShadowMap.js.map +1 -1
- package/Rendering/thinDepthPeelingRenderer.js +8 -0
- package/Rendering/thinDepthPeelingRenderer.js.map +1 -1
- package/Shaders/gaussianSplatting.fragment.js +8 -2
- package/Shaders/gaussianSplatting.fragment.js.map +1 -1
- package/Shaders/gaussianSplatting.vertex.js +8 -2
- package/Shaders/gaussianSplatting.vertex.js.map +1 -1
- package/ShadersWGSL/gaussianSplatting.fragment.js +7 -1
- package/ShadersWGSL/gaussianSplatting.fragment.js.map +1 -1
- package/ShadersWGSL/gaussianSplatting.vertex.js +8 -2
- package/ShadersWGSL/gaussianSplatting.vertex.js.map +1 -1
- package/package.json +1 -1
- package/scene.d.ts +22 -4
- package/scene.js +33 -20
- package/scene.js.map +1 -1
package/Meshes/mesh.js
CHANGED
|
@@ -32,8 +32,11 @@ export class _CreationDataStorage {
|
|
|
32
32
|
**/
|
|
33
33
|
class _InstanceDataStorageRenderPass {
|
|
34
34
|
constructor() {
|
|
35
|
+
/** @internal */
|
|
35
36
|
this.batchCache = new _InstancesBatch(this);
|
|
37
|
+
/** @internal */
|
|
36
38
|
this.batchCacheReplacementModeInFrozenMode = new _InstancesBatch(this);
|
|
39
|
+
/** @internal */
|
|
37
40
|
this.instancesBufferSize = 32 * 16 * 4; // let's start with a maximum of 32 instances
|
|
38
41
|
}
|
|
39
42
|
}
|
|
@@ -42,6 +45,7 @@ class _InstanceDataStorageRenderPass {
|
|
|
42
45
|
**/
|
|
43
46
|
class _InstanceDataStorage {
|
|
44
47
|
constructor() {
|
|
48
|
+
/** @internal */
|
|
45
49
|
this.renderPasses = {};
|
|
46
50
|
}
|
|
47
51
|
}
|
|
@@ -49,11 +53,16 @@ class _InstanceDataStorage {
|
|
|
49
53
|
* @internal
|
|
50
54
|
**/
|
|
51
55
|
export class _InstancesBatch {
|
|
56
|
+
/** @internal */
|
|
52
57
|
constructor(parent) {
|
|
53
58
|
this.parent = parent;
|
|
59
|
+
/** @internal */
|
|
54
60
|
this.mustReturn = false;
|
|
61
|
+
/** @internal */
|
|
55
62
|
this.visibleInstances = new Array();
|
|
63
|
+
/** @internal */
|
|
56
64
|
this.renderSelf = [];
|
|
65
|
+
/** @internal */
|
|
57
66
|
this.hardwareInstancedRendering = [];
|
|
58
67
|
}
|
|
59
68
|
}
|
|
@@ -62,12 +71,19 @@ export class _InstancesBatch {
|
|
|
62
71
|
**/
|
|
63
72
|
class _ThinInstanceDataStorage {
|
|
64
73
|
constructor() {
|
|
74
|
+
/** @internal */
|
|
65
75
|
this.instancesCount = 0;
|
|
76
|
+
/** @internal */
|
|
66
77
|
this.matrixBuffer = null;
|
|
78
|
+
/** @internal */
|
|
67
79
|
this.previousMatrixBuffer = null;
|
|
80
|
+
/** @internal */
|
|
68
81
|
this.matrixBufferSize = 32 * 16; // let's start with a maximum of 32 thin instances
|
|
82
|
+
/** @internal */
|
|
69
83
|
this.matrixData = null;
|
|
84
|
+
/** @internal */
|
|
70
85
|
this.boundingVectors = [];
|
|
86
|
+
/** @internal */
|
|
71
87
|
this.worldMatrices = null;
|
|
72
88
|
}
|
|
73
89
|
}
|
|
@@ -121,9 +137,11 @@ export class Mesh extends AbstractMesh {
|
|
|
121
137
|
this._internalMeshDataInfo._useLODScreenCoverage = value;
|
|
122
138
|
this._sortLODLevels();
|
|
123
139
|
}
|
|
140
|
+
/** {@inheritDoc} */
|
|
124
141
|
get computeBonesUsingShaders() {
|
|
125
142
|
return this._internalAbstractMeshDataInfo._computeBonesUsingShaders;
|
|
126
143
|
}
|
|
144
|
+
/** {@inheritDoc} */
|
|
127
145
|
set computeBonesUsingShaders(value) {
|
|
128
146
|
if (this._internalAbstractMeshDataInfo._computeBonesUsingShaders === value) {
|
|
129
147
|
return;
|
|
@@ -194,9 +212,11 @@ export class Mesh extends AbstractMesh {
|
|
|
194
212
|
}
|
|
195
213
|
this._onBeforeDrawObserver = this.onBeforeDrawObservable.add(callback);
|
|
196
214
|
}
|
|
215
|
+
/** {@inheritDoc} */
|
|
197
216
|
get hasInstances() {
|
|
198
217
|
return this.instances.length > 0;
|
|
199
218
|
}
|
|
219
|
+
/** {@inheritDoc} */
|
|
200
220
|
get hasThinInstances() {
|
|
201
221
|
return (this.forcedInstanceCount || this._thinInstanceDataStorage.instancesCount || 0) > 0;
|
|
202
222
|
}
|
|
@@ -251,9 +271,11 @@ export class Mesh extends AbstractMesh {
|
|
|
251
271
|
set overrideRenderingFillMode(fillMode) {
|
|
252
272
|
this._internalMeshDataInfo._overrideRenderingFillMode = fillMode;
|
|
253
273
|
}
|
|
274
|
+
/** {@inheritDoc} */
|
|
254
275
|
get material() {
|
|
255
276
|
return this._internalAbstractMeshDataInfo._material;
|
|
256
277
|
}
|
|
278
|
+
/** {@inheritDoc} */
|
|
257
279
|
set material(value) {
|
|
258
280
|
if (value && ((this.material && this.material.sideOrientation === null) || this._internalAbstractMeshDataInfo._sideOrientationHint)) {
|
|
259
281
|
value.sideOrientation = null;
|
|
@@ -288,12 +310,16 @@ export class Mesh extends AbstractMesh {
|
|
|
288
310
|
}
|
|
289
311
|
/** Gets the array buffer used to store the instanced buffer used for instances' world matrices */
|
|
290
312
|
get worldMatrixInstancedBuffer() {
|
|
291
|
-
const instanceDataStorage = this._instanceDataStorage.
|
|
313
|
+
const instanceDataStorage = this._instanceDataStorage.useMonoDataStorageRenderPass
|
|
314
|
+
? this._instanceDataStorage.dataStorageRenderPass
|
|
315
|
+
: this._instanceDataStorage.renderPasses[this._instanceDataStorage.engine.currentRenderPassId];
|
|
292
316
|
return instanceDataStorage ? instanceDataStorage.instancesData : undefined;
|
|
293
317
|
}
|
|
294
318
|
/** Gets the array buffer used to store the instanced buffer used for instances' previous world matrices */
|
|
295
319
|
get previousWorldMatrixInstancedBuffer() {
|
|
296
|
-
const instanceDataStorage = this._instanceDataStorage.
|
|
320
|
+
const instanceDataStorage = this._instanceDataStorage.useMonoDataStorageRenderPass
|
|
321
|
+
? this._instanceDataStorage.dataStorageRenderPass
|
|
322
|
+
: this._instanceDataStorage.renderPasses[this._instanceDataStorage.engine.currentRenderPassId];
|
|
297
323
|
return instanceDataStorage ? instanceDataStorage.instancesPreviousData : undefined;
|
|
298
324
|
}
|
|
299
325
|
/** Gets or sets a boolean indicating that the update of the instance buffer of the world matrices is manual */
|
|
@@ -520,6 +546,10 @@ export class Mesh extends AbstractMesh {
|
|
|
520
546
|
scene = this.getScene();
|
|
521
547
|
this._instanceDataStorage = new _InstanceDataStorage();
|
|
522
548
|
this._instanceDataStorage.engine = scene.getEngine();
|
|
549
|
+
this._instanceDataStorage.useMonoDataStorageRenderPass = !this._instanceDataStorage.engine.isWebGPU;
|
|
550
|
+
if (this._instanceDataStorage.useMonoDataStorageRenderPass) {
|
|
551
|
+
this._instanceDataStorage.dataStorageRenderPass = new _InstanceDataStorageRenderPass();
|
|
552
|
+
}
|
|
523
553
|
if (this._scene.useRightHandedSystem) {
|
|
524
554
|
this.sideOrientation = 0;
|
|
525
555
|
}
|
|
@@ -581,6 +611,13 @@ export class Mesh extends AbstractMesh {
|
|
|
581
611
|
source.onClonedObservable.notifyObservers(this);
|
|
582
612
|
}
|
|
583
613
|
}
|
|
614
|
+
/**
|
|
615
|
+
* Instantiate (when possible) or clone that node with its hierarchy
|
|
616
|
+
* @param newParent defines the new parent to use for the instance (or clone)
|
|
617
|
+
* @param options defines options to configure how copy is done
|
|
618
|
+
* @param onNewNodeCreated defines an option callback to call when a clone or an instance is created
|
|
619
|
+
* @returns an instance (or a clone) of the current node with its hierarchy
|
|
620
|
+
*/
|
|
584
621
|
instantiateHierarchy(newParent = null, options, onNewNodeCreated) {
|
|
585
622
|
const instance = this.getTotalVertices() === 0 || (options && options.doNotInstantiate && (options.doNotInstantiate === true || options.doNotInstantiate(this)))
|
|
586
623
|
? this.clone("Clone of " + (this.name || this.id), newParent || this.parent, true)
|
|
@@ -843,11 +880,35 @@ export class Mesh extends AbstractMesh {
|
|
|
843
880
|
}
|
|
844
881
|
return data;
|
|
845
882
|
}
|
|
883
|
+
/**
|
|
884
|
+
* Copies the requested vertex data kind into the given vertex data map. Float data is constructed if the map doesn't have the data.
|
|
885
|
+
* @param kind defines the vertex data kind to use
|
|
886
|
+
* @param vertexData defines the map that stores the resulting data
|
|
887
|
+
*/
|
|
846
888
|
copyVerticesData(kind, vertexData) {
|
|
847
889
|
if (this._geometry) {
|
|
848
890
|
this._geometry.copyVerticesData(kind, vertexData);
|
|
849
891
|
}
|
|
850
892
|
}
|
|
893
|
+
/**
|
|
894
|
+
* Returns the mesh VertexBuffer object from the requested `kind`
|
|
895
|
+
* @param kind defines which buffer to read from (positions, indices, normals, etc). Possible `kind` values :
|
|
896
|
+
* - VertexBuffer.PositionKind
|
|
897
|
+
* - VertexBuffer.NormalKind
|
|
898
|
+
* - VertexBuffer.UVKind
|
|
899
|
+
* - VertexBuffer.UV2Kind
|
|
900
|
+
* - VertexBuffer.UV3Kind
|
|
901
|
+
* - VertexBuffer.UV4Kind
|
|
902
|
+
* - VertexBuffer.UV5Kind
|
|
903
|
+
* - VertexBuffer.UV6Kind
|
|
904
|
+
* - VertexBuffer.ColorKind
|
|
905
|
+
* - VertexBuffer.MatricesIndicesKind
|
|
906
|
+
* - VertexBuffer.MatricesIndicesExtraKind
|
|
907
|
+
* - VertexBuffer.MatricesWeightsKind
|
|
908
|
+
* - VertexBuffer.MatricesWeightsExtraKind
|
|
909
|
+
* @param bypassInstanceData defines a boolean indicating that the function should not take into account the instance data (applies only if the mesh has instances). Default: false
|
|
910
|
+
* @returns a FloatArray or null if the mesh has no vertex buffer for this kind.
|
|
911
|
+
*/
|
|
851
912
|
getVertexBuffer(kind, bypassInstanceData) {
|
|
852
913
|
if (!this._geometry) {
|
|
853
914
|
return null;
|
|
@@ -962,6 +1023,7 @@ export class Mesh extends AbstractMesh {
|
|
|
962
1023
|
}
|
|
963
1024
|
return this._geometry.getIndices(copyWhenShared, forceCopy);
|
|
964
1025
|
}
|
|
1026
|
+
/** {@inheritDoc} */
|
|
965
1027
|
get isBlocked() {
|
|
966
1028
|
return this._masterMesh !== null && this._masterMesh !== undefined;
|
|
967
1029
|
}
|
|
@@ -1077,7 +1139,10 @@ export class Mesh extends AbstractMesh {
|
|
|
1077
1139
|
}
|
|
1078
1140
|
/** @internal */
|
|
1079
1141
|
_getInstanceDataStorage() {
|
|
1080
|
-
|
|
1142
|
+
if (this._instanceDataStorage.useMonoDataStorageRenderPass) {
|
|
1143
|
+
return this._instanceDataStorage.dataStorageRenderPass;
|
|
1144
|
+
}
|
|
1145
|
+
const renderPassId = this._instanceDataStorage.engine.currentRenderPassId;
|
|
1081
1146
|
let instanceDataStorage = this._instanceDataStorage.renderPasses[renderPassId];
|
|
1082
1147
|
if (!instanceDataStorage) {
|
|
1083
1148
|
instanceDataStorage = new _InstanceDataStorageRenderPass();
|
|
@@ -1094,14 +1159,19 @@ export class Mesh extends AbstractMesh {
|
|
|
1094
1159
|
return this;
|
|
1095
1160
|
}
|
|
1096
1161
|
internalDataInfo._preActivateId = sceneRenderId;
|
|
1097
|
-
this.
|
|
1162
|
+
if (this._instanceDataStorage.useMonoDataStorageRenderPass) {
|
|
1163
|
+
this._instanceDataStorage.dataStorageRenderPass.visibleInstances = null;
|
|
1164
|
+
}
|
|
1165
|
+
else {
|
|
1166
|
+
this._getInstanceDataStorage().visibleInstances = null;
|
|
1167
|
+
}
|
|
1098
1168
|
return this;
|
|
1099
1169
|
}
|
|
1100
1170
|
/**
|
|
1101
1171
|
* @internal
|
|
1102
1172
|
*/
|
|
1103
1173
|
_preActivateForIntermediateRendering(renderId) {
|
|
1104
|
-
const instanceDataStorage = this._getInstanceDataStorage();
|
|
1174
|
+
const instanceDataStorage = this._instanceDataStorage.useMonoDataStorageRenderPass ? this._instanceDataStorage.dataStorageRenderPass : this._getInstanceDataStorage();
|
|
1105
1175
|
if (instanceDataStorage.visibleInstances) {
|
|
1106
1176
|
instanceDataStorage.visibleInstances.intermediateDefaultRenderId = renderId;
|
|
1107
1177
|
}
|
|
@@ -1111,7 +1181,7 @@ export class Mesh extends AbstractMesh {
|
|
|
1111
1181
|
* @internal
|
|
1112
1182
|
*/
|
|
1113
1183
|
_registerInstanceForRenderId(instance, renderId) {
|
|
1114
|
-
const instanceDataStorage = this._getInstanceDataStorage();
|
|
1184
|
+
const instanceDataStorage = this._instanceDataStorage.useMonoDataStorageRenderPass ? this._instanceDataStorage.dataStorageRenderPass : this._getInstanceDataStorage();
|
|
1115
1185
|
if (!instanceDataStorage.visibleInstances) {
|
|
1116
1186
|
instanceDataStorage.visibleInstances = {
|
|
1117
1187
|
defaultRenderId: renderId,
|
|
@@ -1512,7 +1582,7 @@ export class Mesh extends AbstractMesh {
|
|
|
1512
1582
|
this._geometry._bind(effect, indexToBind);
|
|
1513
1583
|
}
|
|
1514
1584
|
else {
|
|
1515
|
-
if (this._instanceDataStorage.
|
|
1585
|
+
if (!this._instanceDataStorage.useMonoDataStorageRenderPass &&
|
|
1516
1586
|
this._userInstancedBuffersStorage.renderPasses &&
|
|
1517
1587
|
this._userInstancedBuffersStorage.renderPasses[this._instanceDataStorage.engine.currentRenderPassId]) {
|
|
1518
1588
|
const vertexBuffers = this._userInstancedBuffersStorage.renderPasses[this._instanceDataStorage.engine.currentRenderPassId];
|
|
@@ -1595,7 +1665,7 @@ export class Mesh extends AbstractMesh {
|
|
|
1595
1665
|
* @internal
|
|
1596
1666
|
*/
|
|
1597
1667
|
_getInstancesRenderList(subMeshId, isReplacementMode = false) {
|
|
1598
|
-
const instanceDataStorage = this._getInstanceDataStorage();
|
|
1668
|
+
const instanceDataStorage = this._instanceDataStorage.useMonoDataStorageRenderPass ? this._instanceDataStorage.dataStorageRenderPass : this._getInstanceDataStorage();
|
|
1599
1669
|
if (this._instanceDataStorage.isFrozen) {
|
|
1600
1670
|
if (isReplacementMode) {
|
|
1601
1671
|
instanceDataStorage.batchCacheReplacementModeInFrozenMode.hardwareInstancedRendering[subMeshId] = false;
|
|
@@ -1727,7 +1797,7 @@ export class Mesh extends AbstractMesh {
|
|
|
1727
1797
|
};
|
|
1728
1798
|
}
|
|
1729
1799
|
let vertexAndArrayObjectBuffers;
|
|
1730
|
-
if (this._instanceDataStorage.
|
|
1800
|
+
if (!this._instanceDataStorage.useMonoDataStorageRenderPass) {
|
|
1731
1801
|
if (!this._userInstancedBuffersStorage.renderPasses) {
|
|
1732
1802
|
this._userInstancedBuffersStorage.renderPasses = {};
|
|
1733
1803
|
}
|
|
@@ -1888,20 +1958,24 @@ export class Mesh extends AbstractMesh {
|
|
|
1888
1958
|
}
|
|
1889
1959
|
return this;
|
|
1890
1960
|
}
|
|
1961
|
+
_disposeInstanceDataStorageRenderPass(dataStorage, dispose = false) {
|
|
1962
|
+
if (dataStorage?.instancesBuffer) {
|
|
1963
|
+
// Dispose instance buffer to be recreated in _renderWithInstances when rendered
|
|
1964
|
+
if (dispose) {
|
|
1965
|
+
dataStorage.instancesBuffer.dispose();
|
|
1966
|
+
}
|
|
1967
|
+
dataStorage.instancesBuffer = null;
|
|
1968
|
+
}
|
|
1969
|
+
}
|
|
1891
1970
|
/**
|
|
1892
1971
|
* @internal
|
|
1893
1972
|
*/
|
|
1894
1973
|
_rebuild(dispose = false) {
|
|
1895
1974
|
for (const renderPassId in this._instanceDataStorage.renderPasses) {
|
|
1896
1975
|
const instanceDataStorage = this._instanceDataStorage.renderPasses[renderPassId];
|
|
1897
|
-
|
|
1898
|
-
// Dispose instance buffer to be recreated in _renderWithInstances when rendered
|
|
1899
|
-
if (dispose) {
|
|
1900
|
-
instanceDataStorage.instancesBuffer.dispose();
|
|
1901
|
-
}
|
|
1902
|
-
instanceDataStorage.instancesBuffer = null;
|
|
1903
|
-
}
|
|
1976
|
+
this._disposeInstanceDataStorageRenderPass(instanceDataStorage, dispose);
|
|
1904
1977
|
}
|
|
1978
|
+
this._disposeInstanceDataStorageRenderPass(this._instanceDataStorage.dataStorageRenderPass, dispose);
|
|
1905
1979
|
if (this._userInstancedBuffersStorage) {
|
|
1906
1980
|
for (const kind in this._userInstancedBuffersStorage.vertexBuffers) {
|
|
1907
1981
|
const buffer = this._userInstancedBuffersStorage.vertexBuffers[kind];
|
|
@@ -1939,6 +2013,9 @@ export class Mesh extends AbstractMesh {
|
|
|
1939
2013
|
const instanceDataStorage = this._instanceDataStorage.renderPasses[renderPassId];
|
|
1940
2014
|
instanceDataStorage.previousBatch = null;
|
|
1941
2015
|
}
|
|
2016
|
+
if (this._instanceDataStorage.dataStorageRenderPass) {
|
|
2017
|
+
this._instanceDataStorage.dataStorageRenderPass.previousBatch = null;
|
|
2018
|
+
}
|
|
1942
2019
|
}
|
|
1943
2020
|
/**
|
|
1944
2021
|
* Triggers the draw call for the mesh (or a submesh), for a specific render pass id
|
|
@@ -3954,7 +4031,7 @@ export class Mesh extends AbstractMesh {
|
|
|
3954
4031
|
* Merge the array of meshes into a single mesh for performance reasons.
|
|
3955
4032
|
* @param meshes array of meshes with the vertices to merge. Entries cannot be empty meshes.
|
|
3956
4033
|
* @param disposeSource when true (default), dispose of the vertices from the source meshes.
|
|
3957
|
-
* @param allow32BitsIndices when the sum of the vertices
|
|
4034
|
+
* @param allow32BitsIndices when the sum of the vertices \> 64k, this must be set to true.
|
|
3958
4035
|
* @param meshSubclass (optional) can be set to a Mesh where the merged vertices will be inserted.
|
|
3959
4036
|
* @param subdivideWithSubMeshes when true (false default), subdivide mesh into subMeshes.
|
|
3960
4037
|
* @param multiMultiMaterials when true (false default), subdivide mesh into subMeshes with multiple materials, ignores subdivideWithSubMeshes.
|
|
@@ -3967,7 +4044,7 @@ export class Mesh extends AbstractMesh {
|
|
|
3967
4044
|
* Merge the array of meshes into a single mesh for performance reasons.
|
|
3968
4045
|
* @param meshes array of meshes with the vertices to merge. Entries cannot be empty meshes.
|
|
3969
4046
|
* @param disposeSource when true (default), dispose of the vertices from the source meshes.
|
|
3970
|
-
* @param allow32BitsIndices when the sum of the vertices
|
|
4047
|
+
* @param allow32BitsIndices when the sum of the vertices \> 64k, this must be set to true.
|
|
3971
4048
|
* @param meshSubclass (optional) can be set to a Mesh where the merged vertices will be inserted.
|
|
3972
4049
|
* @param subdivideWithSubMeshes when true (false default), subdivide mesh into subMeshes.
|
|
3973
4050
|
* @param multiMultiMaterials when true (false default), subdivide mesh into subMeshes with multiple materials, ignores subdivideWithSubMeshes.
|
|
@@ -4178,152 +4255,152 @@ export class Mesh extends AbstractMesh {
|
|
|
4178
4255
|
/**
|
|
4179
4256
|
* Creates a ribbon mesh.
|
|
4180
4257
|
* @see https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/param
|
|
4181
|
-
* @param
|
|
4182
|
-
* @param
|
|
4183
|
-
* @param
|
|
4184
|
-
* @param
|
|
4185
|
-
* @param
|
|
4186
|
-
* @param
|
|
4187
|
-
* @param
|
|
4188
|
-
* @param
|
|
4189
|
-
* @param
|
|
4258
|
+
* @param _name defines the name of the mesh to create
|
|
4259
|
+
* @param _pathArray is a required array of paths, what are each an array of successive Vector3. The pathArray parameter depicts the ribbon geometry.
|
|
4260
|
+
* @param _closeArray creates a seam between the first and the last paths of the path array (default is false)
|
|
4261
|
+
* @param _closePath creates a seam between the first and the last points of each path of the path array
|
|
4262
|
+
* @param _offset is taken in account only if the `pathArray` is containing a single path
|
|
4263
|
+
* @param _scene defines the hosting scene
|
|
4264
|
+
* @param _updatable defines if the mesh must be flagged as updatable
|
|
4265
|
+
* @param _sideOrientation defines the mesh side orientation (https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/set#side-orientation)
|
|
4266
|
+
* @param _instance defines an instance of an existing Ribbon object to be updated with the passed `pathArray` parameter (https://doc.babylonjs.com/how_to/How_to_dynamically_morph_a_mesh#ribbon)
|
|
4190
4267
|
* @returns a new Mesh
|
|
4191
4268
|
* @deprecated Please use MeshBuilder instead
|
|
4192
4269
|
*/
|
|
4193
|
-
static CreateRibbon(
|
|
4270
|
+
static CreateRibbon(_name, _pathArray, _closeArray, _closePath, _offset, _scene, _updatable, _sideOrientation, _instance) {
|
|
4194
4271
|
throw new Error("Import MeshBuilder to populate this function");
|
|
4195
4272
|
}
|
|
4196
4273
|
/**
|
|
4197
4274
|
* Creates a plane polygonal mesh. By default, this is a disc.
|
|
4198
|
-
* @param
|
|
4199
|
-
* @param
|
|
4200
|
-
* @param
|
|
4201
|
-
* @param
|
|
4202
|
-
* @param
|
|
4203
|
-
* @param
|
|
4275
|
+
* @param _name defines the name of the mesh to create
|
|
4276
|
+
* @param _radius sets the radius size (float) of the polygon (default 0.5)
|
|
4277
|
+
* @param _tessellation sets the number of polygon sides (positive integer, default 64). So a tessellation valued to 3 will build a triangle, to 4 a square, etc
|
|
4278
|
+
* @param _scene defines the hosting scene
|
|
4279
|
+
* @param _updatable defines if the mesh must be flagged as updatable
|
|
4280
|
+
* @param _sideOrientation defines the mesh side orientation (https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/set#side-orientation)
|
|
4204
4281
|
* @returns a new Mesh
|
|
4205
4282
|
* @deprecated Please use MeshBuilder instead
|
|
4206
4283
|
*/
|
|
4207
|
-
static CreateDisc(
|
|
4284
|
+
static CreateDisc(_name, _radius, _tessellation, _scene, _updatable, _sideOrientation) {
|
|
4208
4285
|
throw new Error("Import MeshBuilder to populate this function");
|
|
4209
4286
|
}
|
|
4210
4287
|
/**
|
|
4211
4288
|
* Creates a box mesh.
|
|
4212
|
-
* @param
|
|
4213
|
-
* @param
|
|
4214
|
-
* @param
|
|
4215
|
-
* @param
|
|
4216
|
-
* @param
|
|
4289
|
+
* @param _name defines the name of the mesh to create
|
|
4290
|
+
* @param _size sets the size (float) of each box side (default 1)
|
|
4291
|
+
* @param _scene defines the hosting scene
|
|
4292
|
+
* @param _updatable defines if the mesh must be flagged as updatable
|
|
4293
|
+
* @param _sideOrientation defines the mesh side orientation (https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/set#side-orientation)
|
|
4217
4294
|
* @returns a new Mesh
|
|
4218
4295
|
* @deprecated Please use MeshBuilder instead
|
|
4219
4296
|
*/
|
|
4220
|
-
static CreateBox(
|
|
4297
|
+
static CreateBox(_name, _size, _scene, _updatable, _sideOrientation) {
|
|
4221
4298
|
throw new Error("Import MeshBuilder to populate this function");
|
|
4222
4299
|
}
|
|
4223
4300
|
/**
|
|
4224
4301
|
* Creates a sphere mesh.
|
|
4225
|
-
* @param
|
|
4226
|
-
* @param
|
|
4227
|
-
* @param
|
|
4228
|
-
* @param
|
|
4229
|
-
* @param
|
|
4230
|
-
* @param
|
|
4302
|
+
* @param _name defines the name of the mesh to create
|
|
4303
|
+
* @param _segments sets the sphere number of horizontal stripes (positive integer, default 32)
|
|
4304
|
+
* @param _diameter sets the diameter size (float) of the sphere (default 1)
|
|
4305
|
+
* @param _scene defines the hosting scene
|
|
4306
|
+
* @param _updatable defines if the mesh must be flagged as updatable
|
|
4307
|
+
* @param _sideOrientation defines the mesh side orientation (https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/set#side-orientation)
|
|
4231
4308
|
* @returns a new Mesh
|
|
4232
4309
|
* @deprecated Please use MeshBuilder instead
|
|
4233
4310
|
*/
|
|
4234
|
-
static CreateSphere(
|
|
4311
|
+
static CreateSphere(_name, _segments, _diameter, _scene, _updatable, _sideOrientation) {
|
|
4235
4312
|
throw new Error("Import MeshBuilder to populate this function");
|
|
4236
4313
|
}
|
|
4237
4314
|
/**
|
|
4238
4315
|
* Creates a hemisphere mesh.
|
|
4239
|
-
* @param
|
|
4240
|
-
* @param
|
|
4241
|
-
* @param
|
|
4242
|
-
* @param
|
|
4316
|
+
* @param _name defines the name of the mesh to create
|
|
4317
|
+
* @param _segments sets the sphere number of horizontal stripes (positive integer, default 32)
|
|
4318
|
+
* @param _diameter sets the diameter size (float) of the sphere (default 1)
|
|
4319
|
+
* @param _scene defines the hosting scene
|
|
4243
4320
|
* @returns a new Mesh
|
|
4244
4321
|
* @deprecated Please use MeshBuilder instead
|
|
4245
4322
|
*/
|
|
4246
|
-
static CreateHemisphere(
|
|
4323
|
+
static CreateHemisphere(_name, _segments, _diameter, _scene) {
|
|
4247
4324
|
throw new Error("Import MeshBuilder to populate this function");
|
|
4248
4325
|
}
|
|
4249
4326
|
/**
|
|
4250
4327
|
* Creates a cylinder or a cone mesh.
|
|
4251
|
-
* @param
|
|
4252
|
-
* @param
|
|
4253
|
-
* @param
|
|
4254
|
-
* @param
|
|
4255
|
-
* @param
|
|
4256
|
-
* @param
|
|
4257
|
-
* @param
|
|
4258
|
-
* @param
|
|
4259
|
-
* @param
|
|
4328
|
+
* @param _name defines the name of the mesh to create
|
|
4329
|
+
* @param _height sets the height size (float) of the cylinder/cone (float, default 2)
|
|
4330
|
+
* @param _diameterTop set the top cap diameter (floats, default 1)
|
|
4331
|
+
* @param _diameterBottom set the bottom cap diameter (floats, default 1). This value can't be zero
|
|
4332
|
+
* @param _tessellation sets the number of cylinder sides (positive integer, default 24). Set it to 3 to get a prism for instance
|
|
4333
|
+
* @param _subdivisions sets the number of rings along the cylinder height (positive integer, default 1)
|
|
4334
|
+
* @param _scene defines the hosting scene
|
|
4335
|
+
* @param _updatable defines if the mesh must be flagged as updatable
|
|
4336
|
+
* @param _sideOrientation defines the mesh side orientation (https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/set#side-orientation)
|
|
4260
4337
|
* @returns a new Mesh
|
|
4261
4338
|
* @deprecated Please use MeshBuilder instead
|
|
4262
4339
|
*/
|
|
4263
|
-
static CreateCylinder(
|
|
4340
|
+
static CreateCylinder(_name, _height, _diameterTop, _diameterBottom, _tessellation, _subdivisions, _scene, _updatable, _sideOrientation) {
|
|
4264
4341
|
throw new Error("Import MeshBuilder to populate this function");
|
|
4265
4342
|
}
|
|
4266
4343
|
// Torus (Code from SharpDX.org)
|
|
4267
4344
|
/**
|
|
4268
4345
|
* Creates a torus mesh.
|
|
4269
|
-
* @param
|
|
4270
|
-
* @param
|
|
4271
|
-
* @param
|
|
4272
|
-
* @param
|
|
4273
|
-
* @param
|
|
4274
|
-
* @param
|
|
4275
|
-
* @param
|
|
4346
|
+
* @param _name defines the name of the mesh to create
|
|
4347
|
+
* @param _diameter sets the diameter size (float) of the torus (default 1)
|
|
4348
|
+
* @param _thickness sets the diameter size of the tube of the torus (float, default 0.5)
|
|
4349
|
+
* @param _tessellation sets the number of torus sides (positive integer, default 16)
|
|
4350
|
+
* @param _scene defines the hosting scene
|
|
4351
|
+
* @param _updatable defines if the mesh must be flagged as updatable
|
|
4352
|
+
* @param _sideOrientation defines the mesh side orientation (https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/set#side-orientation)
|
|
4276
4353
|
* @returns a new Mesh
|
|
4277
4354
|
* @deprecated Please use MeshBuilder instead
|
|
4278
4355
|
*/
|
|
4279
|
-
static CreateTorus(
|
|
4356
|
+
static CreateTorus(_name, _diameter, _thickness, _tessellation, _scene, _updatable, _sideOrientation) {
|
|
4280
4357
|
throw new Error("Import MeshBuilder to populate this function");
|
|
4281
4358
|
}
|
|
4282
4359
|
/**
|
|
4283
4360
|
* Creates a torus knot mesh.
|
|
4284
|
-
* @param
|
|
4285
|
-
* @param
|
|
4286
|
-
* @param
|
|
4287
|
-
* @param
|
|
4288
|
-
* @param
|
|
4289
|
-
* @param
|
|
4290
|
-
* @param
|
|
4291
|
-
* @param
|
|
4292
|
-
* @param
|
|
4293
|
-
* @param
|
|
4361
|
+
* @param _name defines the name of the mesh to create
|
|
4362
|
+
* @param _radius sets the global radius size (float) of the torus knot (default 2)
|
|
4363
|
+
* @param _tube sets the diameter size of the tube of the torus (float, default 0.5)
|
|
4364
|
+
* @param _radialSegments sets the number of sides on each tube segments (positive integer, default 32)
|
|
4365
|
+
* @param _tubularSegments sets the number of tubes to decompose the knot into (positive integer, default 32)
|
|
4366
|
+
* @param _p the number of windings on X axis (positive integers, default 2)
|
|
4367
|
+
* @param _q the number of windings on Y axis (positive integers, default 3)
|
|
4368
|
+
* @param _scene defines the hosting scene
|
|
4369
|
+
* @param _updatable defines if the mesh must be flagged as updatable
|
|
4370
|
+
* @param _sideOrientation defines the mesh side orientation (https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/set#side-orientation)
|
|
4294
4371
|
* @returns a new Mesh
|
|
4295
4372
|
* @deprecated Please use MeshBuilder instead
|
|
4296
4373
|
*/
|
|
4297
|
-
static CreateTorusKnot(
|
|
4374
|
+
static CreateTorusKnot(_name, _radius, _tube, _radialSegments, _tubularSegments, _p, _q, _scene, _updatable, _sideOrientation) {
|
|
4298
4375
|
throw new Error("Import MeshBuilder to populate this function");
|
|
4299
4376
|
}
|
|
4300
4377
|
/**
|
|
4301
4378
|
* Creates a line mesh..
|
|
4302
|
-
* @param
|
|
4303
|
-
* @param
|
|
4304
|
-
* @param
|
|
4305
|
-
* @param
|
|
4306
|
-
* @param
|
|
4379
|
+
* @param _name defines the name of the mesh to create
|
|
4380
|
+
* @param _points is an array successive Vector3
|
|
4381
|
+
* @param _scene defines the hosting scene
|
|
4382
|
+
* @param _updatable defines if the mesh must be flagged as updatable
|
|
4383
|
+
* @param _instance is an instance of an existing LineMesh object to be updated with the passed `points` parameter (https://doc.babylonjs.com/how_to/How_to_dynamically_morph_a_mesh#lines-and-dashedlines).
|
|
4307
4384
|
* @returns a new Mesh
|
|
4308
4385
|
* @deprecated Please use MeshBuilder instead
|
|
4309
4386
|
*/
|
|
4310
|
-
static CreateLines(
|
|
4387
|
+
static CreateLines(_name, _points, _scene, _updatable, _instance) {
|
|
4311
4388
|
throw new Error("Import MeshBuilder to populate this function");
|
|
4312
4389
|
}
|
|
4313
4390
|
/**
|
|
4314
4391
|
* Creates a dashed line mesh.
|
|
4315
|
-
* @param
|
|
4316
|
-
* @param
|
|
4317
|
-
* @param
|
|
4318
|
-
* @param
|
|
4319
|
-
* @param
|
|
4320
|
-
* @param
|
|
4321
|
-
* @param
|
|
4322
|
-
* @param
|
|
4392
|
+
* @param _name defines the name of the mesh to create
|
|
4393
|
+
* @param _points is an array successive Vector3
|
|
4394
|
+
* @param _dashSize is the size of the dashes relatively the dash number (positive float, default 3)
|
|
4395
|
+
* @param _gapSize is the size of the gap between two successive dashes relatively the dash number (positive float, default 1)
|
|
4396
|
+
* @param _dashNb is the intended total number of dashes (positive integer, default 200)
|
|
4397
|
+
* @param _scene defines the hosting scene
|
|
4398
|
+
* @param _updatable defines if the mesh must be flagged as updatable
|
|
4399
|
+
* @param _instance is an instance of an existing LineMesh object to be updated with the passed `points` parameter (https://doc.babylonjs.com/how_to/How_to_dynamically_morph_a_mesh#lines-and-dashedlines)
|
|
4323
4400
|
* @returns a new Mesh
|
|
4324
4401
|
* @deprecated Please use MeshBuilder instead
|
|
4325
4402
|
*/
|
|
4326
|
-
static CreateDashedLines(
|
|
4403
|
+
static CreateDashedLines(_name, _points, _dashSize, _gapSize, _dashNb, _scene, _updatable, _instance) {
|
|
4327
4404
|
throw new Error("Import MeshBuilder to populate this function");
|
|
4328
4405
|
}
|
|
4329
4406
|
/**
|
|
@@ -4334,34 +4411,34 @@ export class Mesh extends AbstractMesh {
|
|
|
4334
4411
|
* The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created.
|
|
4335
4412
|
* Remember you can only change the shape positions, not their number when updating a polygon.
|
|
4336
4413
|
* @see https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/param#non-regular-polygon
|
|
4337
|
-
* @param
|
|
4338
|
-
* @param
|
|
4339
|
-
* @param
|
|
4340
|
-
* @param
|
|
4341
|
-
* @param
|
|
4342
|
-
* @param
|
|
4343
|
-
* @param
|
|
4414
|
+
* @param _name defines the name of the mesh to create
|
|
4415
|
+
* @param _shape is a required array of successive Vector3 representing the corners of the polygon in th XoZ plane, that is y = 0 for all vectors
|
|
4416
|
+
* @param _scene defines the hosting scene
|
|
4417
|
+
* @param _holes is a required array of arrays of successive Vector3 used to defines holes in the polygon
|
|
4418
|
+
* @param _updatable defines if the mesh must be flagged as updatable
|
|
4419
|
+
* @param _sideOrientation defines the mesh side orientation (https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/set#side-orientation)
|
|
4420
|
+
* @param _earcutInjection can be used to inject your own earcut reference
|
|
4344
4421
|
* @returns a new Mesh
|
|
4345
4422
|
* @deprecated Please use MeshBuilder instead
|
|
4346
4423
|
*/
|
|
4347
|
-
static CreatePolygon(
|
|
4424
|
+
static CreatePolygon(_name, _shape, _scene, _holes, _updatable, _sideOrientation, _earcutInjection) {
|
|
4348
4425
|
throw new Error("Import MeshBuilder to populate this function");
|
|
4349
4426
|
}
|
|
4350
4427
|
/**
|
|
4351
4428
|
* Creates an extruded polygon mesh, with depth in the Y direction..
|
|
4352
4429
|
* @see https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/param#extruded-non-regular-polygon
|
|
4353
|
-
* @param
|
|
4354
|
-
* @param
|
|
4355
|
-
* @param
|
|
4356
|
-
* @param
|
|
4357
|
-
* @param
|
|
4358
|
-
* @param
|
|
4359
|
-
* @param
|
|
4360
|
-
* @param
|
|
4430
|
+
* @param _name defines the name of the mesh to create
|
|
4431
|
+
* @param _shape is a required array of successive Vector3 representing the corners of the polygon in th XoZ plane, that is y = 0 for all vectors
|
|
4432
|
+
* @param _depth defines the height of extrusion
|
|
4433
|
+
* @param _scene defines the hosting scene
|
|
4434
|
+
* @param _holes is a required array of arrays of successive Vector3 used to defines holes in the polygon
|
|
4435
|
+
* @param _updatable defines if the mesh must be flagged as updatable
|
|
4436
|
+
* @param _sideOrientation defines the mesh side orientation (https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/set#side-orientation)
|
|
4437
|
+
* @param _earcutInjection can be used to inject your own earcut reference
|
|
4361
4438
|
* @returns a new Mesh
|
|
4362
4439
|
* @deprecated Please use MeshBuilder instead
|
|
4363
4440
|
*/
|
|
4364
|
-
static ExtrudePolygon(
|
|
4441
|
+
static ExtrudePolygon(_name, _shape, _depth, _scene, _holes, _updatable, _sideOrientation, _earcutInjection) {
|
|
4365
4442
|
throw new Error("Import MeshBuilder to populate this function");
|
|
4366
4443
|
}
|
|
4367
4444
|
/**
|
|
@@ -4369,20 +4446,20 @@ export class Mesh extends AbstractMesh {
|
|
|
4369
4446
|
* The extrusion is a parametric shape. It has no predefined shape. Its final shape will depend on the input parameters.
|
|
4370
4447
|
* @see https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/param
|
|
4371
4448
|
* @see https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/param#extruded-shapes
|
|
4372
|
-
* @param
|
|
4373
|
-
* @param
|
|
4374
|
-
* @param
|
|
4375
|
-
* @param
|
|
4376
|
-
* @param
|
|
4377
|
-
* @param
|
|
4378
|
-
* @param
|
|
4379
|
-
* @param
|
|
4380
|
-
* @param
|
|
4381
|
-
* @param
|
|
4449
|
+
* @param _name defines the name of the mesh to create
|
|
4450
|
+
* @param _shape is a required array of successive Vector3. This array depicts the shape to be extruded in its local space : the shape must be designed in the xOy plane and will be extruded along the Z axis
|
|
4451
|
+
* @param _path is a required array of successive Vector3. This is the axis curve the shape is extruded along
|
|
4452
|
+
* @param _scale is the value to scale the shape
|
|
4453
|
+
* @param _rotation is the angle value to rotate the shape each step (each path point), from the former step (so rotation added each step) along the curve
|
|
4454
|
+
* @param _cap sets the way the extruded shape is capped. Possible values : Mesh.NO_CAP (default), Mesh.CAP_START, Mesh.CAP_END, Mesh.CAP_ALL
|
|
4455
|
+
* @param _scene defines the hosting scene
|
|
4456
|
+
* @param _updatable defines if the mesh must be flagged as updatable
|
|
4457
|
+
* @param _sideOrientation defines the mesh side orientation (https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/set#side-orientation)
|
|
4458
|
+
* @param _instance is an instance of an existing ExtrudedShape object to be updated with the passed `shape`, `path`, `scale` or `rotation` parameters (https://doc.babylonjs.com/how_to/How_to_dynamically_morph_a_mesh#extruded-shape)
|
|
4382
4459
|
* @returns a new Mesh
|
|
4383
4460
|
* @deprecated Please use MeshBuilder instead
|
|
4384
4461
|
*/
|
|
4385
|
-
static ExtrudeShape(
|
|
4462
|
+
static ExtrudeShape(_name, _shape, _path, _scale, _rotation, _cap, _scene, _updatable, _sideOrientation, _instance) {
|
|
4386
4463
|
throw new Error("Import MeshBuilder to populate this function");
|
|
4387
4464
|
}
|
|
4388
4465
|
/**
|
|
@@ -4391,102 +4468,102 @@ export class Mesh extends AbstractMesh {
|
|
|
4391
4468
|
* It has no predefined shape. Its final shape will depend on the input parameters.
|
|
4392
4469
|
*
|
|
4393
4470
|
* @see https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/param#extruded-shapes
|
|
4394
|
-
* @param
|
|
4395
|
-
* @param
|
|
4396
|
-
* @param
|
|
4397
|
-
* @param
|
|
4398
|
-
* @param
|
|
4399
|
-
* @param
|
|
4400
|
-
* @param
|
|
4401
|
-
* @param
|
|
4402
|
-
* @param
|
|
4403
|
-
* @param
|
|
4404
|
-
* @param
|
|
4405
|
-
* @param
|
|
4471
|
+
* @param _name defines the name of the mesh to create
|
|
4472
|
+
* @param _shape is a required array of successive Vector3. This array depicts the shape to be extruded in its local space : the shape must be designed in the xOy plane and will be extruded along the Z axis
|
|
4473
|
+
* @param _path is a required array of successive Vector3. This is the axis curve the shape is extruded along
|
|
4474
|
+
* @param _scaleFunction is a custom Javascript function called on each path point
|
|
4475
|
+
* @param _rotationFunction is a custom Javascript function called on each path point
|
|
4476
|
+
* @param _ribbonCloseArray forces the extrusion underlying ribbon to close all the paths in its `pathArray`
|
|
4477
|
+
* @param _ribbonClosePath forces the extrusion underlying ribbon to close its `pathArray`
|
|
4478
|
+
* @param _cap sets the way the extruded shape is capped. Possible values : Mesh.NO_CAP (default), Mesh.CAP_START, Mesh.CAP_END, Mesh.CAP_ALL
|
|
4479
|
+
* @param _scene defines the hosting scene
|
|
4480
|
+
* @param _updatable defines if the mesh must be flagged as updatable
|
|
4481
|
+
* @param _sideOrientation defines the mesh side orientation (https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/set#side-orientation)
|
|
4482
|
+
* @param _instance is an instance of an existing ExtrudedShape object to be updated with the passed `shape`, `path`, `scale` or `rotation` parameters (https://doc.babylonjs.com/features/featuresDeepDive/mesh/dynamicMeshMorph#extruded-shape)
|
|
4406
4483
|
* @returns a new Mesh
|
|
4407
4484
|
* @deprecated Please use MeshBuilder instead
|
|
4408
4485
|
*/
|
|
4409
|
-
static ExtrudeShapeCustom(
|
|
4486
|
+
static ExtrudeShapeCustom(_name, _shape, _path, _scaleFunction, _rotationFunction, _ribbonCloseArray, _ribbonClosePath, _cap, _scene, _updatable, _sideOrientation, _instance) {
|
|
4410
4487
|
throw new Error("Import MeshBuilder to populate this function");
|
|
4411
4488
|
}
|
|
4412
4489
|
/**
|
|
4413
4490
|
* Creates lathe mesh.
|
|
4414
4491
|
* The lathe is a shape with a symmetry axis : a 2D model shape is rotated around this axis to design the lathe.
|
|
4415
|
-
* @param
|
|
4416
|
-
* @param
|
|
4417
|
-
* @param
|
|
4418
|
-
* @param
|
|
4419
|
-
* @param
|
|
4420
|
-
* @param
|
|
4421
|
-
* @param
|
|
4492
|
+
* @param _name defines the name of the mesh to create
|
|
4493
|
+
* @param _shape is a required array of successive Vector3. This array depicts the shape to be rotated in its local space : the shape must be designed in the xOy plane and will be rotated around the Y axis. It's usually a 2D shape, so the Vector3 z coordinates are often set to zero
|
|
4494
|
+
* @param _radius is the radius value of the lathe
|
|
4495
|
+
* @param _tessellation is the side number of the lathe.
|
|
4496
|
+
* @param _scene defines the hosting scene
|
|
4497
|
+
* @param _updatable defines if the mesh must be flagged as updatable
|
|
4498
|
+
* @param _sideOrientation defines the mesh side orientation (https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/set#side-orientation)
|
|
4422
4499
|
* @returns a new Mesh
|
|
4423
4500
|
* @deprecated Please use MeshBuilder instead
|
|
4424
4501
|
*/
|
|
4425
|
-
static CreateLathe(
|
|
4502
|
+
static CreateLathe(_name, _shape, _radius, _tessellation, _scene, _updatable, _sideOrientation) {
|
|
4426
4503
|
throw new Error("Import MeshBuilder to populate this function");
|
|
4427
4504
|
}
|
|
4428
4505
|
/**
|
|
4429
4506
|
* Creates a plane mesh.
|
|
4430
|
-
* @param
|
|
4431
|
-
* @param
|
|
4432
|
-
* @param
|
|
4433
|
-
* @param
|
|
4434
|
-
* @param
|
|
4507
|
+
* @param _name defines the name of the mesh to create
|
|
4508
|
+
* @param _size sets the size (float) of both sides of the plane at once (default 1)
|
|
4509
|
+
* @param _scene defines the hosting scene
|
|
4510
|
+
* @param _updatable defines if the mesh must be flagged as updatable
|
|
4511
|
+
* @param _sideOrientation defines the mesh side orientation (https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/set#side-orientation)
|
|
4435
4512
|
* @returns a new Mesh
|
|
4436
4513
|
* @deprecated Please use MeshBuilder instead
|
|
4437
4514
|
*/
|
|
4438
|
-
static CreatePlane(
|
|
4515
|
+
static CreatePlane(_name, _size, _scene, _updatable, _sideOrientation) {
|
|
4439
4516
|
throw new Error("Import MeshBuilder to populate this function");
|
|
4440
4517
|
}
|
|
4441
4518
|
/**
|
|
4442
4519
|
* Creates a ground mesh.
|
|
4443
|
-
* @param
|
|
4444
|
-
* @param
|
|
4445
|
-
* @param
|
|
4446
|
-
* @param
|
|
4447
|
-
* @param
|
|
4448
|
-
* @param
|
|
4520
|
+
* @param _name defines the name of the mesh to create
|
|
4521
|
+
* @param _width set the width of the ground
|
|
4522
|
+
* @param _height set the height of the ground
|
|
4523
|
+
* @param _subdivisions sets the number of subdivisions per side
|
|
4524
|
+
* @param _scene defines the hosting scene
|
|
4525
|
+
* @param _updatable defines if the mesh must be flagged as updatable
|
|
4449
4526
|
* @returns a new Mesh
|
|
4450
4527
|
* @deprecated Please use MeshBuilder instead
|
|
4451
4528
|
*/
|
|
4452
|
-
static CreateGround(
|
|
4529
|
+
static CreateGround(_name, _width, _height, _subdivisions, _scene, _updatable) {
|
|
4453
4530
|
throw new Error("Import MeshBuilder to populate this function");
|
|
4454
4531
|
}
|
|
4455
4532
|
/**
|
|
4456
4533
|
* Creates a tiled ground mesh.
|
|
4457
|
-
* @param
|
|
4458
|
-
* @param
|
|
4459
|
-
* @param
|
|
4460
|
-
* @param
|
|
4461
|
-
* @param
|
|
4462
|
-
* @param
|
|
4463
|
-
* @param
|
|
4464
|
-
* @param
|
|
4465
|
-
* @param
|
|
4534
|
+
* @param _name defines the name of the mesh to create
|
|
4535
|
+
* @param _xmin set the ground minimum X coordinate
|
|
4536
|
+
* @param _zmin set the ground minimum Y coordinate
|
|
4537
|
+
* @param _xmax set the ground maximum X coordinate
|
|
4538
|
+
* @param _zmax set the ground maximum Z coordinate
|
|
4539
|
+
* @param _subdivisions is an object `{w: positive integer, h: positive integer}` (default `{w: 6, h: 6}`). `w` and `h` are the numbers of subdivisions on the ground width and height. Each subdivision is called a tile
|
|
4540
|
+
* @param _precision is an object `{w: positive integer, h: positive integer}` (default `{w: 2, h: 2}`). `w` and `h` are the numbers of subdivisions on the ground width and height of each tile
|
|
4541
|
+
* @param _scene defines the hosting scene
|
|
4542
|
+
* @param _updatable defines if the mesh must be flagged as updatable
|
|
4466
4543
|
* @returns a new Mesh
|
|
4467
4544
|
* @deprecated Please use MeshBuilder instead
|
|
4468
4545
|
*/
|
|
4469
|
-
static CreateTiledGround(
|
|
4546
|
+
static CreateTiledGround(_name, _xmin, _zmin, _xmax, _zmax, _subdivisions, _precision, _scene, _updatable) {
|
|
4470
4547
|
throw new Error("Import MeshBuilder to populate this function");
|
|
4471
4548
|
}
|
|
4472
4549
|
/**
|
|
4473
4550
|
* Creates a ground mesh from a height map.
|
|
4474
4551
|
* @see https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/set/height_map
|
|
4475
|
-
* @param
|
|
4476
|
-
* @param
|
|
4477
|
-
* @param
|
|
4478
|
-
* @param
|
|
4479
|
-
* @param
|
|
4480
|
-
* @param
|
|
4481
|
-
* @param
|
|
4482
|
-
* @param
|
|
4483
|
-
* @param
|
|
4484
|
-
* @param
|
|
4485
|
-
* @param
|
|
4552
|
+
* @param _name defines the name of the mesh to create
|
|
4553
|
+
* @param _url sets the URL of the height map image resource
|
|
4554
|
+
* @param _width set the ground width size
|
|
4555
|
+
* @param _height set the ground height size
|
|
4556
|
+
* @param _subdivisions sets the number of subdivision per side
|
|
4557
|
+
* @param _minHeight is the minimum altitude on the ground
|
|
4558
|
+
* @param _maxHeight is the maximum altitude on the ground
|
|
4559
|
+
* @param _scene defines the hosting scene
|
|
4560
|
+
* @param _updatable defines if the mesh must be flagged as updatable
|
|
4561
|
+
* @param _onReady is a callback function that will be called once the mesh is built (the height map download can last some time)
|
|
4562
|
+
* @param _alphaFilter will filter any data where the alpha channel is below this value, defaults 0 (all data visible)
|
|
4486
4563
|
* @returns a new Mesh
|
|
4487
4564
|
* @deprecated Please use MeshBuilder instead
|
|
4488
4565
|
*/
|
|
4489
|
-
static CreateGroundFromHeightMap(
|
|
4566
|
+
static CreateGroundFromHeightMap(_name, _url, _width, _height, _subdivisions, _minHeight, _maxHeight, _scene, _updatable, _onReady, _alphaFilter) {
|
|
4490
4567
|
throw new Error("Import MeshBuilder to populate this function");
|
|
4491
4568
|
}
|
|
4492
4569
|
/**
|
|
@@ -4495,20 +4572,20 @@ export class Mesh extends AbstractMesh {
|
|
|
4495
4572
|
* It has no predefined shape. Its final shape will depend on the input parameters.
|
|
4496
4573
|
*
|
|
4497
4574
|
* @see https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/param
|
|
4498
|
-
* @param
|
|
4499
|
-
* @param
|
|
4500
|
-
* @param
|
|
4501
|
-
* @param
|
|
4502
|
-
* @param
|
|
4503
|
-
* @param
|
|
4504
|
-
* @param
|
|
4505
|
-
* @param
|
|
4506
|
-
* @param
|
|
4507
|
-
* @param
|
|
4575
|
+
* @param _name defines the name of the mesh to create
|
|
4576
|
+
* @param _path is a required array of successive Vector3. It is the curve used as the axis of the tube
|
|
4577
|
+
* @param _radius sets the tube radius size
|
|
4578
|
+
* @param _tessellation is the number of sides on the tubular surface
|
|
4579
|
+
* @param _radiusFunction is a custom function. If it is not null, it overrides the parameter `radius`. This function is called on each point of the tube path and is passed the index `i` of the i-th point and the distance of this point from the first point of the path
|
|
4580
|
+
* @param _cap sets the way the extruded shape is capped. Possible values : Mesh.NO_CAP (default), Mesh.CAP_START, Mesh.CAP_END, Mesh.CAP_ALL
|
|
4581
|
+
* @param _scene defines the hosting scene
|
|
4582
|
+
* @param _updatable defines if the mesh must be flagged as updatable
|
|
4583
|
+
* @param _sideOrientation defines the mesh side orientation (https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/set#side-orientation)
|
|
4584
|
+
* @param _instance is an instance of an existing Tube object to be updated with the passed `pathArray` parameter (https://doc.babylonjs.com/how_to/How_to_dynamically_morph_a_mesh#tube)
|
|
4508
4585
|
* @returns a new Mesh
|
|
4509
4586
|
* @deprecated Please use MeshBuilder instead
|
|
4510
4587
|
*/
|
|
4511
|
-
static CreateTube(
|
|
4588
|
+
static CreateTube(_name, _path, _radius, _tessellation, _radiusFunction, _cap, _scene, _updatable, _sideOrientation, _instance) {
|
|
4512
4589
|
throw new Error("Import MeshBuilder to populate this function");
|
|
4513
4590
|
}
|
|
4514
4591
|
/**
|
|
@@ -4525,13 +4602,13 @@ export class Mesh extends AbstractMesh {
|
|
|
4525
4602
|
* * You can also set the mesh side orientation with the values : Mesh.FRONTSIDE (default), Mesh.BACKSIDE or Mesh.DOUBLESIDE
|
|
4526
4603
|
* * If you create a double-sided mesh, you can choose what parts of the texture image to crop and stick respectively on the front and the back sides with the parameters `frontUVs` and `backUVs` (Vector4). Detail here : https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/set#side-orientation
|
|
4527
4604
|
* * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created
|
|
4528
|
-
* @param
|
|
4529
|
-
* @param
|
|
4530
|
-
* @param
|
|
4605
|
+
* @param _name defines the name of the mesh to create
|
|
4606
|
+
* @param _options defines the options used to create the mesh
|
|
4607
|
+
* @param _scene defines the hosting scene
|
|
4531
4608
|
* @returns a new Mesh
|
|
4532
4609
|
* @deprecated Please use MeshBuilder instead
|
|
4533
4610
|
*/
|
|
4534
|
-
static CreatePolyhedron(
|
|
4611
|
+
static CreatePolyhedron(_name, _options, _scene) {
|
|
4535
4612
|
throw new Error("Import MeshBuilder to populate this function");
|
|
4536
4613
|
}
|
|
4537
4614
|
/**
|
|
@@ -4544,50 +4621,50 @@ export class Mesh extends AbstractMesh {
|
|
|
4544
4621
|
* * If you create a double-sided mesh, you can choose what parts of the texture image to crop and stick respectively on the front and the back sides with the parameters `frontUVs` and `backUVs` (Vector4). Detail here : https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/set#side-orientation
|
|
4545
4622
|
* * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created
|
|
4546
4623
|
* @see https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/polyhedra#icosphere
|
|
4547
|
-
* @param
|
|
4548
|
-
* @param
|
|
4549
|
-
* @param
|
|
4624
|
+
* @param _name defines the name of the mesh
|
|
4625
|
+
* @param _options defines the options used to create the mesh
|
|
4626
|
+
* @param _scene defines the hosting scene
|
|
4550
4627
|
* @returns a new Mesh
|
|
4551
4628
|
* @deprecated Please use MeshBuilder instead
|
|
4552
4629
|
*/
|
|
4553
|
-
static CreateIcoSphere(
|
|
4630
|
+
static CreateIcoSphere(_name, _options, _scene) {
|
|
4554
4631
|
throw new Error("Import MeshBuilder to populate this function");
|
|
4555
4632
|
}
|
|
4556
4633
|
/**
|
|
4557
4634
|
* Creates a decal mesh.
|
|
4558
4635
|
*.
|
|
4559
4636
|
* A decal is a mesh usually applied as a model onto the surface of another mesh
|
|
4560
|
-
* @param
|
|
4561
|
-
* @param
|
|
4562
|
-
* @param
|
|
4563
|
-
* @param
|
|
4564
|
-
* @param
|
|
4565
|
-
* @param
|
|
4637
|
+
* @param _name defines the name of the mesh
|
|
4638
|
+
* @param _sourceMesh defines the mesh receiving the decal
|
|
4639
|
+
* @param _position sets the position of the decal in world coordinates
|
|
4640
|
+
* @param _normal sets the normal of the mesh where the decal is applied onto in world coordinates
|
|
4641
|
+
* @param _size sets the decal scaling
|
|
4642
|
+
* @param _angle sets the angle to rotate the decal
|
|
4566
4643
|
* @returns a new Mesh
|
|
4567
4644
|
* @deprecated Please use MeshBuilder instead
|
|
4568
4645
|
*/
|
|
4569
|
-
static CreateDecal(
|
|
4646
|
+
static CreateDecal(_name, _sourceMesh, _position, _normal, _size, _angle) {
|
|
4570
4647
|
throw new Error("Import MeshBuilder to populate this function");
|
|
4571
4648
|
}
|
|
4572
4649
|
/** Creates a Capsule Mesh
|
|
4573
|
-
* @param
|
|
4574
|
-
* @param
|
|
4575
|
-
* @param
|
|
4650
|
+
* @param _name defines the name of the mesh.
|
|
4651
|
+
* @param _options the constructors options used to shape the mesh.
|
|
4652
|
+
* @param _scene defines the scene the mesh is scoped to.
|
|
4576
4653
|
* @returns the capsule mesh
|
|
4577
4654
|
* @see https://doc.babylonjs.com/how_to/capsule_shape
|
|
4578
4655
|
* @deprecated Please use MeshBuilder instead
|
|
4579
4656
|
*/
|
|
4580
|
-
static CreateCapsule(
|
|
4657
|
+
static CreateCapsule(_name, _options, _scene) {
|
|
4581
4658
|
throw new Error("Import MeshBuilder to populate this function");
|
|
4582
4659
|
}
|
|
4583
4660
|
/**
|
|
4584
4661
|
* Extends a mesh to a Goldberg mesh
|
|
4585
4662
|
* Warning the mesh to convert MUST be an import of a perviously exported Goldberg mesh
|
|
4586
|
-
* @param
|
|
4663
|
+
* @param _mesh the mesh to convert
|
|
4587
4664
|
* @returns the extended mesh
|
|
4588
4665
|
* @deprecated Please use ExtendMeshToGoldberg instead
|
|
4589
4666
|
*/
|
|
4590
|
-
static ExtendToGoldberg(
|
|
4667
|
+
static ExtendToGoldberg(_mesh) {
|
|
4591
4668
|
throw new Error("Import MeshBuilder to populate this function");
|
|
4592
4669
|
}
|
|
4593
4670
|
}
|