@babylonjs/core 5.0.0-alpha.60 → 5.0.0-alpha.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Animations/animation.d.ts +20 -0
- package/Animations/animation.js +99 -10
- package/Animations/animation.js.map +1 -1
- package/Animations/animationGroup.d.ts +5 -1
- package/Animations/animationGroup.js +19 -1
- package/Animations/animationGroup.js.map +1 -1
- package/Animations/animationKey.d.ts +4 -0
- package/Animations/animationKey.js +4 -0
- package/Animations/animationKey.js.map +1 -1
- package/Audio/sound.js +15 -1
- package/Audio/sound.js.map +1 -1
- package/BakedVertexAnimation/bakedVertexAnimationManager.d.ts +130 -0
- package/BakedVertexAnimation/bakedVertexAnimationManager.js +134 -0
- package/BakedVertexAnimation/bakedVertexAnimationManager.js.map +1 -0
- package/BakedVertexAnimation/index.d.ts +2 -0
- package/BakedVertexAnimation/index.js +3 -0
- package/BakedVertexAnimation/index.js.map +1 -0
- package/BakedVertexAnimation/vertexAnimationBaker.d.ts +65 -0
- package/BakedVertexAnimation/vertexAnimationBaker.js +155 -0
- package/BakedVertexAnimation/vertexAnimationBaker.js.map +1 -0
- package/Behaviors/Cameras/autoRotationBehavior.d.ts +5 -0
- package/Behaviors/Cameras/autoRotationBehavior.js +7 -0
- package/Behaviors/Cameras/autoRotationBehavior.js.map +1 -1
- package/Behaviors/Cameras/framingBehavior.d.ts +5 -0
- package/Behaviors/Cameras/framingBehavior.js +8 -1
- package/Behaviors/Cameras/framingBehavior.js.map +1 -1
- package/Behaviors/Meshes/followBehavior.js +1 -1
- package/Behaviors/Meshes/followBehavior.js.map +1 -1
- package/Behaviors/Meshes/handConstraintBehavior.js +16 -12
- package/Behaviors/Meshes/handConstraintBehavior.js.map +1 -1
- package/Bones/bone.d.ts +3 -1
- package/Bones/bone.js +4 -1
- package/Bones/bone.js.map +1 -1
- package/Cameras/Inputs/BaseCameraPointersInput.js +4 -6
- package/Cameras/Inputs/BaseCameraPointersInput.js.map +1 -1
- package/Cameras/Inputs/flyCameraMouseInput.js +4 -4
- package/Cameras/Inputs/flyCameraMouseInput.js.map +1 -1
- package/Cameras/Inputs/freeCameraMouseInput.js +4 -4
- package/Cameras/Inputs/freeCameraMouseInput.js.map +1 -1
- package/Cameras/VR/vrDeviceOrientationArcRotateCamera.js +1 -1
- package/Cameras/VR/vrDeviceOrientationArcRotateCamera.js.map +1 -1
- package/Cameras/VR/vrExperienceHelper.d.ts +1 -1
- package/Cameras/VR/vrExperienceHelper.js +1 -1
- package/Cameras/VR/vrExperienceHelper.js.map +1 -1
- package/Cameras/camera.js +8 -2
- package/Cameras/camera.js.map +1 -1
- package/Cameras/targetCamera.js +1 -1
- package/Cameras/targetCamera.js.map +1 -1
- package/Culling/boundingBox.d.ts +4 -0
- package/Culling/boundingBox.js +8 -0
- package/Culling/boundingBox.js.map +1 -1
- package/Debug/physicsViewer.js +1 -1
- package/Debug/physicsViewer.js.map +1 -1
- package/Debug/skeletonViewer.js +2 -2
- package/Debug/skeletonViewer.js.map +1 -1
- package/DeviceInput/Implementations/{nativeDeviceInputWrapper.d.ts → nativeDeviceInputSystem.d.ts} +11 -22
- package/DeviceInput/Implementations/nativeDeviceInputSystem.js +80 -0
- package/DeviceInput/Implementations/nativeDeviceInputSystem.js.map +1 -0
- package/DeviceInput/Implementations/webDeviceInputSystem.d.ts +7 -20
- package/DeviceInput/Implementations/webDeviceInputSystem.js +80 -72
- package/DeviceInput/Implementations/webDeviceInputSystem.js.map +1 -1
- package/DeviceInput/InputDevices/deviceSourceManager.d.ts +3 -2
- package/DeviceInput/InputDevices/deviceSourceManager.js +5 -1
- package/DeviceInput/InputDevices/deviceSourceManager.js.map +1 -1
- package/DeviceInput/Interfaces/inputInterfaces.d.ts +6 -13
- package/DeviceInput/Interfaces/inputInterfaces.js.map +1 -1
- package/DeviceInput/deviceInputSystem.d.ts +49 -5
- package/DeviceInput/deviceInputSystem.js +66 -9
- package/DeviceInput/deviceInputSystem.js.map +1 -1
- package/DeviceInput/index.d.ts +1 -1
- package/DeviceInput/index.js +1 -1
- package/DeviceInput/index.js.map +1 -1
- package/Engines/Extensions/engine.dynamicTexture.d.ts +2 -1
- package/Engines/Extensions/engine.dynamicTexture.js +2 -1
- package/Engines/Extensions/engine.dynamicTexture.js.map +1 -1
- package/Engines/Extensions/engine.multiview.js +17 -6
- package/Engines/Extensions/engine.multiview.js.map +1 -1
- package/Engines/Extensions/engine.views.d.ts +1 -1
- package/Engines/Extensions/engine.views.js +1 -1
- package/Engines/Extensions/engine.views.js.map +1 -1
- package/Engines/Processors/iShaderProcessor.d.ts +1 -1
- package/Engines/Processors/iShaderProcessor.js.map +1 -1
- package/Engines/Processors/shaderProcessingOptions.d.ts +5 -0
- package/Engines/Processors/shaderProcessingOptions.js.map +1 -1
- package/Engines/Processors/shaderProcessor.js +8 -2
- package/Engines/Processors/shaderProcessor.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.dynamicTexture.js +3 -11
- package/Engines/WebGPU/Extensions/engine.dynamicTexture.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.multiRender.js +0 -4
- package/Engines/WebGPU/Extensions/engine.multiRender.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.query.js +19 -3
- package/Engines/WebGPU/Extensions/engine.query.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.renderTarget.js +0 -4
- package/Engines/WebGPU/Extensions/engine.renderTarget.js.map +1 -1
- package/Engines/WebGPU/webgpuBufferManager.d.ts +1 -1
- package/Engines/WebGPU/webgpuBufferManager.js.map +1 -1
- package/Engines/WebGPU/webgpuBundleList.d.ts +13 -0
- package/Engines/WebGPU/webgpuBundleList.js +27 -0
- package/Engines/WebGPU/webgpuBundleList.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheBindGroups.js +3 -3
- package/Engines/WebGPU/webgpuCacheBindGroups.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipeline.js +42 -61
- package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheSampler.js +6 -4
- package/Engines/WebGPU/webgpuCacheSampler.js.map +1 -1
- package/Engines/WebGPU/webgpuClearQuad.js +17 -8
- package/Engines/WebGPU/webgpuClearQuad.js.map +1 -1
- package/Engines/WebGPU/webgpuComputeContext.js +2 -2
- package/Engines/WebGPU/webgpuComputeContext.js.map +1 -1
- package/Engines/WebGPU/webgpuConstants.d.ts +57 -13
- package/Engines/WebGPU/webgpuConstants.js +62 -13
- package/Engines/WebGPU/webgpuConstants.js.map +1 -1
- package/Engines/WebGPU/webgpuHardwareTexture.d.ts +27 -3
- package/Engines/WebGPU/webgpuHardwareTexture.js +12 -2
- package/Engines/WebGPU/webgpuHardwareTexture.js.map +1 -1
- package/Engines/WebGPU/webgpuShaderProcessingContext.js +2 -0
- package/Engines/WebGPU/webgpuShaderProcessingContext.js.map +1 -1
- package/Engines/WebGPU/webgpuShaderProcessor.d.ts +2 -0
- package/Engines/WebGPU/webgpuShaderProcessor.js +23 -0
- package/Engines/WebGPU/webgpuShaderProcessor.js.map +1 -1
- package/Engines/WebGPU/webgpuShaderProcessorsGLSL.d.ts +1 -0
- package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js +17 -1
- package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js.map +1 -1
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.d.ts +7 -2
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +16 -29
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
- package/Engines/WebGPU/webgpuSnapshotRendering.d.ts +27 -0
- package/Engines/WebGPU/webgpuSnapshotRendering.js +107 -0
- package/Engines/WebGPU/webgpuSnapshotRendering.js.map +1 -0
- package/Engines/WebGPU/webgpuTextureHelper.d.ts +4 -4
- package/Engines/WebGPU/webgpuTextureHelper.js +277 -83
- package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
- package/Engines/constants.d.ts +2 -0
- package/Engines/constants.js +2 -0
- package/Engines/constants.js.map +1 -1
- package/Engines/engine.d.ts +157 -46
- package/Engines/engine.js +38 -1
- package/Engines/engine.js.map +1 -1
- package/Engines/engineFeatures.d.ts +2 -0
- package/Engines/engineFeatures.js.map +1 -1
- package/Engines/index.d.ts +1 -0
- package/Engines/index.js +1 -0
- package/Engines/index.js.map +1 -1
- package/Engines/nativeEngine.js +34 -17
- package/Engines/nativeEngine.js.map +1 -1
- package/Engines/nullEngine.js +1 -0
- package/Engines/nullEngine.js.map +1 -1
- package/Engines/renderTargetWrapper.d.ts +1 -1
- package/Engines/renderTargetWrapper.js +1 -1
- package/Engines/renderTargetWrapper.js.map +1 -1
- package/Engines/thinEngine.d.ts +0 -11
- package/Engines/thinEngine.js +12 -40
- package/Engines/thinEngine.js.map +1 -1
- package/Engines/webgpuEngine.d.ts +11 -19
- package/Engines/webgpuEngine.js +46 -126
- package/Engines/webgpuEngine.js.map +1 -1
- package/Gizmos/positionGizmo.js +1 -1
- package/Gizmos/positionGizmo.js.map +1 -1
- package/Helpers/sceneHelpers.d.ts +3 -3
- package/Helpers/sceneHelpers.js +1 -2
- package/Helpers/sceneHelpers.js.map +1 -1
- package/Inputs/scene.inputManager.js +18 -15
- package/Inputs/scene.inputManager.js.map +1 -1
- package/Layers/effectLayer.d.ts +13 -1
- package/Layers/effectLayer.js +115 -65
- package/Layers/effectLayer.js.map +1 -1
- package/Layers/glowLayer.d.ts +8 -0
- package/Layers/glowLayer.js +7 -3
- package/Layers/glowLayer.js.map +1 -1
- package/Layers/highlightLayer.d.ts +2 -1
- package/Layers/highlightLayer.js +8 -3
- package/Layers/highlightLayer.js.map +1 -1
- package/Lights/Shadows/cascadedShadowGenerator.d.ts +1 -0
- package/Lights/Shadows/cascadedShadowGenerator.js +14 -0
- package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
- package/Lights/Shadows/shadowGenerator.d.ts +4 -0
- package/Lights/Shadows/shadowGenerator.js +31 -3
- package/Lights/Shadows/shadowGenerator.js.map +1 -1
- package/Lights/light.js +10 -1
- package/Lights/light.js.map +1 -1
- package/Lights/pointLight.js +1 -1
- package/Lights/pointLight.js.map +1 -1
- package/Lights/spotLight.js +1 -1
- package/Lights/spotLight.js.map +1 -1
- package/Loading/Plugins/babylonFileLoader.js +20 -4
- package/Loading/Plugins/babylonFileLoader.js.map +1 -1
- package/Materials/Background/backgroundMaterial.js +1 -0
- package/Materials/Background/backgroundMaterial.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.d.ts +10 -0
- package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js +31 -0
- package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/index.d.ts +2 -0
- package/Materials/Node/Blocks/Fragment/index.js +2 -0
- package/Materials/Node/Blocks/Fragment/index.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/screenSpaceBlock.d.ts +41 -0
- package/Materials/Node/Blocks/Fragment/screenSpaceBlock.js +128 -0
- package/Materials/Node/Blocks/Fragment/screenSpaceBlock.js.map +1 -0
- package/Materials/Node/Blocks/Fragment/twirlBlock.d.ts +49 -0
- package/Materials/Node/Blocks/Fragment/twirlBlock.js +145 -0
- package/Materials/Node/Blocks/Fragment/twirlBlock.js.map +1 -0
- package/Materials/Node/Blocks/Input/inputBlock.js +1 -1
- package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
- package/Materials/Node/Blocks/Vertex/vertexOutputBlock.d.ts +1 -0
- package/Materials/Node/Blocks/Vertex/vertexOutputBlock.js +15 -0
- package/Materials/Node/Blocks/Vertex/vertexOutputBlock.js.map +1 -1
- package/Materials/Node/Blocks/customBlock.d.ts +31 -0
- package/Materials/Node/Blocks/customBlock.js +144 -0
- package/Materials/Node/Blocks/customBlock.js.map +1 -0
- package/Materials/Node/Blocks/index.d.ts +2 -0
- package/Materials/Node/Blocks/index.js +2 -0
- package/Materials/Node/Blocks/index.js.map +1 -1
- package/Materials/Node/Blocks/vectorMergerBlock.js +4 -4
- package/Materials/Node/Blocks/vectorMergerBlock.js.map +1 -1
- package/Materials/Node/Blocks/voronoiNoiseBlock.d.ts +39 -0
- package/Materials/Node/Blocks/voronoiNoiseBlock.js +107 -0
- package/Materials/Node/Blocks/voronoiNoiseBlock.js.map +1 -0
- package/Materials/Node/Blocks/worleyNoise3DBlock.d.ts +8 -0
- package/Materials/Node/Blocks/worleyNoise3DBlock.js +34 -2
- package/Materials/Node/Blocks/worleyNoise3DBlock.js.map +1 -1
- package/Materials/Node/nodeMaterial.d.ts +1 -0
- package/Materials/Node/nodeMaterial.js +10 -0
- package/Materials/Node/nodeMaterial.js.map +1 -1
- package/Materials/Node/nodeMaterialBlock.js +1 -1
- package/Materials/Node/nodeMaterialBlock.js.map +1 -1
- package/Materials/Node/nodeMaterialBuildStateSharedData.d.ts +5 -0
- package/Materials/Node/nodeMaterialBuildStateSharedData.js.map +1 -1
- package/Materials/PBR/index.d.ts +4 -0
- package/Materials/PBR/index.js +4 -0
- package/Materials/PBR/index.js.map +1 -1
- package/Materials/PBR/pbrAnisotropicConfiguration.d.ts +28 -96
- package/Materials/PBR/pbrAnisotropicConfiguration.js +50 -111
- package/Materials/PBR/pbrAnisotropicConfiguration.js.map +1 -1
- package/Materials/PBR/pbrBRDFConfiguration.d.ts +11 -37
- package/Materials/PBR/pbrBRDFConfiguration.js +39 -52
- package/Materials/PBR/pbrBRDFConfiguration.js.map +1 -1
- package/Materials/PBR/pbrBaseMaterial.d.ts +17 -74
- package/Materials/PBR/pbrBaseMaterial.js +75 -183
- package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
- package/Materials/PBR/pbrBaseSimpleMaterial.js.map +1 -1
- package/Materials/PBR/pbrClearCoatConfiguration.d.ts +23 -98
- package/Materials/PBR/pbrClearCoatConfiguration.js +91 -143
- package/Materials/PBR/pbrClearCoatConfiguration.js.map +1 -1
- package/Materials/PBR/pbrSheenConfiguration.d.ts +25 -93
- package/Materials/PBR/pbrSheenConfiguration.js +71 -126
- package/Materials/PBR/pbrSheenConfiguration.js.map +1 -1
- package/Materials/PBR/pbrSubSurfaceConfiguration.d.ts +29 -104
- package/Materials/PBR/pbrSubSurfaceConfiguration.js +158 -204
- package/Materials/PBR/pbrSubSurfaceConfiguration.js.map +1 -1
- package/Materials/Textures/dynamicTexture.d.ts +3 -2
- package/Materials/Textures/dynamicTexture.js +5 -3
- package/Materials/Textures/dynamicTexture.js.map +1 -1
- package/Materials/Textures/hdrCubeTexture.d.ts +9 -0
- package/Materials/Textures/hdrCubeTexture.js +21 -5
- package/Materials/Textures/hdrCubeTexture.js.map +1 -1
- package/Materials/Textures/mirrorTexture.d.ts +2 -0
- package/Materials/Textures/mirrorTexture.js +13 -0
- package/Materials/Textures/mirrorTexture.js.map +1 -1
- package/Materials/Textures/renderTargetTexture.js +1 -1
- package/Materials/Textures/renderTargetTexture.js.map +1 -1
- package/Materials/Textures/thinRenderTargetTexture.js +1 -1
- package/Materials/Textures/thinRenderTargetTexture.js.map +1 -1
- package/Materials/Textures/thinTexture.d.ts +1 -2
- package/Materials/Textures/thinTexture.js +2 -4
- package/Materials/Textures/thinTexture.js.map +1 -1
- package/Materials/Textures/videoTexture.d.ts +1 -1
- package/Materials/Textures/videoTexture.js +1 -1
- package/Materials/Textures/videoTexture.js.map +1 -1
- package/Materials/effect.d.ts +6 -1
- package/Materials/effect.js +4 -1
- package/Materials/effect.js.map +1 -1
- package/Materials/fresnelParameters.d.ts +1 -1
- package/Materials/fresnelParameters.js +1 -1
- package/Materials/fresnelParameters.js.map +1 -1
- package/Materials/imageProcessingConfiguration.d.ts +16 -1
- package/Materials/imageProcessingConfiguration.js +31 -0
- package/Materials/imageProcessingConfiguration.js.map +1 -1
- package/Materials/index.d.ts +4 -0
- package/Materials/index.js +4 -0
- package/Materials/index.js.map +1 -1
- package/Materials/material.d.ts +43 -2
- package/Materials/material.detailMapConfiguration.d.ts +29 -87
- package/Materials/material.detailMapConfiguration.js +50 -106
- package/Materials/material.detailMapConfiguration.js.map +1 -1
- package/Materials/material.js +99 -8
- package/Materials/material.js.map +1 -1
- package/Materials/materialDefines.d.ts +16 -0
- package/Materials/materialDefines.js +17 -5
- package/Materials/materialDefines.js.map +1 -1
- package/Materials/materialHelper.d.ts +15 -1
- package/Materials/materialHelper.js +40 -3
- package/Materials/materialHelper.js.map +1 -1
- package/Materials/materialPluginBase.d.ts +182 -0
- package/Materials/materialPluginBase.js +209 -0
- package/Materials/materialPluginBase.js.map +1 -0
- package/Materials/materialPluginEvent.d.ts +98 -0
- package/Materials/materialPluginEvent.js +21 -0
- package/Materials/materialPluginEvent.js.map +1 -0
- package/Materials/materialPluginFactoryExport.d.ts +40 -0
- package/Materials/materialPluginFactoryExport.js +75 -0
- package/Materials/materialPluginFactoryExport.js.map +1 -0
- package/Materials/materialPluginManager.d.ts +90 -0
- package/Materials/materialPluginManager.js +323 -0
- package/Materials/materialPluginManager.js.map +1 -0
- package/Materials/pushMaterial.d.ts +2 -2
- package/Materials/pushMaterial.js +7 -3
- package/Materials/pushMaterial.js.map +1 -1
- package/Materials/shaderMaterial.d.ts +7 -6
- package/Materials/shaderMaterial.js +71 -29
- package/Materials/shaderMaterial.js.map +1 -1
- package/Materials/shadowDepthWrapper.js +7 -7
- package/Materials/shadowDepthWrapper.js.map +1 -1
- package/Materials/standardMaterial.d.ts +15 -10
- package/Materials/standardMaterial.js +53 -49
- package/Materials/standardMaterial.js.map +1 -1
- package/Materials/uniformBuffer.js +1 -2
- package/Materials/uniformBuffer.js.map +1 -1
- package/Maths/math.color.d.ts +20 -0
- package/Maths/math.color.js +45 -2
- package/Maths/math.color.js.map +1 -1
- package/Maths/math.vector.d.ts +14 -9
- package/Maths/math.vector.js +36 -17
- package/Maths/math.vector.js.map +1 -1
- package/Meshes/Builders/boxBuilder.d.ts +1 -1
- package/Meshes/Builders/boxBuilder.js +1 -0
- package/Meshes/Builders/boxBuilder.js.map +1 -1
- package/Meshes/Builders/capsuleBuilder.d.ts +1 -1
- package/Meshes/Builders/capsuleBuilder.js +1 -1
- package/Meshes/Builders/capsuleBuilder.js.map +1 -1
- package/Meshes/Builders/cylinderBuilder.d.ts +17 -17
- package/Meshes/Builders/cylinderBuilder.js +1 -0
- package/Meshes/Builders/cylinderBuilder.js.map +1 -1
- package/Meshes/Builders/discBuilder.d.ts +1 -1
- package/Meshes/Builders/discBuilder.js +1 -0
- package/Meshes/Builders/discBuilder.js.map +1 -1
- package/Meshes/Builders/groundBuilder.d.ts +8 -8
- package/Meshes/Builders/groundBuilder.js +2 -0
- package/Meshes/Builders/groundBuilder.js.map +1 -1
- package/Meshes/Builders/hemisphereBuilder.d.ts +4 -4
- package/Meshes/Builders/hemisphereBuilder.js +1 -0
- package/Meshes/Builders/hemisphereBuilder.js.map +1 -1
- package/Meshes/Builders/icoSphereBuilder.d.ts +1 -1
- package/Meshes/Builders/icoSphereBuilder.js +1 -0
- package/Meshes/Builders/icoSphereBuilder.js.map +1 -1
- package/Meshes/Builders/planeBuilder.d.ts +1 -1
- package/Meshes/Builders/planeBuilder.js +1 -0
- package/Meshes/Builders/planeBuilder.js.map +1 -1
- package/Meshes/Builders/polyhedronBuilder.d.ts +1 -1
- package/Meshes/Builders/polyhedronBuilder.js +1 -0
- package/Meshes/Builders/polyhedronBuilder.js.map +1 -1
- package/Meshes/Builders/sphereBuilder.d.ts +1 -1
- package/Meshes/Builders/sphereBuilder.js +1 -0
- package/Meshes/Builders/sphereBuilder.js.map +1 -1
- package/Meshes/Builders/torusBuilder.d.ts +8 -8
- package/Meshes/Builders/torusBuilder.js +1 -0
- package/Meshes/Builders/torusBuilder.js.map +1 -1
- package/Meshes/Builders/torusKnotBuilder.d.ts +11 -11
- package/Meshes/Builders/torusKnotBuilder.js +1 -0
- package/Meshes/Builders/torusKnotBuilder.js.map +1 -1
- package/Meshes/abstractMesh.d.ts +23 -3
- package/Meshes/abstractMesh.js +79 -29
- package/Meshes/abstractMesh.js.map +1 -1
- package/Meshes/geometry.d.ts +3 -0
- package/Meshes/geometry.js +15 -7
- package/Meshes/geometry.js.map +1 -1
- package/Meshes/linesMesh.d.ts +1 -3
- package/Meshes/linesMesh.js +5 -36
- package/Meshes/linesMesh.js.map +1 -1
- package/Meshes/mesh.d.ts +12 -0
- package/Meshes/mesh.js +186 -117
- package/Meshes/mesh.js.map +1 -1
- package/Meshes/mesh.lts.d.ts +8 -8
- package/Meshes/mesh.lts.js.map +1 -1
- package/Meshes/mesh.vertexData.d.ts +6 -1
- package/Meshes/mesh.vertexData.js +295 -114
- package/Meshes/mesh.vertexData.js.map +1 -1
- package/Meshes/thinInstanceMesh.js +6 -5
- package/Meshes/thinInstanceMesh.js.map +1 -1
- package/Meshes/transformNode.d.ts +8 -8
- package/Meshes/transformNode.js +41 -26
- package/Meshes/transformNode.js.map +1 -1
- package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.d.ts +2 -1
- package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.js +38 -33
- package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.js.map +1 -1
- package/Misc/PerformanceViewer/performanceViewerCollector.d.ts +29 -4
- package/Misc/PerformanceViewer/performanceViewerCollector.js +36 -12
- package/Misc/PerformanceViewer/performanceViewerCollector.js.map +1 -1
- package/Misc/assetsManager.d.ts +4 -4
- package/Misc/assetsManager.js +2 -2
- package/Misc/assetsManager.js.map +1 -1
- package/Misc/basis.d.ts +2 -2
- package/Misc/basis.js +20 -4
- package/Misc/basis.js.map +1 -1
- package/Misc/coroutine.d.ts +41 -0
- package/Misc/coroutine.js +136 -0
- package/Misc/coroutine.js.map +1 -0
- package/Misc/index.d.ts +1 -0
- package/Misc/index.js +1 -0
- package/Misc/index.js.map +1 -1
- package/Misc/interfaces/iPerfViewer.d.ts +4 -0
- package/Misc/interfaces/iPerfViewer.js.map +1 -1
- package/Misc/observableCoroutine.d.ts +9 -10
- package/Misc/observableCoroutine.js +34 -39
- package/Misc/observableCoroutine.js.map +1 -1
- package/Misc/sceneSerializer.js +1 -3
- package/Misc/sceneSerializer.js.map +1 -1
- package/Misc/tools.d.ts +2 -4
- package/Misc/tools.js +6 -10
- package/Misc/tools.js.map +1 -1
- package/Particles/particleSystem.js +22 -16
- package/Particles/particleSystem.js.map +1 -1
- package/Particles/solidParticleSystem.js +29 -5
- package/Particles/solidParticleSystem.js.map +1 -1
- package/Particles/subEmitter.js +1 -0
- package/Particles/subEmitter.js.map +1 -1
- package/Physics/Plugins/ammoJSPlugin.js +10 -8
- package/Physics/Plugins/ammoJSPlugin.js.map +1 -1
- package/PostProcesses/imageProcessingPostProcess.js +1 -0
- package/PostProcesses/imageProcessingPostProcess.js.map +1 -1
- package/Probes/reflectionProbe.d.ts +2 -0
- package/Probes/reflectionProbe.js +21 -0
- package/Probes/reflectionProbe.js.map +1 -1
- package/Rendering/boundingBoxRenderer.d.ts +3 -0
- package/Rendering/boundingBoxRenderer.js +49 -14
- package/Rendering/boundingBoxRenderer.js.map +1 -1
- package/Rendering/depthPeelingRenderer.d.ts +4 -1
- package/Rendering/depthPeelingRenderer.js +34 -9
- package/Rendering/depthPeelingRenderer.js.map +1 -1
- package/Rendering/depthRenderer.d.ts +1 -1
- package/Rendering/depthRenderer.js +2 -2
- package/Rendering/depthRenderer.js.map +1 -1
- package/Rendering/edgesRenderer.js +3 -1
- package/Rendering/edgesRenderer.js.map +1 -1
- package/Rendering/geometryBufferRenderer.d.ts +0 -2
- package/Rendering/geometryBufferRenderer.js +13 -10
- package/Rendering/geometryBufferRenderer.js.map +1 -1
- package/Rendering/prePassRenderer.js +6 -6
- package/Rendering/prePassRenderer.js.map +1 -1
- package/Rendering/renderingGroup.js +5 -1
- package/Rendering/renderingGroup.js.map +1 -1
- package/Shaders/ShadersInclude/bakedVertexAnimation.d.ts +5 -0
- package/Shaders/ShadersInclude/bakedVertexAnimation.js +7 -0
- package/Shaders/ShadersInclude/bakedVertexAnimation.js.map +1 -0
- package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.d.ts +5 -0
- package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.js +7 -0
- package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.js.map +1 -0
- package/Shaders/ShadersInclude/bonesDeclaration.js +1 -1
- package/Shaders/ShadersInclude/bonesDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/bonesVertex.js +1 -1
- package/Shaders/ShadersInclude/bonesVertex.js.map +1 -1
- package/Shaders/ShadersInclude/defaultFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/defaultFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/defaultUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/defaultUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/defaultVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/defaultVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockImageProcessing.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockImageProcessing.js.map +1 -1
- package/Shaders/ShadersInclude/pbrFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/pbrFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/pbrUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/pbrUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/pbrVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/pbrVertexDeclaration.js.map +1 -1
- package/Shaders/anaglyph.fragment.js +1 -1
- package/Shaders/anaglyph.fragment.js.map +1 -1
- package/Shaders/background.fragment.js +1 -1
- package/Shaders/background.fragment.js.map +1 -1
- package/Shaders/background.vertex.d.ts +2 -0
- package/Shaders/background.vertex.js +3 -1
- package/Shaders/background.vertex.js.map +1 -1
- package/Shaders/blackAndWhite.fragment.js +1 -1
- package/Shaders/blackAndWhite.fragment.js.map +1 -1
- package/Shaders/bloomMerge.fragment.js +1 -1
- package/Shaders/bloomMerge.fragment.js.map +1 -1
- package/Shaders/blur.fragment.js +1 -1
- package/Shaders/blur.fragment.js.map +1 -1
- package/Shaders/boundingBoxRenderer.fragment.js +1 -1
- package/Shaders/boundingBoxRenderer.fragment.js.map +1 -1
- package/Shaders/boundingBoxRenderer.vertex.js +1 -1
- package/Shaders/boundingBoxRenderer.vertex.js.map +1 -1
- package/Shaders/chromaticAberration.fragment.js +1 -1
- package/Shaders/chromaticAberration.fragment.js.map +1 -1
- package/Shaders/circleOfConfusion.fragment.js +1 -1
- package/Shaders/circleOfConfusion.fragment.js.map +1 -1
- package/Shaders/clearQuad.vertex.js +1 -1
- package/Shaders/clearQuad.vertex.js.map +1 -1
- package/Shaders/color.fragment.js +1 -1
- package/Shaders/color.fragment.js.map +1 -1
- package/Shaders/color.vertex.d.ts +2 -0
- package/Shaders/color.vertex.js +3 -1
- package/Shaders/color.vertex.js.map +1 -1
- package/Shaders/colorCorrection.fragment.js +1 -1
- package/Shaders/colorCorrection.fragment.js.map +1 -1
- package/Shaders/convolution.fragment.js +1 -1
- package/Shaders/convolution.fragment.js.map +1 -1
- package/Shaders/default.fragment.js +1 -1
- package/Shaders/default.fragment.js.map +1 -1
- package/Shaders/default.vertex.d.ts +2 -0
- package/Shaders/default.vertex.js +3 -1
- package/Shaders/default.vertex.js.map +1 -1
- package/Shaders/depth.fragment.js +1 -1
- package/Shaders/depth.fragment.js.map +1 -1
- package/Shaders/depth.vertex.d.ts +2 -0
- package/Shaders/depth.vertex.js +3 -1
- package/Shaders/depth.vertex.js.map +1 -1
- package/Shaders/depthBoxBlur.fragment.js +1 -1
- package/Shaders/depthBoxBlur.fragment.js.map +1 -1
- package/Shaders/depthOfField.fragment.js +1 -1
- package/Shaders/depthOfField.fragment.js.map +1 -1
- package/Shaders/depthOfFieldMerge.fragment.js +1 -1
- package/Shaders/depthOfFieldMerge.fragment.js.map +1 -1
- package/Shaders/displayPass.fragment.js +1 -1
- package/Shaders/displayPass.fragment.js.map +1 -1
- package/Shaders/extractHighlights.fragment.js +1 -1
- package/Shaders/extractHighlights.fragment.js.map +1 -1
- package/Shaders/filter.fragment.js +1 -1
- package/Shaders/filter.fragment.js.map +1 -1
- package/Shaders/fxaa.vertex.js +1 -1
- package/Shaders/fxaa.vertex.js.map +1 -1
- package/Shaders/geometry.vertex.d.ts +2 -0
- package/Shaders/geometry.vertex.js +3 -1
- package/Shaders/geometry.vertex.js.map +1 -1
- package/Shaders/glowBlurPostProcess.fragment.js +1 -1
- package/Shaders/glowBlurPostProcess.fragment.js.map +1 -1
- package/Shaders/glowMapGeneration.fragment.js +1 -1
- package/Shaders/glowMapGeneration.fragment.js.map +1 -1
- package/Shaders/glowMapGeneration.vertex.d.ts +2 -0
- package/Shaders/glowMapGeneration.vertex.js +3 -1
- package/Shaders/glowMapGeneration.vertex.js.map +1 -1
- package/Shaders/glowMapMerge.fragment.js +1 -1
- package/Shaders/glowMapMerge.fragment.js.map +1 -1
- package/Shaders/glowMapMerge.vertex.js +1 -1
- package/Shaders/glowMapMerge.vertex.js.map +1 -1
- package/Shaders/grain.fragment.js +1 -1
- package/Shaders/grain.fragment.js.map +1 -1
- package/Shaders/hdrFiltering.vertex.js +1 -1
- package/Shaders/hdrFiltering.vertex.js.map +1 -1
- package/Shaders/highlights.fragment.js +1 -1
- package/Shaders/highlights.fragment.js.map +1 -1
- package/Shaders/imageProcessing.fragment.js +1 -1
- package/Shaders/imageProcessing.fragment.js.map +1 -1
- package/Shaders/kernelBlur.fragment.js +1 -1
- package/Shaders/kernelBlur.fragment.js.map +1 -1
- package/Shaders/kernelBlur.vertex.js +1 -1
- package/Shaders/kernelBlur.vertex.js.map +1 -1
- package/Shaders/layer.fragment.js +1 -1
- package/Shaders/layer.fragment.js.map +1 -1
- package/Shaders/layer.vertex.js +1 -1
- package/Shaders/layer.vertex.js.map +1 -1
- package/Shaders/lensFlare.fragment.js +1 -1
- package/Shaders/lensFlare.fragment.js.map +1 -1
- package/Shaders/lensFlare.vertex.js +1 -1
- package/Shaders/lensFlare.vertex.js.map +1 -1
- package/Shaders/lensHighlights.fragment.js +1 -1
- package/Shaders/lensHighlights.fragment.js.map +1 -1
- package/Shaders/line.fragment.js +1 -1
- package/Shaders/line.fragment.js.map +1 -1
- package/Shaders/line.vertex.js +1 -1
- package/Shaders/line.vertex.js.map +1 -1
- package/Shaders/minmaxRedux.fragment.js +1 -1
- package/Shaders/minmaxRedux.fragment.js.map +1 -1
- package/Shaders/motionBlur.fragment.js +1 -1
- package/Shaders/motionBlur.fragment.js.map +1 -1
- package/Shaders/noise.fragment.js +1 -1
- package/Shaders/noise.fragment.js.map +1 -1
- package/Shaders/outline.fragment.js +1 -1
- package/Shaders/outline.fragment.js.map +1 -1
- package/Shaders/outline.vertex.d.ts +2 -0
- package/Shaders/outline.vertex.js +3 -1
- package/Shaders/outline.vertex.js.map +1 -1
- package/Shaders/particles.fragment.js +1 -1
- package/Shaders/particles.fragment.js.map +1 -1
- package/Shaders/particles.vertex.js +1 -1
- package/Shaders/particles.vertex.js.map +1 -1
- package/Shaders/pass.fragment.js +1 -1
- package/Shaders/pass.fragment.js.map +1 -1
- package/Shaders/passCube.fragment.js +1 -1
- package/Shaders/passCube.fragment.js.map +1 -1
- package/Shaders/pbr.fragment.js +1 -1
- package/Shaders/pbr.fragment.js.map +1 -1
- package/Shaders/pbr.vertex.d.ts +2 -0
- package/Shaders/pbr.vertex.js +3 -1
- package/Shaders/pbr.vertex.js.map +1 -1
- package/Shaders/postprocess.vertex.js +1 -1
- package/Shaders/postprocess.vertex.js.map +1 -1
- package/Shaders/procedural.vertex.js +1 -1
- package/Shaders/procedural.vertex.js.map +1 -1
- package/Shaders/rgbdDecode.fragment.js +1 -1
- package/Shaders/rgbdDecode.fragment.js.map +1 -1
- package/Shaders/rgbdEncode.fragment.js +1 -1
- package/Shaders/rgbdEncode.fragment.js.map +1 -1
- package/Shaders/screenSpaceCurvature.fragment.js +1 -1
- package/Shaders/screenSpaceCurvature.fragment.js.map +1 -1
- package/Shaders/shadowMap.fragment.js +1 -1
- package/Shaders/shadowMap.fragment.js.map +1 -1
- package/Shaders/shadowMap.vertex.d.ts +2 -0
- package/Shaders/shadowMap.vertex.js +3 -1
- package/Shaders/shadowMap.vertex.js.map +1 -1
- package/Shaders/sharpen.fragment.js +1 -1
- package/Shaders/sharpen.fragment.js.map +1 -1
- package/Shaders/sprites.fragment.js +1 -1
- package/Shaders/sprites.fragment.js.map +1 -1
- package/Shaders/sprites.vertex.js +1 -1
- package/Shaders/sprites.vertex.js.map +1 -1
- package/Shaders/ssaoCombine.fragment.js +1 -1
- package/Shaders/ssaoCombine.fragment.js.map +1 -1
- package/Shaders/standard.fragment.js +1 -1
- package/Shaders/standard.fragment.js.map +1 -1
- package/Shaders/stereoscopicInterlace.fragment.js +1 -1
- package/Shaders/stereoscopicInterlace.fragment.js.map +1 -1
- package/Shaders/subSurfaceScattering.fragment.js +1 -1
- package/Shaders/subSurfaceScattering.fragment.js.map +1 -1
- package/Shaders/tonemap.fragment.js +1 -1
- package/Shaders/tonemap.fragment.js.map +1 -1
- package/Shaders/volumetricLightScattering.fragment.js +1 -1
- package/Shaders/volumetricLightScattering.fragment.js.map +1 -1
- package/Shaders/volumetricLightScatteringPass.fragment.js +1 -1
- package/Shaders/volumetricLightScatteringPass.fragment.js.map +1 -1
- package/Shaders/volumetricLightScatteringPass.vertex.d.ts +2 -0
- package/Shaders/volumetricLightScatteringPass.vertex.js +3 -1
- package/Shaders/volumetricLightScatteringPass.vertex.js.map +1 -1
- package/Shaders/vrDistortionCorrection.fragment.js +1 -1
- package/Shaders/vrDistortionCorrection.fragment.js.map +1 -1
- package/Shaders/vrMultiviewToSingleview.fragment.js +1 -1
- package/Shaders/vrMultiviewToSingleview.fragment.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js +7 -0
- package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js +7 -0
- package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/bonesDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/bonesDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/bonesVertex.js +1 -1
- package/ShadersWGSL/ShadersInclude/bonesVertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneFragment.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js +7 -0
- package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js +7 -0
- package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/clipPlaneVertex.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js +7 -0
- package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js +7 -0
- package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js.map +1 -0
- package/XR/features/WebXRControllerPointerSelection.d.ts +14 -0
- package/XR/features/WebXRControllerPointerSelection.js +55 -21
- package/XR/features/WebXRControllerPointerSelection.js.map +1 -1
- package/XR/features/WebXRHandTracking.d.ts +2 -0
- package/XR/features/WebXRHandTracking.js +34 -14
- package/XR/features/WebXRHandTracking.js.map +1 -1
- package/XR/features/WebXRLayers.d.ts +78 -0
- package/XR/features/WebXRLayers.js +243 -0
- package/XR/features/WebXRLayers.js.map +1 -0
- package/XR/features/WebXRNearInteraction.d.ts +1 -0
- package/XR/features/WebXRNearInteraction.js +2 -0
- package/XR/features/WebXRNearInteraction.js.map +1 -1
- package/XR/features/WebXRPlaneDetector.js +8 -12
- package/XR/features/WebXRPlaneDetector.js.map +1 -1
- package/XR/features/index.d.ts +1 -0
- package/XR/features/index.js +1 -0
- package/XR/features/index.js.map +1 -1
- package/XR/native/index.d.ts +1 -0
- package/XR/native/index.js +2 -0
- package/XR/native/index.js.map +1 -0
- package/XR/native/nativeXRRenderTarget.d.ts +44 -0
- package/XR/native/nativeXRRenderTarget.js +81 -0
- package/XR/native/nativeXRRenderTarget.js.map +1 -0
- package/XR/webXRCamera.js +2 -10
- package/XR/webXRCamera.js.map +1 -1
- package/XR/webXRExperienceHelper.js +15 -13
- package/XR/webXRExperienceHelper.js.map +1 -1
- package/XR/webXRFeaturesManager.d.ts +4 -0
- package/XR/webXRFeaturesManager.js +5 -1
- package/XR/webXRFeaturesManager.js.map +1 -1
- package/XR/webXRLayerWrapper.d.ts +48 -0
- package/XR/webXRLayerWrapper.js +60 -0
- package/XR/webXRLayerWrapper.js.map +1 -0
- package/XR/webXRManagedOutputCanvas.d.ts +2 -1
- package/XR/webXRManagedOutputCanvas.js +36 -29
- package/XR/webXRManagedOutputCanvas.js.map +1 -1
- package/XR/webXRRenderTargetTextureProvider.d.ts +55 -0
- package/XR/webXRRenderTargetTextureProvider.js +63 -0
- package/XR/webXRRenderTargetTextureProvider.js.map +1 -0
- package/XR/webXRSessionManager.d.ts +30 -7
- package/XR/webXRSessionManager.js +62 -64
- package/XR/webXRSessionManager.js.map +1 -1
- package/XR/webXRTypes.d.ts +1 -1
- package/XR/webXRTypes.js.map +1 -1
- package/XR/webXRWebGLLayer.d.ts +36 -0
- package/XR/webXRWebGLLayer.js +69 -0
- package/XR/webXRWebGLLayer.js.map +1 -0
- package/abstractScene.d.ts +1 -1
- package/abstractScene.js +1 -1
- package/abstractScene.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/node.d.ts +30 -1
- package/node.js +12 -0
- package/node.js.map +1 -1
- package/package.json +87 -6
- package/scene.d.ts +14 -0
- package/scene.js +31 -0
- package/scene.js.map +1 -1
- package/DeviceInput/Implementations/nativeDeviceInputWrapper.js +0 -66
- package/DeviceInput/Implementations/nativeDeviceInputWrapper.js.map +0 -1
|
@@ -6,16 +6,13 @@ import { GetEnvironmentBRDFTexture } from "../../Misc/brdfTextureTools.js";
|
|
|
6
6
|
import { Scene } from "../../scene.js";
|
|
7
7
|
import { Vector4 } from "../../Maths/math.vector.js";
|
|
8
8
|
import { VertexBuffer } from "../../Buffers/buffer.js";
|
|
9
|
-
import { PBRClearCoatConfiguration } from "./pbrClearCoatConfiguration.js";
|
|
10
|
-
import { PBRAnisotropicConfiguration } from "./pbrAnisotropicConfiguration.js";
|
|
11
9
|
import { PBRBRDFConfiguration } from "./pbrBRDFConfiguration.js";
|
|
12
|
-
import { PBRSheenConfiguration } from "./pbrSheenConfiguration.js";
|
|
13
|
-
import { PBRSubSurfaceConfiguration } from "./pbrSubSurfaceConfiguration.js";
|
|
14
10
|
import { PrePassConfiguration } from "../prePassConfiguration.js";
|
|
15
11
|
import { Color3, TmpColors } from '../../Maths/math.color.js';
|
|
16
12
|
import { Scalar } from "../../Maths/math.scalar.js";
|
|
17
13
|
import { ImageProcessingConfiguration } from "../../Materials/imageProcessingConfiguration.js";
|
|
18
14
|
import { Material } from "../../Materials/material.js";
|
|
15
|
+
import { MaterialPluginEvent } from "../materialPluginEvent.js";
|
|
19
16
|
import { MaterialDefines } from "../../Materials/materialDefines.js";
|
|
20
17
|
import { PushMaterial } from "../../Materials/pushMaterial.js";
|
|
21
18
|
import { MaterialHelper } from "../../Materials/materialHelper.js";
|
|
@@ -25,7 +22,11 @@ import "../../Materials/Textures/baseTexture.polynomial.js";
|
|
|
25
22
|
import "../../Shaders/pbr.fragment.js";
|
|
26
23
|
import "../../Shaders/pbr.vertex.js";
|
|
27
24
|
import { EffectFallbacks } from '../effectFallbacks.js';
|
|
28
|
-
import {
|
|
25
|
+
import { PBRClearCoatConfiguration } from "./pbrClearCoatConfiguration.js";
|
|
26
|
+
import { PBRAnisotropicConfiguration } from "./pbrAnisotropicConfiguration.js";
|
|
27
|
+
import { PBRSheenConfiguration } from "./pbrSheenConfiguration.js";
|
|
28
|
+
import { PBRSubSurfaceConfiguration } from "./pbrSubSurfaceConfiguration.js";
|
|
29
|
+
import { DetailMapConfiguration } from "../material.detailMapConfiguration.js";
|
|
29
30
|
var onCreatedEffectParameters = { effect: null, subMesh: null };
|
|
30
31
|
/**
|
|
31
32
|
* Manages the defines for the PBR Material.
|
|
@@ -35,9 +36,10 @@ var PBRMaterialDefines = /** @class */ (function (_super) {
|
|
|
35
36
|
__extends(PBRMaterialDefines, _super);
|
|
36
37
|
/**
|
|
37
38
|
* Initializes the PBR Material defines.
|
|
39
|
+
* @param externalProperties The external properties
|
|
38
40
|
*/
|
|
39
|
-
function PBRMaterialDefines() {
|
|
40
|
-
var _this = _super.call(this) || this;
|
|
41
|
+
function PBRMaterialDefines(externalProperties) {
|
|
42
|
+
var _this = _super.call(this, externalProperties) || this;
|
|
41
43
|
_this.PBR = true;
|
|
42
44
|
_this.NUM_SAMPLES = "0";
|
|
43
45
|
_this.REALTIME_FILTERING = false;
|
|
@@ -57,9 +59,7 @@ var PBRMaterialDefines = /** @class */ (function (_super) {
|
|
|
57
59
|
_this.GAMMAALBEDO = false;
|
|
58
60
|
_this.ALBEDODIRECTUV = 0;
|
|
59
61
|
_this.VERTEXCOLOR = false;
|
|
60
|
-
_this.
|
|
61
|
-
_this.DETAILDIRECTUV = 0;
|
|
62
|
-
_this.DETAIL_NORMALBLENDMETHOD = 0;
|
|
62
|
+
_this.BAKED_VERTEX_ANIMATION_TEXTURE = false;
|
|
63
63
|
_this.AMBIENT = false;
|
|
64
64
|
_this.AMBIENTDIRECTUV = 0;
|
|
65
65
|
_this.AMBIENTINGRAYSCALE = false;
|
|
@@ -131,7 +131,6 @@ var PBRMaterialDefines = /** @class */ (function (_super) {
|
|
|
131
131
|
_this.INVERTCUBICMAP = false;
|
|
132
132
|
_this.USESPHERICALFROMREFLECTIONMAP = false;
|
|
133
133
|
_this.USEIRRADIANCEMAP = false;
|
|
134
|
-
_this.SPHERICAL_HARMONICS = false;
|
|
135
134
|
_this.USESPHERICALINVERTEX = false;
|
|
136
135
|
_this.REFLECTIONMAP_OPPOSITEZ = false;
|
|
137
136
|
_this.LODINREFLECTIONALPHA = false;
|
|
@@ -182,6 +181,7 @@ var PBRMaterialDefines = /** @class */ (function (_super) {
|
|
|
182
181
|
_this.SAMPLER3DGREENDEPTH = false;
|
|
183
182
|
_this.SAMPLER3DBGRMAP = false;
|
|
184
183
|
_this.IMAGEPROCESSINGPOSTPROCESS = false;
|
|
184
|
+
_this.SKIPFINALCOLORCLAMP = false;
|
|
185
185
|
_this.EXPOSURE = false;
|
|
186
186
|
_this.MULTIVIEW = false;
|
|
187
187
|
_this.ORDER_INDEPENDENT_TRANSPARENCY = false;
|
|
@@ -201,64 +201,6 @@ var PBRMaterialDefines = /** @class */ (function (_super) {
|
|
|
201
201
|
_this.LOGARITHMICDEPTH = false;
|
|
202
202
|
_this.FORCENORMALFORWARD = false;
|
|
203
203
|
_this.SPECULARAA = false;
|
|
204
|
-
_this.CLEARCOAT = false;
|
|
205
|
-
_this.CLEARCOAT_DEFAULTIOR = false;
|
|
206
|
-
_this.CLEARCOAT_TEXTURE = false;
|
|
207
|
-
_this.CLEARCOAT_TEXTURE_ROUGHNESS = false;
|
|
208
|
-
_this.CLEARCOAT_TEXTUREDIRECTUV = 0;
|
|
209
|
-
_this.CLEARCOAT_TEXTURE_ROUGHNESSDIRECTUV = 0;
|
|
210
|
-
_this.CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE = false;
|
|
211
|
-
_this.CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL = false;
|
|
212
|
-
_this.CLEARCOAT_BUMP = false;
|
|
213
|
-
_this.CLEARCOAT_BUMPDIRECTUV = 0;
|
|
214
|
-
_this.CLEARCOAT_REMAP_F0 = true;
|
|
215
|
-
_this.CLEARCOAT_TINT = false;
|
|
216
|
-
_this.CLEARCOAT_TINT_TEXTURE = false;
|
|
217
|
-
_this.CLEARCOAT_TINT_GAMMATEXTURE = false;
|
|
218
|
-
_this.CLEARCOAT_TINT_TEXTUREDIRECTUV = 0;
|
|
219
|
-
_this.ANISOTROPIC = false;
|
|
220
|
-
_this.ANISOTROPIC_TEXTURE = false;
|
|
221
|
-
_this.ANISOTROPIC_TEXTUREDIRECTUV = 0;
|
|
222
|
-
_this.BRDF_V_HEIGHT_CORRELATED = false;
|
|
223
|
-
_this.MS_BRDF_ENERGY_CONSERVATION = false;
|
|
224
|
-
_this.SPECULAR_GLOSSINESS_ENERGY_CONSERVATION = false;
|
|
225
|
-
_this.SHEEN = false;
|
|
226
|
-
_this.SHEEN_TEXTURE = false;
|
|
227
|
-
_this.SHEEN_GAMMATEXTURE = false;
|
|
228
|
-
_this.SHEEN_TEXTURE_ROUGHNESS = false;
|
|
229
|
-
_this.SHEEN_TEXTUREDIRECTUV = 0;
|
|
230
|
-
_this.SHEEN_TEXTURE_ROUGHNESSDIRECTUV = 0;
|
|
231
|
-
_this.SHEEN_LINKWITHALBEDO = false;
|
|
232
|
-
_this.SHEEN_ROUGHNESS = false;
|
|
233
|
-
_this.SHEEN_ALBEDOSCALING = false;
|
|
234
|
-
_this.SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE = false;
|
|
235
|
-
_this.SHEEN_TEXTURE_ROUGHNESS_IDENTICAL = false;
|
|
236
|
-
_this.SUBSURFACE = false;
|
|
237
|
-
_this.SS_REFRACTION = false;
|
|
238
|
-
_this.SS_REFRACTION_USE_INTENSITY_FROM_TEXTURE = false;
|
|
239
|
-
_this.SS_TRANSLUCENCY = false;
|
|
240
|
-
_this.SS_TRANSLUCENCY_USE_INTENSITY_FROM_TEXTURE = false;
|
|
241
|
-
_this.SS_SCATTERING = false;
|
|
242
|
-
_this.SS_THICKNESSANDMASK_TEXTURE = false;
|
|
243
|
-
_this.SS_THICKNESSANDMASK_TEXTUREDIRECTUV = 0;
|
|
244
|
-
_this.SS_HAS_THICKNESS = false;
|
|
245
|
-
_this.SS_REFRACTIONINTENSITY_TEXTURE = false;
|
|
246
|
-
_this.SS_REFRACTIONINTENSITY_TEXTUREDIRECTUV = 0;
|
|
247
|
-
_this.SS_TRANSLUCENCYINTENSITY_TEXTURE = false;
|
|
248
|
-
_this.SS_TRANSLUCENCYINTENSITY_TEXTUREDIRECTUV = 0;
|
|
249
|
-
_this.SS_REFRACTIONMAP_3D = false;
|
|
250
|
-
_this.SS_REFRACTIONMAP_OPPOSITEZ = false;
|
|
251
|
-
_this.SS_LODINREFRACTIONALPHA = false;
|
|
252
|
-
_this.SS_GAMMAREFRACTION = false;
|
|
253
|
-
_this.SS_RGBDREFRACTION = false;
|
|
254
|
-
_this.SS_LINEARSPECULARREFRACTION = false;
|
|
255
|
-
_this.SS_LINKREFRACTIONTOTRANSPARENCY = false;
|
|
256
|
-
_this.SS_ALBEDOFORREFRACTIONTINT = false;
|
|
257
|
-
_this.SS_ALBEDOFORTRANSLUCENCYTINT = false;
|
|
258
|
-
_this.SS_USE_LOCAL_REFRACTIONMAP_CUBIC = false;
|
|
259
|
-
_this.SS_USE_THICKNESS_AS_DEPTH = false;
|
|
260
|
-
_this.SS_MASK_FROM_THICKNESS_TEXTURE = false;
|
|
261
|
-
_this.SS_USE_GLTF_TEXTURES = false;
|
|
262
204
|
_this.UNLIT = false;
|
|
263
205
|
_this.DEBUGMODE = 0;
|
|
264
206
|
_this.rebuild();
|
|
@@ -686,27 +628,13 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
686
628
|
* You can use the factor to better multiply the final value.
|
|
687
629
|
*/
|
|
688
630
|
_this.debugFactor = 1;
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
_this.
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
_this.anisotropy = new PBRAnisotropicConfiguration(_this._markAllSubMeshesAsTexturesDirty.bind(_this));
|
|
697
|
-
/**
|
|
698
|
-
* Defines the BRDF parameters for the material.
|
|
699
|
-
*/
|
|
700
|
-
_this.brdf = new PBRBRDFConfiguration(_this._markAllSubMeshesAsMiscDirty.bind(_this));
|
|
701
|
-
/**
|
|
702
|
-
* Defines the Sheen parameters for the material.
|
|
703
|
-
*/
|
|
704
|
-
_this.sheen = new PBRSheenConfiguration(_this._markAllSubMeshesAsTexturesDirty.bind(_this));
|
|
705
|
-
/**
|
|
706
|
-
* Defines the detail map parameters for the material.
|
|
707
|
-
*/
|
|
708
|
-
_this.detailMap = new DetailMapConfiguration(_this._markAllSubMeshesAsTexturesDirty.bind(_this));
|
|
709
|
-
_this.buildUniformLayout();
|
|
631
|
+
_this._cacheHasRenderTargetTextures = false;
|
|
632
|
+
_this.brdf = new PBRBRDFConfiguration(_this);
|
|
633
|
+
_this.clearCoat = new PBRClearCoatConfiguration(_this);
|
|
634
|
+
_this.anisotropy = new PBRAnisotropicConfiguration(_this);
|
|
635
|
+
_this.sheen = new PBRSheenConfiguration(_this);
|
|
636
|
+
_this.subSurface = new PBRSubSurfaceConfiguration(_this);
|
|
637
|
+
_this.detailMap = new DetailMapConfiguration(_this);
|
|
710
638
|
// Setup the default processing configuration to the scene.
|
|
711
639
|
_this._attachImageProcessingConfiguration(null);
|
|
712
640
|
_this.getRenderTargetTextures = function () {
|
|
@@ -714,11 +642,11 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
714
642
|
if (MaterialFlags.ReflectionTextureEnabled && _this._reflectionTexture && _this._reflectionTexture.isRenderTarget) {
|
|
715
643
|
_this._renderTargets.push(_this._reflectionTexture);
|
|
716
644
|
}
|
|
717
|
-
_this.
|
|
645
|
+
_this._eventInfo.renderTargets = _this._renderTargets;
|
|
646
|
+
_this._callbackPluginEventFillRenderTargetTextures(_this._eventInfo);
|
|
718
647
|
return _this._renderTargets;
|
|
719
648
|
};
|
|
720
649
|
_this._environmentBRDFTexture = GetEnvironmentBRDFTexture(scene);
|
|
721
|
-
_this.subSurface = new PBRSubSurfaceConfiguration(_this._markAllSubMeshesAsTexturesDirty.bind(_this), _this._markScenePrePassDirty.bind(_this), scene);
|
|
722
650
|
_this.prePassConfiguration = new PrePassConfiguration();
|
|
723
651
|
return _this;
|
|
724
652
|
}
|
|
@@ -795,7 +723,7 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
795
723
|
if (MaterialFlags.ReflectionTextureEnabled && this._reflectionTexture && this._reflectionTexture.isRenderTarget) {
|
|
796
724
|
return true;
|
|
797
725
|
}
|
|
798
|
-
return this.
|
|
726
|
+
return this._cacheHasRenderTargetTextures;
|
|
799
727
|
},
|
|
800
728
|
enumerable: false,
|
|
801
729
|
configurable: true
|
|
@@ -805,7 +733,7 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
805
733
|
* Can this material render to prepass
|
|
806
734
|
*/
|
|
807
735
|
get: function () {
|
|
808
|
-
return
|
|
736
|
+
return !this.disableDepthWrite;
|
|
809
737
|
},
|
|
810
738
|
enumerable: false,
|
|
811
739
|
configurable: true
|
|
@@ -837,9 +765,10 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
837
765
|
* Returns true if alpha blending should be disabled.
|
|
838
766
|
*/
|
|
839
767
|
get: function () {
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
this._transparencyMode === PBRBaseMaterial.PBRMATERIAL_ALPHATEST
|
|
768
|
+
var _a;
|
|
769
|
+
return (this._transparencyMode === PBRBaseMaterial.PBRMATERIAL_OPAQUE ||
|
|
770
|
+
this._transparencyMode === PBRBaseMaterial.PBRMATERIAL_ALPHATEST ||
|
|
771
|
+
((_a = this.subSurface) === null || _a === void 0 ? void 0 : _a.disableAlphaBlending));
|
|
843
772
|
},
|
|
844
773
|
enumerable: false,
|
|
845
774
|
configurable: true
|
|
@@ -857,10 +786,11 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
857
786
|
* Specifies whether or not this material should be rendered in alpha test mode.
|
|
858
787
|
*/
|
|
859
788
|
PBRBaseMaterial.prototype.needAlphaTesting = function () {
|
|
789
|
+
var _a;
|
|
860
790
|
if (this._forceAlphaTest) {
|
|
861
791
|
return true;
|
|
862
792
|
}
|
|
863
|
-
if (this.subSurface.disableAlphaBlending) {
|
|
793
|
+
if ((_a = this.subSurface) === null || _a === void 0 ? void 0 : _a.disableAlphaBlending) {
|
|
864
794
|
return false;
|
|
865
795
|
}
|
|
866
796
|
return this._hasAlphaChannel() && (this._transparencyMode == null || this._transparencyMode === PBRBaseMaterial.PBRMATERIAL_ALPHATEST);
|
|
@@ -891,13 +821,17 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
891
821
|
* @returns - boolean indicating that the submesh is ready or not.
|
|
892
822
|
*/
|
|
893
823
|
PBRBaseMaterial.prototype.isReadyForSubMesh = function (mesh, subMesh, useInstances) {
|
|
824
|
+
if (!this._uniformBufferLayoutBuilt) {
|
|
825
|
+
this.buildUniformLayout();
|
|
826
|
+
}
|
|
894
827
|
if (subMesh.effect && this.isFrozen) {
|
|
895
828
|
if (subMesh.effect._wasPreviouslyReady) {
|
|
896
829
|
return true;
|
|
897
830
|
}
|
|
898
831
|
}
|
|
899
832
|
if (!subMesh.materialDefines) {
|
|
900
|
-
|
|
833
|
+
this._callbackPluginEventGeneric(MaterialPluginEvent.GetDefineNames, this._eventInfo);
|
|
834
|
+
subMesh.materialDefines = new PBRMaterialDefines(this._eventInfo.defineNames);
|
|
901
835
|
}
|
|
902
836
|
var defines = subMesh.materialDefines;
|
|
903
837
|
if (this._isReadyForSubMesh(subMesh)) {
|
|
@@ -906,6 +840,9 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
906
840
|
var scene = this.getScene();
|
|
907
841
|
var engine = scene.getEngine();
|
|
908
842
|
if (defines._areTexturesDirty) {
|
|
843
|
+
this._eventInfo.hasRenderTargetTextures = false;
|
|
844
|
+
this._callbackPluginEventHasRenderTargetTextures(this._eventInfo);
|
|
845
|
+
this._cacheHasRenderTargetTextures = this._eventInfo.hasRenderTargetTextures;
|
|
909
846
|
if (scene.texturesEnabled) {
|
|
910
847
|
if (this._albedoTexture && MaterialFlags.DiffuseTextureEnabled) {
|
|
911
848
|
if (!this._albedoTexture.isReadyOrNotBlocking()) {
|
|
@@ -982,11 +919,10 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
982
919
|
}
|
|
983
920
|
}
|
|
984
921
|
}
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
!this.detailMap.isReadyForSubMesh(defines, scene)) {
|
|
922
|
+
this._eventInfo.isReadyForSubMesh = true;
|
|
923
|
+
this._eventInfo.defines = defines;
|
|
924
|
+
this._callbackPluginEventIsReadyForSubMesh(this._eventInfo);
|
|
925
|
+
if (!this._eventInfo.isReadyForSubMesh) {
|
|
990
926
|
return false;
|
|
991
927
|
}
|
|
992
928
|
if (defines._areImageProcessingDirty && this._imageProcessingConfiguration) {
|
|
@@ -1075,10 +1011,6 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1075
1011
|
if (defines.PARALLAXOCCLUSION) {
|
|
1076
1012
|
fallbacks.addFallback(fallbackRank++, "PARALLAXOCCLUSION");
|
|
1077
1013
|
}
|
|
1078
|
-
fallbackRank = PBRAnisotropicConfiguration.AddFallbacks(defines, fallbacks, fallbackRank);
|
|
1079
|
-
fallbackRank = PBRAnisotropicConfiguration.AddFallbacks(defines, fallbacks, fallbackRank);
|
|
1080
|
-
fallbackRank = PBRSubSurfaceConfiguration.AddFallbacks(defines, fallbacks, fallbackRank);
|
|
1081
|
-
fallbackRank = PBRSheenConfiguration.AddFallbacks(defines, fallbacks, fallbackRank);
|
|
1082
1014
|
if (defines.ENVIRONMENTBRDF) {
|
|
1083
1015
|
fallbacks.addFallback(fallbackRank++, "ENVIRONMENTBRDF");
|
|
1084
1016
|
}
|
|
@@ -1138,6 +1070,7 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1138
1070
|
MaterialHelper.PrepareAttributesForBones(attribs, mesh, defines, fallbacks);
|
|
1139
1071
|
MaterialHelper.PrepareAttributesForInstances(attribs, defines);
|
|
1140
1072
|
MaterialHelper.PrepareAttributesForMorphTargets(attribs, mesh, defines);
|
|
1073
|
+
MaterialHelper.PrepareAttributesForBakedVertexAnimation(attribs, mesh, defines);
|
|
1141
1074
|
var shaderName = "pbr";
|
|
1142
1075
|
var uniforms = ["world", "view", "viewProjection", "vEyePosition", "vLightsType", "vAmbientColor", "vAlbedoColor", "vReflectivityColor", "vMetallicReflectanceFactors", "vEmissiveColor", "visibility", "vReflectionColor",
|
|
1143
1076
|
"vFogInfos", "vFogColor", "pointSize",
|
|
@@ -1164,16 +1097,13 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1164
1097
|
"microSurfaceSampler", "environmentBrdfSampler", "boneSampler", "metallicReflectanceSampler", "reflectanceSampler", "morphTargets",
|
|
1165
1098
|
"oitDepthSampler", "oitFrontColorSampler"];
|
|
1166
1099
|
var uniformBuffers = ["Material", "Scene", "Mesh"];
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
PBRAnisotropicConfiguration.AddSamplers(samplers);
|
|
1175
|
-
PBRSheenConfiguration.AddUniforms(uniforms);
|
|
1176
|
-
PBRSheenConfiguration.AddSamplers(samplers);
|
|
1100
|
+
this._eventInfo.fallbacks = fallbacks;
|
|
1101
|
+
this._eventInfo.fallbackRank = fallbackRank;
|
|
1102
|
+
this._eventInfo.defines = defines;
|
|
1103
|
+
this._eventInfo.uniforms = uniforms;
|
|
1104
|
+
this._eventInfo.samplers = samplers;
|
|
1105
|
+
this._eventInfo.customCode = undefined;
|
|
1106
|
+
this._callbackPluginEventGeneric(MaterialPluginEvent.PrepareEffect, this._eventInfo);
|
|
1177
1107
|
PrePassConfiguration.AddUniforms(uniforms);
|
|
1178
1108
|
PrePassConfiguration.AddSamplers(samplers);
|
|
1179
1109
|
if (ImageProcessingConfiguration) {
|
|
@@ -1203,6 +1133,7 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1203
1133
|
onError: onError,
|
|
1204
1134
|
indexParameters: { maxSimultaneousLights: this._maxSimultaneousLights, maxSimultaneousMorphTargets: defines.NUM_MORPH_INFLUENCERS },
|
|
1205
1135
|
processFinalCode: csnrOptions.processFinalCode,
|
|
1136
|
+
processCodeAfterIncludes: this._eventInfo.customCode,
|
|
1206
1137
|
multiTarget: defines.PREPASS
|
|
1207
1138
|
}, engine);
|
|
1208
1139
|
};
|
|
@@ -1494,12 +1425,9 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1494
1425
|
defines.DEBUGMODE = this._debugMode;
|
|
1495
1426
|
}
|
|
1496
1427
|
// External config
|
|
1497
|
-
this.
|
|
1498
|
-
this.
|
|
1499
|
-
this.
|
|
1500
|
-
this.anisotropy.prepareDefines(defines, mesh, scene);
|
|
1501
|
-
this.brdf.prepareDefines(defines);
|
|
1502
|
-
this.sheen.prepareDefines(defines, scene);
|
|
1428
|
+
this._eventInfo.defines = defines;
|
|
1429
|
+
this._eventInfo.mesh = mesh;
|
|
1430
|
+
this._callbackPluginEventPrepareDefines(this._eventInfo);
|
|
1503
1431
|
// Values that need to be evaluated on every frame
|
|
1504
1432
|
MaterialHelper.PrepareDefinesForFrameBoundValues(scene, engine, defines, useInstances ? true : false, useClipPlane, useThinInstances);
|
|
1505
1433
|
// Attribs
|
|
@@ -1511,7 +1439,11 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1511
1439
|
PBRBaseMaterial.prototype.forceCompilation = function (mesh, onCompiled, options) {
|
|
1512
1440
|
var _this = this;
|
|
1513
1441
|
var localOptions = __assign({ clipPlane: false, useInstances: false }, options);
|
|
1514
|
-
|
|
1442
|
+
if (!this._uniformBufferLayoutBuilt) {
|
|
1443
|
+
this.buildUniformLayout();
|
|
1444
|
+
}
|
|
1445
|
+
this._callbackPluginEventGeneric(MaterialPluginEvent.GetDefineNames, this._eventInfo);
|
|
1446
|
+
var defines = new PBRMaterialDefines(this._eventInfo.defineNames);
|
|
1515
1447
|
var effect = this._prepareEffect(mesh, defines, undefined, undefined, localOptions.useInstances, localOptions.clipPlane, mesh.hasThinInstances);
|
|
1516
1448
|
if (this._onEffectCreatedObservable) {
|
|
1517
1449
|
onCreatedEffectParameters.effect = effect;
|
|
@@ -1573,11 +1505,6 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1573
1505
|
ubo.addUniform("metallicReflectanceMatrix", 16);
|
|
1574
1506
|
ubo.addUniform("vReflectanceInfos", 2);
|
|
1575
1507
|
ubo.addUniform("reflectanceMatrix", 16);
|
|
1576
|
-
PBRClearCoatConfiguration.PrepareUniformBuffer(ubo);
|
|
1577
|
-
PBRAnisotropicConfiguration.PrepareUniformBuffer(ubo);
|
|
1578
|
-
PBRSheenConfiguration.PrepareUniformBuffer(ubo);
|
|
1579
|
-
PBRSubSurfaceConfiguration.PrepareUniformBuffer(ubo);
|
|
1580
|
-
DetailMapConfiguration.PrepareUniformBuffer(ubo);
|
|
1581
1508
|
ubo.addUniform("vSphericalL00", 3);
|
|
1582
1509
|
ubo.addUniform("vSphericalL1_1", 3);
|
|
1583
1510
|
ubo.addUniform("vSphericalL10", 3);
|
|
@@ -1596,26 +1523,7 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1596
1523
|
ubo.addUniform("vSphericalXY", 3);
|
|
1597
1524
|
ubo.addUniform("vSphericalYZ", 3);
|
|
1598
1525
|
ubo.addUniform("vSphericalZX", 3);
|
|
1599
|
-
|
|
1600
|
-
};
|
|
1601
|
-
/**
|
|
1602
|
-
* Unbinds the material from the mesh
|
|
1603
|
-
*/
|
|
1604
|
-
PBRBaseMaterial.prototype.unbind = function () {
|
|
1605
|
-
if (this._activeEffect && !this.getScene().getEngine()._features.needToAlwaysBindUniformBuffers) {
|
|
1606
|
-
var needFlag = false;
|
|
1607
|
-
if (this._reflectionTexture && this._reflectionTexture.isRenderTarget) {
|
|
1608
|
-
this._activeEffect.setTexture("reflection2DSampler", null);
|
|
1609
|
-
needFlag = true;
|
|
1610
|
-
}
|
|
1611
|
-
if (this.subSurface.unbind(this._activeEffect)) {
|
|
1612
|
-
needFlag = true;
|
|
1613
|
-
}
|
|
1614
|
-
if (needFlag) {
|
|
1615
|
-
this._markAllSubMeshesAsTexturesDirty();
|
|
1616
|
-
}
|
|
1617
|
-
}
|
|
1618
|
-
_super.prototype.unbind.call(this);
|
|
1526
|
+
_super.prototype.buildUniformLayout.call(this);
|
|
1619
1527
|
};
|
|
1620
1528
|
/**
|
|
1621
1529
|
* Binds the submesh data.
|
|
@@ -1624,6 +1532,7 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1624
1532
|
* @param subMesh - A submesh of the BJS mesh.
|
|
1625
1533
|
*/
|
|
1626
1534
|
PBRBaseMaterial.prototype.bindForSubMesh = function (world, mesh, subMesh) {
|
|
1535
|
+
var _a, _b, _c, _d;
|
|
1627
1536
|
var scene = this.getScene();
|
|
1628
1537
|
var defines = subMesh.materialDefines;
|
|
1629
1538
|
if (!defines) {
|
|
@@ -1637,8 +1546,12 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1637
1546
|
// Matrices Mesh.
|
|
1638
1547
|
mesh.getMeshUniformBuffer().bindToEffect(effect, "Mesh");
|
|
1639
1548
|
mesh.transferToEffect(world);
|
|
1640
|
-
|
|
1549
|
+
var engine = scene.getEngine();
|
|
1550
|
+
// Binding unconditionally
|
|
1551
|
+
this._uniformBuffer.bindToEffect(effect, "Material");
|
|
1641
1552
|
this.prePassConfiguration.bindForSubMesh(this._activeEffect, scene, mesh, world, this.isFrozen);
|
|
1553
|
+
this._eventInfo.subMesh = subMesh;
|
|
1554
|
+
this._callbackPluginEventHardBindForSubMesh(this._eventInfo);
|
|
1642
1555
|
// Normal Matrix
|
|
1643
1556
|
if (defines.OBJECTSPACE_NORMALMAP) {
|
|
1644
1557
|
world.toNormalMatrix(this._normalMatrix);
|
|
@@ -1650,8 +1563,6 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1650
1563
|
var reflectionTexture = null;
|
|
1651
1564
|
var ubo = this._uniformBuffer;
|
|
1652
1565
|
if (mustRebind) {
|
|
1653
|
-
var engine = scene.getEngine();
|
|
1654
|
-
ubo.bindToEffect(effect, "Material");
|
|
1655
1566
|
this.bindViewProjection(effect);
|
|
1656
1567
|
reflectionTexture = this._getReflectionTexture();
|
|
1657
1568
|
if (!ubo.useUbo || !this.isFrozen || !ubo.isSync) {
|
|
@@ -1761,7 +1672,7 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1761
1672
|
TmpColors.Color3[0].r = (this._metallic === undefined || this._metallic === null) ? 1 : this._metallic;
|
|
1762
1673
|
TmpColors.Color3[0].g = (this._roughness === undefined || this._roughness === null) ? 1 : this._roughness;
|
|
1763
1674
|
ubo.updateColor4("vReflectivityColor", TmpColors.Color3[0], 1);
|
|
1764
|
-
var ior = this.subSurface.
|
|
1675
|
+
var ior = (_b = (_a = this.subSurface) === null || _a === void 0 ? void 0 : _a._indexOfRefraction) !== null && _b !== void 0 ? _b : 1.5;
|
|
1765
1676
|
var outside_ior = 1; // consider air as clear coat and other layers would remap in the shader.
|
|
1766
1677
|
// We are here deriving our default reflectance from a common value for none metallic surface.
|
|
1767
1678
|
// Based of the schlick fresnel approximation model
|
|
@@ -1777,7 +1688,7 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1777
1688
|
}
|
|
1778
1689
|
ubo.updateColor3("vEmissiveColor", MaterialFlags.EmissiveTextureEnabled ? this._emissiveColor : Color3.BlackReadOnly);
|
|
1779
1690
|
ubo.updateColor3("vReflectionColor", this._reflectionColor);
|
|
1780
|
-
if (!defines.SS_REFRACTION && this.subSurface.
|
|
1691
|
+
if (!defines.SS_REFRACTION && ((_c = this.subSurface) === null || _c === void 0 ? void 0 : _c._linkRefractionWithTransparency)) {
|
|
1781
1692
|
ubo.updateColor4("vAlbedoColor", this._albedoColor, 1);
|
|
1782
1693
|
}
|
|
1783
1694
|
else {
|
|
@@ -1852,17 +1763,13 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1852
1763
|
if (this.getScene().useOrderIndependentTransparency && this.needAlphaBlendingForMesh(mesh)) {
|
|
1853
1764
|
this.getScene().depthPeelingRenderer.bind(effect);
|
|
1854
1765
|
}
|
|
1855
|
-
this.
|
|
1856
|
-
this.
|
|
1857
|
-
this.clearCoat.bindForSubMesh(ubo, scene, engine, this._disableBumpMap, this.isFrozen, this._invertNormalMapX, this._invertNormalMapY, subMesh);
|
|
1858
|
-
this.anisotropy.bindForSubMesh(ubo, scene, this.isFrozen);
|
|
1859
|
-
this.sheen.bindForSubMesh(ubo, scene, this.isFrozen, subMesh);
|
|
1766
|
+
this._eventInfo.subMesh = subMesh;
|
|
1767
|
+
this._callbackPluginEventBindForSubMesh(this._eventInfo);
|
|
1860
1768
|
// Clip plane
|
|
1861
1769
|
MaterialHelper.BindClipPlane(this._activeEffect, scene);
|
|
1862
1770
|
this.bindEyePosition(effect);
|
|
1863
1771
|
}
|
|
1864
1772
|
else if (scene.getEngine()._features.needToAlwaysBindUniformBuffers) {
|
|
1865
|
-
ubo.bindToEffect(effect, "Material");
|
|
1866
1773
|
this._needToBindSceneUbo = true;
|
|
1867
1774
|
}
|
|
1868
1775
|
if (mustRebind || !this.isFrozen) {
|
|
@@ -1880,6 +1787,9 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1880
1787
|
if (defines.NUM_MORPH_INFLUENCERS) {
|
|
1881
1788
|
MaterialHelper.BindMorphTargetParameters(mesh, this._activeEffect);
|
|
1882
1789
|
}
|
|
1790
|
+
if (defines.BAKED_VERTEX_ANIMATION_TEXTURE) {
|
|
1791
|
+
(_d = mesh.bakedVertexAnimationManager) === null || _d === void 0 ? void 0 : _d.bind(effect, defines.INSTANCES);
|
|
1792
|
+
}
|
|
1883
1793
|
// image processing
|
|
1884
1794
|
this._imageProcessingConfiguration.bind(this._activeEffect);
|
|
1885
1795
|
// Log. depth
|
|
@@ -1893,7 +1803,7 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1893
1803
|
* @returns - Array of animatable textures.
|
|
1894
1804
|
*/
|
|
1895
1805
|
PBRBaseMaterial.prototype.getAnimatables = function () {
|
|
1896
|
-
var results =
|
|
1806
|
+
var results = _super.prototype.getAnimatables.call(this);
|
|
1897
1807
|
if (this._albedoTexture && this._albedoTexture.animations && this._albedoTexture.animations.length > 0) {
|
|
1898
1808
|
results.push(this._albedoTexture);
|
|
1899
1809
|
}
|
|
@@ -1921,11 +1831,6 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1921
1831
|
if (this._lightmapTexture && this._lightmapTexture.animations && this._lightmapTexture.animations.length > 0) {
|
|
1922
1832
|
results.push(this._lightmapTexture);
|
|
1923
1833
|
}
|
|
1924
|
-
this.detailMap.getAnimatables(results);
|
|
1925
|
-
this.subSurface.getAnimatables(results);
|
|
1926
|
-
this.clearCoat.getAnimatables(results);
|
|
1927
|
-
this.sheen.getAnimatables(results);
|
|
1928
|
-
this.anisotropy.getAnimatables(results);
|
|
1929
1834
|
return results;
|
|
1930
1835
|
};
|
|
1931
1836
|
/**
|
|
@@ -1980,11 +1885,6 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1980
1885
|
if (this._lightmapTexture) {
|
|
1981
1886
|
activeTextures.push(this._lightmapTexture);
|
|
1982
1887
|
}
|
|
1983
|
-
this.detailMap.getActiveTextures(activeTextures);
|
|
1984
|
-
this.subSurface.getActiveTextures(activeTextures);
|
|
1985
|
-
this.clearCoat.getActiveTextures(activeTextures);
|
|
1986
|
-
this.sheen.getActiveTextures(activeTextures);
|
|
1987
|
-
this.anisotropy.getActiveTextures(activeTextures);
|
|
1988
1888
|
return activeTextures;
|
|
1989
1889
|
};
|
|
1990
1890
|
/**
|
|
@@ -2029,18 +1929,15 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
2029
1929
|
if (this._lightmapTexture === texture) {
|
|
2030
1930
|
return true;
|
|
2031
1931
|
}
|
|
2032
|
-
return
|
|
2033
|
-
this.subSurface.hasTexture(texture) ||
|
|
2034
|
-
this.clearCoat.hasTexture(texture) ||
|
|
2035
|
-
this.sheen.hasTexture(texture) ||
|
|
2036
|
-
this.anisotropy.hasTexture(texture);
|
|
1932
|
+
return false;
|
|
2037
1933
|
};
|
|
2038
1934
|
/**
|
|
2039
1935
|
* Sets the required values to the prepass renderer.
|
|
2040
1936
|
* @param prePassRenderer defines the prepass renderer to setup
|
|
2041
1937
|
*/
|
|
2042
1938
|
PBRBaseMaterial.prototype.setPrePassRenderer = function (prePassRenderer) {
|
|
2043
|
-
|
|
1939
|
+
var _a;
|
|
1940
|
+
if ((_a = this.subSurface) === null || _a === void 0 ? void 0 : _a.isScatteringEnabled) {
|
|
2044
1941
|
var subSurfaceConfiguration = this.getScene().enableSubSurfaceForPrePass();
|
|
2045
1942
|
if (subSurfaceConfiguration) {
|
|
2046
1943
|
subSurfaceConfiguration.enabled = true;
|
|
@@ -2073,11 +1970,6 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
2073
1970
|
(_l = this._reflectanceTexture) === null || _l === void 0 ? void 0 : _l.dispose();
|
|
2074
1971
|
(_m = this._microSurfaceTexture) === null || _m === void 0 ? void 0 : _m.dispose();
|
|
2075
1972
|
}
|
|
2076
|
-
this.detailMap.dispose(forceDisposeTextures);
|
|
2077
|
-
this.subSurface.dispose(forceDisposeTextures);
|
|
2078
|
-
this.clearCoat.dispose(forceDisposeTextures);
|
|
2079
|
-
this.sheen.dispose(forceDisposeTextures);
|
|
2080
|
-
this.anisotropy.dispose(forceDisposeTextures);
|
|
2081
1973
|
this._renderTargets.dispose();
|
|
2082
1974
|
if (this._imageProcessingConfiguration && this._imageProcessingObserver) {
|
|
2083
1975
|
this._imageProcessingConfiguration.onUpdateParameters.remove(this._imageProcessingObserver);
|