@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
|
@@ -52,7 +52,7 @@ export declare type IFresnelParametersSerialized = {
|
|
|
52
52
|
};
|
|
53
53
|
/**
|
|
54
54
|
* This represents all the required information to add a fresnel effect on a material:
|
|
55
|
-
* @see https://doc.babylonjs.com/
|
|
55
|
+
* @see https://doc.babylonjs.com/divingDeeper/materials/using/fresnelParameters
|
|
56
56
|
*/
|
|
57
57
|
export declare class FresnelParameters {
|
|
58
58
|
private _isEnabled;
|
|
@@ -4,7 +4,7 @@ import { Engine } from "../Engines/engine.js";
|
|
|
4
4
|
import { SerializationHelper } from "../Misc/decorators.js";
|
|
5
5
|
/**
|
|
6
6
|
* This represents all the required information to add a fresnel effect on a material:
|
|
7
|
-
* @see https://doc.babylonjs.com/
|
|
7
|
+
* @see https://doc.babylonjs.com/divingDeeper/materials/using/fresnelParameters
|
|
8
8
|
*/
|
|
9
9
|
var FresnelParameters = /** @class */ (function () {
|
|
10
10
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fresnelParameters.js","sourceRoot":"","sources":["../../../sourceES6/core/Materials/fresnelParameters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AA+DzD;;;GAGG;AACH;IAqCI;;;;OAIG;IACH,2BAAmB,OAA+C;QAA/C,wBAAA,EAAA,YAA+C;QAzC1D,eAAU,GAAG,IAAI,CAAC;QA0CtB,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QAC5D,IAAI,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QAC/D,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACrD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACvD,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE;YAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SAC1B;IACL,CAAC;IA7CD,sBAAW,wCAAS;QAHpB;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;aACD,UAAqB,KAAc;YAC/B,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;gBAC3B,OAAO;aACV;YAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,MAAM,CAAC,uBAAuB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3C,CAAC;;;OARA;IA6CD;;;OAGG;IACI,iCAAK,GAAZ;QACI,IAAI,oBAAoB,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAEnD,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QAEhD,OAAO,oBAAoB,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACI,kCAAM,GAAb,UAAc,sBAAwD;QAClE,OAAO,sBAAsB;YACzB,IAAI,CAAC,IAAI,KAAK,sBAAsB,CAAC,IAAI;YACzC,IAAI,CAAC,KAAK,KAAK,sBAAsB,CAAC,KAAK;YAC3C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,sBAAsB,CAAC,SAAS,CAAC;YACvD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,sBAAsB,CAAC,UAAU,CAAC;YACzD,IAAI,CAAC,SAAS,KAAK,sBAAsB,CAAC,SAAS,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACI,qCAAS,GAAhB;QACI,OAAO;YACH,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;YACnC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;YACrC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC;IACN,CAAC;IAED;;;;OAIG;IACW,uBAAK,GAAnB,UAAoB,uBAAqD;QACrE,OAAO,IAAI,iBAAiB,CAAC;YACzB,SAAS,EAAE,uBAAuB,CAAC,SAAS;YAC5C,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,SAAS,CAAC;YAC9D,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,UAAU,CAAC;YAChE,IAAI,EAAE,uBAAuB,CAAC,IAAI;YAClC,KAAK,EAAE,uBAAuB,CAAC,KAAK,IAAI,GAAG;SAC9C,CAAC,CAAC;IACP,CAAC;IACL,wBAAC;AAAD,CAAC,AA1GD,IA0GC;;AAED,+BAA+B;AAC/B,mBAAmB,CAAC,wBAAwB,GAAG,iBAAiB,CAAC,KAAK,CAAC","sourcesContent":["import { DeepCopier } from \"../Misc/deepCopier\";\r\nimport { DeepImmutable } from '../types';\r\nimport { Color3 } from \"../Maths/math.color\";\r\nimport { Engine } from \"../Engines/engine\";\r\nimport { SerializationHelper } from \"../Misc/decorators\";\r\n\r\n\r\n/**\r\n * Options to be used when creating a FresnelParameters.\r\n */\r\nexport type IFresnelParametersCreationOptions = {\r\n /**\r\n * Define the color used on edges (grazing angle)\r\n */\r\n leftColor?: Color3;\r\n\r\n /**\r\n * Define the color used on center\r\n */\r\n rightColor?: Color3;\r\n\r\n /**\r\n * Define bias applied to computed fresnel term\r\n */\r\n bias?: number;\r\n\r\n /**\r\n * Defined the power exponent applied to fresnel term\r\n */\r\n power?: number;\r\n\r\n /**\r\n * Define if the fresnel effect is enable or not.\r\n */\r\n isEnabled?: boolean;\r\n};\r\n\r\n/**\r\n * Serialized format for FresnelParameters.\r\n */\r\nexport type IFresnelParametersSerialized = {\r\n /**\r\n * Define the color used on edges (grazing angle) [as an array]\r\n */\r\n leftColor: number[];\r\n\r\n /**\r\n * Define the color used on center [as an array]\r\n */\r\n rightColor: number[];\r\n\r\n /**\r\n * Define bias applied to computed fresnel term\r\n */\r\n bias: number;\r\n\r\n /**\r\n * Defined the power exponent applied to fresnel term\r\n */\r\n power?: number;\r\n\r\n /**\r\n * Define if the fresnel effect is enable or not.\r\n */\r\n isEnabled: boolean;\r\n};\r\n\r\n/**\r\n * This represents all the required information to add a fresnel effect on a material:\r\n * @see https://doc.babylonjs.com/
|
|
1
|
+
{"version":3,"file":"fresnelParameters.js","sourceRoot":"","sources":["../../../sourceES6/core/Materials/fresnelParameters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AA+DzD;;;GAGG;AACH;IAqCI;;;;OAIG;IACH,2BAAmB,OAA+C;QAA/C,wBAAA,EAAA,YAA+C;QAzC1D,eAAU,GAAG,IAAI,CAAC;QA0CtB,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QAC5D,IAAI,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QAC/D,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACrD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACvD,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE;YAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SAC1B;IACL,CAAC;IA7CD,sBAAW,wCAAS;QAHpB;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;aACD,UAAqB,KAAc;YAC/B,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;gBAC3B,OAAO;aACV;YAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,MAAM,CAAC,uBAAuB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3C,CAAC;;;OARA;IA6CD;;;OAGG;IACI,iCAAK,GAAZ;QACI,IAAI,oBAAoB,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAEnD,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QAEhD,OAAO,oBAAoB,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACI,kCAAM,GAAb,UAAc,sBAAwD;QAClE,OAAO,sBAAsB;YACzB,IAAI,CAAC,IAAI,KAAK,sBAAsB,CAAC,IAAI;YACzC,IAAI,CAAC,KAAK,KAAK,sBAAsB,CAAC,KAAK;YAC3C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,sBAAsB,CAAC,SAAS,CAAC;YACvD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,sBAAsB,CAAC,UAAU,CAAC;YACzD,IAAI,CAAC,SAAS,KAAK,sBAAsB,CAAC,SAAS,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACI,qCAAS,GAAhB;QACI,OAAO;YACH,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;YACnC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;YACrC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC;IACN,CAAC;IAED;;;;OAIG;IACW,uBAAK,GAAnB,UAAoB,uBAAqD;QACrE,OAAO,IAAI,iBAAiB,CAAC;YACzB,SAAS,EAAE,uBAAuB,CAAC,SAAS;YAC5C,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,SAAS,CAAC;YAC9D,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,UAAU,CAAC;YAChE,IAAI,EAAE,uBAAuB,CAAC,IAAI;YAClC,KAAK,EAAE,uBAAuB,CAAC,KAAK,IAAI,GAAG;SAC9C,CAAC,CAAC;IACP,CAAC;IACL,wBAAC;AAAD,CAAC,AA1GD,IA0GC;;AAED,+BAA+B;AAC/B,mBAAmB,CAAC,wBAAwB,GAAG,iBAAiB,CAAC,KAAK,CAAC","sourcesContent":["import { DeepCopier } from \"../Misc/deepCopier\";\r\nimport { DeepImmutable } from '../types';\r\nimport { Color3 } from \"../Maths/math.color\";\r\nimport { Engine } from \"../Engines/engine\";\r\nimport { SerializationHelper } from \"../Misc/decorators\";\r\n\r\n\r\n/**\r\n * Options to be used when creating a FresnelParameters.\r\n */\r\nexport type IFresnelParametersCreationOptions = {\r\n /**\r\n * Define the color used on edges (grazing angle)\r\n */\r\n leftColor?: Color3;\r\n\r\n /**\r\n * Define the color used on center\r\n */\r\n rightColor?: Color3;\r\n\r\n /**\r\n * Define bias applied to computed fresnel term\r\n */\r\n bias?: number;\r\n\r\n /**\r\n * Defined the power exponent applied to fresnel term\r\n */\r\n power?: number;\r\n\r\n /**\r\n * Define if the fresnel effect is enable or not.\r\n */\r\n isEnabled?: boolean;\r\n};\r\n\r\n/**\r\n * Serialized format for FresnelParameters.\r\n */\r\nexport type IFresnelParametersSerialized = {\r\n /**\r\n * Define the color used on edges (grazing angle) [as an array]\r\n */\r\n leftColor: number[];\r\n\r\n /**\r\n * Define the color used on center [as an array]\r\n */\r\n rightColor: number[];\r\n\r\n /**\r\n * Define bias applied to computed fresnel term\r\n */\r\n bias: number;\r\n\r\n /**\r\n * Defined the power exponent applied to fresnel term\r\n */\r\n power?: number;\r\n\r\n /**\r\n * Define if the fresnel effect is enable or not.\r\n */\r\n isEnabled: boolean;\r\n};\r\n\r\n/**\r\n * This represents all the required information to add a fresnel effect on a material:\r\n * @see https://doc.babylonjs.com/divingDeeper/materials/using/fresnelParameters\r\n */\r\nexport class FresnelParameters {\r\n private _isEnabled = true;\r\n /**\r\n * Define if the fresnel effect is enable or not.\r\n */\r\n public get isEnabled(): boolean {\r\n return this._isEnabled;\r\n }\r\n public set isEnabled(value: boolean) {\r\n if (this._isEnabled === value) {\r\n return;\r\n }\r\n\r\n this._isEnabled = value;\r\n Engine.MarkAllMaterialsAsDirty(4 | 16);\r\n }\r\n\r\n /**\r\n * Define the color used on edges (grazing angle)\r\n */\r\n public leftColor: Color3;\r\n\r\n /**\r\n * Define the color used on center\r\n */\r\n public rightColor: Color3;\r\n\r\n /**\r\n * Define bias applied to computed fresnel term\r\n */\r\n public bias: number;\r\n\r\n /**\r\n * Defined the power exponent applied to fresnel term\r\n */\r\n public power: number;\r\n\r\n /**\r\n * Creates a new FresnelParameters object.\r\n *\r\n * @param options provide your own settings to optionally to override defaults\r\n */\r\n public constructor(options: IFresnelParametersCreationOptions = {}) {\r\n this.bias = (options.bias === undefined) ? 0 : options.bias;\r\n this.power = (options.power === undefined) ? 1 : options.power;\r\n this.leftColor = options.leftColor || Color3.White();\r\n this.rightColor = options.rightColor || Color3.Black();\r\n if (options.isEnabled === false) {\r\n this.isEnabled = false;\r\n }\r\n }\r\n\r\n /**\r\n * Clones the current fresnel and its values\r\n * @returns a clone fresnel configuration\r\n */\r\n public clone(): FresnelParameters {\r\n var newFresnelParameters = new FresnelParameters();\r\n\r\n DeepCopier.DeepCopy(this, newFresnelParameters);\r\n\r\n return newFresnelParameters;\r\n }\r\n\r\n /**\r\n * Determines equality between FresnelParameters objects\r\n * @param otherFresnelParameters defines the second operand\r\n * @returns true if the power, bias, leftColor, rightColor and isEnabled values are equal to the given ones\r\n */\r\n public equals(otherFresnelParameters: DeepImmutable<FresnelParameters>): boolean {\r\n return otherFresnelParameters &&\r\n this.bias === otherFresnelParameters.bias &&\r\n this.power === otherFresnelParameters.power &&\r\n this.leftColor.equals(otherFresnelParameters.leftColor) &&\r\n this.rightColor.equals(otherFresnelParameters.rightColor) &&\r\n this.isEnabled === otherFresnelParameters.isEnabled;\r\n }\r\n\r\n /**\r\n * Serializes the current fresnel parameters to a JSON representation.\r\n * @return the JSON serialization\r\n */\r\n public serialize(): IFresnelParametersSerialized {\r\n return {\r\n isEnabled: this.isEnabled,\r\n leftColor: this.leftColor.asArray(),\r\n rightColor: this.rightColor.asArray(),\r\n bias: this.bias,\r\n power: this.power\r\n };\r\n }\r\n\r\n /**\r\n * Parse a JSON object and deserialize it to a new Fresnel parameter object.\r\n * @param parsedFresnelParameters Define the JSON representation\r\n * @returns the parsed parameters\r\n */\r\n public static Parse(parsedFresnelParameters: IFresnelParametersSerialized): FresnelParameters {\r\n return new FresnelParameters({\r\n isEnabled: parsedFresnelParameters.isEnabled,\r\n leftColor: Color3.FromArray(parsedFresnelParameters.leftColor),\r\n rightColor: Color3.FromArray(parsedFresnelParameters.rightColor),\r\n bias: parsedFresnelParameters.bias,\r\n power: parsedFresnelParameters.power || 1.0\r\n });\r\n }\r\n}\r\n\r\n// References the dependencies.\r\nSerializationHelper._FresnelParametersParser = FresnelParameters.Parse;"]}
|
package/Materials/index.d.ts
CHANGED
|
@@ -23,3 +23,7 @@ export * from "./Node/index";
|
|
|
23
23
|
export * from "./effectRenderer";
|
|
24
24
|
export * from "./shadowDepthWrapper";
|
|
25
25
|
export * from "./drawWrapper";
|
|
26
|
+
export * from "./materialPluginBase";
|
|
27
|
+
export * from "./materialPluginManager";
|
|
28
|
+
export * from "./material.detailMapConfiguration";
|
|
29
|
+
export * from "./materialPluginFactoryExport";
|
package/Materials/index.js
CHANGED
|
@@ -23,4 +23,8 @@ export * from "./Node/index.js";
|
|
|
23
23
|
export * from "./effectRenderer.js";
|
|
24
24
|
export * from "./shadowDepthWrapper.js";
|
|
25
25
|
export * from "./drawWrapper.js";
|
|
26
|
+
export * from "./materialPluginBase.js";
|
|
27
|
+
export * from "./materialPluginManager.js";
|
|
28
|
+
export * from "./material.detailMapConfiguration.js";
|
|
29
|
+
export * from "./materialPluginFactoryExport.js";
|
|
26
30
|
//# sourceMappingURL=index.js.map
|
package/Materials/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../sourceES6/core/Materials/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC","sourcesContent":["export * from \"./Background/index\";\r\nexport * from \"./colorCurves\";\r\nexport * from \"./iEffectFallbacks\";\r\nexport * from \"./effectFallbacks\";\r\nexport * from \"./effect\";\r\nexport * from \"./fresnelParameters\";\r\nexport * from \"./imageProcessingConfiguration\";\r\nexport * from \"./material\";\r\nexport * from \"./materialDefines\";\r\nexport * from \"./thinMaterialHelper\";\r\nexport * from \"./materialHelper\";\r\nexport * from \"./multiMaterial\";\r\nexport * from \"./Occlusion/index\";\r\nexport * from \"./PBR/index\";\r\nexport * from \"./pushMaterial\";\r\nexport * from \"./shaderLanguage\";\r\nexport * from \"./shaderMaterial\";\r\nexport * from \"./standardMaterial\";\r\nexport * from \"./Textures/index\";\r\nexport * from \"./uniformBuffer\";\r\nexport * from \"./materialFlags\";\r\nexport * from \"./Node/index\";\r\nexport * from \"./effectRenderer\";\r\nexport * from \"./shadowDepthWrapper\";\r\nexport * from \"./drawWrapper\";\r\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../sourceES6/core/Materials/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC","sourcesContent":["export * from \"./Background/index\";\r\nexport * from \"./colorCurves\";\r\nexport * from \"./iEffectFallbacks\";\r\nexport * from \"./effectFallbacks\";\r\nexport * from \"./effect\";\r\nexport * from \"./fresnelParameters\";\r\nexport * from \"./imageProcessingConfiguration\";\r\nexport * from \"./material\";\r\nexport * from \"./materialDefines\";\r\nexport * from \"./thinMaterialHelper\";\r\nexport * from \"./materialHelper\";\r\nexport * from \"./multiMaterial\";\r\nexport * from \"./Occlusion/index\";\r\nexport * from \"./PBR/index\";\r\nexport * from \"./pushMaterial\";\r\nexport * from \"./shaderLanguage\";\r\nexport * from \"./shaderMaterial\";\r\nexport * from \"./standardMaterial\";\r\nexport * from \"./Textures/index\";\r\nexport * from \"./uniformBuffer\";\r\nexport * from \"./materialFlags\";\r\nexport * from \"./Node/index\";\r\nexport * from \"./effectRenderer\";\r\nexport * from \"./shadowDepthWrapper\";\r\nexport * from \"./drawWrapper\";\r\nexport * from \"./materialPluginBase\";\r\nexport * from \"./materialPluginManager\";\r\nexport * from \"./material.detailMapConfiguration\";\r\nexport * from \"./materialPluginFactoryExport\";\r\n"]}
|
package/Materials/material.d.ts
CHANGED
|
@@ -17,6 +17,8 @@ import { DrawWrapper } from "./drawWrapper";
|
|
|
17
17
|
import { MaterialStencilState } from "./materialStencilState";
|
|
18
18
|
import { Scene } from "../scene";
|
|
19
19
|
import { AbstractScene } from "../abstractScene";
|
|
20
|
+
import { MaterialPluginDisposed, MaterialPluginIsReadyForSubMesh, MaterialPluginGetDefineNames, MaterialPluginBindForSubMesh, MaterialPluginGetActiveTextures, MaterialPluginHasTexture, MaterialPluginGetAnimatables, MaterialPluginPrepareDefines, MaterialPluginPrepareEffect, MaterialPluginPrepareUniformBuffer, MaterialPluginCreated, MaterialPluginFillRenderTargetTextures, MaterialPluginHasRenderTargetTextures, MaterialPluginHardBindForSubMesh } from "./materialPluginEvent";
|
|
21
|
+
import { ShaderCustomProcessingFunction } from "../Engines/Processors/shaderProcessingOptions";
|
|
20
22
|
declare type PrePassRenderer = import("../Rendering/prePassRenderer").PrePassRenderer;
|
|
21
23
|
declare type Mesh = import("../Meshes/mesh").Mesh;
|
|
22
24
|
declare type Animation = import("../Animations/animation").Animation;
|
|
@@ -40,7 +42,7 @@ export interface ICustomShaderNameResolveOptions {
|
|
|
40
42
|
/**
|
|
41
43
|
* If provided, will be called two times with the vertex and fragment code so that this code can be updated before it is compiled by the GPU
|
|
42
44
|
*/
|
|
43
|
-
processFinalCode?: Nullable<
|
|
45
|
+
processFinalCode?: Nullable<ShaderCustomProcessingFunction>;
|
|
44
46
|
}
|
|
45
47
|
/**
|
|
46
48
|
* Base class for the main features of a material in Babylon.js
|
|
@@ -145,6 +147,10 @@ export declare class Material implements IAnimatable {
|
|
|
145
147
|
* Details of the algorithm can be found here: https://blog.selfshadow.com/publications/blending-in-detail/
|
|
146
148
|
*/
|
|
147
149
|
static readonly MATERIAL_NORMALBLENDMETHOD_RNM = 1;
|
|
150
|
+
/**
|
|
151
|
+
* Event observable which raises global events common to all materials (like MaterialPluginEvent.Created)
|
|
152
|
+
*/
|
|
153
|
+
static OnEventObservable: Observable<Material>;
|
|
148
154
|
/**
|
|
149
155
|
* Custom callback helping to override the default shader used in the material.
|
|
150
156
|
*/
|
|
@@ -458,8 +464,9 @@ export declare class Material implements IAnimatable {
|
|
|
458
464
|
private _cachedDepthFunctionState;
|
|
459
465
|
/**
|
|
460
466
|
* Stores the uniform buffer
|
|
467
|
+
* @hidden
|
|
461
468
|
*/
|
|
462
|
-
|
|
469
|
+
_uniformBuffer: UniformBuffer;
|
|
463
470
|
/** @hidden */
|
|
464
471
|
_indexInSceneMaterialArray: number;
|
|
465
472
|
/** @hidden */
|
|
@@ -468,6 +475,27 @@ export declare class Material implements IAnimatable {
|
|
|
468
475
|
}>;
|
|
469
476
|
/** @hidden */
|
|
470
477
|
_parentContainer: Nullable<AbstractScene>;
|
|
478
|
+
/** @hidden */
|
|
479
|
+
_dirtyCallbacks: {
|
|
480
|
+
[code: number]: () => void;
|
|
481
|
+
};
|
|
482
|
+
/** @hidden */
|
|
483
|
+
_uniformBufferLayoutBuilt: boolean;
|
|
484
|
+
protected _eventInfo: MaterialPluginCreated & MaterialPluginDisposed & MaterialPluginHasTexture & MaterialPluginIsReadyForSubMesh & MaterialPluginGetDefineNames & MaterialPluginPrepareEffect & MaterialPluginPrepareDefines & MaterialPluginPrepareUniformBuffer & MaterialPluginBindForSubMesh & MaterialPluginGetAnimatables & MaterialPluginGetActiveTextures & MaterialPluginFillRenderTargetTextures & MaterialPluginHasRenderTargetTextures & MaterialPluginHardBindForSubMesh;
|
|
485
|
+
/** @hidden */
|
|
486
|
+
_callbackPluginEventGeneric: (id: number, info: MaterialPluginGetActiveTextures | MaterialPluginGetAnimatables | MaterialPluginHasTexture | MaterialPluginDisposed | MaterialPluginGetDefineNames | MaterialPluginPrepareEffect | MaterialPluginPrepareUniformBuffer) => void;
|
|
487
|
+
/** @hidden */
|
|
488
|
+
_callbackPluginEventIsReadyForSubMesh: (eventData: MaterialPluginIsReadyForSubMesh) => void;
|
|
489
|
+
/** @hidden */
|
|
490
|
+
_callbackPluginEventPrepareDefines: (eventData: MaterialPluginPrepareDefines) => void;
|
|
491
|
+
/** @hidden */
|
|
492
|
+
_callbackPluginEventHardBindForSubMesh: (eventData: MaterialPluginHardBindForSubMesh) => void;
|
|
493
|
+
/** @hidden */
|
|
494
|
+
_callbackPluginEventBindForSubMesh: (eventData: MaterialPluginBindForSubMesh) => void;
|
|
495
|
+
/** @hidden */
|
|
496
|
+
_callbackPluginEventHasRenderTargetTextures: (eventData: MaterialPluginHasRenderTargetTextures) => void;
|
|
497
|
+
/** @hidden */
|
|
498
|
+
_callbackPluginEventFillRenderTargetTextures: (eventData: MaterialPluginFillRenderTargetTextures) => void;
|
|
471
499
|
/**
|
|
472
500
|
* Creates a material instance
|
|
473
501
|
* @param name defines the name of the material
|
|
@@ -589,6 +617,10 @@ export declare class Material implements IAnimatable {
|
|
|
589
617
|
* @param mesh defines the mesh to bind the material to
|
|
590
618
|
*/
|
|
591
619
|
bind(world: Matrix, mesh?: Mesh): void;
|
|
620
|
+
/**
|
|
621
|
+
* Initializes the uniform buffer layout for the shader.
|
|
622
|
+
*/
|
|
623
|
+
buildUniformLayout(): void;
|
|
592
624
|
/**
|
|
593
625
|
* Binds the submesh to the material
|
|
594
626
|
* @param world defines the world transformation matrix
|
|
@@ -626,6 +658,11 @@ export declare class Material implements IAnimatable {
|
|
|
626
658
|
* Unbinds the material from the mesh
|
|
627
659
|
*/
|
|
628
660
|
unbind(): void;
|
|
661
|
+
/**
|
|
662
|
+
* Returns the animatable textures.
|
|
663
|
+
* @returns - Array of animatable textures.
|
|
664
|
+
*/
|
|
665
|
+
getAnimatables(): IAnimatable[];
|
|
629
666
|
/**
|
|
630
667
|
* Gets the active textures from the material
|
|
631
668
|
* @returns an array of textures
|
|
@@ -680,6 +717,10 @@ export declare class Material implements IAnimatable {
|
|
|
680
717
|
* @param flag defines a flag used to determine which parts of the material have to be marked as dirty
|
|
681
718
|
*/
|
|
682
719
|
markAsDirty(flag: number): void;
|
|
720
|
+
/**
|
|
721
|
+
* Resets the draw wrappers cache for all submeshes that are using this material
|
|
722
|
+
*/
|
|
723
|
+
resetDrawCache(): void;
|
|
683
724
|
/**
|
|
684
725
|
* Marks all submeshes of a material to indicate that their material defines need to be re-calculated
|
|
685
726
|
* @param func defines a function which checks material defines against the submeshes
|
|
@@ -1,27 +1,32 @@
|
|
|
1
1
|
import { Nullable } from "../types";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { BaseTexture } from "./Textures/baseTexture";
|
|
3
|
+
import { UniformBuffer } from "./uniformBuffer";
|
|
4
|
+
import { IAnimatable } from "../Animations/animatable.interface";
|
|
5
|
+
import { MaterialDefines } from "./materialDefines";
|
|
6
|
+
import { MaterialPluginBase } from "./materialPluginBase";
|
|
7
|
+
import { SubMesh } from "../Meshes/subMesh";
|
|
8
|
+
declare type Engine = import("../Engines/engine").Engine;
|
|
9
|
+
declare type Scene = import("../scene").Scene;
|
|
10
|
+
declare type AbstractMesh = import("../Meshes/abstractMesh").AbstractMesh;
|
|
11
|
+
declare type StandardMaterial = import("./standardMaterial").StandardMaterial;
|
|
12
|
+
declare type PBRBaseMaterial = import("./PBR/pbrBaseMaterial").PBRBaseMaterial;
|
|
6
13
|
/**
|
|
7
14
|
* @hidden
|
|
8
15
|
*/
|
|
9
|
-
export
|
|
16
|
+
export declare class MaterialDetailMapDefines extends MaterialDefines {
|
|
10
17
|
DETAIL: boolean;
|
|
11
18
|
DETAILDIRECTUV: number;
|
|
12
19
|
DETAIL_NORMALBLENDMETHOD: number;
|
|
13
|
-
/** @hidden */
|
|
14
|
-
_areTexturesDirty: boolean;
|
|
15
20
|
}
|
|
16
21
|
/**
|
|
17
|
-
*
|
|
22
|
+
* Plugin that implements the detail map component of a material
|
|
18
23
|
*
|
|
19
24
|
* Inspired from:
|
|
20
25
|
* Unity: https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@9.0/manual/Mask-Map-and-Detail-Map.html and https://docs.unity3d.com/Manual/StandardShaderMaterialParameterDetail.html
|
|
21
26
|
* Unreal: https://docs.unrealengine.com/en-US/Engine/Rendering/Materials/HowTo/DetailTexturing/index.html
|
|
22
27
|
* Cryengine: https://docs.cryengine.com/display/SDKDOC2/Detail+Maps
|
|
23
28
|
*/
|
|
24
|
-
export declare class DetailMapConfiguration {
|
|
29
|
+
export declare class DetailMapConfiguration extends MaterialPluginBase {
|
|
25
30
|
private _texture;
|
|
26
31
|
/**
|
|
27
32
|
* The detail texture of the material.
|
|
@@ -56,87 +61,24 @@ export declare class DetailMapConfiguration {
|
|
|
56
61
|
private _internalMarkAllSubMeshesAsTexturesDirty;
|
|
57
62
|
/** @hidden */
|
|
58
63
|
_markAllSubMeshesAsTexturesDirty(): void;
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
constructor(markAllSubMeshesAsTexturesDirty: () => void);
|
|
64
|
-
/**
|
|
65
|
-
* Gets whether the submesh is ready to be used or not.
|
|
66
|
-
* @param defines the list of "defines" to update.
|
|
67
|
-
* @param scene defines the scene the material belongs to.
|
|
68
|
-
* @returns - boolean indicating that the submesh is ready or not.
|
|
69
|
-
*/
|
|
70
|
-
isReadyForSubMesh(defines: IMaterialDetailMapDefines, scene: Scene): boolean;
|
|
71
|
-
/**
|
|
72
|
-
* Update the defines for detail map usage
|
|
73
|
-
* @param defines the list of "defines" to update.
|
|
74
|
-
* @param scene defines the scene the material belongs to.
|
|
75
|
-
*/
|
|
76
|
-
prepareDefines(defines: IMaterialDetailMapDefines, scene: Scene): void;
|
|
77
|
-
/**
|
|
78
|
-
* Binds the material data.
|
|
79
|
-
* @param uniformBuffer defines the Uniform buffer to fill in.
|
|
80
|
-
* @param scene defines the scene the material belongs to.
|
|
81
|
-
* @param isFrozen defines whether the material is frozen or not.
|
|
82
|
-
*/
|
|
83
|
-
bindForSubMesh(uniformBuffer: UniformBuffer, scene: Scene, isFrozen: boolean): void;
|
|
84
|
-
/**
|
|
85
|
-
* Checks to see if a texture is used in the material.
|
|
86
|
-
* @param texture - Base texture to use.
|
|
87
|
-
* @returns - Boolean specifying if a texture is used in the material.
|
|
88
|
-
*/
|
|
64
|
+
constructor(material: PBRBaseMaterial | StandardMaterial, addToPluginList?: boolean);
|
|
65
|
+
isReadyForSubMesh(defines: MaterialDetailMapDefines, scene: Scene, engine: Engine): boolean;
|
|
66
|
+
prepareDefines(defines: MaterialDetailMapDefines, scene: Scene, mesh: AbstractMesh): void;
|
|
67
|
+
bindForSubMesh(uniformBuffer: UniformBuffer, scene: Scene, engine: Engine, subMesh: SubMesh): void;
|
|
89
68
|
hasTexture(texture: BaseTexture): boolean;
|
|
90
|
-
/**
|
|
91
|
-
* Returns an array of the actively used textures.
|
|
92
|
-
* @param activeTextures Array of BaseTextures
|
|
93
|
-
*/
|
|
94
69
|
getActiveTextures(activeTextures: BaseTexture[]): void;
|
|
95
|
-
/**
|
|
96
|
-
* Returns the animatable textures.
|
|
97
|
-
* @param animatables Array of animatable textures.
|
|
98
|
-
*/
|
|
99
70
|
getAnimatables(animatables: IAnimatable[]): void;
|
|
100
|
-
/**
|
|
101
|
-
* Disposes the resources of the material.
|
|
102
|
-
* @param forceDisposeTextures - Forces the disposal of all textures.
|
|
103
|
-
*/
|
|
104
71
|
dispose(forceDisposeTextures?: boolean): void;
|
|
105
|
-
/**
|
|
106
|
-
* Get the current class name useful for serialization or dynamic coding.
|
|
107
|
-
* @returns "DetailMapConfiguration"
|
|
108
|
-
*/
|
|
109
72
|
getClassName(): string;
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* Add the required uniforms to the current buffer.
|
|
122
|
-
* @param uniformBuffer defines the current uniform buffer.
|
|
123
|
-
*/
|
|
124
|
-
static PrepareUniformBuffer(uniformBuffer: UniformBuffer): void;
|
|
125
|
-
/**
|
|
126
|
-
* Makes a duplicate of the current instance into another one.
|
|
127
|
-
* @param detailMap define the instance where to copy the info
|
|
128
|
-
*/
|
|
129
|
-
copyTo(detailMap: DetailMapConfiguration): void;
|
|
130
|
-
/**
|
|
131
|
-
* Serializes this detail map instance
|
|
132
|
-
* @returns - An object with the serialized instance.
|
|
133
|
-
*/
|
|
134
|
-
serialize(): any;
|
|
135
|
-
/**
|
|
136
|
-
* Parses a detail map setting from a serialized object.
|
|
137
|
-
* @param source - Serialized object.
|
|
138
|
-
* @param scene Defines the scene we are parsing for
|
|
139
|
-
* @param rootUrl Defines the rootUrl to load from
|
|
140
|
-
*/
|
|
141
|
-
parse(source: any, scene: Scene, rootUrl: string): void;
|
|
73
|
+
getSamplers(samplers: string[]): void;
|
|
74
|
+
getUniforms(): {
|
|
75
|
+
ubo?: Array<{
|
|
76
|
+
name: string;
|
|
77
|
+
size: number;
|
|
78
|
+
type: string;
|
|
79
|
+
}>;
|
|
80
|
+
vertex?: string;
|
|
81
|
+
fragment?: string;
|
|
82
|
+
};
|
|
142
83
|
}
|
|
84
|
+
export {};
|
|
@@ -1,61 +1,72 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
1
|
+
import { __decorate, __extends } from "tslib";
|
|
2
2
|
import { Material } from "./material.js";
|
|
3
|
-
import { serialize, expandToProperty, serializeAsTexture
|
|
4
|
-
import { MaterialFlags } from
|
|
5
|
-
import { MaterialHelper } from
|
|
3
|
+
import { serialize, expandToProperty, serializeAsTexture } from "../Misc/decorators.js";
|
|
4
|
+
import { MaterialFlags } from "./materialFlags.js";
|
|
5
|
+
import { MaterialHelper } from "./materialHelper.js";
|
|
6
|
+
import { MaterialDefines } from "./materialDefines.js";
|
|
7
|
+
import { MaterialPluginBase } from "./materialPluginBase.js";
|
|
6
8
|
/**
|
|
7
|
-
*
|
|
9
|
+
* @hidden
|
|
10
|
+
*/
|
|
11
|
+
var MaterialDetailMapDefines = /** @class */ (function (_super) {
|
|
12
|
+
__extends(MaterialDetailMapDefines, _super);
|
|
13
|
+
function MaterialDetailMapDefines() {
|
|
14
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
15
|
+
_this.DETAIL = false;
|
|
16
|
+
_this.DETAILDIRECTUV = 0;
|
|
17
|
+
_this.DETAIL_NORMALBLENDMETHOD = 0;
|
|
18
|
+
return _this;
|
|
19
|
+
}
|
|
20
|
+
return MaterialDetailMapDefines;
|
|
21
|
+
}(MaterialDefines));
|
|
22
|
+
export { MaterialDetailMapDefines };
|
|
23
|
+
/**
|
|
24
|
+
* Plugin that implements the detail map component of a material
|
|
8
25
|
*
|
|
9
26
|
* Inspired from:
|
|
10
27
|
* Unity: https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@9.0/manual/Mask-Map-and-Detail-Map.html and https://docs.unity3d.com/Manual/StandardShaderMaterialParameterDetail.html
|
|
11
28
|
* Unreal: https://docs.unrealengine.com/en-US/Engine/Rendering/Materials/HowTo/DetailTexturing/index.html
|
|
12
29
|
* Cryengine: https://docs.cryengine.com/display/SDKDOC2/Detail+Maps
|
|
13
30
|
*/
|
|
14
|
-
var DetailMapConfiguration = /** @class */ (function () {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
this._texture = null;
|
|
31
|
+
var DetailMapConfiguration = /** @class */ (function (_super) {
|
|
32
|
+
__extends(DetailMapConfiguration, _super);
|
|
33
|
+
function DetailMapConfiguration(material, addToPluginList) {
|
|
34
|
+
if (addToPluginList === void 0) { addToPluginList = true; }
|
|
35
|
+
var _this = _super.call(this, material, "DetailMap", 140, new MaterialDetailMapDefines(), addToPluginList) || this;
|
|
36
|
+
_this._texture = null;
|
|
21
37
|
/**
|
|
22
38
|
* Defines how strongly the detail diffuse/albedo channel is blended with the regular diffuse/albedo texture
|
|
23
39
|
* Bigger values mean stronger blending
|
|
24
40
|
*/
|
|
25
|
-
|
|
41
|
+
_this.diffuseBlendLevel = 1;
|
|
26
42
|
/**
|
|
27
43
|
* Defines how strongly the detail roughness channel is blended with the regular roughness value
|
|
28
44
|
* Bigger values mean stronger blending. Only used with PBR materials
|
|
29
45
|
*/
|
|
30
|
-
|
|
46
|
+
_this.roughnessBlendLevel = 1;
|
|
31
47
|
/**
|
|
32
48
|
* Defines how strong the bump effect from the detail map is
|
|
33
49
|
* Bigger values mean stronger effect
|
|
34
50
|
*/
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
51
|
+
_this.bumpLevel = 1;
|
|
52
|
+
_this._normalBlendMethod = Material.MATERIAL_NORMALBLENDMETHOD_WHITEOUT;
|
|
53
|
+
_this._isEnabled = false;
|
|
38
54
|
/**
|
|
39
55
|
* Enable or disable the detail map on this material
|
|
40
56
|
*/
|
|
41
|
-
|
|
42
|
-
|
|
57
|
+
_this.isEnabled = false;
|
|
58
|
+
_this._internalMarkAllSubMeshesAsTexturesDirty = material._dirtyCallbacks[1];
|
|
59
|
+
return _this;
|
|
43
60
|
}
|
|
44
61
|
/** @hidden */
|
|
45
62
|
DetailMapConfiguration.prototype._markAllSubMeshesAsTexturesDirty = function () {
|
|
63
|
+
this._enable(this._isEnabled);
|
|
46
64
|
this._internalMarkAllSubMeshesAsTexturesDirty();
|
|
47
65
|
};
|
|
48
|
-
|
|
49
|
-
* Gets whether the submesh is ready to be used or not.
|
|
50
|
-
* @param defines the list of "defines" to update.
|
|
51
|
-
* @param scene defines the scene the material belongs to.
|
|
52
|
-
* @returns - boolean indicating that the submesh is ready or not.
|
|
53
|
-
*/
|
|
54
|
-
DetailMapConfiguration.prototype.isReadyForSubMesh = function (defines, scene) {
|
|
66
|
+
DetailMapConfiguration.prototype.isReadyForSubMesh = function (defines, scene, engine) {
|
|
55
67
|
if (!this._isEnabled) {
|
|
56
68
|
return true;
|
|
57
69
|
}
|
|
58
|
-
var engine = scene.getEngine();
|
|
59
70
|
if (defines._areTexturesDirty && scene.texturesEnabled) {
|
|
60
71
|
if (engine.getCaps().standardDerivatives && this._texture && MaterialFlags.DetailTextureEnabled) {
|
|
61
72
|
// Detail texture cannot be not blocking.
|
|
@@ -66,12 +77,7 @@ var DetailMapConfiguration = /** @class */ (function () {
|
|
|
66
77
|
}
|
|
67
78
|
return true;
|
|
68
79
|
};
|
|
69
|
-
|
|
70
|
-
* Update the defines for detail map usage
|
|
71
|
-
* @param defines the list of "defines" to update.
|
|
72
|
-
* @param scene defines the scene the material belongs to.
|
|
73
|
-
*/
|
|
74
|
-
DetailMapConfiguration.prototype.prepareDefines = function (defines, scene) {
|
|
80
|
+
DetailMapConfiguration.prototype.prepareDefines = function (defines, scene, mesh) {
|
|
75
81
|
if (this._isEnabled) {
|
|
76
82
|
defines.DETAIL_NORMALBLENDMETHOD = this._normalBlendMethod;
|
|
77
83
|
var engine = scene.getEngine();
|
|
@@ -89,16 +95,11 @@ var DetailMapConfiguration = /** @class */ (function () {
|
|
|
89
95
|
defines.DETAIL = false;
|
|
90
96
|
}
|
|
91
97
|
};
|
|
92
|
-
|
|
93
|
-
* Binds the material data.
|
|
94
|
-
* @param uniformBuffer defines the Uniform buffer to fill in.
|
|
95
|
-
* @param scene defines the scene the material belongs to.
|
|
96
|
-
* @param isFrozen defines whether the material is frozen or not.
|
|
97
|
-
*/
|
|
98
|
-
DetailMapConfiguration.prototype.bindForSubMesh = function (uniformBuffer, scene, isFrozen) {
|
|
98
|
+
DetailMapConfiguration.prototype.bindForSubMesh = function (uniformBuffer, scene, engine, subMesh) {
|
|
99
99
|
if (!this._isEnabled) {
|
|
100
100
|
return;
|
|
101
101
|
}
|
|
102
|
+
var isFrozen = this._material.isFrozen;
|
|
102
103
|
if (!uniformBuffer.useUbo || !isFrozen || !uniformBuffer.isSync) {
|
|
103
104
|
if (this._texture && MaterialFlags.DetailTextureEnabled) {
|
|
104
105
|
uniformBuffer.updateFloat4("vDetailInfos", this._texture.coordinatesIndex, this.diffuseBlendLevel, this.bumpLevel, this.roughnessBlendLevel);
|
|
@@ -112,98 +113,41 @@ var DetailMapConfiguration = /** @class */ (function () {
|
|
|
112
113
|
}
|
|
113
114
|
}
|
|
114
115
|
};
|
|
115
|
-
/**
|
|
116
|
-
* Checks to see if a texture is used in the material.
|
|
117
|
-
* @param texture - Base texture to use.
|
|
118
|
-
* @returns - Boolean specifying if a texture is used in the material.
|
|
119
|
-
*/
|
|
120
116
|
DetailMapConfiguration.prototype.hasTexture = function (texture) {
|
|
121
117
|
if (this._texture === texture) {
|
|
122
118
|
return true;
|
|
123
119
|
}
|
|
124
120
|
return false;
|
|
125
121
|
};
|
|
126
|
-
/**
|
|
127
|
-
* Returns an array of the actively used textures.
|
|
128
|
-
* @param activeTextures Array of BaseTextures
|
|
129
|
-
*/
|
|
130
122
|
DetailMapConfiguration.prototype.getActiveTextures = function (activeTextures) {
|
|
131
123
|
if (this._texture) {
|
|
132
124
|
activeTextures.push(this._texture);
|
|
133
125
|
}
|
|
134
126
|
};
|
|
135
|
-
/**
|
|
136
|
-
* Returns the animatable textures.
|
|
137
|
-
* @param animatables Array of animatable textures.
|
|
138
|
-
*/
|
|
139
127
|
DetailMapConfiguration.prototype.getAnimatables = function (animatables) {
|
|
140
128
|
if (this._texture && this._texture.animations && this._texture.animations.length > 0) {
|
|
141
129
|
animatables.push(this._texture);
|
|
142
130
|
}
|
|
143
131
|
};
|
|
144
|
-
/**
|
|
145
|
-
* Disposes the resources of the material.
|
|
146
|
-
* @param forceDisposeTextures - Forces the disposal of all textures.
|
|
147
|
-
*/
|
|
148
132
|
DetailMapConfiguration.prototype.dispose = function (forceDisposeTextures) {
|
|
149
133
|
var _a;
|
|
150
134
|
if (forceDisposeTextures) {
|
|
151
135
|
(_a = this._texture) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
152
136
|
}
|
|
153
137
|
};
|
|
154
|
-
/**
|
|
155
|
-
* Get the current class name useful for serialization or dynamic coding.
|
|
156
|
-
* @returns "DetailMapConfiguration"
|
|
157
|
-
*/
|
|
158
138
|
DetailMapConfiguration.prototype.getClassName = function () {
|
|
159
139
|
return "DetailMapConfiguration";
|
|
160
140
|
};
|
|
161
|
-
|
|
162
|
-
* Add the required uniforms to the current list.
|
|
163
|
-
* @param uniforms defines the current uniform list.
|
|
164
|
-
*/
|
|
165
|
-
DetailMapConfiguration.AddUniforms = function (uniforms) {
|
|
166
|
-
uniforms.push("vDetailInfos");
|
|
167
|
-
uniforms.push("detailMatrix");
|
|
168
|
-
};
|
|
169
|
-
/**
|
|
170
|
-
* Add the required samplers to the current list.
|
|
171
|
-
* @param samplers defines the current sampler list.
|
|
172
|
-
*/
|
|
173
|
-
DetailMapConfiguration.AddSamplers = function (samplers) {
|
|
141
|
+
DetailMapConfiguration.prototype.getSamplers = function (samplers) {
|
|
174
142
|
samplers.push("detailSampler");
|
|
175
143
|
};
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
};
|
|
184
|
-
/**
|
|
185
|
-
* Makes a duplicate of the current instance into another one.
|
|
186
|
-
* @param detailMap define the instance where to copy the info
|
|
187
|
-
*/
|
|
188
|
-
DetailMapConfiguration.prototype.copyTo = function (detailMap) {
|
|
189
|
-
SerializationHelper.Clone(function () { return detailMap; }, this);
|
|
190
|
-
};
|
|
191
|
-
/**
|
|
192
|
-
* Serializes this detail map instance
|
|
193
|
-
* @returns - An object with the serialized instance.
|
|
194
|
-
*/
|
|
195
|
-
DetailMapConfiguration.prototype.serialize = function () {
|
|
196
|
-
return SerializationHelper.Serialize(this);
|
|
197
|
-
};
|
|
198
|
-
/**
|
|
199
|
-
* Parses a detail map setting from a serialized object.
|
|
200
|
-
* @param source - Serialized object.
|
|
201
|
-
* @param scene Defines the scene we are parsing for
|
|
202
|
-
* @param rootUrl Defines the rootUrl to load from
|
|
203
|
-
*/
|
|
204
|
-
DetailMapConfiguration.prototype.parse = function (source, scene, rootUrl) {
|
|
205
|
-
var _this = this;
|
|
206
|
-
SerializationHelper.Parse(function () { return _this; }, source, scene, rootUrl);
|
|
144
|
+
DetailMapConfiguration.prototype.getUniforms = function () {
|
|
145
|
+
return {
|
|
146
|
+
ubo: [
|
|
147
|
+
{ name: "vDetailInfos", size: 4, type: "vec4" },
|
|
148
|
+
{ name: "detailMatrix", size: 16, type: "mat4" },
|
|
149
|
+
],
|
|
150
|
+
};
|
|
207
151
|
};
|
|
208
152
|
__decorate([
|
|
209
153
|
serializeAsTexture("detailTexture"),
|
|
@@ -227,6 +171,6 @@ var DetailMapConfiguration = /** @class */ (function () {
|
|
|
227
171
|
expandToProperty("_markAllSubMeshesAsTexturesDirty")
|
|
228
172
|
], DetailMapConfiguration.prototype, "isEnabled", void 0);
|
|
229
173
|
return DetailMapConfiguration;
|
|
230
|
-
}());
|
|
174
|
+
}(MaterialPluginBase));
|
|
231
175
|
export { DetailMapConfiguration };
|
|
232
176
|
//# sourceMappingURL=material.detailMapConfiguration.js.map
|