@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
|
@@ -1,58 +1,95 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import {
|
|
1
|
+
import { __decorate, __extends } from "tslib";
|
|
2
|
+
import { serialize, serializeAsTexture, expandToProperty, serializeAsColor3 } from "../../Misc/decorators.js";
|
|
3
3
|
import { Color3 } from '../../Maths/math.color.js';
|
|
4
4
|
import { MaterialFlags } from "../materialFlags.js";
|
|
5
5
|
import { MaterialHelper } from "../../Materials/materialHelper.js";
|
|
6
6
|
import { Scalar } from "../../Maths/math.scalar.js";
|
|
7
7
|
import { TmpVectors } from "../../Maths/math.vector.js";
|
|
8
|
+
import { MaterialPluginBase } from "../materialPluginBase.js";
|
|
9
|
+
import { MaterialDefines } from "../materialDefines.js";
|
|
8
10
|
/**
|
|
9
|
-
*
|
|
11
|
+
* @hidden
|
|
10
12
|
*/
|
|
11
|
-
var
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
var MaterialSubSurfaceDefines = /** @class */ (function (_super) {
|
|
14
|
+
__extends(MaterialSubSurfaceDefines, _super);
|
|
15
|
+
function MaterialSubSurfaceDefines() {
|
|
16
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
17
|
+
_this.SUBSURFACE = false;
|
|
18
|
+
_this.SS_REFRACTION = false;
|
|
19
|
+
_this.SS_REFRACTION_USE_INTENSITY_FROM_TEXTURE = false;
|
|
20
|
+
_this.SS_TRANSLUCENCY = false;
|
|
21
|
+
_this.SS_TRANSLUCENCY_USE_INTENSITY_FROM_TEXTURE = false;
|
|
22
|
+
_this.SS_SCATTERING = false;
|
|
23
|
+
_this.SS_THICKNESSANDMASK_TEXTURE = false;
|
|
24
|
+
_this.SS_THICKNESSANDMASK_TEXTUREDIRECTUV = 0;
|
|
25
|
+
_this.SS_HAS_THICKNESS = false;
|
|
26
|
+
_this.SS_REFRACTIONINTENSITY_TEXTURE = false;
|
|
27
|
+
_this.SS_REFRACTIONINTENSITY_TEXTUREDIRECTUV = 0;
|
|
28
|
+
_this.SS_TRANSLUCENCYINTENSITY_TEXTURE = false;
|
|
29
|
+
_this.SS_TRANSLUCENCYINTENSITY_TEXTUREDIRECTUV = 0;
|
|
30
|
+
_this.SS_REFRACTIONMAP_3D = false;
|
|
31
|
+
_this.SS_REFRACTIONMAP_OPPOSITEZ = false;
|
|
32
|
+
_this.SS_LODINREFRACTIONALPHA = false;
|
|
33
|
+
_this.SS_GAMMAREFRACTION = false;
|
|
34
|
+
_this.SS_RGBDREFRACTION = false;
|
|
35
|
+
_this.SS_LINEARSPECULARREFRACTION = false;
|
|
36
|
+
_this.SS_LINKREFRACTIONTOTRANSPARENCY = false;
|
|
37
|
+
_this.SS_ALBEDOFORREFRACTIONTINT = false;
|
|
38
|
+
_this.SS_ALBEDOFORTRANSLUCENCYTINT = false;
|
|
39
|
+
_this.SS_USE_LOCAL_REFRACTIONMAP_CUBIC = false;
|
|
40
|
+
_this.SS_USE_THICKNESS_AS_DEPTH = false;
|
|
41
|
+
_this.SS_MASK_FROM_THICKNESS_TEXTURE = false;
|
|
42
|
+
_this.SS_USE_GLTF_TEXTURES = false;
|
|
43
|
+
return _this;
|
|
44
|
+
}
|
|
45
|
+
return MaterialSubSurfaceDefines;
|
|
46
|
+
}(MaterialDefines));
|
|
47
|
+
export { MaterialSubSurfaceDefines };
|
|
48
|
+
/**
|
|
49
|
+
* Plugin that implements the sub surface component of the PBR material
|
|
50
|
+
*/
|
|
51
|
+
var PBRSubSurfaceConfiguration = /** @class */ (function (_super) {
|
|
52
|
+
__extends(PBRSubSurfaceConfiguration, _super);
|
|
53
|
+
function PBRSubSurfaceConfiguration(material, addToPluginList) {
|
|
54
|
+
if (addToPluginList === void 0) { addToPluginList = true; }
|
|
55
|
+
var _this = _super.call(this, material, "PBRSubSurface", 130, new MaterialSubSurfaceDefines(), addToPluginList) || this;
|
|
56
|
+
_this._isRefractionEnabled = false;
|
|
20
57
|
/**
|
|
21
58
|
* Defines if the refraction is enabled in the material.
|
|
22
59
|
*/
|
|
23
|
-
|
|
24
|
-
|
|
60
|
+
_this.isRefractionEnabled = false;
|
|
61
|
+
_this._isTranslucencyEnabled = false;
|
|
25
62
|
/**
|
|
26
63
|
* Defines if the translucency is enabled in the material.
|
|
27
64
|
*/
|
|
28
|
-
|
|
29
|
-
|
|
65
|
+
_this.isTranslucencyEnabled = false;
|
|
66
|
+
_this._isScatteringEnabled = false;
|
|
30
67
|
/**
|
|
31
68
|
* Defines if the sub surface scattering is enabled in the material.
|
|
32
69
|
*/
|
|
33
|
-
|
|
34
|
-
|
|
70
|
+
_this.isScatteringEnabled = false;
|
|
71
|
+
_this._scatteringDiffusionProfileIndex = 0;
|
|
35
72
|
/**
|
|
36
73
|
* Defines the refraction intensity of the material.
|
|
37
74
|
* The refraction when enabled replaces the Diffuse part of the material.
|
|
38
75
|
* The intensity helps transitioning between diffuse and refraction.
|
|
39
76
|
*/
|
|
40
|
-
|
|
77
|
+
_this.refractionIntensity = 1;
|
|
41
78
|
/**
|
|
42
79
|
* Defines the translucency intensity of the material.
|
|
43
80
|
* When translucency has been enabled, this defines how much of the "translucency"
|
|
44
81
|
* is added to the diffuse part of the material.
|
|
45
82
|
*/
|
|
46
|
-
|
|
83
|
+
_this.translucencyIntensity = 1;
|
|
47
84
|
/**
|
|
48
85
|
* When enabled, transparent surfaces will be tinted with the albedo colour (independent of thickness)
|
|
49
86
|
*/
|
|
50
|
-
|
|
87
|
+
_this.useAlbedoToTintRefraction = false;
|
|
51
88
|
/**
|
|
52
89
|
* When enabled, translucent surfaces will be tinted with the albedo colour (independent of thickness)
|
|
53
90
|
*/
|
|
54
|
-
|
|
55
|
-
|
|
91
|
+
_this.useAlbedoToTintTranslucency = false;
|
|
92
|
+
_this._thicknessTexture = null;
|
|
56
93
|
/**
|
|
57
94
|
* Stores the average thickness of a mesh in a texture (The texture is holding the values linearly).
|
|
58
95
|
* The red (or green if useGltfStyleTextures=true) channel of the texture should contain the thickness remapped between 0 and 1.
|
|
@@ -60,13 +97,14 @@ var PBRSubSurfaceConfiguration = /** @class */ (function () {
|
|
|
60
97
|
* 1 would mean maximumThickness
|
|
61
98
|
* The other channels might be use as a mask to vary the different effects intensity.
|
|
62
99
|
*/
|
|
63
|
-
|
|
64
|
-
|
|
100
|
+
_this.thicknessTexture = null;
|
|
101
|
+
_this._refractionTexture = null;
|
|
65
102
|
/**
|
|
66
103
|
* Defines the texture to use for refraction.
|
|
67
104
|
*/
|
|
68
|
-
|
|
69
|
-
|
|
105
|
+
_this.refractionTexture = null;
|
|
106
|
+
/** @hidden */
|
|
107
|
+
_this._indexOfRefraction = 1.5;
|
|
70
108
|
/**
|
|
71
109
|
* Index of refraction of the material base layer.
|
|
72
110
|
* https://en.wikipedia.org/wiki/List_of_refractive_indices
|
|
@@ -75,78 +113,81 @@ var PBRSubSurfaceConfiguration = /** @class */ (function () {
|
|
|
75
113
|
*
|
|
76
114
|
* From dielectric fresnel rules: F0 = square((iorT - iorI) / (iorT + iorI))
|
|
77
115
|
*/
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
116
|
+
_this.indexOfRefraction = 1.5;
|
|
117
|
+
_this._volumeIndexOfRefraction = -1.0;
|
|
118
|
+
_this._invertRefractionY = false;
|
|
81
119
|
/**
|
|
82
120
|
* Controls if refraction needs to be inverted on Y. This could be useful for procedural texture.
|
|
83
121
|
*/
|
|
84
|
-
|
|
85
|
-
|
|
122
|
+
_this.invertRefractionY = false;
|
|
123
|
+
/** @hidden */
|
|
124
|
+
_this._linkRefractionWithTransparency = false;
|
|
86
125
|
/**
|
|
87
126
|
* This parameters will make the material used its opacity to control how much it is refracting against not.
|
|
88
127
|
* Materials half opaque for instance using refraction could benefit from this control.
|
|
89
128
|
*/
|
|
90
|
-
|
|
129
|
+
_this.linkRefractionWithTransparency = false;
|
|
91
130
|
/**
|
|
92
131
|
* Defines the minimum thickness stored in the thickness map.
|
|
93
132
|
* If no thickness map is defined, this value will be used to simulate thickness.
|
|
94
133
|
*/
|
|
95
|
-
|
|
134
|
+
_this.minimumThickness = 0;
|
|
96
135
|
/**
|
|
97
136
|
* Defines the maximum thickness stored in the thickness map.
|
|
98
137
|
*/
|
|
99
|
-
|
|
138
|
+
_this.maximumThickness = 1;
|
|
100
139
|
/**
|
|
101
140
|
* Defines that the thickness should be used as a measure of the depth volume.
|
|
102
141
|
*/
|
|
103
|
-
|
|
142
|
+
_this.useThicknessAsDepth = false;
|
|
104
143
|
/**
|
|
105
144
|
* Defines the volume tint of the material.
|
|
106
145
|
* This is used for both translucency and scattering.
|
|
107
146
|
*/
|
|
108
|
-
|
|
147
|
+
_this.tintColor = Color3.White();
|
|
109
148
|
/**
|
|
110
149
|
* Defines the distance at which the tint color should be found in the media.
|
|
111
150
|
* This is used for refraction only.
|
|
112
151
|
*/
|
|
113
|
-
|
|
152
|
+
_this.tintColorAtDistance = 1;
|
|
114
153
|
/**
|
|
115
154
|
* Defines how far each channel transmit through the media.
|
|
116
155
|
* It is defined as a color to simplify it selection.
|
|
117
156
|
*/
|
|
118
|
-
|
|
119
|
-
|
|
157
|
+
_this.diffusionDistance = Color3.White();
|
|
158
|
+
_this._useMaskFromThicknessTexture = false;
|
|
120
159
|
/**
|
|
121
160
|
* Stores the intensity of the different subsurface effects in the thickness texture.
|
|
122
161
|
* Note that if refractionIntensityTexture and/or translucencyIntensityTexture is provided it takes precedence over thicknessTexture + useMaskFromThicknessTexture
|
|
123
162
|
* * the green (red if useGltfStyleTextures = true) channel is the refraction intensity.
|
|
124
163
|
* * the blue channel is the translucency intensity.
|
|
125
164
|
*/
|
|
126
|
-
|
|
127
|
-
|
|
165
|
+
_this.useMaskFromThicknessTexture = false;
|
|
166
|
+
_this._refractionIntensityTexture = null;
|
|
128
167
|
/**
|
|
129
168
|
* Stores the intensity of the refraction. If provided, it takes precedence over thicknessTexture + useMaskFromThicknessTexture
|
|
130
169
|
* * the green (red if useGltfStyleTextures = true) channel is the refraction intensity.
|
|
131
170
|
*/
|
|
132
|
-
|
|
133
|
-
|
|
171
|
+
_this.refractionIntensityTexture = null;
|
|
172
|
+
_this._translucencyIntensityTexture = null;
|
|
134
173
|
/**
|
|
135
174
|
* Stores the intensity of the translucency. If provided, it takes precedence over thicknessTexture + useMaskFromThicknessTexture
|
|
136
175
|
* * the blue channel is the translucency intensity.
|
|
137
176
|
*/
|
|
138
|
-
|
|
139
|
-
|
|
177
|
+
_this.translucencyIntensityTexture = null;
|
|
178
|
+
_this._useGltfStyleTextures = false;
|
|
140
179
|
/**
|
|
141
180
|
* Use channels layout used by glTF:
|
|
142
181
|
* * thicknessTexture: the green (instead of red) channel is the thickness
|
|
143
182
|
* * thicknessTexture/refractionIntensityTexture: the red (instead of green) channel is the refraction intensity
|
|
144
183
|
* * thicknessTexture/translucencyIntensityTexture: no change, use the blue channel for the translucency intensity
|
|
145
184
|
*/
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
185
|
+
_this.useGltfStyleTextures = false;
|
|
186
|
+
_this._scene = material.getScene();
|
|
187
|
+
_this.registerForExtraEvents = true;
|
|
188
|
+
_this._internalMarkAllSubMeshesAsTexturesDirty = material._dirtyCallbacks[1];
|
|
189
|
+
_this._internalMarkScenePrePassDirty = material._dirtyCallbacks[32];
|
|
190
|
+
return _this;
|
|
150
191
|
}
|
|
151
192
|
Object.defineProperty(PBRSubSurfaceConfiguration.prototype, "scatteringDiffusionProfile", {
|
|
152
193
|
/**
|
|
@@ -199,6 +240,7 @@ var PBRSubSurfaceConfiguration = /** @class */ (function () {
|
|
|
199
240
|
});
|
|
200
241
|
/** @hidden */
|
|
201
242
|
PBRSubSurfaceConfiguration.prototype._markAllSubMeshesAsTexturesDirty = function () {
|
|
243
|
+
this._enable(this._isRefractionEnabled || this._isTranslucencyEnabled || this._isScatteringEnabled);
|
|
202
244
|
this._internalMarkAllSubMeshesAsTexturesDirty();
|
|
203
245
|
};
|
|
204
246
|
/** @hidden */
|
|
@@ -206,13 +248,7 @@ var PBRSubSurfaceConfiguration = /** @class */ (function () {
|
|
|
206
248
|
this._internalMarkAllSubMeshesAsTexturesDirty();
|
|
207
249
|
this._internalMarkScenePrePassDirty();
|
|
208
250
|
};
|
|
209
|
-
|
|
210
|
-
* Gets whether the submesh is ready to be used or not.
|
|
211
|
-
* @param defines the list of "defines" to update.
|
|
212
|
-
* @param scene defines the scene the material belongs to.
|
|
213
|
-
* @returns - boolean indicating that the submesh is ready or not.
|
|
214
|
-
*/
|
|
215
|
-
PBRSubSurfaceConfiguration.prototype.isReadyForSubMesh = function (defines, scene) {
|
|
251
|
+
PBRSubSurfaceConfiguration.prototype.isReadyForSubMesh = function (defines, scene, engine) {
|
|
216
252
|
if (!this._isRefractionEnabled && !this._isTranslucencyEnabled && !this._isScatteringEnabled) {
|
|
217
253
|
return true;
|
|
218
254
|
}
|
|
@@ -233,12 +269,7 @@ var PBRSubSurfaceConfiguration = /** @class */ (function () {
|
|
|
233
269
|
}
|
|
234
270
|
return true;
|
|
235
271
|
};
|
|
236
|
-
|
|
237
|
-
* Checks to see if a texture is used in the material.
|
|
238
|
-
* @param defines the list of "defines" to update.
|
|
239
|
-
* @param scene defines the scene to the material belongs to.
|
|
240
|
-
*/
|
|
241
|
-
PBRSubSurfaceConfiguration.prototype.prepareDefines = function (defines, scene) {
|
|
272
|
+
PBRSubSurfaceConfiguration.prototype.prepareDefines = function (defines, scene, mesh) {
|
|
242
273
|
if (!this._isRefractionEnabled && !this._isTranslucencyEnabled && !this._isScatteringEnabled) {
|
|
243
274
|
defines.SUBSURFACE = false;
|
|
244
275
|
defines.SS_TRANSLUCENCY = false;
|
|
@@ -247,7 +278,7 @@ var PBRSubSurfaceConfiguration = /** @class */ (function () {
|
|
|
247
278
|
return;
|
|
248
279
|
}
|
|
249
280
|
if (defines._areTexturesDirty) {
|
|
250
|
-
defines.SUBSURFACE =
|
|
281
|
+
defines.SUBSURFACE = true;
|
|
251
282
|
defines.SS_TRANSLUCENCY = this._isTranslucencyEnabled;
|
|
252
283
|
defines.SS_TRANSLUCENCY_USE_INTENSITY_FROM_TEXTURE = false;
|
|
253
284
|
defines.SS_SCATTERING = this._isScatteringEnabled;
|
|
@@ -270,35 +301,32 @@ var PBRSubSurfaceConfiguration = /** @class */ (function () {
|
|
|
270
301
|
defines.SS_ALBEDOFORTRANSLUCENCYTINT = false;
|
|
271
302
|
defines.SS_USE_LOCAL_REFRACTIONMAP_CUBIC = false;
|
|
272
303
|
defines.SS_USE_THICKNESS_AS_DEPTH = false;
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
if (this._translucencyIntensityTexture && MaterialFlags.TranslucencyIntensityTextureEnabled && !useOnlyThicknessTexture) {
|
|
292
|
-
MaterialHelper.PrepareDefinesForMergedUV(this._translucencyIntensityTexture, defines, "SS_TRANSLUCENCYINTENSITY_TEXTURE");
|
|
293
|
-
}
|
|
304
|
+
var refractionIntensityTextureIsThicknessTexture = !!this._thicknessTexture &&
|
|
305
|
+
!!this._refractionIntensityTexture &&
|
|
306
|
+
this._refractionIntensityTexture.checkTransformsAreIdentical(this._thicknessTexture) && this._refractionIntensityTexture._texture === this._thicknessTexture._texture;
|
|
307
|
+
var translucencyIntensityTextureIsThicknessTexture = !!this._thicknessTexture &&
|
|
308
|
+
!!this._translucencyIntensityTexture &&
|
|
309
|
+
this._translucencyIntensityTexture.checkTransformsAreIdentical(this._thicknessTexture) && this._translucencyIntensityTexture._texture === this._thicknessTexture._texture;
|
|
310
|
+
// if true, it means the refraction/translucency textures are the same than the thickness texture so there's no need to pass them to the shader, only thicknessTexture
|
|
311
|
+
var useOnlyThicknessTexture = (refractionIntensityTextureIsThicknessTexture || !this._refractionIntensityTexture) && (translucencyIntensityTextureIsThicknessTexture || !this._translucencyIntensityTexture);
|
|
312
|
+
if (defines._areTexturesDirty) {
|
|
313
|
+
if (scene.texturesEnabled) {
|
|
314
|
+
if (this._thicknessTexture && MaterialFlags.ThicknessTextureEnabled) {
|
|
315
|
+
MaterialHelper.PrepareDefinesForMergedUV(this._thicknessTexture, defines, "SS_THICKNESSANDMASK_TEXTURE");
|
|
316
|
+
}
|
|
317
|
+
if (this._refractionIntensityTexture && MaterialFlags.RefractionIntensityTextureEnabled && !useOnlyThicknessTexture) {
|
|
318
|
+
MaterialHelper.PrepareDefinesForMergedUV(this._refractionIntensityTexture, defines, "SS_REFRACTIONINTENSITY_TEXTURE");
|
|
319
|
+
}
|
|
320
|
+
if (this._translucencyIntensityTexture && MaterialFlags.TranslucencyIntensityTextureEnabled && !useOnlyThicknessTexture) {
|
|
321
|
+
MaterialHelper.PrepareDefinesForMergedUV(this._translucencyIntensityTexture, defines, "SS_TRANSLUCENCYINTENSITY_TEXTURE");
|
|
294
322
|
}
|
|
295
323
|
}
|
|
296
|
-
defines.SS_HAS_THICKNESS = (this.maximumThickness - this.minimumThickness) !== 0.0;
|
|
297
|
-
defines.SS_MASK_FROM_THICKNESS_TEXTURE = (this._useMaskFromThicknessTexture || !!this._refractionIntensityTexture || !!this._translucencyIntensityTexture) && useOnlyThicknessTexture;
|
|
298
|
-
defines.SS_USE_GLTF_TEXTURES = this._useGltfStyleTextures;
|
|
299
|
-
defines.SS_REFRACTION_USE_INTENSITY_FROM_TEXTURE = (this._useMaskFromThicknessTexture || !!this._refractionIntensityTexture) && useOnlyThicknessTexture;
|
|
300
|
-
defines.SS_TRANSLUCENCY_USE_INTENSITY_FROM_TEXTURE = (this._useMaskFromThicknessTexture || !!this._translucencyIntensityTexture) && useOnlyThicknessTexture;
|
|
301
324
|
}
|
|
325
|
+
defines.SS_HAS_THICKNESS = (this.maximumThickness - this.minimumThickness) !== 0.0;
|
|
326
|
+
defines.SS_MASK_FROM_THICKNESS_TEXTURE = (this._useMaskFromThicknessTexture || !!this._refractionIntensityTexture || !!this._translucencyIntensityTexture) && useOnlyThicknessTexture;
|
|
327
|
+
defines.SS_USE_GLTF_TEXTURES = this._useGltfStyleTextures;
|
|
328
|
+
defines.SS_REFRACTION_USE_INTENSITY_FROM_TEXTURE = (this._useMaskFromThicknessTexture || !!this._refractionIntensityTexture) && useOnlyThicknessTexture;
|
|
329
|
+
defines.SS_TRANSLUCENCY_USE_INTENSITY_FROM_TEXTURE = (this._useMaskFromThicknessTexture || !!this._translucencyIntensityTexture) && useOnlyThicknessTexture;
|
|
302
330
|
if (this._isRefractionEnabled) {
|
|
303
331
|
if (scene.texturesEnabled) {
|
|
304
332
|
var refractionTexture = this._getRefractionTexture(scene);
|
|
@@ -327,12 +355,9 @@ var PBRSubSurfaceConfiguration = /** @class */ (function () {
|
|
|
327
355
|
* @param uniformBuffer defines the Uniform buffer to fill in.
|
|
328
356
|
* @param scene defines the scene the material belongs to.
|
|
329
357
|
* @param engine defines the engine the material belongs to.
|
|
330
|
-
* @param isFrozen defines whether the material is frozen or not.
|
|
331
|
-
* @param lodBasedMicrosurface defines whether the material relies on lod based microsurface or not.
|
|
332
|
-
* @param realTimeFiltering defines whether the textures should be filtered on the fly.
|
|
333
358
|
* @param subMesh the submesh to bind data for
|
|
334
359
|
*/
|
|
335
|
-
PBRSubSurfaceConfiguration.prototype.hardBindForSubMesh = function (uniformBuffer, scene, engine,
|
|
360
|
+
PBRSubSurfaceConfiguration.prototype.hardBindForSubMesh = function (uniformBuffer, scene, engine, subMesh) {
|
|
336
361
|
if (!this._isRefractionEnabled && !this._isTranslucencyEnabled && !this._isScatteringEnabled) {
|
|
337
362
|
return;
|
|
338
363
|
}
|
|
@@ -340,21 +365,14 @@ var PBRSubSurfaceConfiguration = /** @class */ (function () {
|
|
|
340
365
|
var thicknessScale = Math.max(Math.abs(TmpVectors.Vector3[0].x), Math.abs(TmpVectors.Vector3[0].y), Math.abs(TmpVectors.Vector3[0].z));
|
|
341
366
|
uniformBuffer.updateFloat2("vThicknessParam", this.minimumThickness * thicknessScale, (this.maximumThickness - this.minimumThickness) * thicknessScale);
|
|
342
367
|
};
|
|
343
|
-
|
|
344
|
-
* Binds the material data.
|
|
345
|
-
* @param uniformBuffer defines the Uniform buffer to fill in.
|
|
346
|
-
* @param scene defines the scene the material belongs to.
|
|
347
|
-
* @param engine defines the engine the material belongs to.
|
|
348
|
-
* @param isFrozen defines whether the material is frozen or not.
|
|
349
|
-
* @param lodBasedMicrosurface defines whether the material relies on lod based microsurface or not.
|
|
350
|
-
* @param realTimeFiltering defines whether the textures should be filtered on the fly.
|
|
351
|
-
* @param subMesh the submesh to bind data for
|
|
352
|
-
*/
|
|
353
|
-
PBRSubSurfaceConfiguration.prototype.bindForSubMesh = function (uniformBuffer, scene, engine, isFrozen, lodBasedMicrosurface, realTimeFiltering, subMesh) {
|
|
368
|
+
PBRSubSurfaceConfiguration.prototype.bindForSubMesh = function (uniformBuffer, scene, engine, subMesh) {
|
|
354
369
|
if (!this._isRefractionEnabled && !this._isTranslucencyEnabled && !this._isScatteringEnabled) {
|
|
355
370
|
return;
|
|
356
371
|
}
|
|
357
372
|
var defines = subMesh.materialDefines;
|
|
373
|
+
var isFrozen = this._material.isFrozen;
|
|
374
|
+
var realTimeFiltering = this._material.realTimeFiltering;
|
|
375
|
+
var lodBasedMicrosurface = defines.LODBASEDMICROSFURACE;
|
|
358
376
|
var refractionTexture = this._getRefractionTexture(scene);
|
|
359
377
|
if (!uniformBuffer.useUbo || !isFrozen || !uniformBuffer.isSync) {
|
|
360
378
|
if (this._thicknessTexture && MaterialFlags.ThicknessTextureEnabled) {
|
|
@@ -390,7 +408,7 @@ var PBRSubSurfaceConfiguration = /** @class */ (function () {
|
|
|
390
408
|
uniformBuffer.updateVector3("vRefractionSize", cubeTexture.boundingBoxSize);
|
|
391
409
|
}
|
|
392
410
|
}
|
|
393
|
-
if (this.
|
|
411
|
+
if (this._isScatteringEnabled) {
|
|
394
412
|
uniformBuffer.updateFloat("scatteringDiffusionProfile", this._scatteringDiffusionProfileIndex);
|
|
395
413
|
}
|
|
396
414
|
uniformBuffer.updateColor3("vDiffusionDistance", this.diffusionDistance);
|
|
@@ -420,18 +438,6 @@ var PBRSubSurfaceConfiguration = /** @class */ (function () {
|
|
|
420
438
|
}
|
|
421
439
|
}
|
|
422
440
|
};
|
|
423
|
-
/**
|
|
424
|
-
* Unbinds the material from the mesh.
|
|
425
|
-
* @param activeEffect defines the effect that should be unbound from.
|
|
426
|
-
* @returns true if unbound, otherwise false
|
|
427
|
-
*/
|
|
428
|
-
PBRSubSurfaceConfiguration.prototype.unbind = function (activeEffect) {
|
|
429
|
-
if (this._refractionTexture && this._refractionTexture.isRenderTarget) {
|
|
430
|
-
activeEffect.setTexture("refractionSampler", null);
|
|
431
|
-
return true;
|
|
432
|
-
}
|
|
433
|
-
return false;
|
|
434
|
-
};
|
|
435
441
|
/**
|
|
436
442
|
* Returns the texture used for refraction or null if none is used.
|
|
437
443
|
* @param scene defines the scene the material belongs to.
|
|
@@ -452,7 +458,7 @@ var PBRSubSurfaceConfiguration = /** @class */ (function () {
|
|
|
452
458
|
* Returns true if alpha blending should be disabled.
|
|
453
459
|
*/
|
|
454
460
|
get: function () {
|
|
455
|
-
return this.
|
|
461
|
+
return this._isRefractionEnabled && this._linkRefractionWithTransparency;
|
|
456
462
|
},
|
|
457
463
|
enumerable: false,
|
|
458
464
|
configurable: true
|
|
@@ -466,11 +472,6 @@ var PBRSubSurfaceConfiguration = /** @class */ (function () {
|
|
|
466
472
|
renderTargets.push(this._refractionTexture);
|
|
467
473
|
}
|
|
468
474
|
};
|
|
469
|
-
/**
|
|
470
|
-
* Checks to see if a texture is used in the material.
|
|
471
|
-
* @param texture - Base texture to use.
|
|
472
|
-
* @returns - Boolean specifying if a texture is used in the material.
|
|
473
|
-
*/
|
|
474
475
|
PBRSubSurfaceConfiguration.prototype.hasTexture = function (texture) {
|
|
475
476
|
if (this._thicknessTexture === texture) {
|
|
476
477
|
return true;
|
|
@@ -480,20 +481,12 @@ var PBRSubSurfaceConfiguration = /** @class */ (function () {
|
|
|
480
481
|
}
|
|
481
482
|
return false;
|
|
482
483
|
};
|
|
483
|
-
/**
|
|
484
|
-
* Gets a boolean indicating that current material needs to register RTT
|
|
485
|
-
* @returns true if this uses a render target otherwise false.
|
|
486
|
-
*/
|
|
487
484
|
PBRSubSurfaceConfiguration.prototype.hasRenderTargetTextures = function () {
|
|
488
485
|
if (MaterialFlags.RefractionTextureEnabled && this._refractionTexture && this._refractionTexture.isRenderTarget) {
|
|
489
486
|
return true;
|
|
490
487
|
}
|
|
491
488
|
return false;
|
|
492
489
|
};
|
|
493
|
-
/**
|
|
494
|
-
* Returns an array of the actively used textures.
|
|
495
|
-
* @param activeTextures Array of BaseTextures
|
|
496
|
-
*/
|
|
497
490
|
PBRSubSurfaceConfiguration.prototype.getActiveTextures = function (activeTextures) {
|
|
498
491
|
if (this._thicknessTexture) {
|
|
499
492
|
activeTextures.push(this._thicknessTexture);
|
|
@@ -502,10 +495,6 @@ var PBRSubSurfaceConfiguration = /** @class */ (function () {
|
|
|
502
495
|
activeTextures.push(this._refractionTexture);
|
|
503
496
|
}
|
|
504
497
|
};
|
|
505
|
-
/**
|
|
506
|
-
* Returns the animatable textures.
|
|
507
|
-
* @param animatables Array of animatable textures.
|
|
508
|
-
*/
|
|
509
498
|
PBRSubSurfaceConfiguration.prototype.getAnimatables = function (animatables) {
|
|
510
499
|
if (this._thicknessTexture && this._thicknessTexture.animations && this._thicknessTexture.animations.length > 0) {
|
|
511
500
|
animatables.push(this._thicknessTexture);
|
|
@@ -514,10 +503,6 @@ var PBRSubSurfaceConfiguration = /** @class */ (function () {
|
|
|
514
503
|
animatables.push(this._refractionTexture);
|
|
515
504
|
}
|
|
516
505
|
};
|
|
517
|
-
/**
|
|
518
|
-
* Disposes the resources of the material.
|
|
519
|
-
* @param forceDisposeTextures - Forces the disposal of all textures.
|
|
520
|
-
*/
|
|
521
506
|
PBRSubSurfaceConfiguration.prototype.dispose = function (forceDisposeTextures) {
|
|
522
507
|
if (forceDisposeTextures) {
|
|
523
508
|
if (this._thicknessTexture) {
|
|
@@ -528,21 +513,10 @@ var PBRSubSurfaceConfiguration = /** @class */ (function () {
|
|
|
528
513
|
}
|
|
529
514
|
}
|
|
530
515
|
};
|
|
531
|
-
/**
|
|
532
|
-
* Get the current class name of the texture useful for serialization or dynamic coding.
|
|
533
|
-
* @returns "PBRSubSurfaceConfiguration"
|
|
534
|
-
*/
|
|
535
516
|
PBRSubSurfaceConfiguration.prototype.getClassName = function () {
|
|
536
517
|
return "PBRSubSurfaceConfiguration";
|
|
537
518
|
};
|
|
538
|
-
|
|
539
|
-
* Add fallbacks to the effect fallbacks list.
|
|
540
|
-
* @param defines defines the Base texture to use.
|
|
541
|
-
* @param fallbacks defines the current fallback list.
|
|
542
|
-
* @param currentRank defines the current fallback rank.
|
|
543
|
-
* @returns the new fallback rank.
|
|
544
|
-
*/
|
|
545
|
-
PBRSubSurfaceConfiguration.AddFallbacks = function (defines, fallbacks, currentRank) {
|
|
519
|
+
PBRSubSurfaceConfiguration.prototype.addFallbacks = function (defines, fallbacks, currentRank) {
|
|
546
520
|
if (defines.SS_SCATTERING) {
|
|
547
521
|
fallbacks.addFallback(currentRank++, "SS_SCATTERING");
|
|
548
522
|
}
|
|
@@ -551,66 +525,31 @@ var PBRSubSurfaceConfiguration = /** @class */ (function () {
|
|
|
551
525
|
}
|
|
552
526
|
return currentRank;
|
|
553
527
|
};
|
|
554
|
-
|
|
555
|
-
* Add the required uniforms to the current list.
|
|
556
|
-
* @param uniforms defines the current uniform list.
|
|
557
|
-
*/
|
|
558
|
-
PBRSubSurfaceConfiguration.AddUniforms = function (uniforms) {
|
|
559
|
-
uniforms.push("vDiffusionDistance", "vTintColor", "vSubSurfaceIntensity", "vRefractionMicrosurfaceInfos", "vRefractionFilteringInfo", "vRefractionInfos", "vThicknessInfos", "vRefractionIntensityInfos", "vTranslucencyIntensityInfos", "vThicknessParam", "vRefractionPosition", "vRefractionSize", "refractionMatrix", "thicknessMatrix", "refractionIntensityMatrix", "translucencyIntensityMatrix", "scatteringDiffusionProfile");
|
|
560
|
-
};
|
|
561
|
-
/**
|
|
562
|
-
* Add the required samplers to the current list.
|
|
563
|
-
* @param samplers defines the current sampler list.
|
|
564
|
-
*/
|
|
565
|
-
PBRSubSurfaceConfiguration.AddSamplers = function (samplers) {
|
|
528
|
+
PBRSubSurfaceConfiguration.prototype.getSamplers = function (samplers) {
|
|
566
529
|
samplers.push("thicknessSampler", "refractionIntensitySampler", "translucencyIntensitySampler", "refractionSampler", "refractionSamplerLow", "refractionSamplerHigh");
|
|
567
530
|
};
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
};
|
|
591
|
-
/**
|
|
592
|
-
* Makes a duplicate of the current configuration into another one.
|
|
593
|
-
* @param configuration define the config where to copy the info
|
|
594
|
-
*/
|
|
595
|
-
PBRSubSurfaceConfiguration.prototype.copyTo = function (configuration) {
|
|
596
|
-
SerializationHelper.Clone(function () { return configuration; }, this);
|
|
597
|
-
};
|
|
598
|
-
/**
|
|
599
|
-
* Serializes this Sub Surface configuration.
|
|
600
|
-
* @returns - An object with the serialized config.
|
|
601
|
-
*/
|
|
602
|
-
PBRSubSurfaceConfiguration.prototype.serialize = function () {
|
|
603
|
-
return SerializationHelper.Serialize(this);
|
|
604
|
-
};
|
|
605
|
-
/**
|
|
606
|
-
* Parses a anisotropy Configuration from a serialized object.
|
|
607
|
-
* @param source - Serialized object.
|
|
608
|
-
* @param scene Defines the scene we are parsing for
|
|
609
|
-
* @param rootUrl Defines the rootUrl to load from
|
|
610
|
-
*/
|
|
611
|
-
PBRSubSurfaceConfiguration.prototype.parse = function (source, scene, rootUrl) {
|
|
612
|
-
var _this = this;
|
|
613
|
-
SerializationHelper.Parse(function () { return _this; }, source, scene, rootUrl);
|
|
531
|
+
PBRSubSurfaceConfiguration.prototype.getUniforms = function () {
|
|
532
|
+
return {
|
|
533
|
+
ubo: [
|
|
534
|
+
{ name: "vRefractionMicrosurfaceInfos", size: 4, type: "vec4" },
|
|
535
|
+
{ name: "vRefractionFilteringInfo", size: 2, type: "vec2" },
|
|
536
|
+
{ name: "vTranslucencyIntensityInfos", size: 2, type: "vec2" },
|
|
537
|
+
{ name: "vRefractionInfos", size: 4, type: "vec4" },
|
|
538
|
+
{ name: "refractionMatrix", size: 16, type: "mat4" },
|
|
539
|
+
{ name: "vThicknessInfos", size: 2, type: "vec2" },
|
|
540
|
+
{ name: "vRefractionIntensityInfos", size: 2, type: "vec2" },
|
|
541
|
+
{ name: "thicknessMatrix", size: 16, type: "mat4" },
|
|
542
|
+
{ name: "refractionIntensityMatrix", size: 16, type: "mat4" },
|
|
543
|
+
{ name: "translucencyIntensityMatrix", size: 16, type: "mat4" },
|
|
544
|
+
{ name: "vThicknessParam", size: 2, type: "vec2" },
|
|
545
|
+
{ name: "vDiffusionDistance", size: 3, type: "vec3" },
|
|
546
|
+
{ name: "vTintColor", size: 4, type: "vec4" },
|
|
547
|
+
{ name: "vSubSurfaceIntensity", size: 3, type: "vec3" },
|
|
548
|
+
{ name: "vRefractionPosition", size: 3, type: "vec3" },
|
|
549
|
+
{ name: "vRefractionSize", size: 3, type: "vec3" },
|
|
550
|
+
{ name: "scatteringDiffusionProfile", size: 1, type: "float" },
|
|
551
|
+
],
|
|
552
|
+
};
|
|
614
553
|
};
|
|
615
554
|
__decorate([
|
|
616
555
|
serialize(),
|
|
@@ -700,6 +639,6 @@ var PBRSubSurfaceConfiguration = /** @class */ (function () {
|
|
|
700
639
|
expandToProperty("_markAllSubMeshesAsTexturesDirty")
|
|
701
640
|
], PBRSubSurfaceConfiguration.prototype, "useGltfStyleTextures", void 0);
|
|
702
641
|
return PBRSubSurfaceConfiguration;
|
|
703
|
-
}());
|
|
642
|
+
}(MaterialPluginBase));
|
|
704
643
|
export { PBRSubSurfaceConfiguration };
|
|
705
644
|
//# sourceMappingURL=pbrSubSurfaceConfiguration.js.map
|