@babylonjs/core 5.45.2 → 5.46.0
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/Actions/condition.js +23 -23
- package/Actions/condition.js.map +1 -1
- package/Animations/animatable.js +48 -48
- package/Animations/animatable.js.map +1 -1
- package/Animations/animation.js +53 -53
- package/Animations/animation.js.map +1 -1
- package/Animations/animationGroup.js +53 -53
- package/Animations/animationGroup.js.map +1 -1
- package/Animations/runtimeAnimation.js +36 -36
- package/Animations/runtimeAnimation.js.map +1 -1
- package/Audio/audioEngine.js +14 -14
- package/Audio/audioEngine.js.map +1 -1
- package/Audio/audioSceneComponent.js +14 -14
- package/Audio/audioSceneComponent.js.map +1 -1
- package/Audio/sound.js +47 -47
- package/Audio/sound.js.map +1 -1
- package/Behaviors/Meshes/baseSixDofDragBehavior.d.ts +1 -1
- package/Behaviors/Meshes/fadeInOutBehavior.js +11 -11
- package/Behaviors/Meshes/fadeInOutBehavior.js.map +1 -1
- package/Behaviors/Meshes/pointerDragBehavior.js +34 -34
- package/Behaviors/Meshes/pointerDragBehavior.js.map +1 -1
- package/Bones/bone.js +15 -15
- package/Bones/bone.js.map +1 -1
- package/Bones/boneIKController.js +9 -9
- package/Bones/boneIKController.js.map +1 -1
- package/Bones/boneLookController.js +50 -50
- package/Bones/boneLookController.js.map +1 -1
- package/Bones/skeleton.js +35 -35
- package/Bones/skeleton.js.map +1 -1
- package/Buffers/buffer.js +14 -14
- package/Buffers/buffer.js.map +1 -1
- package/Buffers/dataBuffer.js +6 -6
- package/Buffers/dataBuffer.js.map +1 -1
- package/Cameras/Inputs/freeCameraDeviceOrientationInput.js +42 -42
- package/Cameras/Inputs/freeCameraDeviceOrientationInput.js.map +1 -1
- package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js +18 -18
- package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js.map +1 -1
- package/Cameras/VR/vrExperienceHelper.js +178 -178
- package/Cameras/VR/vrExperienceHelper.js.map +1 -1
- package/Cameras/arcRotateCamera.js +176 -176
- package/Cameras/arcRotateCamera.js.map +1 -1
- package/Cameras/camera.js +90 -90
- package/Cameras/camera.js.map +1 -1
- package/Cameras/flyCamera.js +82 -82
- package/Cameras/flyCamera.js.map +1 -1
- package/Cameras/freeCamera.js +54 -54
- package/Cameras/freeCamera.js.map +1 -1
- package/Compute/computeShader.js +12 -12
- package/Compute/computeShader.js.map +1 -1
- package/Culling/ray.d.ts +1 -1
- package/Debug/axesViewer.js +12 -12
- package/Debug/axesViewer.js.map +1 -1
- package/Debug/debugLayer.js +21 -21
- package/Debug/debugLayer.js.map +1 -1
- package/Debug/directionalLightFrustumViewer.js +20 -20
- package/Debug/directionalLightFrustumViewer.js.map +1 -1
- package/Debug/rayHelper.js +10 -10
- package/Debug/rayHelper.js.map +1 -1
- package/Debug/skeletonViewer.js +81 -81
- package/Debug/skeletonViewer.js.map +1 -1
- package/DeviceInput/InputDevices/deviceSource.d.ts +1 -1
- package/DeviceInput/InputDevices/deviceSourceManager.js +31 -31
- package/DeviceInput/InputDevices/deviceSourceManager.js.map +1 -1
- package/DeviceInput/InputDevices/deviceTypes.d.ts +1 -1
- package/DeviceInput/internalDeviceSourceManager.d.ts +2 -2
- package/Engines/Extensions/engine.computeShader.d.ts +3 -3
- package/Engines/Extensions/engine.multiRender.js +1 -1
- package/Engines/Extensions/engine.multiRender.js.map +1 -1
- package/Engines/Extensions/engine.query.d.ts +1 -1
- package/Engines/Extensions/engine.renderTarget.d.ts +1 -1
- package/Engines/Extensions/engine.renderTarget.js +1 -1
- package/Engines/Extensions/engine.renderTarget.js.map +1 -1
- package/Engines/Native/nativeDataStream.d.ts +1 -1
- package/Engines/Native/nativeHardwareTexture.js +3 -3
- package/Engines/Native/nativeHardwareTexture.js.map +1 -1
- package/Engines/Native/nativeInterfaces.d.ts +5 -5
- package/Engines/Native/nativePipelineContext.js +7 -7
- package/Engines/Native/nativePipelineContext.js.map +1 -1
- package/Engines/Native/nativeRenderTargetWrapper.js +6 -6
- package/Engines/Native/nativeRenderTargetWrapper.js.map +1 -1
- package/Engines/Processors/shaderCodeInliner.js +4 -4
- package/Engines/Processors/shaderCodeInliner.js.map +1 -1
- package/Engines/Processors/shaderProcessingOptions.d.ts +1 -1
- package/Engines/WebGL/webGLHardwareTexture.js +3 -3
- package/Engines/WebGL/webGLHardwareTexture.js.map +1 -1
- package/Engines/WebGPU/webgpuBufferManager.js +3 -3
- package/Engines/WebGPU/webgpuBufferManager.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheBindGroups.js +6 -6
- package/Engines/WebGPU/webgpuCacheBindGroups.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipelineTree.js +5 -5
- package/Engines/WebGPU/webgpuCacheRenderPipelineTree.js.map +1 -1
- package/Engines/WebGPU/webgpuClearQuad.js +11 -11
- package/Engines/WebGPU/webgpuClearQuad.js.map +1 -1
- package/Engines/WebGPU/webgpuComputeContext.js +7 -7
- package/Engines/WebGPU/webgpuComputeContext.js.map +1 -1
- package/Engines/WebGPU/webgpuComputePipelineContext.js +4 -4
- package/Engines/WebGPU/webgpuComputePipelineContext.js.map +1 -1
- package/Engines/WebGPU/webgpuDrawContext.js +7 -7
- package/Engines/WebGPU/webgpuDrawContext.js.map +1 -1
- package/Engines/WebGPU/webgpuHardwareTexture.js +9 -9
- package/Engines/WebGPU/webgpuHardwareTexture.js.map +1 -1
- package/Engines/WebGPU/webgpuMaterialContext.js +5 -5
- package/Engines/WebGPU/webgpuMaterialContext.js.map +1 -1
- package/Engines/WebGPU/webgpuOcclusionQuery.js +10 -10
- package/Engines/WebGPU/webgpuOcclusionQuery.js.map +1 -1
- package/Engines/WebGPU/webgpuPipelineContext.js +6 -6
- package/Engines/WebGPU/webgpuPipelineContext.js.map +1 -1
- package/Engines/WebGPU/webgpuQuerySet.js +3 -3
- package/Engines/WebGPU/webgpuQuerySet.js.map +1 -1
- package/Engines/WebGPU/webgpuShaderProcessingContext.js +3 -3
- package/Engines/WebGPU/webgpuShaderProcessingContext.js.map +1 -1
- package/Engines/WebGPU/webgpuTextureHelper.js +3 -3
- package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
- package/Engines/WebGPU/webgpuTimestampQuery.js +3 -3
- package/Engines/WebGPU/webgpuTimestampQuery.js.map +1 -1
- package/Engines/engine.js +134 -134
- package/Engines/engine.js.map +1 -1
- package/Engines/nativeEngine.js +6 -6
- package/Engines/nativeEngine.js.map +1 -1
- package/Engines/nullEngine.js +25 -25
- package/Engines/nullEngine.js.map +1 -1
- package/Engines/renderTargetWrapper.js +25 -25
- package/Engines/renderTargetWrapper.js.map +1 -1
- package/Engines/thinEngine.js +243 -243
- package/Engines/thinEngine.js.map +1 -1
- package/Engines/webgpuEngine.js +132 -132
- package/Engines/webgpuEngine.js.map +1 -1
- package/Events/keyboardEvents.js +10 -10
- package/Events/keyboardEvents.js.map +1 -1
- package/Events/pointerEvents.js +9 -9
- package/Events/pointerEvents.js.map +1 -1
- package/Gamepads/Controllers/poseEnabledController.js +9 -9
- package/Gamepads/Controllers/poseEnabledController.js.map +1 -1
- package/Gamepads/Controllers/webVRController.js +13 -13
- package/Gamepads/Controllers/webVRController.js.map +1 -1
- package/Gamepads/gamepad.js +20 -20
- package/Gamepads/gamepad.js.map +1 -1
- package/Gizmos/axisDragGizmo.js +45 -45
- package/Gizmos/axisDragGizmo.js.map +1 -1
- package/Gizmos/axisScaleGizmo.js +12 -12
- package/Gizmos/axisScaleGizmo.js.map +1 -1
- package/Gizmos/boundingBoxGizmo.js +74 -74
- package/Gizmos/boundingBoxGizmo.js.map +1 -1
- package/Gizmos/gizmo.js +34 -34
- package/Gizmos/gizmo.js.map +1 -1
- package/Gizmos/gizmoManager.js +40 -40
- package/Gizmos/gizmoManager.js.map +1 -1
- package/Gizmos/planeDragGizmo.js +23 -23
- package/Gizmos/planeDragGizmo.js.map +1 -1
- package/Gizmos/planeRotationGizmo.js +12 -12
- package/Gizmos/planeRotationGizmo.js.map +1 -1
- package/Gizmos/positionGizmo.js +40 -40
- package/Gizmos/positionGizmo.js.map +1 -1
- package/Gizmos/rotationGizmo.js +47 -47
- package/Gizmos/rotationGizmo.js.map +1 -1
- package/Gizmos/scaleGizmo.js +41 -41
- package/Gizmos/scaleGizmo.js.map +1 -1
- package/Helpers/environmentHelper.js +18 -18
- package/Helpers/environmentHelper.js.map +1 -1
- package/Helpers/textureDome.js +96 -96
- package/Helpers/textureDome.js.map +1 -1
- package/IAccessibilityTag.d.ts +2 -2
- package/Instrumentation/engineInstrumentation.js +21 -21
- package/Instrumentation/engineInstrumentation.js.map +1 -1
- package/Instrumentation/sceneInstrumentation.js +90 -90
- package/Instrumentation/sceneInstrumentation.js.map +1 -1
- package/Layers/effectLayer.js +48 -48
- package/Layers/effectLayer.js.map +1 -1
- package/Layers/glowLayer.js +32 -32
- package/Layers/glowLayer.js.map +1 -1
- package/Layers/highlightLayer.js +26 -26
- package/Layers/highlightLayer.js.map +1 -1
- package/Layers/layer.js +40 -40
- package/Layers/layer.js.map +1 -1
- package/LensFlares/lensFlare.js +15 -15
- package/LensFlares/lensFlare.js.map +1 -1
- package/LensFlares/lensFlareSystem.js +4 -4
- package/LensFlares/lensFlareSystem.js.map +1 -1
- package/Lights/Shadows/cascadedShadowGenerator.js +18 -18
- package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
- package/Lights/Shadows/shadowGenerator.js +115 -115
- package/Lights/Shadows/shadowGenerator.js.map +1 -1
- package/Lights/directionalLight.js +31 -31
- package/Lights/directionalLight.js.map +1 -1
- package/Lights/light.js +72 -72
- package/Lights/light.js.map +1 -1
- package/Lights/pointLight.js +18 -18
- package/Lights/pointLight.js.map +1 -1
- package/Lights/spotLight.js +30 -30
- package/Lights/spotLight.js.map +1 -1
- package/Loading/sceneLoader.d.ts +1 -1
- package/Materials/Background/backgroundMaterial.js +124 -124
- package/Materials/Background/backgroundMaterial.js.map +1 -1
- package/Materials/Node/Blocks/Dual/imageSourceBlock.js +8 -8
- package/Materials/Node/Blocks/Dual/imageSourceBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/lightBlock.js +14 -14
- package/Materials/Node/Blocks/Dual/lightBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js +9 -9
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/textureBlock.js +26 -26
- package/Materials/Node/Blocks/Dual/textureBlock.js.map +1 -1
- package/Materials/Node/Blocks/Input/inputBlock.js +34 -34
- package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +14 -14
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/reflectionBlock.js +16 -16
- package/Materials/Node/Blocks/PBR/reflectionBlock.js.map +1 -1
- package/Materials/Node/Blocks/customBlock.js +7 -7
- package/Materials/Node/Blocks/customBlock.js.map +1 -1
- package/Materials/Node/Blocks/gradientBlock.js +13 -13
- package/Materials/Node/Blocks/gradientBlock.js.map +1 -1
- package/Materials/Node/Blocks/triPlanarBlock.js +30 -30
- package/Materials/Node/Blocks/triPlanarBlock.js.map +1 -1
- package/Materials/Node/nodeMaterial.d.ts +1 -1
- package/Materials/Node/nodeMaterial.js +60 -60
- package/Materials/Node/nodeMaterial.js.map +1 -1
- package/Materials/Node/nodeMaterialBlock.js +35 -35
- package/Materials/Node/nodeMaterialBlock.js.map +1 -1
- package/Materials/Node/nodeMaterialBlockConnectionPoint.js +50 -50
- package/Materials/Node/nodeMaterialBlockConnectionPoint.js.map +1 -1
- package/Materials/PBR/pbrAnisotropicConfiguration.js +5 -5
- package/Materials/PBR/pbrAnisotropicConfiguration.js.map +1 -1
- package/Materials/PBR/pbrBRDFConfiguration.js +4 -4
- package/Materials/PBR/pbrBRDFConfiguration.js.map +1 -1
- package/Materials/PBR/pbrBaseMaterial.js +52 -52
- package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
- package/Materials/PBR/pbrBaseSimpleMaterial.js +17 -17
- package/Materials/PBR/pbrBaseSimpleMaterial.js.map +1 -1
- package/Materials/PBR/pbrClearCoatConfiguration.js +5 -5
- package/Materials/PBR/pbrClearCoatConfiguration.js.map +1 -1
- package/Materials/PBR/pbrIridescenceConfiguration.js +5 -5
- package/Materials/PBR/pbrIridescenceConfiguration.js.map +1 -1
- package/Materials/PBR/pbrMaterial.js +209 -209
- package/Materials/PBR/pbrMaterial.js.map +1 -1
- package/Materials/PBR/pbrSheenConfiguration.js +5 -5
- package/Materials/PBR/pbrSheenConfiguration.js.map +1 -1
- package/Materials/PBR/pbrSpecularGlossinessMaterial.js +6 -6
- package/Materials/PBR/pbrSpecularGlossinessMaterial.js.map +1 -1
- package/Materials/PBR/pbrSubSurfaceConfiguration.js +51 -51
- package/Materials/PBR/pbrSubSurfaceConfiguration.js.map +1 -1
- package/Materials/Textures/baseTexture.js +99 -99
- package/Materials/Textures/baseTexture.js.map +1 -1
- package/Materials/Textures/cubeTexture.js +61 -61
- package/Materials/Textures/cubeTexture.js.map +1 -1
- package/Materials/Textures/externalTexture.js +16 -16
- package/Materials/Textures/externalTexture.js.map +1 -1
- package/Materials/Textures/hdrCubeTexture.js +44 -44
- package/Materials/Textures/hdrCubeTexture.js.map +1 -1
- package/Materials/Textures/internalTexture.js +31 -31
- package/Materials/Textures/internalTexture.js.map +1 -1
- package/Materials/Textures/mirrorTexture.js +73 -73
- package/Materials/Textures/mirrorTexture.js.map +1 -1
- package/Materials/Textures/multiRenderTarget.js +47 -47
- package/Materials/Textures/multiRenderTarget.js.map +1 -1
- package/Materials/Textures/rawTexture2DArray.js +6 -6
- package/Materials/Textures/rawTexture2DArray.js.map +1 -1
- package/Materials/Textures/renderTargetTexture.js +142 -142
- package/Materials/Textures/renderTargetTexture.js.map +1 -1
- package/Materials/Textures/texture.d.ts +1 -1
- package/Materials/Textures/texture.js +26 -26
- package/Materials/Textures/texture.js.map +1 -1
- package/Materials/Textures/textureCreationOptions.d.ts +1 -1
- package/Materials/Textures/textureSampler.js +20 -20
- package/Materials/Textures/textureSampler.js.map +1 -1
- package/Materials/Textures/thinRenderTargetTexture.js +6 -6
- package/Materials/Textures/thinRenderTargetTexture.js.map +1 -1
- package/Materials/Textures/thinTexture.js +39 -39
- package/Materials/Textures/thinTexture.js.map +1 -1
- package/Materials/Textures/videoTexture.js +40 -40
- package/Materials/Textures/videoTexture.js.map +1 -1
- package/Materials/drawWrapper.js +6 -6
- package/Materials/drawWrapper.js.map +1 -1
- package/Materials/effect.js +18 -18
- package/Materials/effect.js.map +1 -1
- package/Materials/effectRenderer.js +9 -9
- package/Materials/effectRenderer.js.map +1 -1
- package/Materials/fresnelParameters.d.ts +2 -2
- package/Materials/fresnelParameters.js +13 -13
- package/Materials/fresnelParameters.js.map +1 -1
- package/Materials/material.detailMapConfiguration.js +5 -5
- package/Materials/material.detailMapConfiguration.js.map +1 -1
- package/Materials/material.js +223 -223
- package/Materials/material.js.map +1 -1
- package/Materials/materialPluginBase.js +5 -5
- package/Materials/materialPluginBase.js.map +1 -1
- package/Materials/materialPluginEvent.d.ts +14 -14
- package/Materials/materialPluginManager.d.ts +1 -1
- package/Materials/multiMaterial.js +16 -16
- package/Materials/multiMaterial.js.map +1 -1
- package/Materials/shadowDepthWrapper.js +14 -14
- package/Materials/shadowDepthWrapper.js.map +1 -1
- package/Materials/standardMaterial.js +100 -100
- package/Materials/standardMaterial.js.map +1 -1
- package/Materials/uniformBufferEffectCommonAccessor.js +3 -3
- package/Materials/uniformBufferEffectCommonAccessor.js.map +1 -1
- package/Maths/math.functions.js +2 -0
- package/Maths/math.functions.js.map +1 -1
- package/Maths/math.path.js +11 -11
- package/Maths/math.path.js.map +1 -1
- package/Maths/math.vector.d.ts +6 -7
- package/Maths/math.vector.js +48 -48
- package/Maths/math.vector.js.map +1 -1
- package/Meshes/Builders/goldbergBuilder.d.ts +2 -2
- package/Meshes/Compression/dracoCompression.js +23 -23
- package/Meshes/Compression/dracoCompression.js.map +1 -1
- package/Meshes/Compression/meshoptCompression.js +9 -9
- package/Meshes/Compression/meshoptCompression.js.map +1 -1
- package/Meshes/abstractMesh.js +179 -179
- package/Meshes/abstractMesh.js.map +1 -1
- package/Meshes/geometry.js +32 -32
- package/Meshes/geometry.js.map +1 -1
- package/Meshes/goldbergMesh.d.ts +1 -1
- package/Meshes/linesMesh.js +3 -3
- package/Meshes/linesMesh.js.map +1 -1
- package/Meshes/mesh.js +165 -165
- package/Meshes/mesh.js.map +1 -1
- package/Meshes/mesh.vertexData.js.map +1 -1
- package/Meshes/polygonMesh.js +5 -5
- package/Meshes/polygonMesh.js.map +1 -1
- package/Meshes/subMesh.js +59 -59
- package/Meshes/subMesh.js.map +1 -1
- package/Meshes/transformNode.js +52 -52
- package/Meshes/transformNode.js.map +1 -1
- package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.d.ts +1 -1
- package/Misc/PerformanceViewer/performanceViewerCollector.js +12 -12
- package/Misc/PerformanceViewer/performanceViewerCollector.js.map +1 -1
- package/Misc/arrayTools.d.ts +1 -1
- package/Misc/copyTextureToTexture.js +3 -3
- package/Misc/copyTextureToTexture.js.map +1 -1
- package/Misc/coroutine.d.ts +5 -5
- package/Misc/deferred.js +9 -9
- package/Misc/deferred.js.map +1 -1
- package/Misc/depthReducer.js +7 -7
- package/Misc/depthReducer.js.map +1 -1
- package/Misc/environmentTextureTools.d.ts +1 -1
- package/Misc/error.d.ts +1 -1
- package/Misc/fileTools.d.ts +5 -5
- package/Misc/filesInput.js +6 -6
- package/Misc/filesInput.js.map +1 -1
- package/Misc/khronosTextureContainer2.js +9 -9
- package/Misc/khronosTextureContainer2.js.map +1 -1
- package/Misc/observable.js +12 -12
- package/Misc/observable.js.map +1 -1
- package/Misc/perfCounter.js +16 -16
- package/Misc/perfCounter.js.map +1 -1
- package/Misc/sceneOptimizer.js +76 -76
- package/Misc/sceneOptimizer.js.map +1 -1
- package/Misc/stringDictionary.d.ts +1 -1
- package/Misc/trajectoryClassifier.js +67 -67
- package/Misc/trajectoryClassifier.js.map +1 -1
- package/Misc/videoRecorder.js +15 -15
- package/Misc/videoRecorder.js.map +1 -1
- package/Misc/virtualJoystick.js +12 -12
- package/Misc/virtualJoystick.js.map +1 -1
- package/Morph/morphTarget.js +28 -28
- package/Morph/morphTarget.js.map +1 -1
- package/Morph/morphTargetManager.js +18 -18
- package/Morph/morphTargetManager.js.map +1 -1
- package/Offline/database.js +12 -12
- package/Offline/database.js.map +1 -1
- package/Particles/EmitterTypes/coneParticleEmitter.js +25 -25
- package/Particles/EmitterTypes/coneParticleEmitter.js.map +1 -1
- package/Particles/EmitterTypes/meshParticleEmitter.js +20 -20
- package/Particles/EmitterTypes/meshParticleEmitter.js.map +1 -1
- package/Particles/baseParticleSystem.js +232 -232
- package/Particles/baseParticleSystem.js.map +1 -1
- package/Particles/cloudPoint.js +9 -9
- package/Particles/cloudPoint.js.map +1 -1
- package/Particles/gpuParticleSystem.js +123 -123
- package/Particles/gpuParticleSystem.js.map +1 -1
- package/Particles/particleSystem.js +102 -102
- package/Particles/particleSystem.js.map +1 -1
- package/Particles/pointsCloudSystem.js +18 -18
- package/Particles/pointsCloudSystem.js.map +1 -1
- package/Particles/solidParticle.js +23 -23
- package/Particles/solidParticle.js.map +1 -1
- package/Physics/v1/physicsEngine.js +14 -14
- package/Physics/v1/physicsEngine.js.map +1 -1
- package/Physics/v1/physicsImpostor.js +149 -149
- package/Physics/v1/physicsImpostor.js.map +1 -1
- package/Physics/v2/physicsEngine.js +14 -14
- package/Physics/v2/physicsEngine.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js +129 -129
- package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js +68 -68
- package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js +6 -6
- package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.js +226 -225
- package/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js +10 -10
- package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js.map +1 -1
- package/PostProcesses/anaglyphPostProcess.js +7 -7
- package/PostProcesses/anaglyphPostProcess.js.map +1 -1
- package/PostProcesses/blackAndWhitePostProcess.js +7 -7
- package/PostProcesses/blackAndWhitePostProcess.js.map +1 -1
- package/PostProcesses/bloomEffect.js +28 -28
- package/PostProcesses/bloomEffect.js.map +1 -1
- package/PostProcesses/bloomMergePostProcess.js +7 -7
- package/PostProcesses/bloomMergePostProcess.js.map +1 -1
- package/PostProcesses/blurPostProcess.js +32 -32
- package/PostProcesses/blurPostProcess.js.map +1 -1
- package/PostProcesses/chromaticAberrationPostProcess.js +7 -7
- package/PostProcesses/chromaticAberrationPostProcess.js.map +1 -1
- package/PostProcesses/circleOfConfusionPostProcess.js +7 -7
- package/PostProcesses/circleOfConfusionPostProcess.js.map +1 -1
- package/PostProcesses/colorCorrectionPostProcess.js +7 -7
- package/PostProcesses/colorCorrectionPostProcess.js.map +1 -1
- package/PostProcesses/convolutionPostProcess.js +7 -7
- package/PostProcesses/convolutionPostProcess.js.map +1 -1
- package/PostProcesses/depthOfFieldBlurPostProcess.js +7 -7
- package/PostProcesses/depthOfFieldBlurPostProcess.js.map +1 -1
- package/PostProcesses/depthOfFieldEffect.js +36 -36
- package/PostProcesses/depthOfFieldEffect.js.map +1 -1
- package/PostProcesses/depthOfFieldMergePostProcess.js +7 -7
- package/PostProcesses/depthOfFieldMergePostProcess.js.map +1 -1
- package/PostProcesses/extractHighlightsPostProcess.js +7 -7
- package/PostProcesses/extractHighlightsPostProcess.js.map +1 -1
- package/PostProcesses/filterPostProcess.js +7 -7
- package/PostProcesses/filterPostProcess.js.map +1 -1
- package/PostProcesses/grainPostProcess.js +7 -7
- package/PostProcesses/grainPostProcess.js.map +1 -1
- package/PostProcesses/imageProcessingPostProcess.js +42 -42
- package/PostProcesses/imageProcessingPostProcess.js.map +1 -1
- package/PostProcesses/motionBlurPostProcess.js +41 -41
- package/PostProcesses/motionBlurPostProcess.js.map +1 -1
- package/PostProcesses/passPostProcess.js +15 -15
- package/PostProcesses/passPostProcess.js.map +1 -1
- package/PostProcesses/postProcess.d.ts +2 -2
- package/PostProcesses/postProcess.js +123 -123
- package/PostProcesses/postProcess.js.map +1 -1
- package/PostProcesses/refractionPostProcess.js +21 -21
- package/PostProcesses/refractionPostProcess.js.map +1 -1
- package/PostProcesses/screenSpaceCurvaturePostProcess.js +7 -7
- package/PostProcesses/screenSpaceCurvaturePostProcess.js.map +1 -1
- package/PostProcesses/screenSpaceReflectionPostProcess.js +19 -19
- package/PostProcesses/screenSpaceReflectionPostProcess.js.map +1 -1
- package/PostProcesses/sharpenPostProcess.js +7 -7
- package/PostProcesses/sharpenPostProcess.js.map +1 -1
- package/PostProcesses/stereoscopicInterlacePostProcess.js +14 -14
- package/PostProcesses/stereoscopicInterlacePostProcess.js.map +1 -1
- package/PostProcesses/tonemapPostProcess.js +7 -7
- package/PostProcesses/tonemapPostProcess.js.map +1 -1
- package/PostProcesses/volumetricLightScatteringPostProcess.js +11 -11
- package/PostProcesses/volumetricLightScatteringPostProcess.js.map +1 -1
- package/PostProcesses/vrDistortionCorrectionPostProcess.js +7 -7
- package/PostProcesses/vrDistortionCorrectionPostProcess.js.map +1 -1
- package/Rendering/depthPeelingRenderer.js +36 -36
- package/Rendering/depthPeelingRenderer.js.map +1 -1
- package/Rendering/depthRenderer.js +8 -8
- package/Rendering/depthRenderer.js.map +1 -1
- package/Rendering/edgesRenderer.js +34 -34
- package/Rendering/edgesRenderer.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderer.js +8 -8
- package/Rendering/fluidRenderer/fluidRenderer.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderingDepthTextureCopy.js +3 -3
- package/Rendering/fluidRenderer/fluidRenderingDepthTextureCopy.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderingObject.js +19 -19
- package/Rendering/fluidRenderer/fluidRenderingObject.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderingObjectCustomParticles.js +12 -12
- package/Rendering/fluidRenderer/fluidRenderingObjectCustomParticles.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderingObjectParticleSystem.js +18 -18
- package/Rendering/fluidRenderer/fluidRenderingObjectParticleSystem.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderingTargetRenderer.js +68 -68
- package/Rendering/fluidRenderer/fluidRenderingTargetRenderer.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderingTextures.js +29 -29
- package/Rendering/fluidRenderer/fluidRenderingTextures.js.map +1 -1
- package/Rendering/geometryBufferRenderer.js +44 -44
- package/Rendering/geometryBufferRenderer.js.map +1 -1
- package/Rendering/prePassRenderer.js +51 -51
- package/Rendering/prePassRenderer.js.map +1 -1
- package/Rendering/renderingGroup.js +25 -25
- package/Rendering/renderingGroup.js.map +1 -1
- package/Rendering/renderingManager.js +21 -21
- package/Rendering/renderingManager.js.map +1 -1
- package/Rendering/subSurfaceConfiguration.js +18 -18
- package/Rendering/subSurfaceConfiguration.js.map +1 -1
- package/Rendering/utilityLayerRenderer.js +76 -76
- package/Rendering/utilityLayerRenderer.js.map +1 -1
- package/Sprites/sprite.js +16 -16
- package/Sprites/sprite.js.map +1 -1
- package/Sprites/spriteManager.js +81 -81
- package/Sprites/spriteManager.js.map +1 -1
- package/Sprites/spriteMap.js +32 -32
- package/Sprites/spriteMap.js.map +1 -1
- package/Sprites/spriteRenderer.js +6 -6
- package/Sprites/spriteRenderer.js.map +1 -1
- package/Sprites/thinSprite.js +22 -22
- package/Sprites/thinSprite.js.map +1 -1
- package/States/stencilStateComposer.js +10 -10
- package/States/stencilStateComposer.js.map +1 -1
- package/XR/features/WebXRAnchorSystem.js +7 -7
- package/XR/features/WebXRAnchorSystem.js.map +1 -1
- package/XR/features/WebXRControllerMovement.d.ts +3 -3
- package/XR/features/WebXRControllerMovement.js +97 -97
- package/XR/features/WebXRControllerMovement.js.map +1 -1
- package/XR/features/WebXRControllerPhysics.js +24 -24
- package/XR/features/WebXRControllerPhysics.js.map +1 -1
- package/XR/features/WebXRControllerTeleportation.js +26 -26
- package/XR/features/WebXRControllerTeleportation.js.map +1 -1
- package/XR/features/WebXRDOMOverlay.d.ts +1 -1
- package/XR/features/WebXRFeaturePointSystem.js +6 -6
- package/XR/features/WebXRFeaturePointSystem.js.map +1 -1
- package/XR/features/WebXRHandTracking.d.ts +1 -1
- package/XR/features/WebXRHandTracking.js +95 -95
- package/XR/features/WebXRHandTracking.js.map +1 -1
- package/XR/features/WebXRWalkingLocomotion.js +21 -21
- package/XR/features/WebXRWalkingLocomotion.js.map +1 -1
- package/XR/motionController/webXRAbstractMotionController.d.ts +3 -3
- package/XR/motionController/webXRMotionControllerManager.d.ts +1 -1
- package/XR/native/nativeXRFrame.js +3 -3
- package/XR/native/nativeXRFrame.js.map +1 -1
- package/XR/webXRFeaturesManager.d.ts +1 -1
- package/XR/webXRLayerWrapper.d.ts +2 -2
- package/XR/webXRLayerWrapper.js +17 -17
- package/XR/webXRLayerWrapper.js.map +1 -1
- package/abstractScene.d.ts +2 -2
- package/node.d.ts +1 -1
- package/node.js +71 -71
- package/node.js.map +1 -1
- package/package.json +1 -1
- package/scene.js +777 -777
- package/scene.js.map +1 -1
- package/sceneComponent.d.ts +12 -12
- package/types.d.ts +11 -11
package/Meshes/abstractMesh.js
CHANGED
|
@@ -79,185 +79,6 @@ class _InternalAbstractMeshDataInfo {
|
|
|
79
79
|
* Class used to store all common mesh properties
|
|
80
80
|
*/
|
|
81
81
|
export class AbstractMesh extends TransformNode {
|
|
82
|
-
// Constructor
|
|
83
|
-
/**
|
|
84
|
-
* Creates a new AbstractMesh
|
|
85
|
-
* @param name defines the name of the mesh
|
|
86
|
-
* @param scene defines the hosting scene
|
|
87
|
-
*/
|
|
88
|
-
constructor(name, scene = null) {
|
|
89
|
-
super(name, scene, false);
|
|
90
|
-
// Internal data
|
|
91
|
-
/** @internal */
|
|
92
|
-
this._internalAbstractMeshDataInfo = new _InternalAbstractMeshDataInfo();
|
|
93
|
-
/** @internal */
|
|
94
|
-
this._waitingMaterialId = null;
|
|
95
|
-
/**
|
|
96
|
-
* The culling strategy to use to check whether the mesh must be rendered or not.
|
|
97
|
-
* This value can be changed at any time and will be used on the next render mesh selection.
|
|
98
|
-
* The possible values are :
|
|
99
|
-
* - AbstractMesh.CULLINGSTRATEGY_STANDARD
|
|
100
|
-
* - AbstractMesh.CULLINGSTRATEGY_BOUNDINGSPHERE_ONLY
|
|
101
|
-
* - AbstractMesh.CULLINGSTRATEGY_OPTIMISTIC_INCLUSION
|
|
102
|
-
* - AbstractMesh.CULLINGSTRATEGY_OPTIMISTIC_INCLUSION_THEN_BSPHERE_ONLY
|
|
103
|
-
* Please read each static variable documentation to get details about the culling process.
|
|
104
|
-
* */
|
|
105
|
-
this.cullingStrategy = AbstractMesh.CULLINGSTRATEGY_BOUNDINGSPHERE_ONLY;
|
|
106
|
-
// Events
|
|
107
|
-
/**
|
|
108
|
-
* An event triggered when this mesh collides with another one
|
|
109
|
-
*/
|
|
110
|
-
this.onCollideObservable = new Observable();
|
|
111
|
-
/**
|
|
112
|
-
* An event triggered when the collision's position changes
|
|
113
|
-
*/
|
|
114
|
-
this.onCollisionPositionChangeObservable = new Observable();
|
|
115
|
-
/**
|
|
116
|
-
* An event triggered when material is changed
|
|
117
|
-
*/
|
|
118
|
-
this.onMaterialChangedObservable = new Observable();
|
|
119
|
-
// Properties
|
|
120
|
-
/**
|
|
121
|
-
* Gets or sets the orientation for POV movement & rotation
|
|
122
|
-
*/
|
|
123
|
-
this.definedFacingForward = true;
|
|
124
|
-
/** @internal */
|
|
125
|
-
this._occlusionQuery = null;
|
|
126
|
-
/** @internal */
|
|
127
|
-
this._renderingGroup = null;
|
|
128
|
-
/** Gets or sets the alpha index used to sort transparent meshes
|
|
129
|
-
* @see https://doc.babylonjs.com/features/featuresDeepDive/materials/advanced/transparent_rendering#alpha-index
|
|
130
|
-
*/
|
|
131
|
-
this.alphaIndex = Number.MAX_VALUE;
|
|
132
|
-
/**
|
|
133
|
-
* Gets or sets a boolean indicating if the mesh is visible (renderable). Default is true
|
|
134
|
-
*/
|
|
135
|
-
this.isVisible = true;
|
|
136
|
-
/**
|
|
137
|
-
* Gets or sets a boolean indicating if the mesh can be picked (by scene.pick for instance or through actions). Default is true
|
|
138
|
-
*/
|
|
139
|
-
this.isPickable = true;
|
|
140
|
-
/**
|
|
141
|
-
* Gets or sets a boolean indicating if the mesh can be near picked. Default is false
|
|
142
|
-
*/
|
|
143
|
-
this.isNearPickable = false;
|
|
144
|
-
/**
|
|
145
|
-
* Gets or sets a boolean indicating if the mesh can be near grabbed. Default is false
|
|
146
|
-
*/
|
|
147
|
-
this.isNearGrabbable = false;
|
|
148
|
-
/** Gets or sets a boolean indicating that bounding boxes of subMeshes must be rendered as well (false by default) */
|
|
149
|
-
this.showSubMeshesBoundingBox = false;
|
|
150
|
-
/** Gets or sets a boolean indicating if the mesh must be considered as a ray blocker for lens flares (false by default)
|
|
151
|
-
* @see https://doc.babylonjs.com/features/featuresDeepDive/environment/lenseFlare
|
|
152
|
-
*/
|
|
153
|
-
this.isBlocker = false;
|
|
154
|
-
/**
|
|
155
|
-
* Gets or sets a boolean indicating that pointer move events must be supported on this mesh (false by default)
|
|
156
|
-
*/
|
|
157
|
-
this.enablePointerMoveEvents = false;
|
|
158
|
-
/** Defines color to use when rendering outline */
|
|
159
|
-
this.outlineColor = Color3.Red();
|
|
160
|
-
/** Define width to use when rendering outline */
|
|
161
|
-
this.outlineWidth = 0.02;
|
|
162
|
-
/** Defines color to use when rendering overlay */
|
|
163
|
-
this.overlayColor = Color3.Red();
|
|
164
|
-
/** Defines alpha to use when rendering overlay */
|
|
165
|
-
this.overlayAlpha = 0.5;
|
|
166
|
-
/** Gets or sets a boolean indicating that internal octree (if available) can be used to boost submeshes selection (true by default) */
|
|
167
|
-
this.useOctreeForRenderingSelection = true;
|
|
168
|
-
/** Gets or sets a boolean indicating that internal octree (if available) can be used to boost submeshes picking (true by default) */
|
|
169
|
-
this.useOctreeForPicking = true;
|
|
170
|
-
/** Gets or sets a boolean indicating that internal octree (if available) can be used to boost submeshes collision (true by default) */
|
|
171
|
-
this.useOctreeForCollisions = true;
|
|
172
|
-
/**
|
|
173
|
-
* True if the mesh must be rendered in any case (this will shortcut the frustum clipping phase)
|
|
174
|
-
*/
|
|
175
|
-
this.alwaysSelectAsActiveMesh = false;
|
|
176
|
-
/**
|
|
177
|
-
* Gets or sets a boolean indicating that the bounding info does not need to be kept in sync (for performance reason)
|
|
178
|
-
*/
|
|
179
|
-
this.doNotSyncBoundingInfo = false;
|
|
180
|
-
/**
|
|
181
|
-
* Gets or sets the current action manager
|
|
182
|
-
* @see https://doc.babylonjs.com/features/featuresDeepDive/events/actions
|
|
183
|
-
*/
|
|
184
|
-
this.actionManager = null;
|
|
185
|
-
/**
|
|
186
|
-
* Gets or sets the ellipsoid used to impersonate this mesh when using collision engine (default is (0.5, 1, 0.5))
|
|
187
|
-
* @see https://doc.babylonjs.com/features/featuresDeepDive/cameras/camera_collisions
|
|
188
|
-
*/
|
|
189
|
-
this.ellipsoid = new Vector3(0.5, 1, 0.5);
|
|
190
|
-
/**
|
|
191
|
-
* Gets or sets the ellipsoid offset used to impersonate this mesh when using collision engine (default is (0, 0, 0))
|
|
192
|
-
* @see https://doc.babylonjs.com/features/featuresDeepDive/cameras/camera_collisions
|
|
193
|
-
*/
|
|
194
|
-
this.ellipsoidOffset = new Vector3(0, 0, 0);
|
|
195
|
-
// Edges
|
|
196
|
-
/**
|
|
197
|
-
* Defines edge width used when edgesRenderer is enabled
|
|
198
|
-
* @see https://www.babylonjs-playground.com/#10OJSG#13
|
|
199
|
-
*/
|
|
200
|
-
this.edgesWidth = 1;
|
|
201
|
-
/**
|
|
202
|
-
* Defines edge color used when edgesRenderer is enabled
|
|
203
|
-
* @see https://www.babylonjs-playground.com/#10OJSG#13
|
|
204
|
-
*/
|
|
205
|
-
this.edgesColor = new Color4(1, 0, 0, 1);
|
|
206
|
-
/** @internal */
|
|
207
|
-
this._edgesRenderer = null;
|
|
208
|
-
/** @internal */
|
|
209
|
-
this._masterMesh = null;
|
|
210
|
-
this._boundingInfo = null;
|
|
211
|
-
this._boundingInfoIsDirty = true;
|
|
212
|
-
/** @internal */
|
|
213
|
-
this._renderId = 0;
|
|
214
|
-
/** @internal */
|
|
215
|
-
this._intersectionsInProgress = new Array();
|
|
216
|
-
/** @internal */
|
|
217
|
-
this._unIndexed = false;
|
|
218
|
-
/** @internal */
|
|
219
|
-
this._lightSources = new Array();
|
|
220
|
-
// Loading properties
|
|
221
|
-
/** @internal */
|
|
222
|
-
this._waitingData = {
|
|
223
|
-
lods: null,
|
|
224
|
-
actions: null,
|
|
225
|
-
freezeWorldMatrix: null,
|
|
226
|
-
};
|
|
227
|
-
/** @internal */
|
|
228
|
-
this._bonesTransformMatrices = null;
|
|
229
|
-
/** @internal */
|
|
230
|
-
this._transformMatrixTexture = null;
|
|
231
|
-
/**
|
|
232
|
-
* An event triggered when the mesh is rebuilt.
|
|
233
|
-
*/
|
|
234
|
-
this.onRebuildObservable = new Observable();
|
|
235
|
-
this._onCollisionPositionChange = (collisionId, newPosition, collidedMesh = null) => {
|
|
236
|
-
newPosition.subtractToRef(this._internalAbstractMeshDataInfo._meshCollisionData._oldPositionForCollisions, this._internalAbstractMeshDataInfo._meshCollisionData._diffPositionForCollisions);
|
|
237
|
-
if (this._internalAbstractMeshDataInfo._meshCollisionData._diffPositionForCollisions.length() > Engine.CollisionsEpsilon) {
|
|
238
|
-
this.position.addInPlace(this._internalAbstractMeshDataInfo._meshCollisionData._diffPositionForCollisions);
|
|
239
|
-
}
|
|
240
|
-
if (collidedMesh) {
|
|
241
|
-
this.onCollideObservable.notifyObservers(collidedMesh);
|
|
242
|
-
}
|
|
243
|
-
this.onCollisionPositionChangeObservable.notifyObservers(this.position);
|
|
244
|
-
};
|
|
245
|
-
scene = this.getScene();
|
|
246
|
-
scene.addMesh(this);
|
|
247
|
-
this._resyncLightSources();
|
|
248
|
-
// Mesh Uniform Buffer.
|
|
249
|
-
this._uniformBuffer = new UniformBuffer(this.getScene().getEngine(), undefined, undefined, name, !this.getScene().getEngine().isWebGPU);
|
|
250
|
-
this._buildUniformLayout();
|
|
251
|
-
switch (scene.performancePriority) {
|
|
252
|
-
case ScenePerformancePriority.Aggressive:
|
|
253
|
-
this.doNotSyncBoundingInfo = true;
|
|
254
|
-
// eslint-disable-next-line no-fallthrough
|
|
255
|
-
case ScenePerformancePriority.Intermediate:
|
|
256
|
-
this.alwaysSelectAsActiveMesh = true;
|
|
257
|
-
this.isPickable = false;
|
|
258
|
-
break;
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
82
|
/**
|
|
262
83
|
* No billboard
|
|
263
84
|
*/
|
|
@@ -659,6 +480,185 @@ export class AbstractMesh extends TransformNode {
|
|
|
659
480
|
get skeleton() {
|
|
660
481
|
return this._internalAbstractMeshDataInfo._skeleton;
|
|
661
482
|
}
|
|
483
|
+
// Constructor
|
|
484
|
+
/**
|
|
485
|
+
* Creates a new AbstractMesh
|
|
486
|
+
* @param name defines the name of the mesh
|
|
487
|
+
* @param scene defines the hosting scene
|
|
488
|
+
*/
|
|
489
|
+
constructor(name, scene = null) {
|
|
490
|
+
super(name, scene, false);
|
|
491
|
+
// Internal data
|
|
492
|
+
/** @internal */
|
|
493
|
+
this._internalAbstractMeshDataInfo = new _InternalAbstractMeshDataInfo();
|
|
494
|
+
/** @internal */
|
|
495
|
+
this._waitingMaterialId = null;
|
|
496
|
+
/**
|
|
497
|
+
* The culling strategy to use to check whether the mesh must be rendered or not.
|
|
498
|
+
* This value can be changed at any time and will be used on the next render mesh selection.
|
|
499
|
+
* The possible values are :
|
|
500
|
+
* - AbstractMesh.CULLINGSTRATEGY_STANDARD
|
|
501
|
+
* - AbstractMesh.CULLINGSTRATEGY_BOUNDINGSPHERE_ONLY
|
|
502
|
+
* - AbstractMesh.CULLINGSTRATEGY_OPTIMISTIC_INCLUSION
|
|
503
|
+
* - AbstractMesh.CULLINGSTRATEGY_OPTIMISTIC_INCLUSION_THEN_BSPHERE_ONLY
|
|
504
|
+
* Please read each static variable documentation to get details about the culling process.
|
|
505
|
+
* */
|
|
506
|
+
this.cullingStrategy = AbstractMesh.CULLINGSTRATEGY_BOUNDINGSPHERE_ONLY;
|
|
507
|
+
// Events
|
|
508
|
+
/**
|
|
509
|
+
* An event triggered when this mesh collides with another one
|
|
510
|
+
*/
|
|
511
|
+
this.onCollideObservable = new Observable();
|
|
512
|
+
/**
|
|
513
|
+
* An event triggered when the collision's position changes
|
|
514
|
+
*/
|
|
515
|
+
this.onCollisionPositionChangeObservable = new Observable();
|
|
516
|
+
/**
|
|
517
|
+
* An event triggered when material is changed
|
|
518
|
+
*/
|
|
519
|
+
this.onMaterialChangedObservable = new Observable();
|
|
520
|
+
// Properties
|
|
521
|
+
/**
|
|
522
|
+
* Gets or sets the orientation for POV movement & rotation
|
|
523
|
+
*/
|
|
524
|
+
this.definedFacingForward = true;
|
|
525
|
+
/** @internal */
|
|
526
|
+
this._occlusionQuery = null;
|
|
527
|
+
/** @internal */
|
|
528
|
+
this._renderingGroup = null;
|
|
529
|
+
/** Gets or sets the alpha index used to sort transparent meshes
|
|
530
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/materials/advanced/transparent_rendering#alpha-index
|
|
531
|
+
*/
|
|
532
|
+
this.alphaIndex = Number.MAX_VALUE;
|
|
533
|
+
/**
|
|
534
|
+
* Gets or sets a boolean indicating if the mesh is visible (renderable). Default is true
|
|
535
|
+
*/
|
|
536
|
+
this.isVisible = true;
|
|
537
|
+
/**
|
|
538
|
+
* Gets or sets a boolean indicating if the mesh can be picked (by scene.pick for instance or through actions). Default is true
|
|
539
|
+
*/
|
|
540
|
+
this.isPickable = true;
|
|
541
|
+
/**
|
|
542
|
+
* Gets or sets a boolean indicating if the mesh can be near picked. Default is false
|
|
543
|
+
*/
|
|
544
|
+
this.isNearPickable = false;
|
|
545
|
+
/**
|
|
546
|
+
* Gets or sets a boolean indicating if the mesh can be near grabbed. Default is false
|
|
547
|
+
*/
|
|
548
|
+
this.isNearGrabbable = false;
|
|
549
|
+
/** Gets or sets a boolean indicating that bounding boxes of subMeshes must be rendered as well (false by default) */
|
|
550
|
+
this.showSubMeshesBoundingBox = false;
|
|
551
|
+
/** Gets or sets a boolean indicating if the mesh must be considered as a ray blocker for lens flares (false by default)
|
|
552
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/environment/lenseFlare
|
|
553
|
+
*/
|
|
554
|
+
this.isBlocker = false;
|
|
555
|
+
/**
|
|
556
|
+
* Gets or sets a boolean indicating that pointer move events must be supported on this mesh (false by default)
|
|
557
|
+
*/
|
|
558
|
+
this.enablePointerMoveEvents = false;
|
|
559
|
+
/** Defines color to use when rendering outline */
|
|
560
|
+
this.outlineColor = Color3.Red();
|
|
561
|
+
/** Define width to use when rendering outline */
|
|
562
|
+
this.outlineWidth = 0.02;
|
|
563
|
+
/** Defines color to use when rendering overlay */
|
|
564
|
+
this.overlayColor = Color3.Red();
|
|
565
|
+
/** Defines alpha to use when rendering overlay */
|
|
566
|
+
this.overlayAlpha = 0.5;
|
|
567
|
+
/** Gets or sets a boolean indicating that internal octree (if available) can be used to boost submeshes selection (true by default) */
|
|
568
|
+
this.useOctreeForRenderingSelection = true;
|
|
569
|
+
/** Gets or sets a boolean indicating that internal octree (if available) can be used to boost submeshes picking (true by default) */
|
|
570
|
+
this.useOctreeForPicking = true;
|
|
571
|
+
/** Gets or sets a boolean indicating that internal octree (if available) can be used to boost submeshes collision (true by default) */
|
|
572
|
+
this.useOctreeForCollisions = true;
|
|
573
|
+
/**
|
|
574
|
+
* True if the mesh must be rendered in any case (this will shortcut the frustum clipping phase)
|
|
575
|
+
*/
|
|
576
|
+
this.alwaysSelectAsActiveMesh = false;
|
|
577
|
+
/**
|
|
578
|
+
* Gets or sets a boolean indicating that the bounding info does not need to be kept in sync (for performance reason)
|
|
579
|
+
*/
|
|
580
|
+
this.doNotSyncBoundingInfo = false;
|
|
581
|
+
/**
|
|
582
|
+
* Gets or sets the current action manager
|
|
583
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/events/actions
|
|
584
|
+
*/
|
|
585
|
+
this.actionManager = null;
|
|
586
|
+
/**
|
|
587
|
+
* Gets or sets the ellipsoid used to impersonate this mesh when using collision engine (default is (0.5, 1, 0.5))
|
|
588
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/cameras/camera_collisions
|
|
589
|
+
*/
|
|
590
|
+
this.ellipsoid = new Vector3(0.5, 1, 0.5);
|
|
591
|
+
/**
|
|
592
|
+
* Gets or sets the ellipsoid offset used to impersonate this mesh when using collision engine (default is (0, 0, 0))
|
|
593
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/cameras/camera_collisions
|
|
594
|
+
*/
|
|
595
|
+
this.ellipsoidOffset = new Vector3(0, 0, 0);
|
|
596
|
+
// Edges
|
|
597
|
+
/**
|
|
598
|
+
* Defines edge width used when edgesRenderer is enabled
|
|
599
|
+
* @see https://www.babylonjs-playground.com/#10OJSG#13
|
|
600
|
+
*/
|
|
601
|
+
this.edgesWidth = 1;
|
|
602
|
+
/**
|
|
603
|
+
* Defines edge color used when edgesRenderer is enabled
|
|
604
|
+
* @see https://www.babylonjs-playground.com/#10OJSG#13
|
|
605
|
+
*/
|
|
606
|
+
this.edgesColor = new Color4(1, 0, 0, 1);
|
|
607
|
+
/** @internal */
|
|
608
|
+
this._edgesRenderer = null;
|
|
609
|
+
/** @internal */
|
|
610
|
+
this._masterMesh = null;
|
|
611
|
+
this._boundingInfo = null;
|
|
612
|
+
this._boundingInfoIsDirty = true;
|
|
613
|
+
/** @internal */
|
|
614
|
+
this._renderId = 0;
|
|
615
|
+
/** @internal */
|
|
616
|
+
this._intersectionsInProgress = new Array();
|
|
617
|
+
/** @internal */
|
|
618
|
+
this._unIndexed = false;
|
|
619
|
+
/** @internal */
|
|
620
|
+
this._lightSources = new Array();
|
|
621
|
+
// Loading properties
|
|
622
|
+
/** @internal */
|
|
623
|
+
this._waitingData = {
|
|
624
|
+
lods: null,
|
|
625
|
+
actions: null,
|
|
626
|
+
freezeWorldMatrix: null,
|
|
627
|
+
};
|
|
628
|
+
/** @internal */
|
|
629
|
+
this._bonesTransformMatrices = null;
|
|
630
|
+
/** @internal */
|
|
631
|
+
this._transformMatrixTexture = null;
|
|
632
|
+
/**
|
|
633
|
+
* An event triggered when the mesh is rebuilt.
|
|
634
|
+
*/
|
|
635
|
+
this.onRebuildObservable = new Observable();
|
|
636
|
+
this._onCollisionPositionChange = (collisionId, newPosition, collidedMesh = null) => {
|
|
637
|
+
newPosition.subtractToRef(this._internalAbstractMeshDataInfo._meshCollisionData._oldPositionForCollisions, this._internalAbstractMeshDataInfo._meshCollisionData._diffPositionForCollisions);
|
|
638
|
+
if (this._internalAbstractMeshDataInfo._meshCollisionData._diffPositionForCollisions.length() > Engine.CollisionsEpsilon) {
|
|
639
|
+
this.position.addInPlace(this._internalAbstractMeshDataInfo._meshCollisionData._diffPositionForCollisions);
|
|
640
|
+
}
|
|
641
|
+
if (collidedMesh) {
|
|
642
|
+
this.onCollideObservable.notifyObservers(collidedMesh);
|
|
643
|
+
}
|
|
644
|
+
this.onCollisionPositionChangeObservable.notifyObservers(this.position);
|
|
645
|
+
};
|
|
646
|
+
scene = this.getScene();
|
|
647
|
+
scene.addMesh(this);
|
|
648
|
+
this._resyncLightSources();
|
|
649
|
+
// Mesh Uniform Buffer.
|
|
650
|
+
this._uniformBuffer = new UniformBuffer(this.getScene().getEngine(), undefined, undefined, name, !this.getScene().getEngine().isWebGPU);
|
|
651
|
+
this._buildUniformLayout();
|
|
652
|
+
switch (scene.performancePriority) {
|
|
653
|
+
case ScenePerformancePriority.Aggressive:
|
|
654
|
+
this.doNotSyncBoundingInfo = true;
|
|
655
|
+
// eslint-disable-next-line no-fallthrough
|
|
656
|
+
case ScenePerformancePriority.Intermediate:
|
|
657
|
+
this.alwaysSelectAsActiveMesh = true;
|
|
658
|
+
this.isPickable = false;
|
|
659
|
+
break;
|
|
660
|
+
}
|
|
661
|
+
}
|
|
662
662
|
_buildUniformLayout() {
|
|
663
663
|
this._uniformBuffer.addUniform("world", 16);
|
|
664
664
|
this._uniformBuffer.addUniform("visibility", 1);
|