@babylonjs/core 5.45.2 → 5.47.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/actionManager.js +6 -1
- package/Actions/actionManager.js.map +1 -1
- 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/physicsViewer.js +3 -3
- package/Debug/physicsViewer.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/eventFactory.d.ts +1 -1
- package/DeviceInput/eventFactory.js +4 -4
- package/DeviceInput/eventFactory.js.map +1 -1
- package/DeviceInput/internalDeviceSourceManager.d.ts +2 -2
- package/DeviceInput/webDeviceInputSystem.js +2 -2
- package/DeviceInput/webDeviceInputSystem.js.map +1 -1
- 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 +10 -10
- 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/Inputs/scene.inputManager.d.ts +4 -3
- package/Inputs/scene.inputManager.js +12 -11
- package/Inputs/scene.inputManager.js.map +1 -1
- 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 +53 -55
- 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 +41 -41
- 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 +27 -7
- package/Maths/math.vector.js +75 -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 +166 -166
- 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/particleSystemComponent.js +5 -0
- package/Particles/particleSystemComponent.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/index.d.ts +1 -0
- package/Physics/index.js +1 -0
- package/Physics/index.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/IPhysicsEnginePlugin.d.ts +6 -8
- package/Physics/v2/IPhysicsEnginePlugin.js +1 -0
- package/Physics/v2/IPhysicsEnginePlugin.js.map +1 -1
- package/Physics/v2/physicsBody.d.ts +10 -1
- package/Physics/v2/physicsBody.js +13 -1
- package/Physics/v2/physicsBody.js.map +1 -1
- package/Physics/v2/physicsConstraint.d.ts +139 -66
- package/Physics/v2/physicsConstraint.js +145 -78
- package/Physics/v2/physicsConstraint.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 +137 -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 +22 -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 +71 -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 +173 -168
- 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/Shaders/ShadersInclude/pbrBlockSubSurface.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockSubSurface.js.map +1 -1
- package/Shaders/fluidRenderingParticleDepth.fragment.js +5 -1
- package/Shaders/fluidRenderingParticleDepth.fragment.js.map +1 -1
- package/Shaders/fluidRenderingRender.fragment.js +7 -2
- package/Shaders/fluidRenderingRender.fragment.js.map +1 -1
- package/Shaders/geometry.fragment.d.ts +2 -0
- package/Shaders/geometry.fragment.js +5 -1
- package/Shaders/geometry.fragment.js.map +1 -1
- package/Shaders/geometry.vertex.d.ts +2 -0
- package/Shaders/geometry.vertex.js +8 -4
- package/Shaders/geometry.vertex.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
|
@@ -10,54 +10,35 @@ import { Material } from "../Materials/material.js";
|
|
|
10
10
|
import "../Shaders/geometry.fragment.js";
|
|
11
11
|
import "../Shaders/geometry.vertex.js";
|
|
12
12
|
import { MaterialFlags } from "../Materials/materialFlags.js";
|
|
13
|
+
import { addClipPlaneUniforms, bindClipPlane, prepareDefinesForClipPlanes } from "../Materials/clipPlaneMaterialHelper.js";
|
|
14
|
+
/** list the uniforms used by the geometry renderer */
|
|
15
|
+
const uniforms = [
|
|
16
|
+
"world",
|
|
17
|
+
"mBones",
|
|
18
|
+
"viewProjection",
|
|
19
|
+
"diffuseMatrix",
|
|
20
|
+
"view",
|
|
21
|
+
"previousWorld",
|
|
22
|
+
"previousViewProjection",
|
|
23
|
+
"mPreviousBones",
|
|
24
|
+
"bumpMatrix",
|
|
25
|
+
"reflectivityMatrix",
|
|
26
|
+
"albedoMatrix",
|
|
27
|
+
"reflectivityColor",
|
|
28
|
+
"albedoColor",
|
|
29
|
+
"metallic",
|
|
30
|
+
"glossiness",
|
|
31
|
+
"vTangentSpaceParams",
|
|
32
|
+
"vBumpInfos",
|
|
33
|
+
"morphTargetInfluences",
|
|
34
|
+
"morphTargetTextureInfo",
|
|
35
|
+
"morphTargetTextureIndices",
|
|
36
|
+
];
|
|
37
|
+
addClipPlaneUniforms(uniforms);
|
|
13
38
|
/**
|
|
14
39
|
* This renderer is helpful to fill one of the render target with a geometry buffer.
|
|
15
40
|
*/
|
|
16
41
|
export class GeometryBufferRenderer {
|
|
17
|
-
/**
|
|
18
|
-
* Creates a new G Buffer for the scene
|
|
19
|
-
* @param scene The scene the buffer belongs to
|
|
20
|
-
* @param ratio How big is the buffer related to the main canvas (default: 1)
|
|
21
|
-
* @param depthFormat Format of the depth texture (default: 15)
|
|
22
|
-
*/
|
|
23
|
-
constructor(scene, ratio = 1, depthFormat = 15) {
|
|
24
|
-
/**
|
|
25
|
-
* Dictionary used to store the previous transformation matrices of each rendered mesh
|
|
26
|
-
* in order to compute objects velocities when enableVelocity is set to "true"
|
|
27
|
-
* @internal
|
|
28
|
-
*/
|
|
29
|
-
this._previousTransformationMatrices = {};
|
|
30
|
-
/**
|
|
31
|
-
* Dictionary used to store the previous bones transformation matrices of each rendered mesh
|
|
32
|
-
* in order to compute objects velocities when enableVelocity is set to "true"
|
|
33
|
-
* @internal
|
|
34
|
-
*/
|
|
35
|
-
this._previousBonesTransformationMatrices = {};
|
|
36
|
-
/**
|
|
37
|
-
* Array used to store the ignored skinned meshes while computing velocity map (typically used by the motion blur post-process).
|
|
38
|
-
* Avoids computing bones velocities and computes only mesh's velocity itself (position, rotation, scaling).
|
|
39
|
-
*/
|
|
40
|
-
this.excludedSkinnedMeshesFromVelocity = [];
|
|
41
|
-
/** Gets or sets a boolean indicating if transparent meshes should be rendered */
|
|
42
|
-
this.renderTransparentMeshes = true;
|
|
43
|
-
this._resizeObserver = null;
|
|
44
|
-
this._enablePosition = false;
|
|
45
|
-
this._enableVelocity = false;
|
|
46
|
-
this._enableReflectivity = false;
|
|
47
|
-
this._positionIndex = -1;
|
|
48
|
-
this._velocityIndex = -1;
|
|
49
|
-
this._reflectivityIndex = -1;
|
|
50
|
-
this._depthIndex = -1;
|
|
51
|
-
this._normalIndex = -1;
|
|
52
|
-
this._linkedWithPrePass = false;
|
|
53
|
-
this._scene = scene;
|
|
54
|
-
this._ratio = ratio;
|
|
55
|
-
this._useUbo = scene.getEngine().supportsUniformBuffers;
|
|
56
|
-
this._depthFormat = depthFormat;
|
|
57
|
-
GeometryBufferRenderer._SceneComponentInitialization(this._scene);
|
|
58
|
-
// Render target
|
|
59
|
-
this._createRenderTargets();
|
|
60
|
-
}
|
|
61
42
|
/**
|
|
62
43
|
* @internal
|
|
63
44
|
* Sets up internal structures to share outputs with PrePassRenderer
|
|
@@ -240,6 +221,50 @@ export class GeometryBufferRenderer {
|
|
|
240
221
|
get ratio() {
|
|
241
222
|
return this._ratio;
|
|
242
223
|
}
|
|
224
|
+
/**
|
|
225
|
+
* Creates a new G Buffer for the scene
|
|
226
|
+
* @param scene The scene the buffer belongs to
|
|
227
|
+
* @param ratio How big is the buffer related to the main canvas (default: 1)
|
|
228
|
+
* @param depthFormat Format of the depth texture (default: 15)
|
|
229
|
+
*/
|
|
230
|
+
constructor(scene, ratio = 1, depthFormat = 15) {
|
|
231
|
+
/**
|
|
232
|
+
* Dictionary used to store the previous transformation matrices of each rendered mesh
|
|
233
|
+
* in order to compute objects velocities when enableVelocity is set to "true"
|
|
234
|
+
* @internal
|
|
235
|
+
*/
|
|
236
|
+
this._previousTransformationMatrices = {};
|
|
237
|
+
/**
|
|
238
|
+
* Dictionary used to store the previous bones transformation matrices of each rendered mesh
|
|
239
|
+
* in order to compute objects velocities when enableVelocity is set to "true"
|
|
240
|
+
* @internal
|
|
241
|
+
*/
|
|
242
|
+
this._previousBonesTransformationMatrices = {};
|
|
243
|
+
/**
|
|
244
|
+
* Array used to store the ignored skinned meshes while computing velocity map (typically used by the motion blur post-process).
|
|
245
|
+
* Avoids computing bones velocities and computes only mesh's velocity itself (position, rotation, scaling).
|
|
246
|
+
*/
|
|
247
|
+
this.excludedSkinnedMeshesFromVelocity = [];
|
|
248
|
+
/** Gets or sets a boolean indicating if transparent meshes should be rendered */
|
|
249
|
+
this.renderTransparentMeshes = true;
|
|
250
|
+
this._resizeObserver = null;
|
|
251
|
+
this._enablePosition = false;
|
|
252
|
+
this._enableVelocity = false;
|
|
253
|
+
this._enableReflectivity = false;
|
|
254
|
+
this._positionIndex = -1;
|
|
255
|
+
this._velocityIndex = -1;
|
|
256
|
+
this._reflectivityIndex = -1;
|
|
257
|
+
this._depthIndex = -1;
|
|
258
|
+
this._normalIndex = -1;
|
|
259
|
+
this._linkedWithPrePass = false;
|
|
260
|
+
this._scene = scene;
|
|
261
|
+
this._ratio = ratio;
|
|
262
|
+
this._useUbo = scene.getEngine().supportsUniformBuffers;
|
|
263
|
+
this._depthFormat = depthFormat;
|
|
264
|
+
GeometryBufferRenderer._SceneComponentInitialization(this._scene);
|
|
265
|
+
// Render target
|
|
266
|
+
this._createRenderTargets();
|
|
267
|
+
}
|
|
243
268
|
/**
|
|
244
269
|
* Checks whether everything is ready to render a submesh to the G buffer.
|
|
245
270
|
* @param subMesh the submesh to check readiness for
|
|
@@ -470,6 +495,7 @@ export class GeometryBufferRenderer {
|
|
|
470
495
|
else {
|
|
471
496
|
defines.push("#define RENDER_TARGET_COUNT " + this._multiRenderTarget.textures.length);
|
|
472
497
|
}
|
|
498
|
+
prepareDefinesForClipPlanes(material, this._scene, defines);
|
|
473
499
|
// Get correct effect
|
|
474
500
|
const engine = this._scene.getEngine();
|
|
475
501
|
const drawWrapper = subMesh._getDrawWrapper(undefined, true);
|
|
@@ -478,28 +504,7 @@ export class GeometryBufferRenderer {
|
|
|
478
504
|
if (cachedDefines !== join) {
|
|
479
505
|
drawWrapper.setEffect(engine.createEffect("geometry", {
|
|
480
506
|
attributes: attribs,
|
|
481
|
-
uniformsNames:
|
|
482
|
-
"world",
|
|
483
|
-
"mBones",
|
|
484
|
-
"viewProjection",
|
|
485
|
-
"diffuseMatrix",
|
|
486
|
-
"view",
|
|
487
|
-
"previousWorld",
|
|
488
|
-
"previousViewProjection",
|
|
489
|
-
"mPreviousBones",
|
|
490
|
-
"bumpMatrix",
|
|
491
|
-
"reflectivityMatrix",
|
|
492
|
-
"albedoMatrix",
|
|
493
|
-
"reflectivityColor",
|
|
494
|
-
"albedoColor",
|
|
495
|
-
"metallic",
|
|
496
|
-
"glossiness",
|
|
497
|
-
"vTangentSpaceParams",
|
|
498
|
-
"vBumpInfos",
|
|
499
|
-
"morphTargetInfluences",
|
|
500
|
-
"morphTargetTextureInfo",
|
|
501
|
-
"morphTargetTextureIndices",
|
|
502
|
-
],
|
|
507
|
+
uniformsNames: uniforms,
|
|
503
508
|
samplers: ["diffuseSampler", "bumpSampler", "reflectivitySampler", "albedoSampler", "morphTargets"],
|
|
504
509
|
defines: join,
|
|
505
510
|
onCompiled: null,
|
|
@@ -637,124 +642,124 @@ export class GeometryBufferRenderer {
|
|
|
637
642
|
MaterialHelper.BindSceneUniformBuffer(effect, this._scene.getSceneUniformBuffer());
|
|
638
643
|
this._scene.finalizeSceneUbo();
|
|
639
644
|
}
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
sideOrientation = material.sideOrientation;
|
|
648
|
-
}
|
|
649
|
-
if (mainDeterminant < 0) {
|
|
650
|
-
sideOrientation = sideOrientation === Material.ClockWiseSideOrientation ? Material.CounterClockWiseSideOrientation : Material.ClockWiseSideOrientation;
|
|
651
|
-
}
|
|
645
|
+
let sideOrientation;
|
|
646
|
+
const instanceDataStorage = renderingMesh._instanceDataStorage;
|
|
647
|
+
if (!instanceDataStorage.isFrozen && (material.backFaceCulling || renderingMesh.overrideMaterialSideOrientation !== null)) {
|
|
648
|
+
const mainDeterminant = effectiveMesh._getWorldMatrixDeterminant();
|
|
649
|
+
sideOrientation = renderingMesh.overrideMaterialSideOrientation;
|
|
650
|
+
if (sideOrientation === null) {
|
|
651
|
+
sideOrientation = material.sideOrientation;
|
|
652
652
|
}
|
|
653
|
-
|
|
654
|
-
sideOrientation =
|
|
653
|
+
if (mainDeterminant < 0) {
|
|
654
|
+
sideOrientation = sideOrientation === Material.ClockWiseSideOrientation ? Material.CounterClockWiseSideOrientation : Material.ClockWiseSideOrientation;
|
|
655
655
|
}
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
656
|
+
}
|
|
657
|
+
else {
|
|
658
|
+
sideOrientation = instanceDataStorage.sideOrientation;
|
|
659
|
+
}
|
|
660
|
+
material._preBind(drawWrapper, sideOrientation);
|
|
661
|
+
// Alpha test
|
|
662
|
+
if (material.needAlphaTesting()) {
|
|
663
|
+
const alphaTexture = material.getAlphaTestTexture();
|
|
664
|
+
if (alphaTexture) {
|
|
665
|
+
effect.setTexture("diffuseSampler", alphaTexture);
|
|
666
|
+
effect.setMatrix("diffuseMatrix", alphaTexture.getTextureMatrix());
|
|
664
667
|
}
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
668
|
+
}
|
|
669
|
+
// Bump
|
|
670
|
+
if (material.bumpTexture && scene.getEngine().getCaps().standardDerivatives && MaterialFlags.BumpTextureEnabled) {
|
|
671
|
+
effect.setFloat3("vBumpInfos", material.bumpTexture.coordinatesIndex, 1.0 / material.bumpTexture.level, material.parallaxScaleBias);
|
|
672
|
+
effect.setMatrix("bumpMatrix", material.bumpTexture.getTextureMatrix());
|
|
673
|
+
effect.setTexture("bumpSampler", material.bumpTexture);
|
|
674
|
+
effect.setFloat2("vTangentSpaceParams", material.invertNormalMapX ? -1.0 : 1.0, material.invertNormalMapY ? -1.0 : 1.0);
|
|
675
|
+
}
|
|
676
|
+
// Reflectivity
|
|
677
|
+
if (this._enableReflectivity) {
|
|
678
|
+
// for PBR materials: cf. https://doc.babylonjs.com/features/featuresDeepDive/materials/using/masterPBR
|
|
679
|
+
if (material.getClassName() === "PBRMetallicRoughnessMaterial") {
|
|
680
|
+
// if it is a PBR material in MetallicRoughness Mode:
|
|
681
|
+
if (material.metallicRoughnessTexture !== null) {
|
|
682
|
+
effect.setTexture("reflectivitySampler", material.metallicRoughnessTexture);
|
|
683
|
+
effect.setMatrix("reflectivityMatrix", material.metallicRoughnessTexture.getTextureMatrix());
|
|
684
|
+
}
|
|
685
|
+
if (material.metallic !== null) {
|
|
686
|
+
effect.setFloat("metallic", material.metallic);
|
|
687
|
+
}
|
|
688
|
+
if (material.roughness !== null) {
|
|
689
|
+
effect.setFloat("glossiness", 1.0 - material.roughness);
|
|
690
|
+
}
|
|
691
|
+
if (material.baseTexture !== null) {
|
|
692
|
+
effect.setTexture("albedoSampler", material.baseTexture);
|
|
693
|
+
effect.setMatrix("albedoMatrix", material.baseTexture.getTextureMatrix());
|
|
694
|
+
}
|
|
695
|
+
if (material.baseColor !== null) {
|
|
696
|
+
effect.setColor3("albedoColor", material.baseColor);
|
|
697
|
+
}
|
|
671
698
|
}
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
if (material.metallicRoughnessTexture !== null) {
|
|
678
|
-
effect.setTexture("reflectivitySampler", material.metallicRoughnessTexture);
|
|
679
|
-
effect.setMatrix("reflectivityMatrix", material.metallicRoughnessTexture.getTextureMatrix());
|
|
680
|
-
}
|
|
681
|
-
if (material.metallic !== null) {
|
|
682
|
-
effect.setFloat("metallic", material.metallic);
|
|
683
|
-
}
|
|
684
|
-
if (material.roughness !== null) {
|
|
685
|
-
effect.setFloat("glossiness", 1.0 - material.roughness);
|
|
686
|
-
}
|
|
687
|
-
if (material.baseTexture !== null) {
|
|
688
|
-
effect.setTexture("albedoSampler", material.baseTexture);
|
|
689
|
-
effect.setMatrix("albedoMatrix", material.baseTexture.getTextureMatrix());
|
|
690
|
-
}
|
|
691
|
-
if (material.baseColor !== null) {
|
|
692
|
-
effect.setColor3("albedoColor", material.baseColor);
|
|
693
|
-
}
|
|
699
|
+
else if (material.getClassName() === "PBRSpecularGlossinessMaterial") {
|
|
700
|
+
// if it is a PBR material in Specular/Glossiness Mode:
|
|
701
|
+
if (material.specularGlossinessTexture !== null) {
|
|
702
|
+
effect.setTexture("reflectivitySampler", material.specularGlossinessTexture);
|
|
703
|
+
effect.setMatrix("reflectivityMatrix", material.specularGlossinessTexture.getTextureMatrix());
|
|
694
704
|
}
|
|
695
|
-
else
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
effect.setTexture("reflectivitySampler", material.specularGlossinessTexture);
|
|
699
|
-
effect.setMatrix("reflectivityMatrix", material.specularGlossinessTexture.getTextureMatrix());
|
|
700
|
-
}
|
|
701
|
-
else {
|
|
702
|
-
if (material.specularColor !== null) {
|
|
703
|
-
effect.setColor3("reflectivityColor", material.specularColor);
|
|
704
|
-
}
|
|
705
|
-
}
|
|
706
|
-
if (material.glossiness !== null) {
|
|
707
|
-
effect.setFloat("glossiness", material.glossiness);
|
|
705
|
+
else {
|
|
706
|
+
if (material.specularColor !== null) {
|
|
707
|
+
effect.setColor3("reflectivityColor", material.specularColor);
|
|
708
708
|
}
|
|
709
709
|
}
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
710
|
+
if (material.glossiness !== null) {
|
|
711
|
+
effect.setFloat("glossiness", material.glossiness);
|
|
712
|
+
}
|
|
713
|
+
}
|
|
714
|
+
else if (material.getClassName() === "PBRMaterial") {
|
|
715
|
+
// if it is the bigger PBRMaterial
|
|
716
|
+
if (material.metallicTexture !== null) {
|
|
717
|
+
effect.setTexture("reflectivitySampler", material.metallicTexture);
|
|
718
|
+
effect.setMatrix("reflectivityMatrix", material.metallicTexture.getTextureMatrix());
|
|
719
|
+
}
|
|
720
|
+
if (material.metallic !== null) {
|
|
721
|
+
effect.setFloat("metallic", material.metallic);
|
|
722
|
+
}
|
|
723
|
+
if (material.roughness !== null) {
|
|
724
|
+
effect.setFloat("glossiness", 1.0 - material.roughness);
|
|
725
|
+
}
|
|
726
|
+
if (material.roughness !== null || material.metallic !== null || material.metallicTexture !== null) {
|
|
727
|
+
// MetallicRoughness Model
|
|
728
|
+
if (material.albedoTexture !== null) {
|
|
729
|
+
effect.setTexture("albedoSampler", material.albedoTexture);
|
|
730
|
+
effect.setMatrix("albedoMatrix", material.albedoTexture.getTextureMatrix());
|
|
715
731
|
}
|
|
716
|
-
if (material.
|
|
717
|
-
effect.
|
|
732
|
+
if (material.albedoColor !== null) {
|
|
733
|
+
effect.setColor3("albedoColor", material.albedoColor);
|
|
718
734
|
}
|
|
719
|
-
|
|
720
|
-
|
|
735
|
+
}
|
|
736
|
+
else {
|
|
737
|
+
// SpecularGlossiness Model
|
|
738
|
+
if (material.reflectivityTexture !== null) {
|
|
739
|
+
effect.setTexture("reflectivitySampler", material.reflectivityTexture);
|
|
740
|
+
effect.setMatrix("reflectivityMatrix", material.reflectivityTexture.getTextureMatrix());
|
|
721
741
|
}
|
|
722
|
-
if (material.
|
|
723
|
-
|
|
724
|
-
if (material.albedoTexture !== null) {
|
|
725
|
-
effect.setTexture("albedoSampler", material.albedoTexture);
|
|
726
|
-
effect.setMatrix("albedoMatrix", material.albedoTexture.getTextureMatrix());
|
|
727
|
-
}
|
|
728
|
-
if (material.albedoColor !== null) {
|
|
729
|
-
effect.setColor3("albedoColor", material.albedoColor);
|
|
730
|
-
}
|
|
742
|
+
else if (material.reflectivityColor !== null) {
|
|
743
|
+
effect.setColor3("reflectivityColor", material.reflectivityColor);
|
|
731
744
|
}
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
if (material.reflectivityTexture !== null) {
|
|
735
|
-
effect.setTexture("reflectivitySampler", material.reflectivityTexture);
|
|
736
|
-
effect.setMatrix("reflectivityMatrix", material.reflectivityTexture.getTextureMatrix());
|
|
737
|
-
}
|
|
738
|
-
else if (material.reflectivityColor !== null) {
|
|
739
|
-
effect.setColor3("reflectivityColor", material.reflectivityColor);
|
|
740
|
-
}
|
|
741
|
-
if (material.microSurface !== null) {
|
|
742
|
-
effect.setFloat("glossiness", material.microSurface);
|
|
743
|
-
}
|
|
745
|
+
if (material.microSurface !== null) {
|
|
746
|
+
effect.setFloat("glossiness", material.microSurface);
|
|
744
747
|
}
|
|
745
748
|
}
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
749
|
+
}
|
|
750
|
+
else if (material.getClassName() === "StandardMaterial") {
|
|
751
|
+
// if StandardMaterial:
|
|
752
|
+
if (material.specularTexture !== null) {
|
|
753
|
+
effect.setTexture("reflectivitySampler", material.specularTexture);
|
|
754
|
+
effect.setMatrix("reflectivityMatrix", material.specularTexture.getTextureMatrix());
|
|
755
|
+
}
|
|
756
|
+
if (material.specularColor !== null) {
|
|
757
|
+
effect.setColor3("reflectivityColor", material.specularColor);
|
|
755
758
|
}
|
|
756
759
|
}
|
|
757
760
|
}
|
|
761
|
+
// Clip plane
|
|
762
|
+
bindClipPlane(effect, material, this._scene);
|
|
758
763
|
// Bones
|
|
759
764
|
if (renderingMesh.useBones && renderingMesh.computeBonesUsingShaders && renderingMesh.skeleton) {
|
|
760
765
|
effect.setMatrices("mBones", renderingMesh.skeleton.getTransformMatrices(renderingMesh));
|