@babylonjs/core 5.0.0-alpha.61 → 5.0.0-alpha.65
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.js +42 -2
- 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/Audio/sound.js +15 -1
- package/Audio/sound.js.map +1 -1
- 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/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/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 +2 -2
- package/Cameras/camera.js.map +1 -1
- package/DeviceInput/Implementations/{nativeDeviceInputWrapper.d.ts → nativeDeviceInputSystem.d.ts} +5 -21
- package/DeviceInput/Implementations/{nativeDeviceInputWrapper.js → nativeDeviceInputSystem.js} +19 -20
- package/DeviceInput/Implementations/nativeDeviceInputSystem.js.map +1 -0
- package/DeviceInput/Implementations/webDeviceInputSystem.d.ts +7 -20
- package/DeviceInput/Implementations/webDeviceInputSystem.js +79 -71
- 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 +62 -10
- 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.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 +19 -9
- package/Engines/WebGPU/Extensions/engine.multiRender.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.renderTarget.js +9 -6
- 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/webgpuCacheBindGroups.js +3 -3
- package/Engines/WebGPU/webgpuCacheBindGroups.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipeline.d.ts +4 -1
- package/Engines/WebGPU/webgpuCacheRenderPipeline.js +37 -83
- 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.d.ts +1 -1
- package/Engines/WebGPU/webgpuClearQuad.js +29 -11
- 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 +24 -4
- package/Engines/WebGPU/webgpuHardwareTexture.js +12 -2
- package/Engines/WebGPU/webgpuHardwareTexture.js.map +1 -1
- package/Engines/WebGPU/webgpuRenderTargetWrapper.d.ts +6 -0
- package/Engines/WebGPU/webgpuRenderTargetWrapper.js +12 -0
- package/Engines/WebGPU/webgpuRenderTargetWrapper.js.map +1 -0
- 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 +1 -2
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +11 -30
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
- package/Engines/WebGPU/webgpuTextureHelper.d.ts +9 -2
- package/Engines/WebGPU/webgpuTextureHelper.js +291 -66
- package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
- package/Engines/engine.d.ts +145 -45
- package/Engines/engine.js +5 -1
- package/Engines/engine.js.map +1 -1
- package/Engines/nativeEngine.d.ts +11 -0
- package/Engines/nativeEngine.js +78 -18
- package/Engines/nativeEngine.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.js +2 -2
- package/Engines/thinEngine.js.map +1 -1
- package/Engines/webgpuEngine.d.ts +5 -13
- package/Engines/webgpuEngine.js +37 -75
- package/Engines/webgpuEngine.js.map +1 -1
- package/Gizmos/positionGizmo.js +1 -1
- package/Gizmos/positionGizmo.js.map +1 -1
- package/Inputs/scene.inputManager.js +6 -1
- package/Inputs/scene.inputManager.js.map +1 -1
- package/Layers/effectLayer.d.ts +4 -0
- package/Layers/effectLayer.js +10 -0
- 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.js +2 -0
- package/Layers/highlightLayer.js.map +1 -1
- package/Lights/Shadows/shadowGenerator.js +1 -1
- package/Lights/Shadows/shadowGenerator.js.map +1 -1
- package/Lights/light.js +4 -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 +10 -7
- package/Loading/Plugins/babylonFileLoader.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/index.d.ts +1 -0
- package/Materials/Node/Blocks/Fragment/index.js +1 -0
- package/Materials/Node/Blocks/Fragment/index.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/screenSpaceBlock.js +1 -3
- package/Materials/Node/Blocks/Fragment/screenSpaceBlock.js.map +1 -1
- 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/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 +1 -0
- package/Materials/Node/Blocks/index.js +1 -0
- package/Materials/Node/Blocks/index.js.map +1 -1
- package/Materials/Node/nodeMaterial.js +8 -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/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 +15 -74
- package/Materials/PBR/pbrBaseMaterial.js +67 -182
- 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 +28 -114
- package/Materials/PBR/pbrSubSurfaceConfiguration.js +150 -211
- 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/multiRenderTarget.js +3 -0
- package/Materials/Textures/multiRenderTarget.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/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/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/shaderMaterial.d.ts +1 -1
- package/Materials/shaderMaterial.js +13 -1
- package/Materials/shaderMaterial.js.map +1 -1
- package/Materials/standardMaterial.d.ts +13 -10
- package/Materials/standardMaterial.js +45 -51
- package/Materials/standardMaterial.js.map +1 -1
- package/Materials/uniformBuffer.d.ts +7 -0
- package/Materials/uniformBuffer.js +22 -0
- package/Materials/uniformBuffer.js.map +1 -1
- package/Maths/math.vector.d.ts +12 -8
- package/Maths/math.vector.js +22 -14
- package/Maths/math.vector.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/abstractMesh.d.ts +1 -1
- package/Meshes/abstractMesh.js +24 -23
- package/Meshes/abstractMesh.js.map +1 -1
- package/Meshes/geometry.js +2 -2
- package/Meshes/geometry.js.map +1 -1
- package/Meshes/linesMesh.d.ts +1 -1
- package/Meshes/linesMesh.js +3 -2
- package/Meshes/linesMesh.js.map +1 -1
- package/Meshes/mesh.d.ts +12 -0
- package/Meshes/mesh.js +184 -115
- 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/transformNode.js +20 -13
- 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.js +1 -0
- 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 -0
- package/Misc/sceneSerializer.js.map +1 -1
- package/Particles/particleSystem.js +3 -0
- package/Particles/particleSystem.js.map +1 -1
- package/Particles/subEmitter.js +1 -0
- package/Particles/subEmitter.js.map +1 -1
- package/PostProcesses/screenSpaceReflectionPostProcess.d.ts +1 -0
- package/PostProcesses/screenSpaceReflectionPostProcess.js +4 -0
- package/PostProcesses/screenSpaceReflectionPostProcess.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.js +1 -1
- package/Rendering/depthRenderer.js.map +1 -1
- package/Rendering/outlineRenderer.js +24 -1
- package/Rendering/outlineRenderer.js.map +1 -1
- package/Rendering/prePassRenderer.js +7 -7
- package/Rendering/prePassRenderer.js.map +1 -1
- package/Rendering/renderingGroup.js +5 -1
- package/Rendering/renderingGroup.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/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.js +1 -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.js +1 -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/depth.fragment.js +1 -1
- package/Shaders/depth.fragment.js.map +1 -1
- package/Shaders/depth.vertex.js +1 -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.js +1 -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.js +1 -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.d.ts +2 -0
- package/Shaders/outline.fragment.js +3 -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/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/screenSpaceReflection.fragment.js +1 -1
- package/Shaders/screenSpaceReflection.fragment.js.map +1 -1
- package/Shaders/shadowMap.fragment.js +1 -1
- package/Shaders/shadowMap.fragment.js.map +1 -1
- package/Shaders/shadowMap.vertex.js +1 -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.js +1 -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/meshUboDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/meshUboDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js.map +1 -1
- package/ShadersWGSL/gpuUpdateParticles.compute.js +1 -1
- package/ShadersWGSL/gpuUpdateParticles.compute.js.map +1 -1
- 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/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/index.d.ts +1 -0
- package/XR/index.js +1 -0
- package/XR/index.js.map +1 -1
- package/XR/native/index.d.ts +2 -0
- package/XR/native/index.js +3 -0
- package/XR/native/index.js.map +1 -0
- package/XR/native/nativeXRFrame.d.ts +27 -0
- package/XR/native/nativeXRFrame.js +81 -0
- package/XR/native/nativeXRFrame.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/assetContainer.js +3 -0
- package/assetContainer.js.map +1 -1
- package/package.json +51 -6
- package/scene.d.ts +4 -0
- package/scene.js +4 -0
- package/scene.js.map +1 -1
- package/DeviceInput/Implementations/nativeDeviceInputWrapper.js.map +0 -1
|
@@ -4,11 +4,7 @@ import { Matrix } from "../../Maths/math.vector";
|
|
|
4
4
|
import { SubMesh } from "../../Meshes/subMesh";
|
|
5
5
|
import { AbstractMesh } from "../../Meshes/abstractMesh";
|
|
6
6
|
import { Mesh } from "../../Meshes/mesh";
|
|
7
|
-
import {
|
|
8
|
-
import { IMaterialAnisotropicDefines, PBRAnisotropicConfiguration } from "./pbrAnisotropicConfiguration";
|
|
9
|
-
import { IMaterialBRDFDefines, PBRBRDFConfiguration } from "./pbrBRDFConfiguration";
|
|
10
|
-
import { IMaterialSheenDefines, PBRSheenConfiguration } from "./pbrSheenConfiguration";
|
|
11
|
-
import { IMaterialSubSurfaceDefines, PBRSubSurfaceConfiguration } from "./pbrSubSurfaceConfiguration";
|
|
7
|
+
import { PBRBRDFConfiguration } from "./pbrBRDFConfiguration";
|
|
12
8
|
import { PrePassConfiguration } from "../prePassConfiguration";
|
|
13
9
|
import { Color3 } from '../../Maths/math.color';
|
|
14
10
|
import { ImageProcessingConfiguration, IImageProcessingConfigurationDefines } from "../../Materials/imageProcessingConfiguration";
|
|
@@ -20,13 +16,17 @@ import { IAnimatable } from '../../Animations/animatable.interface';
|
|
|
20
16
|
import "../../Materials/Textures/baseTexture.polynomial";
|
|
21
17
|
import "../../Shaders/pbr.fragment";
|
|
22
18
|
import "../../Shaders/pbr.vertex";
|
|
23
|
-
import {
|
|
19
|
+
import { PBRClearCoatConfiguration } from "./pbrClearCoatConfiguration";
|
|
20
|
+
import { PBRAnisotropicConfiguration } from "./pbrAnisotropicConfiguration";
|
|
21
|
+
import { PBRSheenConfiguration } from "./pbrSheenConfiguration";
|
|
22
|
+
import { PBRSubSurfaceConfiguration } from "./pbrSubSurfaceConfiguration";
|
|
23
|
+
import { DetailMapConfiguration } from "../material.detailMapConfiguration";
|
|
24
24
|
declare type PrePassRenderer = import("../../Rendering/prePassRenderer").PrePassRenderer;
|
|
25
25
|
/**
|
|
26
26
|
* Manages the defines for the PBR Material.
|
|
27
27
|
* @hidden
|
|
28
28
|
*/
|
|
29
|
-
export declare class PBRMaterialDefines extends MaterialDefines implements IImageProcessingConfigurationDefines
|
|
29
|
+
export declare class PBRMaterialDefines extends MaterialDefines implements IImageProcessingConfigurationDefines {
|
|
30
30
|
PBR: boolean;
|
|
31
31
|
NUM_SAMPLES: string;
|
|
32
32
|
REALTIME_FILTERING: boolean;
|
|
@@ -46,9 +46,6 @@ export declare class PBRMaterialDefines extends MaterialDefines implements IImag
|
|
|
46
46
|
GAMMAALBEDO: boolean;
|
|
47
47
|
ALBEDODIRECTUV: number;
|
|
48
48
|
VERTEXCOLOR: boolean;
|
|
49
|
-
DETAIL: boolean;
|
|
50
|
-
DETAILDIRECTUV: number;
|
|
51
|
-
DETAIL_NORMALBLENDMETHOD: number;
|
|
52
49
|
BAKED_VERTEX_ANIMATION_TEXTURE: boolean;
|
|
53
50
|
AMBIENT: boolean;
|
|
54
51
|
AMBIENTDIRECTUV: number;
|
|
@@ -121,7 +118,6 @@ export declare class PBRMaterialDefines extends MaterialDefines implements IImag
|
|
|
121
118
|
INVERTCUBICMAP: boolean;
|
|
122
119
|
USESPHERICALFROMREFLECTIONMAP: boolean;
|
|
123
120
|
USEIRRADIANCEMAP: boolean;
|
|
124
|
-
SPHERICAL_HARMONICS: boolean;
|
|
125
121
|
USESPHERICALINVERTEX: boolean;
|
|
126
122
|
REFLECTIONMAP_OPPOSITEZ: boolean;
|
|
127
123
|
LODINREFLECTIONALPHA: boolean;
|
|
@@ -192,70 +188,18 @@ export declare class PBRMaterialDefines extends MaterialDefines implements IImag
|
|
|
192
188
|
LOGARITHMICDEPTH: boolean;
|
|
193
189
|
FORCENORMALFORWARD: boolean;
|
|
194
190
|
SPECULARAA: boolean;
|
|
195
|
-
CLEARCOAT: boolean;
|
|
196
|
-
CLEARCOAT_DEFAULTIOR: boolean;
|
|
197
|
-
CLEARCOAT_TEXTURE: boolean;
|
|
198
|
-
CLEARCOAT_TEXTURE_ROUGHNESS: boolean;
|
|
199
|
-
CLEARCOAT_TEXTUREDIRECTUV: number;
|
|
200
|
-
CLEARCOAT_TEXTURE_ROUGHNESSDIRECTUV: number;
|
|
201
|
-
CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE: boolean;
|
|
202
|
-
CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL: boolean;
|
|
203
|
-
CLEARCOAT_BUMP: boolean;
|
|
204
|
-
CLEARCOAT_BUMPDIRECTUV: number;
|
|
205
|
-
CLEARCOAT_REMAP_F0: boolean;
|
|
206
|
-
CLEARCOAT_TINT: boolean;
|
|
207
|
-
CLEARCOAT_TINT_TEXTURE: boolean;
|
|
208
|
-
CLEARCOAT_TINT_GAMMATEXTURE: boolean;
|
|
209
|
-
CLEARCOAT_TINT_TEXTUREDIRECTUV: number;
|
|
210
|
-
ANISOTROPIC: boolean;
|
|
211
|
-
ANISOTROPIC_TEXTURE: boolean;
|
|
212
|
-
ANISOTROPIC_TEXTUREDIRECTUV: number;
|
|
213
|
-
BRDF_V_HEIGHT_CORRELATED: boolean;
|
|
214
|
-
MS_BRDF_ENERGY_CONSERVATION: boolean;
|
|
215
|
-
SPECULAR_GLOSSINESS_ENERGY_CONSERVATION: boolean;
|
|
216
|
-
SHEEN: boolean;
|
|
217
|
-
SHEEN_TEXTURE: boolean;
|
|
218
|
-
SHEEN_GAMMATEXTURE: boolean;
|
|
219
|
-
SHEEN_TEXTURE_ROUGHNESS: boolean;
|
|
220
|
-
SHEEN_TEXTUREDIRECTUV: number;
|
|
221
|
-
SHEEN_TEXTURE_ROUGHNESSDIRECTUV: number;
|
|
222
|
-
SHEEN_LINKWITHALBEDO: boolean;
|
|
223
|
-
SHEEN_ROUGHNESS: boolean;
|
|
224
|
-
SHEEN_ALBEDOSCALING: boolean;
|
|
225
|
-
SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE: boolean;
|
|
226
|
-
SHEEN_TEXTURE_ROUGHNESS_IDENTICAL: boolean;
|
|
227
|
-
SUBSURFACE: boolean;
|
|
228
|
-
SS_REFRACTION: boolean;
|
|
229
|
-
SS_REFRACTION_USE_INTENSITY_FROM_TEXTURE: boolean;
|
|
230
|
-
SS_TRANSLUCENCY: boolean;
|
|
231
|
-
SS_TRANSLUCENCY_USE_INTENSITY_FROM_TEXTURE: boolean;
|
|
232
|
-
SS_SCATTERING: boolean;
|
|
233
|
-
SS_THICKNESSANDMASK_TEXTURE: boolean;
|
|
234
|
-
SS_THICKNESSANDMASK_TEXTUREDIRECTUV: number;
|
|
235
|
-
SS_HAS_THICKNESS: boolean;
|
|
236
|
-
SS_REFRACTIONINTENSITY_TEXTURE: boolean;
|
|
237
|
-
SS_REFRACTIONINTENSITY_TEXTUREDIRECTUV: number;
|
|
238
|
-
SS_TRANSLUCENCYINTENSITY_TEXTURE: boolean;
|
|
239
|
-
SS_TRANSLUCENCYINTENSITY_TEXTUREDIRECTUV: number;
|
|
240
|
-
SS_REFRACTIONMAP_3D: boolean;
|
|
241
|
-
SS_REFRACTIONMAP_OPPOSITEZ: boolean;
|
|
242
|
-
SS_LODINREFRACTIONALPHA: boolean;
|
|
243
|
-
SS_GAMMAREFRACTION: boolean;
|
|
244
|
-
SS_RGBDREFRACTION: boolean;
|
|
245
|
-
SS_LINEARSPECULARREFRACTION: boolean;
|
|
246
|
-
SS_LINKREFRACTIONTOTRANSPARENCY: boolean;
|
|
247
|
-
SS_ALBEDOFORREFRACTIONTINT: boolean;
|
|
248
|
-
SS_ALBEDOFORTRANSLUCENCYTINT: boolean;
|
|
249
|
-
SS_USE_LOCAL_REFRACTIONMAP_CUBIC: boolean;
|
|
250
|
-
SS_USE_THICKNESS_AS_DEPTH: boolean;
|
|
251
|
-
SS_MASK_FROM_THICKNESS_TEXTURE: boolean;
|
|
252
|
-
SS_USE_GLTF_TEXTURES: boolean;
|
|
253
191
|
UNLIT: boolean;
|
|
254
192
|
DEBUGMODE: number;
|
|
255
193
|
/**
|
|
256
194
|
* Initializes the PBR Material defines.
|
|
195
|
+
* @param externalProperties The external properties
|
|
257
196
|
*/
|
|
258
|
-
constructor(
|
|
197
|
+
constructor(externalProperties?: {
|
|
198
|
+
[name: string]: {
|
|
199
|
+
type: string;
|
|
200
|
+
default: any;
|
|
201
|
+
};
|
|
202
|
+
});
|
|
259
203
|
/**
|
|
260
204
|
* Resets the PBR Material defines.
|
|
261
205
|
*/
|
|
@@ -749,6 +693,7 @@ export declare abstract class PBRBaseMaterial extends PushMaterial {
|
|
|
749
693
|
* Defines the detail map parameters for the material.
|
|
750
694
|
*/
|
|
751
695
|
readonly detailMap: DetailMapConfiguration;
|
|
696
|
+
protected _cacheHasRenderTargetTextures: boolean;
|
|
752
697
|
/**
|
|
753
698
|
* Instantiates a new PBRMaterial instance.
|
|
754
699
|
*
|
|
@@ -823,10 +768,6 @@ export declare abstract class PBRBaseMaterial extends PushMaterial {
|
|
|
823
768
|
* Initializes the uniform buffer layout for the shader.
|
|
824
769
|
*/
|
|
825
770
|
buildUniformLayout(): void;
|
|
826
|
-
/**
|
|
827
|
-
* Unbinds the material from the mesh
|
|
828
|
-
*/
|
|
829
|
-
unbind(): void;
|
|
830
771
|
/**
|
|
831
772
|
* Binds the submesh data.
|
|
832
773
|
* @param world - The world matrix.
|
|
@@ -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,6 @@ var PBRMaterialDefines = /** @class */ (function (_super) {
|
|
|
57
59
|
_this.GAMMAALBEDO = false;
|
|
58
60
|
_this.ALBEDODIRECTUV = 0;
|
|
59
61
|
_this.VERTEXCOLOR = false;
|
|
60
|
-
_this.DETAIL = false;
|
|
61
|
-
_this.DETAILDIRECTUV = 0;
|
|
62
|
-
_this.DETAIL_NORMALBLENDMETHOD = 0;
|
|
63
62
|
_this.BAKED_VERTEX_ANIMATION_TEXTURE = false;
|
|
64
63
|
_this.AMBIENT = false;
|
|
65
64
|
_this.AMBIENTDIRECTUV = 0;
|
|
@@ -132,7 +131,6 @@ var PBRMaterialDefines = /** @class */ (function (_super) {
|
|
|
132
131
|
_this.INVERTCUBICMAP = false;
|
|
133
132
|
_this.USESPHERICALFROMREFLECTIONMAP = false;
|
|
134
133
|
_this.USEIRRADIANCEMAP = false;
|
|
135
|
-
_this.SPHERICAL_HARMONICS = false;
|
|
136
134
|
_this.USESPHERICALINVERTEX = false;
|
|
137
135
|
_this.REFLECTIONMAP_OPPOSITEZ = false;
|
|
138
136
|
_this.LODINREFLECTIONALPHA = false;
|
|
@@ -203,64 +201,6 @@ var PBRMaterialDefines = /** @class */ (function (_super) {
|
|
|
203
201
|
_this.LOGARITHMICDEPTH = false;
|
|
204
202
|
_this.FORCENORMALFORWARD = false;
|
|
205
203
|
_this.SPECULARAA = false;
|
|
206
|
-
_this.CLEARCOAT = false;
|
|
207
|
-
_this.CLEARCOAT_DEFAULTIOR = false;
|
|
208
|
-
_this.CLEARCOAT_TEXTURE = false;
|
|
209
|
-
_this.CLEARCOAT_TEXTURE_ROUGHNESS = false;
|
|
210
|
-
_this.CLEARCOAT_TEXTUREDIRECTUV = 0;
|
|
211
|
-
_this.CLEARCOAT_TEXTURE_ROUGHNESSDIRECTUV = 0;
|
|
212
|
-
_this.CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE = false;
|
|
213
|
-
_this.CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL = false;
|
|
214
|
-
_this.CLEARCOAT_BUMP = false;
|
|
215
|
-
_this.CLEARCOAT_BUMPDIRECTUV = 0;
|
|
216
|
-
_this.CLEARCOAT_REMAP_F0 = true;
|
|
217
|
-
_this.CLEARCOAT_TINT = false;
|
|
218
|
-
_this.CLEARCOAT_TINT_TEXTURE = false;
|
|
219
|
-
_this.CLEARCOAT_TINT_GAMMATEXTURE = false;
|
|
220
|
-
_this.CLEARCOAT_TINT_TEXTUREDIRECTUV = 0;
|
|
221
|
-
_this.ANISOTROPIC = false;
|
|
222
|
-
_this.ANISOTROPIC_TEXTURE = false;
|
|
223
|
-
_this.ANISOTROPIC_TEXTUREDIRECTUV = 0;
|
|
224
|
-
_this.BRDF_V_HEIGHT_CORRELATED = false;
|
|
225
|
-
_this.MS_BRDF_ENERGY_CONSERVATION = false;
|
|
226
|
-
_this.SPECULAR_GLOSSINESS_ENERGY_CONSERVATION = false;
|
|
227
|
-
_this.SHEEN = false;
|
|
228
|
-
_this.SHEEN_TEXTURE = false;
|
|
229
|
-
_this.SHEEN_GAMMATEXTURE = false;
|
|
230
|
-
_this.SHEEN_TEXTURE_ROUGHNESS = false;
|
|
231
|
-
_this.SHEEN_TEXTUREDIRECTUV = 0;
|
|
232
|
-
_this.SHEEN_TEXTURE_ROUGHNESSDIRECTUV = 0;
|
|
233
|
-
_this.SHEEN_LINKWITHALBEDO = false;
|
|
234
|
-
_this.SHEEN_ROUGHNESS = false;
|
|
235
|
-
_this.SHEEN_ALBEDOSCALING = false;
|
|
236
|
-
_this.SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE = false;
|
|
237
|
-
_this.SHEEN_TEXTURE_ROUGHNESS_IDENTICAL = false;
|
|
238
|
-
_this.SUBSURFACE = false;
|
|
239
|
-
_this.SS_REFRACTION = false;
|
|
240
|
-
_this.SS_REFRACTION_USE_INTENSITY_FROM_TEXTURE = false;
|
|
241
|
-
_this.SS_TRANSLUCENCY = false;
|
|
242
|
-
_this.SS_TRANSLUCENCY_USE_INTENSITY_FROM_TEXTURE = false;
|
|
243
|
-
_this.SS_SCATTERING = false;
|
|
244
|
-
_this.SS_THICKNESSANDMASK_TEXTURE = false;
|
|
245
|
-
_this.SS_THICKNESSANDMASK_TEXTUREDIRECTUV = 0;
|
|
246
|
-
_this.SS_HAS_THICKNESS = false;
|
|
247
|
-
_this.SS_REFRACTIONINTENSITY_TEXTURE = false;
|
|
248
|
-
_this.SS_REFRACTIONINTENSITY_TEXTUREDIRECTUV = 0;
|
|
249
|
-
_this.SS_TRANSLUCENCYINTENSITY_TEXTURE = false;
|
|
250
|
-
_this.SS_TRANSLUCENCYINTENSITY_TEXTUREDIRECTUV = 0;
|
|
251
|
-
_this.SS_REFRACTIONMAP_3D = false;
|
|
252
|
-
_this.SS_REFRACTIONMAP_OPPOSITEZ = false;
|
|
253
|
-
_this.SS_LODINREFRACTIONALPHA = false;
|
|
254
|
-
_this.SS_GAMMAREFRACTION = false;
|
|
255
|
-
_this.SS_RGBDREFRACTION = false;
|
|
256
|
-
_this.SS_LINEARSPECULARREFRACTION = false;
|
|
257
|
-
_this.SS_LINKREFRACTIONTOTRANSPARENCY = false;
|
|
258
|
-
_this.SS_ALBEDOFORREFRACTIONTINT = false;
|
|
259
|
-
_this.SS_ALBEDOFORTRANSLUCENCYTINT = false;
|
|
260
|
-
_this.SS_USE_LOCAL_REFRACTIONMAP_CUBIC = false;
|
|
261
|
-
_this.SS_USE_THICKNESS_AS_DEPTH = false;
|
|
262
|
-
_this.SS_MASK_FROM_THICKNESS_TEXTURE = false;
|
|
263
|
-
_this.SS_USE_GLTF_TEXTURES = false;
|
|
264
204
|
_this.UNLIT = false;
|
|
265
205
|
_this.DEBUGMODE = 0;
|
|
266
206
|
_this.rebuild();
|
|
@@ -688,27 +628,13 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
688
628
|
* You can use the factor to better multiply the final value.
|
|
689
629
|
*/
|
|
690
630
|
_this.debugFactor = 1;
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
_this.
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
_this.anisotropy = new PBRAnisotropicConfiguration(_this._markAllSubMeshesAsTexturesDirty.bind(_this));
|
|
699
|
-
/**
|
|
700
|
-
* Defines the BRDF parameters for the material.
|
|
701
|
-
*/
|
|
702
|
-
_this.brdf = new PBRBRDFConfiguration(_this._markAllSubMeshesAsMiscDirty.bind(_this));
|
|
703
|
-
/**
|
|
704
|
-
* Defines the Sheen parameters for the material.
|
|
705
|
-
*/
|
|
706
|
-
_this.sheen = new PBRSheenConfiguration(_this._markAllSubMeshesAsTexturesDirty.bind(_this));
|
|
707
|
-
/**
|
|
708
|
-
* Defines the detail map parameters for the material.
|
|
709
|
-
*/
|
|
710
|
-
_this.detailMap = new DetailMapConfiguration(_this._markAllSubMeshesAsTexturesDirty.bind(_this));
|
|
711
|
-
_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);
|
|
712
638
|
// Setup the default processing configuration to the scene.
|
|
713
639
|
_this._attachImageProcessingConfiguration(null);
|
|
714
640
|
_this.getRenderTargetTextures = function () {
|
|
@@ -716,11 +642,11 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
716
642
|
if (MaterialFlags.ReflectionTextureEnabled && _this._reflectionTexture && _this._reflectionTexture.isRenderTarget) {
|
|
717
643
|
_this._renderTargets.push(_this._reflectionTexture);
|
|
718
644
|
}
|
|
719
|
-
_this.
|
|
645
|
+
_this._eventInfo.renderTargets = _this._renderTargets;
|
|
646
|
+
_this._callbackPluginEventFillRenderTargetTextures(_this._eventInfo);
|
|
720
647
|
return _this._renderTargets;
|
|
721
648
|
};
|
|
722
649
|
_this._environmentBRDFTexture = GetEnvironmentBRDFTexture(scene);
|
|
723
|
-
_this.subSurface = new PBRSubSurfaceConfiguration(_this._markAllSubMeshesAsTexturesDirty.bind(_this), _this._markScenePrePassDirty.bind(_this), scene);
|
|
724
650
|
_this.prePassConfiguration = new PrePassConfiguration();
|
|
725
651
|
return _this;
|
|
726
652
|
}
|
|
@@ -797,7 +723,7 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
797
723
|
if (MaterialFlags.ReflectionTextureEnabled && this._reflectionTexture && this._reflectionTexture.isRenderTarget) {
|
|
798
724
|
return true;
|
|
799
725
|
}
|
|
800
|
-
return this.
|
|
726
|
+
return this._cacheHasRenderTargetTextures;
|
|
801
727
|
},
|
|
802
728
|
enumerable: false,
|
|
803
729
|
configurable: true
|
|
@@ -807,7 +733,7 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
807
733
|
* Can this material render to prepass
|
|
808
734
|
*/
|
|
809
735
|
get: function () {
|
|
810
|
-
return
|
|
736
|
+
return !this.disableDepthWrite;
|
|
811
737
|
},
|
|
812
738
|
enumerable: false,
|
|
813
739
|
configurable: true
|
|
@@ -839,9 +765,10 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
839
765
|
* Returns true if alpha blending should be disabled.
|
|
840
766
|
*/
|
|
841
767
|
get: function () {
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
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));
|
|
845
772
|
},
|
|
846
773
|
enumerable: false,
|
|
847
774
|
configurable: true
|
|
@@ -859,10 +786,11 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
859
786
|
* Specifies whether or not this material should be rendered in alpha test mode.
|
|
860
787
|
*/
|
|
861
788
|
PBRBaseMaterial.prototype.needAlphaTesting = function () {
|
|
789
|
+
var _a;
|
|
862
790
|
if (this._forceAlphaTest) {
|
|
863
791
|
return true;
|
|
864
792
|
}
|
|
865
|
-
if (this.subSurface.disableAlphaBlending) {
|
|
793
|
+
if ((_a = this.subSurface) === null || _a === void 0 ? void 0 : _a.disableAlphaBlending) {
|
|
866
794
|
return false;
|
|
867
795
|
}
|
|
868
796
|
return this._hasAlphaChannel() && (this._transparencyMode == null || this._transparencyMode === PBRBaseMaterial.PBRMATERIAL_ALPHATEST);
|
|
@@ -893,13 +821,17 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
893
821
|
* @returns - boolean indicating that the submesh is ready or not.
|
|
894
822
|
*/
|
|
895
823
|
PBRBaseMaterial.prototype.isReadyForSubMesh = function (mesh, subMesh, useInstances) {
|
|
824
|
+
if (!this._uniformBufferLayoutBuilt) {
|
|
825
|
+
this.buildUniformLayout();
|
|
826
|
+
}
|
|
896
827
|
if (subMesh.effect && this.isFrozen) {
|
|
897
828
|
if (subMesh.effect._wasPreviouslyReady) {
|
|
898
829
|
return true;
|
|
899
830
|
}
|
|
900
831
|
}
|
|
901
832
|
if (!subMesh.materialDefines) {
|
|
902
|
-
|
|
833
|
+
this._callbackPluginEventGeneric(MaterialPluginEvent.GetDefineNames, this._eventInfo);
|
|
834
|
+
subMesh.materialDefines = new PBRMaterialDefines(this._eventInfo.defineNames);
|
|
903
835
|
}
|
|
904
836
|
var defines = subMesh.materialDefines;
|
|
905
837
|
if (this._isReadyForSubMesh(subMesh)) {
|
|
@@ -908,6 +840,9 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
908
840
|
var scene = this.getScene();
|
|
909
841
|
var engine = scene.getEngine();
|
|
910
842
|
if (defines._areTexturesDirty) {
|
|
843
|
+
this._eventInfo.hasRenderTargetTextures = false;
|
|
844
|
+
this._callbackPluginEventHasRenderTargetTextures(this._eventInfo);
|
|
845
|
+
this._cacheHasRenderTargetTextures = this._eventInfo.hasRenderTargetTextures;
|
|
911
846
|
if (scene.texturesEnabled) {
|
|
912
847
|
if (this._albedoTexture && MaterialFlags.DiffuseTextureEnabled) {
|
|
913
848
|
if (!this._albedoTexture.isReadyOrNotBlocking()) {
|
|
@@ -984,11 +919,10 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
984
919
|
}
|
|
985
920
|
}
|
|
986
921
|
}
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
!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) {
|
|
992
926
|
return false;
|
|
993
927
|
}
|
|
994
928
|
if (defines._areImageProcessingDirty && this._imageProcessingConfiguration) {
|
|
@@ -1077,10 +1011,6 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1077
1011
|
if (defines.PARALLAXOCCLUSION) {
|
|
1078
1012
|
fallbacks.addFallback(fallbackRank++, "PARALLAXOCCLUSION");
|
|
1079
1013
|
}
|
|
1080
|
-
fallbackRank = PBRAnisotropicConfiguration.AddFallbacks(defines, fallbacks, fallbackRank);
|
|
1081
|
-
fallbackRank = PBRAnisotropicConfiguration.AddFallbacks(defines, fallbacks, fallbackRank);
|
|
1082
|
-
fallbackRank = PBRSubSurfaceConfiguration.AddFallbacks(defines, fallbacks, fallbackRank);
|
|
1083
|
-
fallbackRank = PBRSheenConfiguration.AddFallbacks(defines, fallbacks, fallbackRank);
|
|
1084
1014
|
if (defines.ENVIRONMENTBRDF) {
|
|
1085
1015
|
fallbacks.addFallback(fallbackRank++, "ENVIRONMENTBRDF");
|
|
1086
1016
|
}
|
|
@@ -1167,16 +1097,13 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1167
1097
|
"microSurfaceSampler", "environmentBrdfSampler", "boneSampler", "metallicReflectanceSampler", "reflectanceSampler", "morphTargets",
|
|
1168
1098
|
"oitDepthSampler", "oitFrontColorSampler"];
|
|
1169
1099
|
var uniformBuffers = ["Material", "Scene", "Mesh"];
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
PBRAnisotropicConfiguration.AddSamplers(samplers);
|
|
1178
|
-
PBRSheenConfiguration.AddUniforms(uniforms);
|
|
1179
|
-
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);
|
|
1180
1107
|
PrePassConfiguration.AddUniforms(uniforms);
|
|
1181
1108
|
PrePassConfiguration.AddSamplers(samplers);
|
|
1182
1109
|
if (ImageProcessingConfiguration) {
|
|
@@ -1206,6 +1133,7 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1206
1133
|
onError: onError,
|
|
1207
1134
|
indexParameters: { maxSimultaneousLights: this._maxSimultaneousLights, maxSimultaneousMorphTargets: defines.NUM_MORPH_INFLUENCERS },
|
|
1208
1135
|
processFinalCode: csnrOptions.processFinalCode,
|
|
1136
|
+
processCodeAfterIncludes: this._eventInfo.customCode,
|
|
1209
1137
|
multiTarget: defines.PREPASS
|
|
1210
1138
|
}, engine);
|
|
1211
1139
|
};
|
|
@@ -1497,12 +1425,9 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1497
1425
|
defines.DEBUGMODE = this._debugMode;
|
|
1498
1426
|
}
|
|
1499
1427
|
// External config
|
|
1500
|
-
this.
|
|
1501
|
-
this.
|
|
1502
|
-
this.
|
|
1503
|
-
this.anisotropy.prepareDefines(defines, mesh, scene);
|
|
1504
|
-
this.brdf.prepareDefines(defines);
|
|
1505
|
-
this.sheen.prepareDefines(defines, scene);
|
|
1428
|
+
this._eventInfo.defines = defines;
|
|
1429
|
+
this._eventInfo.mesh = mesh;
|
|
1430
|
+
this._callbackPluginEventPrepareDefines(this._eventInfo);
|
|
1506
1431
|
// Values that need to be evaluated on every frame
|
|
1507
1432
|
MaterialHelper.PrepareDefinesForFrameBoundValues(scene, engine, defines, useInstances ? true : false, useClipPlane, useThinInstances);
|
|
1508
1433
|
// Attribs
|
|
@@ -1514,7 +1439,11 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1514
1439
|
PBRBaseMaterial.prototype.forceCompilation = function (mesh, onCompiled, options) {
|
|
1515
1440
|
var _this = this;
|
|
1516
1441
|
var localOptions = __assign({ clipPlane: false, useInstances: false }, options);
|
|
1517
|
-
|
|
1442
|
+
if (!this._uniformBufferLayoutBuilt) {
|
|
1443
|
+
this.buildUniformLayout();
|
|
1444
|
+
}
|
|
1445
|
+
this._callbackPluginEventGeneric(MaterialPluginEvent.GetDefineNames, this._eventInfo);
|
|
1446
|
+
var defines = new PBRMaterialDefines(this._eventInfo.defineNames);
|
|
1518
1447
|
var effect = this._prepareEffect(mesh, defines, undefined, undefined, localOptions.useInstances, localOptions.clipPlane, mesh.hasThinInstances);
|
|
1519
1448
|
if (this._onEffectCreatedObservable) {
|
|
1520
1449
|
onCreatedEffectParameters.effect = effect;
|
|
@@ -1576,11 +1505,6 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1576
1505
|
ubo.addUniform("metallicReflectanceMatrix", 16);
|
|
1577
1506
|
ubo.addUniform("vReflectanceInfos", 2);
|
|
1578
1507
|
ubo.addUniform("reflectanceMatrix", 16);
|
|
1579
|
-
PBRClearCoatConfiguration.PrepareUniformBuffer(ubo);
|
|
1580
|
-
PBRAnisotropicConfiguration.PrepareUniformBuffer(ubo);
|
|
1581
|
-
PBRSheenConfiguration.PrepareUniformBuffer(ubo);
|
|
1582
|
-
PBRSubSurfaceConfiguration.PrepareUniformBuffer(ubo);
|
|
1583
|
-
DetailMapConfiguration.PrepareUniformBuffer(ubo);
|
|
1584
1508
|
ubo.addUniform("vSphericalL00", 3);
|
|
1585
1509
|
ubo.addUniform("vSphericalL1_1", 3);
|
|
1586
1510
|
ubo.addUniform("vSphericalL10", 3);
|
|
@@ -1599,26 +1523,7 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1599
1523
|
ubo.addUniform("vSphericalXY", 3);
|
|
1600
1524
|
ubo.addUniform("vSphericalYZ", 3);
|
|
1601
1525
|
ubo.addUniform("vSphericalZX", 3);
|
|
1602
|
-
|
|
1603
|
-
};
|
|
1604
|
-
/**
|
|
1605
|
-
* Unbinds the material from the mesh
|
|
1606
|
-
*/
|
|
1607
|
-
PBRBaseMaterial.prototype.unbind = function () {
|
|
1608
|
-
if (this._activeEffect && !this.getScene().getEngine()._features.needToAlwaysBindUniformBuffers) {
|
|
1609
|
-
var needFlag = false;
|
|
1610
|
-
if (this._reflectionTexture && this._reflectionTexture.isRenderTarget) {
|
|
1611
|
-
this._activeEffect.setTexture("reflection2DSampler", null);
|
|
1612
|
-
needFlag = true;
|
|
1613
|
-
}
|
|
1614
|
-
if (this.subSurface.unbind(this._activeEffect)) {
|
|
1615
|
-
needFlag = true;
|
|
1616
|
-
}
|
|
1617
|
-
if (needFlag) {
|
|
1618
|
-
this._markAllSubMeshesAsTexturesDirty();
|
|
1619
|
-
}
|
|
1620
|
-
}
|
|
1621
|
-
_super.prototype.unbind.call(this);
|
|
1526
|
+
_super.prototype.buildUniformLayout.call(this);
|
|
1622
1527
|
};
|
|
1623
1528
|
/**
|
|
1624
1529
|
* Binds the submesh data.
|
|
@@ -1627,7 +1532,7 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1627
1532
|
* @param subMesh - A submesh of the BJS mesh.
|
|
1628
1533
|
*/
|
|
1629
1534
|
PBRBaseMaterial.prototype.bindForSubMesh = function (world, mesh, subMesh) {
|
|
1630
|
-
var _a;
|
|
1535
|
+
var _a, _b, _c, _d;
|
|
1631
1536
|
var scene = this.getScene();
|
|
1632
1537
|
var defines = subMesh.materialDefines;
|
|
1633
1538
|
if (!defines) {
|
|
@@ -1644,8 +1549,9 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1644
1549
|
var engine = scene.getEngine();
|
|
1645
1550
|
// Binding unconditionally
|
|
1646
1551
|
this._uniformBuffer.bindToEffect(effect, "Material");
|
|
1647
|
-
this.subSurface.hardBindForSubMesh(this._uniformBuffer, scene, engine, this.isFrozen, defines.LODBASEDMICROSFURACE, this.realTimeFiltering, subMesh);
|
|
1648
1552
|
this.prePassConfiguration.bindForSubMesh(this._activeEffect, scene, mesh, world, this.isFrozen);
|
|
1553
|
+
this._eventInfo.subMesh = subMesh;
|
|
1554
|
+
this._callbackPluginEventHardBindForSubMesh(this._eventInfo);
|
|
1649
1555
|
// Normal Matrix
|
|
1650
1556
|
if (defines.OBJECTSPACE_NORMALMAP) {
|
|
1651
1557
|
world.toNormalMatrix(this._normalMatrix);
|
|
@@ -1766,7 +1672,7 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1766
1672
|
TmpColors.Color3[0].r = (this._metallic === undefined || this._metallic === null) ? 1 : this._metallic;
|
|
1767
1673
|
TmpColors.Color3[0].g = (this._roughness === undefined || this._roughness === null) ? 1 : this._roughness;
|
|
1768
1674
|
ubo.updateColor4("vReflectivityColor", TmpColors.Color3[0], 1);
|
|
1769
|
-
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;
|
|
1770
1676
|
var outside_ior = 1; // consider air as clear coat and other layers would remap in the shader.
|
|
1771
1677
|
// We are here deriving our default reflectance from a common value for none metallic surface.
|
|
1772
1678
|
// Based of the schlick fresnel approximation model
|
|
@@ -1782,7 +1688,7 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1782
1688
|
}
|
|
1783
1689
|
ubo.updateColor3("vEmissiveColor", MaterialFlags.EmissiveTextureEnabled ? this._emissiveColor : Color3.BlackReadOnly);
|
|
1784
1690
|
ubo.updateColor3("vReflectionColor", this._reflectionColor);
|
|
1785
|
-
if (!defines.SS_REFRACTION && this.subSurface.
|
|
1691
|
+
if (!defines.SS_REFRACTION && ((_c = this.subSurface) === null || _c === void 0 ? void 0 : _c._linkRefractionWithTransparency)) {
|
|
1786
1692
|
ubo.updateColor4("vAlbedoColor", this._albedoColor, 1);
|
|
1787
1693
|
}
|
|
1788
1694
|
else {
|
|
@@ -1857,11 +1763,8 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1857
1763
|
if (this.getScene().useOrderIndependentTransparency && this.needAlphaBlendingForMesh(mesh)) {
|
|
1858
1764
|
this.getScene().depthPeelingRenderer.bind(effect);
|
|
1859
1765
|
}
|
|
1860
|
-
this.
|
|
1861
|
-
this.
|
|
1862
|
-
this.clearCoat.bindForSubMesh(ubo, scene, engine, this._disableBumpMap, this.isFrozen, this._invertNormalMapX, this._invertNormalMapY, subMesh);
|
|
1863
|
-
this.anisotropy.bindForSubMesh(ubo, scene, this.isFrozen);
|
|
1864
|
-
this.sheen.bindForSubMesh(ubo, scene, this.isFrozen, subMesh);
|
|
1766
|
+
this._eventInfo.subMesh = subMesh;
|
|
1767
|
+
this._callbackPluginEventBindForSubMesh(this._eventInfo);
|
|
1865
1768
|
// Clip plane
|
|
1866
1769
|
MaterialHelper.BindClipPlane(this._activeEffect, scene);
|
|
1867
1770
|
this.bindEyePosition(effect);
|
|
@@ -1885,7 +1788,7 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1885
1788
|
MaterialHelper.BindMorphTargetParameters(mesh, this._activeEffect);
|
|
1886
1789
|
}
|
|
1887
1790
|
if (defines.BAKED_VERTEX_ANIMATION_TEXTURE) {
|
|
1888
|
-
(
|
|
1791
|
+
(_d = mesh.bakedVertexAnimationManager) === null || _d === void 0 ? void 0 : _d.bind(effect, defines.INSTANCES);
|
|
1889
1792
|
}
|
|
1890
1793
|
// image processing
|
|
1891
1794
|
this._imageProcessingConfiguration.bind(this._activeEffect);
|
|
@@ -1900,7 +1803,7 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1900
1803
|
* @returns - Array of animatable textures.
|
|
1901
1804
|
*/
|
|
1902
1805
|
PBRBaseMaterial.prototype.getAnimatables = function () {
|
|
1903
|
-
var results =
|
|
1806
|
+
var results = _super.prototype.getAnimatables.call(this);
|
|
1904
1807
|
if (this._albedoTexture && this._albedoTexture.animations && this._albedoTexture.animations.length > 0) {
|
|
1905
1808
|
results.push(this._albedoTexture);
|
|
1906
1809
|
}
|
|
@@ -1928,11 +1831,6 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1928
1831
|
if (this._lightmapTexture && this._lightmapTexture.animations && this._lightmapTexture.animations.length > 0) {
|
|
1929
1832
|
results.push(this._lightmapTexture);
|
|
1930
1833
|
}
|
|
1931
|
-
this.detailMap.getAnimatables(results);
|
|
1932
|
-
this.subSurface.getAnimatables(results);
|
|
1933
|
-
this.clearCoat.getAnimatables(results);
|
|
1934
|
-
this.sheen.getAnimatables(results);
|
|
1935
|
-
this.anisotropy.getAnimatables(results);
|
|
1936
1834
|
return results;
|
|
1937
1835
|
};
|
|
1938
1836
|
/**
|
|
@@ -1987,11 +1885,6 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
1987
1885
|
if (this._lightmapTexture) {
|
|
1988
1886
|
activeTextures.push(this._lightmapTexture);
|
|
1989
1887
|
}
|
|
1990
|
-
this.detailMap.getActiveTextures(activeTextures);
|
|
1991
|
-
this.subSurface.getActiveTextures(activeTextures);
|
|
1992
|
-
this.clearCoat.getActiveTextures(activeTextures);
|
|
1993
|
-
this.sheen.getActiveTextures(activeTextures);
|
|
1994
|
-
this.anisotropy.getActiveTextures(activeTextures);
|
|
1995
1888
|
return activeTextures;
|
|
1996
1889
|
};
|
|
1997
1890
|
/**
|
|
@@ -2036,18 +1929,15 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
2036
1929
|
if (this._lightmapTexture === texture) {
|
|
2037
1930
|
return true;
|
|
2038
1931
|
}
|
|
2039
|
-
return
|
|
2040
|
-
this.subSurface.hasTexture(texture) ||
|
|
2041
|
-
this.clearCoat.hasTexture(texture) ||
|
|
2042
|
-
this.sheen.hasTexture(texture) ||
|
|
2043
|
-
this.anisotropy.hasTexture(texture);
|
|
1932
|
+
return false;
|
|
2044
1933
|
};
|
|
2045
1934
|
/**
|
|
2046
1935
|
* Sets the required values to the prepass renderer.
|
|
2047
1936
|
* @param prePassRenderer defines the prepass renderer to setup
|
|
2048
1937
|
*/
|
|
2049
1938
|
PBRBaseMaterial.prototype.setPrePassRenderer = function (prePassRenderer) {
|
|
2050
|
-
|
|
1939
|
+
var _a;
|
|
1940
|
+
if ((_a = this.subSurface) === null || _a === void 0 ? void 0 : _a.isScatteringEnabled) {
|
|
2051
1941
|
var subSurfaceConfiguration = this.getScene().enableSubSurfaceForPrePass();
|
|
2052
1942
|
if (subSurfaceConfiguration) {
|
|
2053
1943
|
subSurfaceConfiguration.enabled = true;
|
|
@@ -2080,11 +1970,6 @@ var PBRBaseMaterial = /** @class */ (function (_super) {
|
|
|
2080
1970
|
(_l = this._reflectanceTexture) === null || _l === void 0 ? void 0 : _l.dispose();
|
|
2081
1971
|
(_m = this._microSurfaceTexture) === null || _m === void 0 ? void 0 : _m.dispose();
|
|
2082
1972
|
}
|
|
2083
|
-
this.detailMap.dispose(forceDisposeTextures);
|
|
2084
|
-
this.subSurface.dispose(forceDisposeTextures);
|
|
2085
|
-
this.clearCoat.dispose(forceDisposeTextures);
|
|
2086
|
-
this.sheen.dispose(forceDisposeTextures);
|
|
2087
|
-
this.anisotropy.dispose(forceDisposeTextures);
|
|
2088
1973
|
this._renderTargets.dispose();
|
|
2089
1974
|
if (this._imageProcessingConfiguration && this._imageProcessingObserver) {
|
|
2090
1975
|
this._imageProcessingConfiguration.onUpdateParameters.remove(this._imageProcessingObserver);
|