@babylonjs/core 7.2.2 → 7.2.3
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/runtimeAnimation.d.ts +1 -0
- package/Animations/runtimeAnimation.js +12 -3
- package/Animations/runtimeAnimation.js.map +1 -1
- package/Audio/audioEngine.js +2 -2
- package/Audio/audioEngine.js.map +1 -1
- package/Bones/boneLookController.js +3 -0
- package/Bones/boneLookController.js.map +1 -1
- package/Buffers/buffer.d.ts +5 -5
- package/Buffers/buffer.js.map +1 -1
- package/Buffers/storageBuffer.d.ts +2 -2
- package/Buffers/storageBuffer.js.map +1 -1
- package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.js.map +1 -1
- package/Cameras/Inputs/flyCameraKeyboardInput.js.map +1 -1
- package/Cameras/Inputs/followCameraKeyboardMoveInput.js.map +1 -1
- package/Cameras/Inputs/freeCameraKeyboardMoveInput.js.map +1 -1
- package/Compute/computeEffect.d.ts +3 -3
- package/Compute/computeEffect.js.map +1 -1
- package/Compute/computeShader.d.ts +10 -2
- package/Compute/computeShader.js +53 -35
- package/Compute/computeShader.js.map +1 -1
- package/DeviceInput/InputDevices/deviceSourceManager.d.ts +2 -2
- package/DeviceInput/InputDevices/deviceSourceManager.js.map +1 -1
- package/DeviceInput/internalDeviceSourceManager.d.ts +4 -4
- package/DeviceInput/internalDeviceSourceManager.js.map +1 -1
- package/DeviceInput/webDeviceInputSystem.d.ts +2 -2
- package/DeviceInput/webDeviceInputSystem.js.map +1 -1
- package/Engines/AbstractEngine/abstractEngine.alpha.d.ts +10 -0
- package/Engines/AbstractEngine/abstractEngine.alpha.js +29 -0
- package/Engines/AbstractEngine/abstractEngine.alpha.js.map +1 -0
- package/Engines/AbstractEngine/abstractEngine.cubeTexture.d.ts +17 -0
- package/Engines/AbstractEngine/abstractEngine.cubeTexture.js +138 -0
- package/Engines/AbstractEngine/abstractEngine.cubeTexture.js.map +1 -0
- package/Engines/AbstractEngine/abstractEngine.dom.d.ts +61 -0
- package/Engines/AbstractEngine/abstractEngine.dom.js +27 -0
- package/Engines/AbstractEngine/abstractEngine.dom.js.map +1 -0
- package/Engines/AbstractEngine/abstractEngine.loadingScreen.d.ts +30 -0
- package/Engines/AbstractEngine/abstractEngine.loadingScreen.js +48 -0
- package/Engines/AbstractEngine/abstractEngine.loadingScreen.js.map +1 -0
- package/Engines/AbstractEngine/abstractEngine.query.d.ts +122 -0
- package/Engines/AbstractEngine/abstractEngine.query.js +175 -0
- package/Engines/AbstractEngine/abstractEngine.query.js.map +1 -0
- package/Engines/AbstractEngine/abstractEngine.renderPass.d.ts +26 -0
- package/Engines/AbstractEngine/abstractEngine.renderPass.js +29 -0
- package/Engines/AbstractEngine/abstractEngine.renderPass.js.map +1 -0
- package/Engines/AbstractEngine/abstractEngine.states.d.ts +162 -0
- package/Engines/AbstractEngine/abstractEngine.states.js +105 -0
- package/Engines/AbstractEngine/abstractEngine.states.js.map +1 -0
- package/Engines/AbstractEngine/abstractEngine.texture.d.ts +16 -0
- package/Engines/AbstractEngine/abstractEngine.texture.js +11 -0
- package/Engines/AbstractEngine/abstractEngine.texture.js.map +1 -0
- package/Engines/AbstractEngine/index.d.ts +8 -0
- package/Engines/AbstractEngine/index.js +10 -0
- package/Engines/AbstractEngine/index.js.map +1 -0
- package/Engines/Extensions/engine.alpha.d.ts +0 -24
- package/Engines/Extensions/engine.alpha.js +0 -35
- package/Engines/Extensions/engine.alpha.js.map +1 -1
- package/Engines/Extensions/engine.computeShader.d.ts +15 -2
- package/Engines/Extensions/engine.computeShader.js +5 -1
- package/Engines/Extensions/engine.computeShader.js.map +1 -1
- package/Engines/Extensions/engine.cubeTexture.d.ts +0 -8
- package/Engines/Extensions/engine.cubeTexture.js +2 -135
- package/Engines/Extensions/engine.cubeTexture.js.map +1 -1
- package/Engines/Extensions/engine.debugging.d.ts +2 -2
- package/Engines/Extensions/engine.debugging.js +5 -5
- package/Engines/Extensions/engine.debugging.js.map +1 -1
- package/Engines/Extensions/engine.dynamicTexture.js +3 -2
- package/Engines/Extensions/engine.dynamicTexture.js.map +1 -1
- package/Engines/Extensions/engine.multiview.js.map +1 -1
- package/Engines/Extensions/engine.query.d.ts +5 -120
- package/Engines/Extensions/engine.query.js +14 -150
- package/Engines/Extensions/engine.query.js.map +1 -1
- package/Engines/Extensions/engine.renderTarget.js +0 -9
- package/Engines/Extensions/engine.renderTarget.js.map +1 -1
- package/Engines/Extensions/engine.views.d.ts +3 -2
- package/Engines/Extensions/engine.views.js.map +1 -1
- package/Engines/Processors/iShaderProcessor.d.ts +2 -2
- package/Engines/Processors/iShaderProcessor.js.map +1 -1
- package/Engines/Processors/shaderProcessor.d.ts +3 -3
- package/Engines/Processors/shaderProcessor.js.map +1 -1
- package/Engines/WebGL/webGLRenderTargetWrapper.js +12 -9
- package/Engines/WebGL/webGLRenderTargetWrapper.js.map +1 -1
- package/Engines/WebGL/webGLShaderProcessors.d.ts +2 -2
- package/Engines/WebGL/webGLShaderProcessors.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.alpha.d.ts +35 -0
- package/Engines/WebGPU/Extensions/engine.alpha.js +4 -4
- package/Engines/WebGPU/Extensions/engine.alpha.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.computeShader.d.ts +9 -0
- package/Engines/WebGPU/Extensions/engine.computeShader.js +13 -2
- package/Engines/WebGPU/Extensions/engine.computeShader.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.cubeTexture.d.ts +78 -1
- package/Engines/WebGPU/Extensions/engine.cubeTexture.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.dynamicTexture.d.ts +27 -1
- package/Engines/WebGPU/Extensions/engine.dynamicTexture.js +3 -3
- package/Engines/WebGPU/Extensions/engine.dynamicTexture.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.externalTexture.d.ts +16 -0
- package/Engines/WebGPU/Extensions/engine.externalTexture.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.multiRender.d.ts +55 -1
- package/Engines/WebGPU/Extensions/engine.multiRender.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.query.d.ts +1 -1
- package/Engines/WebGPU/Extensions/engine.query.js +1 -0
- package/Engines/WebGPU/Extensions/engine.query.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.rawTexture.d.ts +185 -1
- package/Engines/WebGPU/Extensions/engine.rawTexture.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.readTexture.d.ts +10 -1
- package/Engines/WebGPU/Extensions/engine.readTexture.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.renderTarget.d.ts +38 -1
- package/Engines/WebGPU/Extensions/engine.renderTarget.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.renderTargetCube.d.ts +13 -1
- package/Engines/WebGPU/Extensions/engine.renderTargetCube.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.storageBuffer.d.ts +38 -1
- package/Engines/WebGPU/Extensions/engine.storageBuffer.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.textureSampler.d.ts +10 -0
- package/Engines/WebGPU/Extensions/engine.textureSampler.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.videoTexture.d.ts +14 -1
- package/Engines/WebGPU/Extensions/engine.videoTexture.js.map +1 -1
- package/Engines/WebGPU/webgpuShaderProcessorsGLSL.d.ts +2 -2
- package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js.map +1 -1
- package/Engines/abstractEngine.d.ts +1688 -0
- package/Engines/abstractEngine.js +1354 -0
- package/Engines/abstractEngine.js.map +1 -0
- package/Engines/engine.common.d.ts +39 -0
- package/Engines/engine.common.js +226 -0
- package/Engines/engine.common.js.map +1 -0
- package/Engines/engine.d.ts +40 -447
- package/Engines/engine.js +64 -810
- package/Engines/engine.js.map +1 -1
- package/Engines/engineFactory.d.ts +2 -2
- package/Engines/engineFactory.js.map +1 -1
- package/Engines/engineStore.d.ts +4 -4
- package/Engines/engineStore.js.map +1 -1
- package/Engines/index.d.ts +3 -0
- package/Engines/index.js +3 -0
- package/Engines/index.js.map +1 -1
- package/Engines/nativeEngine.d.ts +1 -1
- package/Engines/nativeEngine.js +2 -1
- package/Engines/nativeEngine.js.map +1 -1
- package/Engines/nullEngine.d.ts +2 -2
- package/Engines/nullEngine.js +2 -3
- package/Engines/nullEngine.js.map +1 -1
- package/Engines/renderTargetWrapper.d.ts +3 -3
- package/Engines/renderTargetWrapper.js.map +1 -1
- package/Engines/thinEngine.d.ts +35 -591
- package/Engines/thinEngine.js +84 -1134
- package/Engines/thinEngine.js.map +1 -1
- package/Engines/webgpuEngine.d.ts +149 -109
- package/Engines/webgpuEngine.js +249 -161
- package/Engines/webgpuEngine.js.map +1 -1
- package/Instrumentation/engineInstrumentation.d.ts +5 -4
- package/Instrumentation/engineInstrumentation.js.map +1 -1
- package/Layers/effectLayer.d.ts +2 -2
- package/Layers/effectLayer.js +3 -3
- package/Layers/effectLayer.js.map +1 -1
- package/Layers/effectLayerSceneComponent.js.map +1 -1
- package/Layers/glowLayer.js +3 -3
- package/Layers/glowLayer.js.map +1 -1
- package/Layers/highlightLayer.js +3 -3
- package/Layers/highlightLayer.js.map +1 -1
- package/Layers/layerSceneComponent.js.map +1 -1
- package/Loading/loadingScreen.js +2 -2
- package/Loading/loadingScreen.js.map +1 -1
- package/Loading/sceneLoader.d.ts +3 -3
- package/Loading/sceneLoader.js +1 -1
- package/Loading/sceneLoader.js.map +1 -1
- package/Materials/GreasedLine/greasedLinePluginMaterial.js.map +1 -1
- package/Materials/Textures/Filtering/hdrFiltering.d.ts +2 -2
- package/Materials/Textures/Filtering/hdrFiltering.js.map +1 -1
- package/Materials/Textures/Loaders/basisTextureLoader.js +2 -2
- package/Materials/Textures/Loaders/basisTextureLoader.js.map +1 -1
- package/Materials/Textures/MultiviewRenderTarget.d.ts +1 -0
- package/Materials/Textures/MultiviewRenderTarget.js +1 -0
- package/Materials/Textures/MultiviewRenderTarget.js.map +1 -1
- package/Materials/Textures/Procedurals/proceduralTexture.js +1 -1
- package/Materials/Textures/Procedurals/proceduralTexture.js.map +1 -1
- package/Materials/Textures/baseTexture.d.ts +3 -3
- package/Materials/Textures/baseTexture.js.map +1 -1
- package/Materials/Textures/colorGradingTexture.d.ts +2 -2
- package/Materials/Textures/colorGradingTexture.js.map +1 -1
- package/Materials/Textures/cubeTexture.d.ts +3 -2
- package/Materials/Textures/cubeTexture.js +1 -0
- package/Materials/Textures/cubeTexture.js.map +1 -1
- package/Materials/Textures/hdrCubeTexture.d.ts +2 -2
- package/Materials/Textures/hdrCubeTexture.js.map +1 -1
- package/Materials/Textures/htmlElementTexture.d.ts +2 -2
- package/Materials/Textures/htmlElementTexture.js.map +1 -1
- package/Materials/Textures/internalTexture.d.ts +3 -3
- package/Materials/Textures/internalTexture.js.map +1 -1
- package/Materials/Textures/rawTexture.d.ts +10 -10
- package/Materials/Textures/rawTexture.js.map +1 -1
- package/Materials/Textures/renderTargetTexture.d.ts +4 -4
- package/Materials/Textures/renderTargetTexture.js +4 -4
- package/Materials/Textures/renderTargetTexture.js.map +1 -1
- package/Materials/Textures/texture.d.ts +2 -2
- package/Materials/Textures/texture.js.map +1 -1
- package/Materials/Textures/thinTexture.d.ts +3 -3
- package/Materials/Textures/thinTexture.js +1 -1
- package/Materials/Textures/thinTexture.js.map +1 -1
- package/Materials/drawWrapper.d.ts +2 -3
- package/Materials/drawWrapper.functions.d.ts +8 -0
- package/Materials/drawWrapper.functions.js +9 -0
- package/Materials/drawWrapper.functions.js.map +1 -0
- package/Materials/drawWrapper.js +0 -3
- package/Materials/drawWrapper.js.map +1 -1
- package/Materials/effect.d.ts +4 -5
- package/Materials/effect.js.map +1 -1
- package/Materials/effectRenderer.d.ts +4 -4
- package/Materials/effectRenderer.js.map +1 -1
- package/Materials/index.d.ts +1 -0
- package/Materials/index.js +1 -0
- package/Materials/index.js.map +1 -1
- package/Materials/materialHelper.functions.d.ts +2 -2
- package/Materials/materialHelper.functions.js.map +1 -1
- package/Materials/materialPluginBase.d.ts +4 -4
- package/Materials/materialPluginBase.js.map +1 -1
- package/Materials/materialPluginManager.d.ts +2 -2
- package/Materials/materialPluginManager.js.map +1 -1
- package/Materials/meshDebugPluginMaterial.js +1 -1
- package/Materials/meshDebugPluginMaterial.js.map +1 -1
- package/Materials/uniformBuffer.d.ts +2 -2
- package/Materials/uniformBuffer.js.map +1 -1
- package/Meshes/Builders/greasedLineBuilder.d.ts +6 -0
- package/Meshes/Builders/greasedLineBuilder.js +15 -8
- package/Meshes/Builders/greasedLineBuilder.js.map +1 -1
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.js +1 -1
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.js.map +1 -1
- package/Meshes/GreasedLine/greasedLineBaseMesh.d.ts +2 -2
- package/Meshes/GreasedLine/greasedLineBaseMesh.js.map +1 -1
- package/Meshes/GreasedLine/greasedLineMesh.js +1 -1
- package/Meshes/GreasedLine/greasedLineMesh.js.map +1 -1
- package/Meshes/geometry.d.ts +2 -2
- package/Meshes/geometry.js +3 -2
- package/Meshes/geometry.js.map +1 -1
- package/Meshes/instancedMesh.js.map +1 -1
- package/Meshes/mesh.d.ts +3 -3
- package/Meshes/mesh.js.map +1 -1
- package/Meshes/subMesh.d.ts +2 -2
- package/Meshes/subMesh.js.map +1 -1
- package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.js.map +1 -1
- package/Misc/copyTextureToTexture.d.ts +2 -2
- package/Misc/copyTextureToTexture.js.map +1 -1
- package/Misc/dds.d.ts +3 -2
- package/Misc/dds.js +2 -1
- package/Misc/dds.js.map +1 -1
- package/Misc/dumpTools.d.ts +2 -2
- package/Misc/dumpTools.js.map +1 -1
- package/Misc/fileTools.js +3 -3
- package/Misc/fileTools.js.map +1 -1
- package/Misc/khronosTextureContainer2.d.ts +8 -2
- package/Misc/khronosTextureContainer2.js +3 -2
- package/Misc/khronosTextureContainer2.js.map +1 -1
- package/Misc/minMaxReducer.d.ts +2 -2
- package/Misc/minMaxReducer.js.map +1 -1
- package/Misc/textureTools.js.map +1 -1
- package/Misc/tools.d.ts +7 -7
- package/Misc/tools.functions.d.ts +26 -0
- package/Misc/tools.functions.js +62 -0
- package/Misc/tools.functions.js.map +1 -1
- package/Misc/tools.js.map +1 -1
- package/Misc/videoRecorder.d.ts +3 -3
- package/Misc/videoRecorder.js.map +1 -1
- package/Particles/baseParticleSystem.d.ts +2 -2
- package/Particles/baseParticleSystem.js.map +1 -1
- package/Particles/computeShaderParticleSystem.d.ts +2 -2
- package/Particles/computeShaderParticleSystem.js.map +1 -1
- package/Particles/gpuParticleSystem.d.ts +3 -3
- package/Particles/gpuParticleSystem.js +2 -2
- package/Particles/gpuParticleSystem.js.map +1 -1
- package/Particles/particle.js +1 -1
- package/Particles/particle.js.map +1 -1
- package/Particles/particleSystem.d.ts +3 -3
- package/Particles/particleSystem.js +3 -3
- package/Particles/particleSystem.js.map +1 -1
- package/Particles/particleSystemComponent.d.ts +2 -2
- package/Particles/particleSystemComponent.js +2 -2
- package/Particles/particleSystemComponent.js.map +1 -1
- package/Particles/subEmitter.d.ts +3 -3
- package/Particles/subEmitter.js.map +1 -1
- package/Particles/thinParticleSystem.d.ts +2 -2
- package/Particles/thinParticleSystem.js.map +1 -1
- package/Physics/v2/physicsBody.js +3 -3
- package/Physics/v2/physicsBody.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/postProcessRenderEffect.d.ts +2 -2
- package/PostProcesses/RenderPipeline/postProcessRenderEffect.js.map +1 -1
- package/PostProcesses/RenderPipeline/postProcessRenderPipeline.d.ts +2 -2
- package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js.map +1 -1
- package/PostProcesses/blackAndWhitePostProcess.d.ts +2 -2
- package/PostProcesses/blackAndWhitePostProcess.js.map +1 -1
- package/PostProcesses/bloomMergePostProcess.d.ts +2 -2
- package/PostProcesses/bloomMergePostProcess.js.map +1 -1
- package/PostProcesses/blurPostProcess.d.ts +2 -2
- package/PostProcesses/blurPostProcess.js.map +1 -1
- package/PostProcesses/chromaticAberrationPostProcess.d.ts +2 -2
- package/PostProcesses/chromaticAberrationPostProcess.js.map +1 -1
- package/PostProcesses/circleOfConfusionPostProcess.d.ts +2 -2
- package/PostProcesses/circleOfConfusionPostProcess.js.map +1 -1
- package/PostProcesses/colorCorrectionPostProcess.d.ts +2 -2
- package/PostProcesses/colorCorrectionPostProcess.js.map +1 -1
- package/PostProcesses/convolutionPostProcess.d.ts +2 -2
- package/PostProcesses/convolutionPostProcess.js.map +1 -1
- package/PostProcesses/depthOfFieldBlurPostProcess.d.ts +2 -2
- package/PostProcesses/depthOfFieldBlurPostProcess.js.map +1 -1
- package/PostProcesses/depthOfFieldEffect.js +1 -1
- package/PostProcesses/depthOfFieldEffect.js.map +1 -1
- package/PostProcesses/depthOfFieldMergePostProcess.d.ts +2 -2
- package/PostProcesses/depthOfFieldMergePostProcess.js.map +1 -1
- package/PostProcesses/displayPassPostProcess.d.ts +2 -2
- package/PostProcesses/displayPassPostProcess.js.map +1 -1
- package/PostProcesses/extractHighlightsPostProcess.d.ts +2 -2
- package/PostProcesses/extractHighlightsPostProcess.js.map +1 -1
- package/PostProcesses/filterPostProcess.d.ts +2 -2
- package/PostProcesses/filterPostProcess.js.map +1 -1
- package/PostProcesses/fxaaPostProcess.d.ts +2 -2
- package/PostProcesses/fxaaPostProcess.js +2 -2
- package/PostProcesses/fxaaPostProcess.js.map +1 -1
- package/PostProcesses/grainPostProcess.d.ts +2 -2
- package/PostProcesses/grainPostProcess.js.map +1 -1
- package/PostProcesses/imageProcessingPostProcess.d.ts +2 -2
- package/PostProcesses/imageProcessingPostProcess.js.map +1 -1
- package/PostProcesses/motionBlurPostProcess.d.ts +2 -2
- package/PostProcesses/motionBlurPostProcess.js.map +1 -1
- package/PostProcesses/passPostProcess.d.ts +3 -3
- package/PostProcesses/passPostProcess.js +2 -2
- package/PostProcesses/passPostProcess.js.map +1 -1
- package/PostProcesses/postProcess.d.ts +4 -4
- package/PostProcesses/postProcess.js +3 -3
- package/PostProcesses/postProcess.js.map +1 -1
- package/PostProcesses/refractionPostProcess.d.ts +2 -2
- package/PostProcesses/refractionPostProcess.js.map +1 -1
- package/PostProcesses/screenSpaceCurvaturePostProcess.d.ts +2 -2
- package/PostProcesses/screenSpaceCurvaturePostProcess.js.map +1 -1
- package/PostProcesses/screenSpaceReflectionPostProcess.d.ts +2 -2
- package/PostProcesses/screenSpaceReflectionPostProcess.js.map +1 -1
- package/PostProcesses/sharpenPostProcess.d.ts +2 -2
- package/PostProcesses/sharpenPostProcess.js.map +1 -1
- package/PostProcesses/subSurfaceScatteringPostProcess.d.ts +2 -2
- package/PostProcesses/subSurfaceScatteringPostProcess.js.map +1 -1
- package/PostProcesses/volumetricLightScatteringPostProcess.d.ts +2 -2
- package/PostProcesses/volumetricLightScatteringPostProcess.js.map +1 -1
- package/Rendering/GlobalIllumination/giRSMManager.js.map +1 -1
- package/Rendering/depthPeelingRenderer.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderer.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderingDepthTextureCopy.d.ts +2 -2
- package/Rendering/fluidRenderer/fluidRenderingDepthTextureCopy.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderingObject.d.ts +2 -2
- package/Rendering/fluidRenderer/fluidRenderingObject.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderingTargetRenderer.d.ts +2 -2
- package/Rendering/fluidRenderer/fluidRenderingTargetRenderer.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderingTextures.d.ts +2 -2
- package/Rendering/fluidRenderer/fluidRenderingTextures.js.map +1 -1
- package/Rendering/geometryBufferRenderer.js +24 -18
- package/Rendering/geometryBufferRenderer.js.map +1 -1
- package/Rendering/outlineRenderer.js.map +1 -1
- package/Rendering/prePassRenderer.js.map +1 -1
- package/Sprites/spriteRenderer.d.ts +2 -2
- package/Sprites/spriteRenderer.js.map +1 -1
- package/XR/features/WebXRDepthSensing.js.map +1 -1
- package/XR/features/WebXRImageTracking.js.map +1 -1
- package/XR/features/WebXRLayers.d.ts +2 -2
- package/XR/features/WebXRLayers.js.map +1 -1
- package/XR/features/WebXRLightEstimation.js.map +1 -1
- package/XR/features/WebXRRawCameraAccess.d.ts +1 -1
- package/XR/features/WebXRRawCameraAccess.js.map +1 -1
- package/XR/features/WebXRSpaceWarp.js +1 -3
- package/XR/features/WebXRSpaceWarp.js.map +1 -1
- package/XR/features/WebXRWalkingLocomotion.js.map +1 -1
- package/XR/webXRExperienceHelper.js.map +1 -1
- package/XR/webXRManagedOutputCanvas.d.ts +2 -2
- package/XR/webXRManagedOutputCanvas.js.map +1 -1
- package/XR/webXRRenderTargetTextureProvider.js.map +1 -1
- package/XR/webXRSessionManager.js.map +1 -1
- package/assetContainer.js.map +1 -1
- package/node.d.ts +2 -2
- package/node.js.map +1 -1
- package/package.json +1 -1
- package/scene.d.ts +3 -3
- package/scene.js.map +1 -1
package/Engines/webgpuEngine.js
CHANGED
|
@@ -15,6 +15,7 @@ import { WebGPUShaderProcessingContext } from "./WebGPU/webgpuShaderProcessingCo
|
|
|
15
15
|
import { Tools } from "../Misc/tools.js";
|
|
16
16
|
import { WebGPUTextureHelper } from "./WebGPU/webgpuTextureHelper.js";
|
|
17
17
|
import { WebGPUTextureManager } from "./WebGPU/webgpuTextureManager.js";
|
|
18
|
+
import { AbstractEngine } from "./abstractEngine.js";
|
|
18
19
|
import { WebGPUBufferManager } from "./WebGPU/webgpuBufferManager.js";
|
|
19
20
|
import { WebGPUHardwareTexture } from "./WebGPU/webgpuHardwareTexture.js";
|
|
20
21
|
import { UniformBuffer } from "../Materials/uniformBuffer.js";
|
|
@@ -22,7 +23,6 @@ import { WebGPUCacheSampler } from "./WebGPU/webgpuCacheSampler.js";
|
|
|
22
23
|
import { WebGPUCacheRenderPipelineTree } from "./WebGPU/webgpuCacheRenderPipelineTree.js";
|
|
23
24
|
import { WebGPUStencilStateComposer } from "./WebGPU/webgpuStencilStateComposer.js";
|
|
24
25
|
import { WebGPUDepthCullingState } from "./WebGPU/webgpuDepthCullingState.js";
|
|
25
|
-
import { DrawWrapper } from "../Materials/drawWrapper.js";
|
|
26
26
|
import { WebGPUMaterialContext } from "./WebGPU/webgpuMaterialContext.js";
|
|
27
27
|
import { WebGPUDrawContext } from "./WebGPU/webgpuDrawContext.js";
|
|
28
28
|
import { WebGPUCacheBindGroups } from "./WebGPU/webgpuCacheBindGroups.js";
|
|
@@ -38,6 +38,16 @@ import { WebGPUSnapshotRendering } from "./WebGPU/webgpuSnapshotRendering.js";
|
|
|
38
38
|
import "../Buffers/buffer.align.js";
|
|
39
39
|
import "../ShadersWGSL/postprocess.vertex.js";
|
|
40
40
|
import { WebGPUPerfCounter } from "./WebGPU/webgpuPerfCounter.js";
|
|
41
|
+
import { SphericalPolynomial } from "../Maths/sphericalPolynomial.js";
|
|
42
|
+
import { PerformanceMonitor } from "../Misc/performanceMonitor.js";
|
|
43
|
+
import { CreateImageBitmapFromSource, ExitFullscreen, ExitPointerlock, GetFontOffset, RequestFullscreen, RequestPointerlock, ResizeImageBitmap, _CommonDispose, _CommonInit, } from "./engine.common.js";
|
|
44
|
+
import { IsWrapper } from "../Materials/drawWrapper.functions.js";
|
|
45
|
+
import { PerfCounter } from "../Misc/perfCounter.js";
|
|
46
|
+
import "./AbstractEngine/abstractEngine.loadingScreen.js";
|
|
47
|
+
import "./AbstractEngine/abstractEngine.dom.js";
|
|
48
|
+
import "./AbstractEngine/abstractEngine.states.js";
|
|
49
|
+
import "./AbstractEngine/abstractEngine.renderPass.js";
|
|
50
|
+
import "../Audio/audioEngine.js";
|
|
41
51
|
const viewDescriptorSwapChainAntialiasing = {
|
|
42
52
|
label: `TextureView_SwapChain_ResolveTarget`,
|
|
43
53
|
dimension: WebGPUConstants.TextureDimension.E2d,
|
|
@@ -58,7 +68,7 @@ const tempColor4 = new Color4();
|
|
|
58
68
|
* The web GPU engine class provides support for WebGPU version of babylon.js.
|
|
59
69
|
* @since 5.0.0
|
|
60
70
|
*/
|
|
61
|
-
export class WebGPUEngine extends
|
|
71
|
+
export class WebGPUEngine extends AbstractEngine {
|
|
62
72
|
/**
|
|
63
73
|
* Gets or sets the snapshot rendering mode
|
|
64
74
|
*/
|
|
@@ -117,6 +127,21 @@ export class WebGPUEngine extends Engine {
|
|
|
117
127
|
this._cacheBindGroups.disabled = disable;
|
|
118
128
|
}
|
|
119
129
|
}
|
|
130
|
+
/**
|
|
131
|
+
* Gets a boolean indicating if all created effects are ready
|
|
132
|
+
* @returns true if all effects are ready
|
|
133
|
+
*/
|
|
134
|
+
areAllEffectsReady() {
|
|
135
|
+
return true;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Get Font size information
|
|
139
|
+
* @param font font name
|
|
140
|
+
* @returns an object containing ascent, height and descent
|
|
141
|
+
*/
|
|
142
|
+
getFontOffset(font) {
|
|
143
|
+
return GetFontOffset(font);
|
|
144
|
+
}
|
|
120
145
|
/**
|
|
121
146
|
* Gets a Promise<boolean> indicating if the engine can be instantiated (ie. if a WebGPU context can be found)
|
|
122
147
|
*/
|
|
@@ -228,7 +253,7 @@ export class WebGPUEngine extends Engine {
|
|
|
228
253
|
* @param options Defines the options passed to the engine to create the GPU context dependencies
|
|
229
254
|
*/
|
|
230
255
|
constructor(canvas, options = {}) {
|
|
231
|
-
super(
|
|
256
|
+
super(options.antialias ?? true, options);
|
|
232
257
|
/** A unique id to identify this instance */
|
|
233
258
|
this.uniqueId = -1;
|
|
234
259
|
// Page Life cycle and constants
|
|
@@ -273,6 +298,12 @@ export class WebGPUEngine extends Engine {
|
|
|
273
298
|
* Max number of uncaptured error messages to log
|
|
274
299
|
*/
|
|
275
300
|
this.numMaxUncapturedErrors = 20;
|
|
301
|
+
/**
|
|
302
|
+
* Gets the list of created scenes
|
|
303
|
+
*/
|
|
304
|
+
this.scenes = [];
|
|
305
|
+
/** @internal */
|
|
306
|
+
this._virtualScenes = new Array();
|
|
276
307
|
this._commandBuffers = [null, null];
|
|
277
308
|
// Frame Buffer Life Cycle (recreated for each render target pass)
|
|
278
309
|
/** @internal */
|
|
@@ -310,6 +341,7 @@ export class WebGPUEngine extends Engine {
|
|
|
310
341
|
this.dbgLogIfNotDrawWrapper = true;
|
|
311
342
|
/** @internal */
|
|
312
343
|
this.dbgShowEmptyEnableEffectCalls = true;
|
|
344
|
+
this._snapshotRenderingMode = 0;
|
|
313
345
|
/**
|
|
314
346
|
* Indicates if the z range in NDC space is 0..1 (value: true) or -1..1 (value: false)
|
|
315
347
|
*/
|
|
@@ -327,7 +359,10 @@ export class WebGPUEngine extends Engine {
|
|
|
327
359
|
this._scissorCached = { x: 0, y: 0, z: 0, w: 0 };
|
|
328
360
|
this._stencilRefsCurrent = -1;
|
|
329
361
|
this._blendColorsCurrent = [null, null, null, null];
|
|
362
|
+
this._performanceMonitor = new PerformanceMonitor();
|
|
330
363
|
this._name = "WebGPU";
|
|
364
|
+
this._drawCalls = new PerfCounter();
|
|
365
|
+
this._creationOptions = options;
|
|
331
366
|
options.deviceDescriptor = options.deviceDescriptor || {};
|
|
332
367
|
options.enableGPUDebugMarkers = options.enableGPUDebugMarkers ?? false;
|
|
333
368
|
Logger.Log(`Babylon.js v${Engine.Version} - ${this.description} engine`);
|
|
@@ -341,7 +376,9 @@ export class WebGPUEngine extends Engine {
|
|
|
341
376
|
this._renderingCanvas = canvas;
|
|
342
377
|
this._options = options;
|
|
343
378
|
this._mainPassSampleCount = options.antialias ? this._defaultSampleCount : 1;
|
|
344
|
-
|
|
379
|
+
if (navigator && navigator.userAgent) {
|
|
380
|
+
this._setupMobileChecks();
|
|
381
|
+
}
|
|
345
382
|
this._sharedInit(this._renderingCanvas);
|
|
346
383
|
this._shaderProcessor = new WebGPUShaderProcessorGLSL();
|
|
347
384
|
this._shaderProcessorWGSL = new WebGPUShaderProcessorWGSL();
|
|
@@ -704,6 +741,14 @@ export class WebGPUEngine extends Engine {
|
|
|
704
741
|
depthStencilAttachment: mainDepthAttachment,
|
|
705
742
|
};
|
|
706
743
|
}
|
|
744
|
+
/**
|
|
745
|
+
* Shared initialization across engines types.
|
|
746
|
+
* @param canvas The canvas associated with this instance of the engine.
|
|
747
|
+
*/
|
|
748
|
+
_sharedInit(canvas) {
|
|
749
|
+
super._sharedInit(canvas);
|
|
750
|
+
_CommonInit(this, canvas, this._creationOptions);
|
|
751
|
+
}
|
|
707
752
|
_configureContext() {
|
|
708
753
|
this._context.configure({
|
|
709
754
|
device: this._device,
|
|
@@ -712,6 +757,71 @@ export class WebGPUEngine extends Engine {
|
|
|
712
757
|
alphaMode: this.premultipliedAlpha ? WebGPUConstants.CanvasAlphaMode.Premultiplied : WebGPUConstants.CanvasAlphaMode.Opaque,
|
|
713
758
|
});
|
|
714
759
|
}
|
|
760
|
+
/**
|
|
761
|
+
* Resize an image and returns the image data as an uint8array
|
|
762
|
+
* @param image image to resize
|
|
763
|
+
* @param bufferWidth destination buffer width
|
|
764
|
+
* @param bufferHeight destination buffer height
|
|
765
|
+
* @returns an uint8array containing RGBA values of bufferWidth * bufferHeight size
|
|
766
|
+
*/
|
|
767
|
+
resizeImageBitmap(image, bufferWidth, bufferHeight) {
|
|
768
|
+
return ResizeImageBitmap(this, image, bufferWidth, bufferHeight);
|
|
769
|
+
}
|
|
770
|
+
/**
|
|
771
|
+
* Engine abstraction for loading and creating an image bitmap from a given source string.
|
|
772
|
+
* @param imageSource source to load the image from.
|
|
773
|
+
* @param options An object that sets options for the image's extraction.
|
|
774
|
+
* @returns ImageBitmap
|
|
775
|
+
*/
|
|
776
|
+
_createImageBitmapFromSource(imageSource, options) {
|
|
777
|
+
return CreateImageBitmapFromSource(this, imageSource, options);
|
|
778
|
+
}
|
|
779
|
+
/**
|
|
780
|
+
* Toggle full screen mode
|
|
781
|
+
* @param requestPointerLock defines if a pointer lock should be requested from the user
|
|
782
|
+
*/
|
|
783
|
+
switchFullscreen(requestPointerLock) {
|
|
784
|
+
if (this.isFullscreen) {
|
|
785
|
+
this.exitFullscreen();
|
|
786
|
+
}
|
|
787
|
+
else {
|
|
788
|
+
this.enterFullscreen(requestPointerLock);
|
|
789
|
+
}
|
|
790
|
+
}
|
|
791
|
+
/**
|
|
792
|
+
* Enters full screen mode
|
|
793
|
+
* @param requestPointerLock defines if a pointer lock should be requested from the user
|
|
794
|
+
*/
|
|
795
|
+
enterFullscreen(requestPointerLock) {
|
|
796
|
+
if (!this.isFullscreen) {
|
|
797
|
+
this._pointerLockRequested = requestPointerLock;
|
|
798
|
+
if (this._renderingCanvas) {
|
|
799
|
+
RequestFullscreen(this._renderingCanvas);
|
|
800
|
+
}
|
|
801
|
+
}
|
|
802
|
+
}
|
|
803
|
+
/**
|
|
804
|
+
* Exits full screen mode
|
|
805
|
+
*/
|
|
806
|
+
exitFullscreen() {
|
|
807
|
+
if (this.isFullscreen) {
|
|
808
|
+
ExitFullscreen();
|
|
809
|
+
}
|
|
810
|
+
}
|
|
811
|
+
/**
|
|
812
|
+
* Enters Pointerlock mode
|
|
813
|
+
*/
|
|
814
|
+
enterPointerlock() {
|
|
815
|
+
if (this._renderingCanvas) {
|
|
816
|
+
RequestPointerlock(this._renderingCanvas);
|
|
817
|
+
}
|
|
818
|
+
}
|
|
819
|
+
/**
|
|
820
|
+
* Exits Pointerlock mode
|
|
821
|
+
*/
|
|
822
|
+
exitPointerlock() {
|
|
823
|
+
ExitPointerlock();
|
|
824
|
+
}
|
|
715
825
|
_rebuildBuffers() {
|
|
716
826
|
super._rebuildBuffers();
|
|
717
827
|
for (const storageBuffer of this._storageBuffers) {
|
|
@@ -753,6 +863,51 @@ export class WebGPUEngine extends Engine {
|
|
|
753
863
|
this._uniformBuffers = uboList;
|
|
754
864
|
super._restoreEngineAfterContextLost(initEngine);
|
|
755
865
|
}
|
|
866
|
+
/**
|
|
867
|
+
* Sets a depth stencil texture from a render target to the according uniform.
|
|
868
|
+
* @param channel The texture channel
|
|
869
|
+
* @param uniform The uniform to set
|
|
870
|
+
* @param texture The render target texture containing the depth stencil texture to apply
|
|
871
|
+
* @param name The texture name
|
|
872
|
+
*/
|
|
873
|
+
setDepthStencilTexture(channel, uniform, texture, name) {
|
|
874
|
+
if (channel === undefined) {
|
|
875
|
+
return;
|
|
876
|
+
}
|
|
877
|
+
if (!texture || !texture.depthStencilTexture) {
|
|
878
|
+
this._setTexture(channel, null, undefined, undefined, name);
|
|
879
|
+
}
|
|
880
|
+
else {
|
|
881
|
+
this._setTexture(channel, texture, false, true, name);
|
|
882
|
+
}
|
|
883
|
+
}
|
|
884
|
+
/**
|
|
885
|
+
* Sets a texture to the context from a postprocess
|
|
886
|
+
* @param channel defines the channel to use
|
|
887
|
+
* @param postProcess defines the source postprocess
|
|
888
|
+
* @param name name of the channel
|
|
889
|
+
*/
|
|
890
|
+
setTextureFromPostProcess(channel, postProcess, name) {
|
|
891
|
+
let postProcessInput = null;
|
|
892
|
+
if (postProcess) {
|
|
893
|
+
if (postProcess._forcedOutputTexture) {
|
|
894
|
+
postProcessInput = postProcess._forcedOutputTexture;
|
|
895
|
+
}
|
|
896
|
+
else if (postProcess._textures.data[postProcess._currentRenderTextureInd]) {
|
|
897
|
+
postProcessInput = postProcess._textures.data[postProcess._currentRenderTextureInd];
|
|
898
|
+
}
|
|
899
|
+
}
|
|
900
|
+
this._bindTexture(channel, postProcessInput?.texture ?? null, name);
|
|
901
|
+
}
|
|
902
|
+
/**
|
|
903
|
+
* Binds the output of the passed in post process to the texture channel specified
|
|
904
|
+
* @param channel The channel the texture should be bound to
|
|
905
|
+
* @param postProcess The post process which's output should be bound
|
|
906
|
+
* @param name name of the channel
|
|
907
|
+
*/
|
|
908
|
+
setTextureFromPostProcessOutput(channel, postProcess, name) {
|
|
909
|
+
this._bindTexture(channel, postProcess?._outputTexture?.texture ?? null, name);
|
|
910
|
+
}
|
|
756
911
|
/**
|
|
757
912
|
* Force a specific size of the canvas
|
|
758
913
|
* @param width defines the new canvas' width
|
|
@@ -1240,6 +1395,12 @@ export class WebGPUEngine extends Engine {
|
|
|
1240
1395
|
// eslint-disable-next-line no-throw-literal
|
|
1241
1396
|
throw "Not implemented on WebGPU";
|
|
1242
1397
|
}
|
|
1398
|
+
/**
|
|
1399
|
+
* Unbind all instance attributes
|
|
1400
|
+
*/
|
|
1401
|
+
unbindInstanceAttributes() {
|
|
1402
|
+
// Does nothing
|
|
1403
|
+
}
|
|
1243
1404
|
/**
|
|
1244
1405
|
* Bind a list of vertex buffers with the engine
|
|
1245
1406
|
* @param vertexBuffers defines the list of vertex buffers to bind
|
|
@@ -1526,7 +1687,7 @@ export class WebGPUEngine extends Engine {
|
|
|
1526
1687
|
if (!effect) {
|
|
1527
1688
|
return;
|
|
1528
1689
|
}
|
|
1529
|
-
if (!
|
|
1690
|
+
if (!IsWrapper(effect)) {
|
|
1530
1691
|
this._currentEffect = effect;
|
|
1531
1692
|
this._currentMaterialContext = this._defaultMaterialContext;
|
|
1532
1693
|
this._currentDrawContext = this._defaultDrawContext;
|
|
@@ -1777,6 +1938,12 @@ export class WebGPUEngine extends Engine {
|
|
|
1777
1938
|
this._generateMipmaps(texture);
|
|
1778
1939
|
}
|
|
1779
1940
|
}
|
|
1941
|
+
/**
|
|
1942
|
+
* @internal
|
|
1943
|
+
*/
|
|
1944
|
+
_getUseSRGBBuffer(useSRGBBuffer, noMipmap) {
|
|
1945
|
+
return useSRGBBuffer && this._caps.supportSRGBBuffers;
|
|
1946
|
+
}
|
|
1780
1947
|
/**
|
|
1781
1948
|
* Update the sampling mode of a given texture
|
|
1782
1949
|
* @param samplingMode defines the required sampling mode
|
|
@@ -1842,6 +2009,41 @@ export class WebGPUEngine extends Engine {
|
|
|
1842
2009
|
}
|
|
1843
2010
|
}
|
|
1844
2011
|
}
|
|
2012
|
+
/**
|
|
2013
|
+
* Create a cube texture from prefiltered data (ie. the mipmaps contain ready to use data for PBR reflection)
|
|
2014
|
+
* @param rootUrl defines the url where the file to load is located
|
|
2015
|
+
* @param scene defines the current scene
|
|
2016
|
+
* @param lodScale defines scale to apply to the mip map selection
|
|
2017
|
+
* @param lodOffset defines offset to apply to the mip map selection
|
|
2018
|
+
* @param onLoad defines an optional callback raised when the texture is loaded
|
|
2019
|
+
* @param onError defines an optional callback raised if there is an issue to load the texture
|
|
2020
|
+
* @param format defines the format of the data
|
|
2021
|
+
* @param forcedExtension defines the extension to use to pick the right loader
|
|
2022
|
+
* @param createPolynomials defines wheter or not to create polynomails harmonics for the texture
|
|
2023
|
+
* @returns the cube texture as an InternalTexture
|
|
2024
|
+
*/
|
|
2025
|
+
createPrefilteredCubeTexture(rootUrl, scene, lodScale, lodOffset, onLoad = null, onError = null, format, forcedExtension = null, createPolynomials = true) {
|
|
2026
|
+
const callback = (loadData) => {
|
|
2027
|
+
if (!loadData) {
|
|
2028
|
+
if (onLoad) {
|
|
2029
|
+
onLoad(null);
|
|
2030
|
+
}
|
|
2031
|
+
return;
|
|
2032
|
+
}
|
|
2033
|
+
const texture = loadData.texture;
|
|
2034
|
+
if (!createPolynomials) {
|
|
2035
|
+
texture._sphericalPolynomial = new SphericalPolynomial();
|
|
2036
|
+
}
|
|
2037
|
+
else if (loadData.info.sphericalPolynomial) {
|
|
2038
|
+
texture._sphericalPolynomial = loadData.info.sphericalPolynomial;
|
|
2039
|
+
}
|
|
2040
|
+
texture._source = InternalTextureSource.CubePrefiltered;
|
|
2041
|
+
if (onLoad) {
|
|
2042
|
+
onLoad(texture);
|
|
2043
|
+
}
|
|
2044
|
+
};
|
|
2045
|
+
return this.createCubeTexture(rootUrl, scene, null, false, callback, onError, format, forcedExtension, createPolynomials, lodScale, lodOffset);
|
|
2046
|
+
}
|
|
1845
2047
|
/**
|
|
1846
2048
|
* Sets a texture to the according uniform.
|
|
1847
2049
|
* @param channel The texture channel
|
|
@@ -2104,10 +2306,23 @@ export class WebGPUEngine extends Engine {
|
|
|
2104
2306
|
//------------------------------------------------------------------------------
|
|
2105
2307
|
// Frame management
|
|
2106
2308
|
//------------------------------------------------------------------------------
|
|
2309
|
+
_measureFps() {
|
|
2310
|
+
this._performanceMonitor.sampleFrame();
|
|
2311
|
+
this._fps = this._performanceMonitor.averageFPS;
|
|
2312
|
+
this._deltaTime = this._performanceMonitor.instantaneousFrameTime || 0;
|
|
2313
|
+
}
|
|
2314
|
+
/**
|
|
2315
|
+
* Gets the performance monitor attached to this engine
|
|
2316
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/scene/optimize_your_scene#engineinstrumentation
|
|
2317
|
+
*/
|
|
2318
|
+
get performanceMonitor() {
|
|
2319
|
+
return this._performanceMonitor;
|
|
2320
|
+
}
|
|
2107
2321
|
/**
|
|
2108
2322
|
* Begin a new frame
|
|
2109
2323
|
*/
|
|
2110
2324
|
beginFrame() {
|
|
2325
|
+
this._measureFps();
|
|
2111
2326
|
super.beginFrame();
|
|
2112
2327
|
}
|
|
2113
2328
|
/**
|
|
@@ -2147,7 +2362,6 @@ export class WebGPUEngine extends Engine {
|
|
|
2147
2362
|
this._cacheRenderPipeline.endFrame();
|
|
2148
2363
|
this._cacheBindGroups.endFrame();
|
|
2149
2364
|
this._pendingDebugCommands.length = 0;
|
|
2150
|
-
super.endFrame();
|
|
2151
2365
|
if (this.dbgVerboseLogsForFirstFrames) {
|
|
2152
2366
|
if (this._count === undefined) {
|
|
2153
2367
|
this._count = 0;
|
|
@@ -2162,6 +2376,11 @@ export class WebGPUEngine extends Engine {
|
|
|
2162
2376
|
}
|
|
2163
2377
|
}
|
|
2164
2378
|
}
|
|
2379
|
+
super.endFrame();
|
|
2380
|
+
}
|
|
2381
|
+
/**Gets driver info if available */
|
|
2382
|
+
extractDriverInfo() {
|
|
2383
|
+
return "";
|
|
2165
2384
|
}
|
|
2166
2385
|
/**
|
|
2167
2386
|
* Force a WebGPU flush (ie. a flush of all waiting commands)
|
|
@@ -2518,7 +2737,7 @@ export class WebGPUEngine extends Engine {
|
|
|
2518
2737
|
*/
|
|
2519
2738
|
unBindFramebuffer(texture, disableGenerateMipMaps = false, onBeforeUnbind) {
|
|
2520
2739
|
const saveCRT = this._currentRenderTarget;
|
|
2521
|
-
this._currentRenderTarget = null; // to be iso with
|
|
2740
|
+
this._currentRenderTarget = null; // to be iso with abstractEngine, this._currentRenderTarget must be null when onBeforeUnbind is called
|
|
2522
2741
|
if (onBeforeUnbind) {
|
|
2523
2742
|
onBeforeUnbind();
|
|
2524
2743
|
}
|
|
@@ -2585,6 +2804,28 @@ export class WebGPUEngine extends Engine {
|
|
|
2585
2804
|
setRasterizerState() {
|
|
2586
2805
|
// Does not exist in WebGPU
|
|
2587
2806
|
}
|
|
2807
|
+
/**
|
|
2808
|
+
* @internal
|
|
2809
|
+
*/
|
|
2810
|
+
_executeWhenRenderingStateIsCompiled(pipelineContext, action) {
|
|
2811
|
+
// No parallel shader compilation.
|
|
2812
|
+
// No Async, so direct launch
|
|
2813
|
+
action();
|
|
2814
|
+
}
|
|
2815
|
+
/**
|
|
2816
|
+
* @internal
|
|
2817
|
+
*/
|
|
2818
|
+
bindSamplers() { }
|
|
2819
|
+
/** @internal */
|
|
2820
|
+
_getUnpackAlignement() {
|
|
2821
|
+
return 1;
|
|
2822
|
+
}
|
|
2823
|
+
/**
|
|
2824
|
+
* @internal
|
|
2825
|
+
*/
|
|
2826
|
+
_bindTextureDirectly() {
|
|
2827
|
+
return false;
|
|
2828
|
+
}
|
|
2588
2829
|
/**
|
|
2589
2830
|
* Set various states to the webGL context
|
|
2590
2831
|
* @param culling defines culling state: true to enable culling, false to disable it
|
|
@@ -2768,6 +3009,7 @@ export class WebGPUEngine extends Engine {
|
|
|
2768
3009
|
this._textureHelper.destroyDeferredTextures();
|
|
2769
3010
|
this._bufferManager.destroyDeferredBuffers();
|
|
2770
3011
|
this._device.destroy();
|
|
3012
|
+
_CommonDispose(this, this._renderingCanvas);
|
|
2771
3013
|
super.dispose();
|
|
2772
3014
|
}
|
|
2773
3015
|
//------------------------------------------------------------------------------
|
|
@@ -2806,160 +3048,6 @@ export class WebGPUEngine extends Engine {
|
|
|
2806
3048
|
// TODO WEBGPU. from the webgpu errors.
|
|
2807
3049
|
return 0;
|
|
2808
3050
|
}
|
|
2809
|
-
//------------------------------------------------------------------------------
|
|
2810
|
-
// Unused WebGPU
|
|
2811
|
-
//------------------------------------------------------------------------------
|
|
2812
|
-
/**
|
|
2813
|
-
* @internal
|
|
2814
|
-
*/
|
|
2815
|
-
bindSamplers() { }
|
|
2816
|
-
/**
|
|
2817
|
-
* @internal
|
|
2818
|
-
*/
|
|
2819
|
-
_bindTextureDirectly() {
|
|
2820
|
-
return false;
|
|
2821
|
-
}
|
|
2822
|
-
/**
|
|
2823
|
-
* Gets a boolean indicating if all created effects are ready
|
|
2824
|
-
* @returns always true - No parallel shader compilation
|
|
2825
|
-
*/
|
|
2826
|
-
areAllEffectsReady() {
|
|
2827
|
-
return true;
|
|
2828
|
-
}
|
|
2829
|
-
/**
|
|
2830
|
-
* @internal
|
|
2831
|
-
*/
|
|
2832
|
-
_executeWhenRenderingStateIsCompiled(pipelineContext, action) {
|
|
2833
|
-
// No parallel shader compilation.
|
|
2834
|
-
// No Async, so direct launch
|
|
2835
|
-
action();
|
|
2836
|
-
}
|
|
2837
|
-
/**
|
|
2838
|
-
* @internal
|
|
2839
|
-
*/
|
|
2840
|
-
_isRenderingStateCompiled() {
|
|
2841
|
-
// No parallel shader compilation.
|
|
2842
|
-
return true;
|
|
2843
|
-
}
|
|
2844
|
-
/** @internal */
|
|
2845
|
-
_getUnpackAlignement() {
|
|
2846
|
-
return 1;
|
|
2847
|
-
}
|
|
2848
|
-
/**
|
|
2849
|
-
* @internal
|
|
2850
|
-
*/
|
|
2851
|
-
_unpackFlipY() { }
|
|
2852
|
-
/**
|
|
2853
|
-
* @internal
|
|
2854
|
-
*/
|
|
2855
|
-
_bindUnboundFramebuffer() {
|
|
2856
|
-
// eslint-disable-next-line no-throw-literal
|
|
2857
|
-
throw "_bindUnboundFramebuffer is not implementedin WebGPU! You probably want to use restoreDefaultFramebuffer or unBindFramebuffer instead";
|
|
2858
|
-
}
|
|
2859
|
-
// TODO WEBGPU. All of the below should go once engine split with baseEngine.
|
|
2860
|
-
/**
|
|
2861
|
-
* @internal
|
|
2862
|
-
*/
|
|
2863
|
-
_getSamplingParameters() {
|
|
2864
|
-
// eslint-disable-next-line no-throw-literal
|
|
2865
|
-
throw "_getSamplingParameters is not available in WebGPU";
|
|
2866
|
-
}
|
|
2867
|
-
/**
|
|
2868
|
-
* @internal
|
|
2869
|
-
*/
|
|
2870
|
-
getUniforms() {
|
|
2871
|
-
return [];
|
|
2872
|
-
}
|
|
2873
|
-
/**
|
|
2874
|
-
* @internal
|
|
2875
|
-
*/
|
|
2876
|
-
setIntArray() {
|
|
2877
|
-
return false;
|
|
2878
|
-
}
|
|
2879
|
-
/**
|
|
2880
|
-
* @internal
|
|
2881
|
-
*/
|
|
2882
|
-
setIntArray2() {
|
|
2883
|
-
return false;
|
|
2884
|
-
}
|
|
2885
|
-
/**
|
|
2886
|
-
* @internal
|
|
2887
|
-
*/
|
|
2888
|
-
setIntArray3() {
|
|
2889
|
-
return false;
|
|
2890
|
-
}
|
|
2891
|
-
/**
|
|
2892
|
-
* @internal
|
|
2893
|
-
*/
|
|
2894
|
-
setIntArray4() {
|
|
2895
|
-
return false;
|
|
2896
|
-
}
|
|
2897
|
-
/**
|
|
2898
|
-
* @internal
|
|
2899
|
-
*/
|
|
2900
|
-
setArray() {
|
|
2901
|
-
return false;
|
|
2902
|
-
}
|
|
2903
|
-
/**
|
|
2904
|
-
* @internal
|
|
2905
|
-
*/
|
|
2906
|
-
setArray2() {
|
|
2907
|
-
return false;
|
|
2908
|
-
}
|
|
2909
|
-
/**
|
|
2910
|
-
* @internal
|
|
2911
|
-
*/
|
|
2912
|
-
setArray3() {
|
|
2913
|
-
return false;
|
|
2914
|
-
}
|
|
2915
|
-
/**
|
|
2916
|
-
* @internal
|
|
2917
|
-
*/
|
|
2918
|
-
setArray4() {
|
|
2919
|
-
return false;
|
|
2920
|
-
}
|
|
2921
|
-
/**
|
|
2922
|
-
* @internal
|
|
2923
|
-
*/
|
|
2924
|
-
setMatrices() {
|
|
2925
|
-
return false;
|
|
2926
|
-
}
|
|
2927
|
-
/**
|
|
2928
|
-
* @internal
|
|
2929
|
-
*/
|
|
2930
|
-
setMatrix3x3() {
|
|
2931
|
-
return false;
|
|
2932
|
-
}
|
|
2933
|
-
/**
|
|
2934
|
-
* @internal
|
|
2935
|
-
*/
|
|
2936
|
-
setMatrix2x2() {
|
|
2937
|
-
return false;
|
|
2938
|
-
}
|
|
2939
|
-
/**
|
|
2940
|
-
* @internal
|
|
2941
|
-
*/
|
|
2942
|
-
setFloat() {
|
|
2943
|
-
return false;
|
|
2944
|
-
}
|
|
2945
|
-
/**
|
|
2946
|
-
* @internal
|
|
2947
|
-
*/
|
|
2948
|
-
setFloat2() {
|
|
2949
|
-
return false;
|
|
2950
|
-
}
|
|
2951
|
-
/**
|
|
2952
|
-
* @internal
|
|
2953
|
-
*/
|
|
2954
|
-
setFloat3() {
|
|
2955
|
-
return false;
|
|
2956
|
-
}
|
|
2957
|
-
/**
|
|
2958
|
-
* @internal
|
|
2959
|
-
*/
|
|
2960
|
-
setFloat4() {
|
|
2961
|
-
return false;
|
|
2962
|
-
}
|
|
2963
3051
|
}
|
|
2964
3052
|
// Default glslang options.
|
|
2965
3053
|
WebGPUEngine._GLSLslangDefaultOptions = {
|