@babylonjs/core 5.23.0 → 5.25.0
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/Actions/abstractActionManager.d.ts +6 -6
- package/Actions/abstractActionManager.js +1 -1
- package/Actions/abstractActionManager.js.map +1 -1
- package/Actions/action.d.ts +12 -21
- package/Actions/action.js +8 -17
- package/Actions/action.js.map +1 -1
- package/Actions/actionManager.d.ts +7 -10
- package/Actions/actionManager.js +7 -10
- package/Actions/actionManager.js.map +1 -1
- package/Actions/condition.d.ts +9 -50
- package/Actions/condition.js +3 -26
- package/Actions/condition.js.map +1 -1
- package/Actions/directActions.d.ts +7 -7
- package/Actions/directActions.js +7 -7
- package/Actions/directActions.js.map +1 -1
- package/Actions/directAudioActions.d.ts +2 -2
- package/Actions/directAudioActions.js +2 -2
- package/Actions/directAudioActions.js.map +1 -1
- package/Actions/interpolateValueAction.d.ts +1 -1
- package/Actions/interpolateValueAction.js +1 -1
- package/Actions/interpolateValueAction.js.map +1 -1
- package/Animations/animatable.d.ts +5 -6
- package/Animations/animatable.js +1 -2
- package/Animations/animatable.js.map +1 -1
- package/Animations/animation.d.ts +6 -20
- package/Animations/animation.js +6 -20
- package/Animations/animation.js.map +1 -1
- package/Animations/animationEvent.d.ts +1 -1
- package/Animations/animationEvent.js +1 -1
- package/Animations/animationEvent.js.map +1 -1
- package/Animations/animationGroup.d.ts +4 -4
- package/Animations/animationGroup.js +4 -4
- package/Animations/animationGroup.js.map +1 -1
- package/Animations/easing.d.ts +13 -26
- package/Animations/easing.js +13 -26
- package/Animations/easing.js.map +1 -1
- package/Animations/runtimeAnimation.d.ts +3 -4
- package/Animations/runtimeAnimation.js +1 -2
- package/Animations/runtimeAnimation.js.map +1 -1
- package/Audio/audioSceneComponent.d.ts +2 -2
- package/Audio/audioSceneComponent.js.map +1 -1
- package/Audio/sound.d.ts +3 -4
- package/Audio/sound.js +2 -3
- package/Audio/sound.js.map +1 -1
- package/BakedVertexAnimation/bakedVertexAnimationManager.d.ts +1 -1
- package/BakedVertexAnimation/bakedVertexAnimationManager.js +1 -1
- package/BakedVertexAnimation/bakedVertexAnimationManager.js.map +1 -1
- package/Behaviors/Cameras/autoRotationBehavior.d.ts +1 -1
- package/Behaviors/Cameras/autoRotationBehavior.js +1 -1
- package/Behaviors/Cameras/autoRotationBehavior.js.map +1 -1
- package/Behaviors/Cameras/bouncingBehavior.d.ts +1 -1
- package/Behaviors/Cameras/bouncingBehavior.js +1 -1
- package/Behaviors/Cameras/bouncingBehavior.js.map +1 -1
- package/Behaviors/Cameras/framingBehavior.d.ts +1 -1
- package/Behaviors/Cameras/framingBehavior.js +1 -1
- package/Behaviors/Cameras/framingBehavior.js.map +1 -1
- package/Behaviors/Meshes/attachToBoxBehavior.js +1 -1
- package/Behaviors/Meshes/attachToBoxBehavior.js.map +1 -1
- package/Behaviors/Meshes/baseSixDofDragBehavior.js +5 -5
- package/Behaviors/Meshes/baseSixDofDragBehavior.js.map +1 -1
- package/Behaviors/Meshes/followBehavior.d.ts +1 -1
- package/Behaviors/Meshes/followBehavior.js +1 -1
- package/Behaviors/Meshes/followBehavior.js.map +1 -1
- package/Behaviors/Meshes/pointerDragBehavior.d.ts +1 -1
- package/Behaviors/Meshes/pointerDragBehavior.js +1 -1
- package/Behaviors/Meshes/pointerDragBehavior.js.map +1 -1
- package/Bones/bone.d.ts +8 -10
- package/Bones/bone.js +8 -10
- package/Bones/bone.js.map +1 -1
- package/Bones/skeleton.d.ts +8 -10
- package/Bones/skeleton.js +8 -10
- package/Bones/skeleton.js.map +1 -1
- package/Buffers/buffer.d.ts +6 -6
- package/Buffers/buffer.js +14 -16
- package/Buffers/buffer.js.map +1 -1
- package/Buffers/storageBuffer.d.ts +1 -1
- package/Buffers/storageBuffer.js +1 -1
- package/Buffers/storageBuffer.js.map +1 -1
- package/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.d.ts +1 -2
- package/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.js +1 -2
- package/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.js.map +1 -1
- package/Cameras/Inputs/flyCameraKeyboardInput.d.ts +1 -1
- package/Cameras/Inputs/flyCameraKeyboardInput.js +1 -1
- package/Cameras/Inputs/flyCameraKeyboardInput.js.map +1 -1
- package/Cameras/Inputs/freeCameraDeviceOrientationInput.d.ts +2 -2
- package/Cameras/Inputs/freeCameraDeviceOrientationInput.js +1 -1
- package/Cameras/Inputs/freeCameraDeviceOrientationInput.js.map +1 -1
- package/Cameras/Inputs/freeCameraKeyboardMoveInput.d.ts +1 -1
- package/Cameras/Inputs/freeCameraKeyboardMoveInput.js +1 -1
- package/Cameras/Inputs/freeCameraKeyboardMoveInput.js.map +1 -1
- package/Cameras/Inputs/freeCameraMouseInput.d.ts +1 -1
- package/Cameras/Inputs/freeCameraMouseInput.js +1 -1
- package/Cameras/Inputs/freeCameraMouseInput.js.map +1 -1
- package/Cameras/RigModes/stereoscopicAnaglyphRigMode.d.ts +1 -2
- package/Cameras/RigModes/stereoscopicAnaglyphRigMode.js +1 -2
- package/Cameras/RigModes/stereoscopicAnaglyphRigMode.js.map +1 -1
- package/Cameras/RigModes/stereoscopicRigMode.d.ts +1 -2
- package/Cameras/RigModes/stereoscopicRigMode.js +1 -2
- package/Cameras/RigModes/stereoscopicRigMode.js.map +1 -1
- package/Cameras/RigModes/vrRigMode.d.ts +1 -3
- package/Cameras/RigModes/vrRigMode.js +1 -3
- package/Cameras/RigModes/vrRigMode.js.map +1 -1
- package/Cameras/RigModes/webVRRigMode.d.ts +1 -3
- package/Cameras/RigModes/webVRRigMode.js +1 -3
- package/Cameras/RigModes/webVRRigMode.js.map +1 -1
- package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.d.ts +2 -3
- package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js +2 -3
- package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js.map +1 -1
- package/Cameras/VR/vrCameraMetrics.d.ts +4 -4
- package/Cameras/VR/vrCameraMetrics.js +4 -4
- package/Cameras/VR/vrCameraMetrics.js.map +1 -1
- package/Cameras/VR/vrExperienceHelper.js +19 -24
- package/Cameras/VR/vrExperienceHelper.js.map +1 -1
- package/Cameras/VR/webVRCamera.d.ts +9 -9
- package/Cameras/VR/webVRCamera.js +9 -9
- package/Cameras/VR/webVRCamera.js.map +1 -1
- package/Cameras/arcRotateCamera.d.ts +12 -13
- package/Cameras/arcRotateCamera.js +9 -10
- package/Cameras/arcRotateCamera.js.map +1 -1
- package/Cameras/camera.d.ts +31 -40
- package/Cameras/camera.js +29 -38
- package/Cameras/camera.js.map +1 -1
- package/Cameras/deviceOrientationCamera.d.ts +1 -1
- package/Cameras/deviceOrientationCamera.js +1 -1
- package/Cameras/deviceOrientationCamera.js.map +1 -1
- package/Cameras/flyCamera.d.ts +8 -12
- package/Cameras/flyCamera.js +6 -10
- package/Cameras/flyCamera.js.map +1 -1
- package/Cameras/followCamera.d.ts +2 -2
- package/Cameras/followCamera.js +2 -2
- package/Cameras/followCamera.js.map +1 -1
- package/Cameras/freeCamera.d.ts +7 -8
- package/Cameras/freeCamera.js +5 -6
- package/Cameras/freeCamera.js.map +1 -1
- package/Cameras/freeCameraInputsManager.d.ts +2 -2
- package/Cameras/freeCameraInputsManager.js +2 -2
- package/Cameras/freeCameraInputsManager.js.map +1 -1
- package/Cameras/gamepadCamera.d.ts +1 -1
- package/Cameras/gamepadCamera.js +1 -1
- package/Cameras/gamepadCamera.js.map +1 -1
- package/Cameras/targetCamera.d.ts +22 -25
- package/Cameras/targetCamera.js +21 -24
- package/Cameras/targetCamera.js.map +1 -1
- package/Cameras/touchCamera.d.ts +2 -2
- package/Cameras/touchCamera.js +2 -2
- package/Cameras/touchCamera.js.map +1 -1
- package/Cameras/universalCamera.d.ts +1 -1
- package/Cameras/universalCamera.js +1 -1
- package/Cameras/universalCamera.js.map +1 -1
- package/Cameras/virtualJoysticksCamera.d.ts +1 -1
- package/Cameras/virtualJoysticksCamera.js +1 -1
- package/Cameras/virtualJoysticksCamera.js.map +1 -1
- package/Collisions/collider.d.ts +13 -44
- package/Collisions/collider.js +10 -41
- package/Collisions/collider.js.map +1 -1
- package/Collisions/collisionCoordinator.d.ts +2 -2
- package/Collisions/collisionCoordinator.js +1 -1
- package/Collisions/collisionCoordinator.js.map +1 -1
- package/Collisions/intersectionInfo.d.ts +1 -1
- package/Collisions/intersectionInfo.js +1 -1
- package/Collisions/intersectionInfo.js.map +1 -1
- package/Collisions/meshCollisionData.d.ts +1 -1
- package/Collisions/meshCollisionData.js +1 -1
- package/Collisions/meshCollisionData.js.map +1 -1
- package/Collisions/pickingInfo.d.ts +1 -1
- package/Collisions/pickingInfo.js +1 -1
- package/Collisions/pickingInfo.js.map +1 -1
- package/Compute/IComputeContext.d.ts +1 -1
- package/Compute/IComputeContext.js.map +1 -1
- package/Compute/IComputePipelineContext.d.ts +2 -2
- package/Compute/IComputePipelineContext.js.map +1 -1
- package/Compute/computeEffect.d.ts +5 -5
- package/Compute/computeEffect.js +5 -5
- package/Compute/computeEffect.js.map +1 -1
- package/Culling/Octrees/octreeBlock.d.ts +1 -9
- package/Culling/Octrees/octreeBlock.js +1 -9
- package/Culling/Octrees/octreeBlock.js.map +1 -1
- package/Culling/Octrees/octreeSceneComponent.d.ts +2 -2
- package/Culling/Octrees/octreeSceneComponent.js.map +1 -1
- package/Culling/boundingBox.d.ts +6 -7
- package/Culling/boundingBox.js +5 -6
- package/Culling/boundingBox.js.map +1 -1
- package/Culling/boundingInfo.d.ts +1 -2
- package/Culling/boundingInfo.js +1 -2
- package/Culling/boundingInfo.js.map +1 -1
- package/Culling/boundingSphere.d.ts +1 -2
- package/Culling/boundingSphere.js +1 -2
- package/Culling/boundingSphere.js.map +1 -1
- package/Culling/ray.d.ts +7 -7
- package/Culling/ray.js +1 -1
- package/Culling/ray.js.map +1 -1
- package/Debug/debugLayer.d.ts +2 -2
- package/Debug/debugLayer.js +1 -1
- package/Debug/debugLayer.js.map +1 -1
- package/Debug/physicsViewer.d.ts +6 -6
- package/Debug/physicsViewer.js +4 -4
- package/Debug/physicsViewer.js.map +1 -1
- package/DeviceInput/InputDevices/deviceEnums.d.ts +1 -1
- package/DeviceInput/InputDevices/deviceEnums.js +1 -1
- package/DeviceInput/InputDevices/deviceEnums.js.map +1 -1
- package/DeviceInput/InputDevices/deviceSourceManager.d.ts +3 -3
- package/DeviceInput/InputDevices/deviceSourceManager.js +3 -3
- package/DeviceInput/InputDevices/deviceSourceManager.js.map +1 -1
- package/DeviceInput/internalDeviceSourceManager.d.ts +3 -3
- package/DeviceInput/internalDeviceSourceManager.js +1 -1
- package/DeviceInput/internalDeviceSourceManager.js.map +1 -1
- package/DeviceInput/nativeDeviceInputSystem.d.ts +1 -1
- package/DeviceInput/nativeDeviceInputSystem.js +1 -1
- package/DeviceInput/nativeDeviceInputSystem.js.map +1 -1
- package/DeviceInput/webDeviceInputSystem.d.ts +1 -1
- package/DeviceInput/webDeviceInputSystem.js +1 -1
- package/DeviceInput/webDeviceInputSystem.js.map +1 -1
- package/Engines/Extensions/engine.computeShader.d.ts +7 -7
- package/Engines/Extensions/engine.computeShader.js +1 -1
- package/Engines/Extensions/engine.computeShader.js.map +1 -1
- package/Engines/Extensions/engine.cubeTexture.d.ts +6 -6
- package/Engines/Extensions/engine.cubeTexture.js.map +1 -1
- package/Engines/Extensions/engine.debugging.d.ts +4 -4
- package/Engines/Extensions/engine.debugging.js.map +1 -1
- package/Engines/Extensions/engine.multiRender.js +8 -10
- package/Engines/Extensions/engine.multiRender.js.map +1 -1
- package/Engines/Extensions/engine.multiview.d.ts +9 -9
- package/Engines/Extensions/engine.multiview.js.map +1 -1
- package/Engines/Extensions/engine.query.d.ts +24 -24
- package/Engines/Extensions/engine.query.js +8 -8
- package/Engines/Extensions/engine.query.js.map +1 -1
- package/Engines/Extensions/engine.rawTexture.js +3 -7
- package/Engines/Extensions/engine.rawTexture.js.map +1 -1
- package/Engines/Extensions/engine.readTexture.d.ts +2 -2
- package/Engines/Extensions/engine.readTexture.js.map +1 -1
- package/Engines/Extensions/engine.renderTarget.d.ts +2 -2
- package/Engines/Extensions/engine.renderTarget.js.map +1 -1
- package/Engines/Extensions/engine.textureSelector.d.ts +2 -2
- package/Engines/Extensions/engine.textureSelector.js.map +1 -1
- package/Engines/Extensions/engine.transformFeedback.d.ts +1 -1
- package/Engines/Extensions/engine.transformFeedback.js +1 -1
- package/Engines/Extensions/engine.transformFeedback.js.map +1 -1
- package/Engines/Extensions/engine.views.d.ts +2 -2
- package/Engines/Extensions/engine.views.js.map +1 -1
- package/Engines/Extensions/engine.webVR.d.ts +13 -13
- package/Engines/Extensions/engine.webVR.js.map +1 -1
- package/Engines/ICanvas.d.ts +11 -0
- package/Engines/ICanvas.js.map +1 -1
- package/Engines/IDrawContext.d.ts +1 -1
- package/Engines/IDrawContext.js.map +1 -1
- package/Engines/IMaterialContext.d.ts +1 -1
- package/Engines/IMaterialContext.js.map +1 -1
- package/Engines/IPipelineContext.d.ts +5 -5
- package/Engines/IPipelineContext.js.map +1 -1
- package/Engines/Native/nativeDataStream.d.ts +2 -2
- package/Engines/Native/nativeDataStream.js +1 -1
- package/Engines/Native/nativeDataStream.js.map +1 -1
- package/Engines/Native/nativeInterfaces.d.ts +10 -10
- package/Engines/Native/nativeInterfaces.js.map +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.d.ts +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.js +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.js.map +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.d.ts +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.js +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.js.map +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.d.ts +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.js +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.js.map +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.d.ts +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.js +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.js.map +1 -1
- package/Engines/Processors/Expressions/shaderDefineExpression.d.ts +1 -1
- package/Engines/Processors/Expressions/shaderDefineExpression.js +1 -1
- package/Engines/Processors/Expressions/shaderDefineExpression.js.map +1 -1
- package/Engines/Processors/iShaderProcessor.d.ts +1 -1
- package/Engines/Processors/iShaderProcessor.js.map +1 -1
- package/Engines/Processors/shaderCodeConditionNode.d.ts +1 -1
- package/Engines/Processors/shaderCodeConditionNode.js +1 -1
- package/Engines/Processors/shaderCodeConditionNode.js.map +1 -1
- package/Engines/Processors/shaderCodeCursor.d.ts +1 -1
- package/Engines/Processors/shaderCodeCursor.js +1 -1
- package/Engines/Processors/shaderCodeCursor.js.map +1 -1
- package/Engines/Processors/shaderCodeNode.d.ts +1 -1
- package/Engines/Processors/shaderCodeNode.js +1 -1
- package/Engines/Processors/shaderCodeNode.js.map +1 -1
- package/Engines/Processors/shaderCodeTestNode.d.ts +1 -1
- package/Engines/Processors/shaderCodeTestNode.js +1 -1
- package/Engines/Processors/shaderCodeTestNode.js.map +1 -1
- package/Engines/Processors/shaderProcessingOptions.d.ts +2 -2
- package/Engines/Processors/shaderProcessingOptions.js.map +1 -1
- package/Engines/Processors/shaderProcessor.d.ts +2 -2
- package/Engines/Processors/shaderProcessor.js +2 -2
- package/Engines/Processors/shaderProcessor.js.map +1 -1
- package/Engines/WebGL/webGL2ShaderProcessors.d.ts +1 -1
- package/Engines/WebGL/webGL2ShaderProcessors.js +1 -1
- package/Engines/WebGL/webGL2ShaderProcessors.js.map +1 -1
- package/Engines/WebGL/webGLHardwareTexture.d.ts +1 -1
- package/Engines/WebGL/webGLHardwareTexture.js +1 -1
- package/Engines/WebGL/webGLHardwareTexture.js.map +1 -1
- package/Engines/WebGL/webGLPipelineContext.d.ts +29 -38
- package/Engines/WebGL/webGLPipelineContext.js +95 -326
- package/Engines/WebGL/webGLPipelineContext.js.map +1 -1
- package/Engines/WebGL/webGLRenderTargetWrapper.d.ts +2 -2
- package/Engines/WebGL/webGLRenderTargetWrapper.js +3 -3
- package/Engines/WebGL/webGLRenderTargetWrapper.js.map +1 -1
- package/Engines/WebGL/webGLShaderProcessors.d.ts +1 -1
- package/Engines/WebGL/webGLShaderProcessors.js +1 -1
- package/Engines/WebGL/webGLShaderProcessors.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.computeShader.d.ts +1 -1
- package/Engines/WebGPU/Extensions/engine.computeShader.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.rawTexture.js +1 -5
- package/Engines/WebGPU/Extensions/engine.rawTexture.js.map +1 -1
- package/Engines/WebGPU/webgpuBufferManager.d.ts +1 -1
- package/Engines/WebGPU/webgpuBufferManager.js +1 -1
- package/Engines/WebGPU/webgpuBufferManager.js.map +1 -1
- package/Engines/WebGPU/webgpuBundleList.d.ts +8 -8
- package/Engines/WebGPU/webgpuBundleList.js +7 -7
- package/Engines/WebGPU/webgpuBundleList.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheBindGroups.d.ts +1 -1
- package/Engines/WebGPU/webgpuCacheBindGroups.js +1 -1
- package/Engines/WebGPU/webgpuCacheBindGroups.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipeline.d.ts +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipeline.js +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipelineString.d.ts +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipelineString.js +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipelineString.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipelineTree.d.ts +2 -2
- package/Engines/WebGPU/webgpuCacheRenderPipelineTree.js +2 -2
- package/Engines/WebGPU/webgpuCacheRenderPipelineTree.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheSampler.d.ts +1 -1
- package/Engines/WebGPU/webgpuCacheSampler.js +1 -1
- package/Engines/WebGPU/webgpuCacheSampler.js.map +1 -1
- package/Engines/WebGPU/webgpuClearQuad.d.ts +1 -1
- package/Engines/WebGPU/webgpuClearQuad.js +1 -1
- package/Engines/WebGPU/webgpuClearQuad.js.map +1 -1
- package/Engines/WebGPU/webgpuComputeContext.d.ts +1 -1
- package/Engines/WebGPU/webgpuComputeContext.js +1 -1
- package/Engines/WebGPU/webgpuComputeContext.js.map +1 -1
- package/Engines/WebGPU/webgpuComputePipelineContext.d.ts +2 -2
- package/Engines/WebGPU/webgpuComputePipelineContext.js +1 -1
- package/Engines/WebGPU/webgpuComputePipelineContext.js.map +1 -1
- package/Engines/WebGPU/webgpuConstants.d.ts +38 -38
- package/Engines/WebGPU/webgpuConstants.js +38 -38
- package/Engines/WebGPU/webgpuConstants.js.map +1 -1
- package/Engines/WebGPU/webgpuDepthCullingState.d.ts +1 -1
- package/Engines/WebGPU/webgpuDepthCullingState.js +1 -1
- package/Engines/WebGPU/webgpuDepthCullingState.js.map +1 -1
- package/Engines/WebGPU/webgpuDrawContext.d.ts +1 -1
- package/Engines/WebGPU/webgpuDrawContext.js +1 -1
- package/Engines/WebGPU/webgpuDrawContext.js.map +1 -1
- package/Engines/WebGPU/webgpuExternalTexture.d.ts +1 -1
- package/Engines/WebGPU/webgpuExternalTexture.js +1 -1
- package/Engines/WebGPU/webgpuExternalTexture.js.map +1 -1
- package/Engines/WebGPU/webgpuHardwareTexture.d.ts +9 -9
- package/Engines/WebGPU/webgpuHardwareTexture.js +1 -1
- package/Engines/WebGPU/webgpuHardwareTexture.js.map +1 -1
- package/Engines/WebGPU/webgpuMaterialContext.d.ts +3 -3
- package/Engines/WebGPU/webgpuMaterialContext.js +1 -1
- package/Engines/WebGPU/webgpuMaterialContext.js.map +1 -1
- package/Engines/WebGPU/webgpuOcclusionQuery.d.ts +1 -1
- package/Engines/WebGPU/webgpuOcclusionQuery.js +1 -1
- package/Engines/WebGPU/webgpuOcclusionQuery.js.map +1 -1
- package/Engines/WebGPU/webgpuPipelineContext.d.ts +4 -4
- package/Engines/WebGPU/webgpuPipelineContext.js +2 -2
- package/Engines/WebGPU/webgpuPipelineContext.js.map +1 -1
- package/Engines/WebGPU/webgpuQuerySet.d.ts +1 -1
- package/Engines/WebGPU/webgpuQuerySet.js +1 -1
- package/Engines/WebGPU/webgpuQuerySet.js.map +1 -1
- package/Engines/WebGPU/webgpuRenderPassWrapper.d.ts +1 -1
- package/Engines/WebGPU/webgpuRenderPassWrapper.js +1 -1
- package/Engines/WebGPU/webgpuRenderPassWrapper.js.map +1 -1
- package/Engines/WebGPU/webgpuRenderTargetWrapper.d.ts +2 -2
- package/Engines/WebGPU/webgpuRenderTargetWrapper.js +1 -1
- package/Engines/WebGPU/webgpuRenderTargetWrapper.js.map +1 -1
- package/Engines/WebGPU/webgpuShaderProcessingContext.d.ts +7 -7
- package/Engines/WebGPU/webgpuShaderProcessingContext.js +2 -2
- package/Engines/WebGPU/webgpuShaderProcessingContext.js.map +1 -1
- package/Engines/WebGPU/webgpuShaderProcessor.d.ts +1 -1
- package/Engines/WebGPU/webgpuShaderProcessor.js +1 -1
- package/Engines/WebGPU/webgpuShaderProcessor.js.map +1 -1
- package/Engines/WebGPU/webgpuShaderProcessorsGLSL.d.ts +1 -1
- package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js +1 -1
- package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js.map +1 -1
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.d.ts +1 -1
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +1 -1
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
- package/Engines/WebGPU/webgpuSnapshotRendering.d.ts +1 -1
- package/Engines/WebGPU/webgpuSnapshotRendering.js +1 -1
- package/Engines/WebGPU/webgpuSnapshotRendering.js.map +1 -1
- package/Engines/WebGPU/webgpuStencilStateComposer.d.ts +1 -1
- package/Engines/WebGPU/webgpuStencilStateComposer.js +1 -1
- package/Engines/WebGPU/webgpuStencilStateComposer.js.map +1 -1
- package/Engines/WebGPU/webgpuTextureHelper.d.ts +1 -1
- package/Engines/WebGPU/webgpuTextureHelper.js +1 -1
- package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
- package/Engines/WebGPU/webgpuTimestampQuery.d.ts +2 -2
- package/Engines/WebGPU/webgpuTimestampQuery.js +2 -2
- package/Engines/WebGPU/webgpuTimestampQuery.js.map +1 -1
- package/Engines/WebGPU/webgpuTintWASM.d.ts +1 -1
- package/Engines/WebGPU/webgpuTintWASM.js +1 -1
- package/Engines/WebGPU/webgpuTintWASM.js.map +1 -1
- package/Engines/constants.d.ts +1 -1
- package/Engines/constants.js +1 -1
- package/Engines/constants.js.map +1 -1
- package/Engines/engine.d.ts +18 -37
- package/Engines/engine.js +18 -37
- package/Engines/engine.js.map +1 -1
- package/Engines/engineFeatures.d.ts +2 -2
- package/Engines/engineFeatures.js.map +1 -1
- package/Engines/engineStore.d.ts +1 -1
- package/Engines/engineStore.js +1 -1
- package/Engines/engineStore.js.map +1 -1
- package/Engines/nativeEngine.d.ts +17 -49
- package/Engines/nativeEngine.js +22 -68
- package/Engines/nativeEngine.js.map +1 -1
- package/Engines/nullEngine.d.ts +12 -40
- package/Engines/nullEngine.js +12 -40
- package/Engines/nullEngine.js.map +1 -1
- package/Engines/performanceConfigurator.d.ts +6 -7
- package/Engines/performanceConfigurator.js +6 -7
- package/Engines/performanceConfigurator.js.map +1 -1
- package/Engines/renderTargetWrapper.d.ts +9 -9
- package/Engines/renderTargetWrapper.js +12 -10
- package/Engines/renderTargetWrapper.js.map +1 -1
- package/Engines/thinEngine.d.ts +96 -192
- package/Engines/thinEngine.js +82 -175
- package/Engines/thinEngine.js.map +1 -1
- package/Engines/webgpuEngine.d.ts +89 -145
- package/Engines/webgpuEngine.js +75 -128
- package/Engines/webgpuEngine.js.map +1 -1
- package/Events/clipboardEvents.d.ts +1 -1
- package/Events/clipboardEvents.js +1 -1
- package/Events/clipboardEvents.js.map +1 -1
- package/Events/pointerEvents.d.ts +4 -0
- package/Events/pointerEvents.js +4 -0
- package/Events/pointerEvents.js.map +1 -1
- package/Gamepads/Controllers/oculusTouchController.d.ts +1 -1
- package/Gamepads/Controllers/oculusTouchController.js +1 -1
- package/Gamepads/Controllers/oculusTouchController.js.map +1 -1
- package/Gamepads/Controllers/poseEnabledController.d.ts +9 -10
- package/Gamepads/Controllers/poseEnabledController.js +6 -7
- package/Gamepads/Controllers/poseEnabledController.js.map +1 -1
- package/Gamepads/Controllers/windowsMotionController.d.ts +2 -2
- package/Gamepads/Controllers/windowsMotionController.js +2 -2
- package/Gamepads/Controllers/windowsMotionController.js.map +1 -1
- package/Gamepads/gamepad.d.ts +1 -1
- package/Gamepads/gamepad.js +1 -1
- package/Gamepads/gamepad.js.map +1 -1
- package/Gamepads/gamepadManager.d.ts +2 -2
- package/Gamepads/gamepadManager.js +2 -2
- package/Gamepads/gamepadManager.js.map +1 -1
- package/Gamepads/gamepadSceneComponent.d.ts +1 -1
- package/Gamepads/gamepadSceneComponent.js.map +1 -1
- package/Gizmos/axisDragGizmo.d.ts +2 -8
- package/Gizmos/axisDragGizmo.js +2 -8
- package/Gizmos/axisDragGizmo.js.map +1 -1
- package/Gizmos/boundingBoxGizmo.d.ts +4 -0
- package/Gizmos/boundingBoxGizmo.js +6 -0
- package/Gizmos/boundingBoxGizmo.js.map +1 -1
- package/Gizmos/cameraGizmo.d.ts +1 -1
- package/Gizmos/cameraGizmo.js +1 -1
- package/Gizmos/cameraGizmo.js.map +1 -1
- package/Gizmos/lightGizmo.d.ts +1 -1
- package/Gizmos/lightGizmo.js +1 -1
- package/Gizmos/lightGizmo.js.map +1 -1
- package/Gizmos/planeDragGizmo.d.ts +1 -3
- package/Gizmos/planeDragGizmo.js +1 -3
- package/Gizmos/planeDragGizmo.js.map +1 -1
- package/Helpers/sceneHelpers.d.ts +1 -1
- package/Helpers/sceneHelpers.js +1 -1
- package/Helpers/sceneHelpers.js.map +1 -1
- package/Inputs/scene.inputManager.d.ts +3 -3
- package/Inputs/scene.inputManager.js +5 -4
- package/Inputs/scene.inputManager.js.map +1 -1
- package/Instrumentation/timeToken.d.ts +1 -1
- package/Instrumentation/timeToken.js +1 -1
- package/Instrumentation/timeToken.js.map +1 -1
- package/Layers/effectLayer.d.ts +5 -6
- package/Layers/effectLayer.js +3 -4
- package/Layers/effectLayer.js.map +1 -1
- package/Layers/glowLayer.d.ts +4 -4
- package/Layers/glowLayer.js +3 -3
- package/Layers/glowLayer.js.map +1 -1
- package/Layers/highlightLayer.d.ts +4 -4
- package/Layers/highlightLayer.js +3 -3
- package/Layers/highlightLayer.js.map +1 -1
- package/Layers/layer.d.ts +1 -1
- package/Layers/layer.js +1 -1
- package/Layers/layer.js.map +1 -1
- package/LensFlares/lensFlare.d.ts +1 -1
- package/LensFlares/lensFlare.js.map +1 -1
- package/LensFlares/lensFlareSystem.d.ts +4 -6
- package/LensFlares/lensFlareSystem.js +4 -6
- package/LensFlares/lensFlareSystem.js.map +1 -1
- package/Lights/Shadows/cascadedShadowGenerator.d.ts +1 -2
- package/Lights/Shadows/cascadedShadowGenerator.js +1 -2
- package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
- package/Lights/Shadows/shadowGenerator.d.ts +1 -2
- package/Lights/Shadows/shadowGenerator.js +1 -2
- package/Lights/Shadows/shadowGenerator.js.map +1 -1
- package/Lights/directionalLight.d.ts +2 -2
- package/Lights/directionalLight.js +2 -2
- package/Lights/directionalLight.js.map +1 -1
- package/Lights/hemisphericLight.d.ts +3 -3
- package/Lights/hemisphericLight.js +3 -3
- package/Lights/hemisphericLight.js.map +1 -1
- package/Lights/light.d.ts +11 -11
- package/Lights/light.js +8 -8
- package/Lights/light.js.map +1 -1
- package/Lights/lightConstants.d.ts +1 -1
- package/Lights/lightConstants.js +1 -1
- package/Lights/lightConstants.js.map +1 -1
- package/Lights/shadowLight.d.ts +3 -3
- package/Lights/shadowLight.js +3 -3
- package/Lights/shadowLight.js.map +1 -1
- package/Loading/Plugins/babylonFileLoader.d.ts +1 -1
- package/Loading/Plugins/babylonFileLoader.js +1 -1
- package/Loading/Plugins/babylonFileLoader.js.map +1 -1
- package/Loading/sceneLoader.d.ts +1 -1
- package/Loading/sceneLoader.js.map +1 -1
- package/Materials/Background/backgroundMaterial.js +2 -2
- package/Materials/Background/backgroundMaterial.js.map +1 -1
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.d.ts +18 -18
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js.map +1 -1
- package/Materials/Node/Blocks/Input/inputBlock.d.ts +4 -11
- package/Materials/Node/Blocks/Input/inputBlock.js +4 -11
- package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/anisotropyBlock.d.ts +2 -2
- package/Materials/Node/Blocks/PBR/anisotropyBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/reflectionBlock.d.ts +9 -9
- package/Materials/Node/Blocks/PBR/reflectionBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/refractionBlock.d.ts +12 -12
- package/Materials/Node/Blocks/PBR/refractionBlock.js.map +1 -1
- package/Materials/Node/nodeMaterial.d.ts +3 -3
- package/Materials/Node/nodeMaterial.js +4 -4
- package/Materials/Node/nodeMaterial.js.map +1 -1
- package/Materials/Node/nodeMaterialBlock.d.ts +8 -14
- package/Materials/Node/nodeMaterialBlock.js +6 -12
- package/Materials/Node/nodeMaterialBlock.js.map +1 -1
- package/Materials/Node/nodeMaterialBlockConnectionPoint.d.ts +8 -8
- package/Materials/Node/nodeMaterialBlockConnectionPoint.js +7 -7
- package/Materials/Node/nodeMaterialBlockConnectionPoint.js.map +1 -1
- package/Materials/Node/nodeMaterialBuildState.d.ts +22 -58
- package/Materials/Node/nodeMaterialBuildState.js +21 -57
- package/Materials/Node/nodeMaterialBuildState.js.map +1 -1
- package/Materials/PBR/pbrAnisotropicConfiguration.d.ts +3 -3
- package/Materials/PBR/pbrAnisotropicConfiguration.js +2 -2
- package/Materials/PBR/pbrAnisotropicConfiguration.js.map +1 -1
- package/Materials/PBR/pbrBRDFConfiguration.d.ts +3 -3
- package/Materials/PBR/pbrBRDFConfiguration.js +2 -2
- package/Materials/PBR/pbrBRDFConfiguration.js.map +1 -1
- package/Materials/PBR/pbrBaseMaterial.d.ts +65 -65
- package/Materials/PBR/pbrBaseMaterial.js +66 -66
- package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
- package/Materials/PBR/pbrClearCoatConfiguration.d.ts +4 -4
- package/Materials/PBR/pbrClearCoatConfiguration.js +3 -3
- package/Materials/PBR/pbrClearCoatConfiguration.js.map +1 -1
- package/Materials/PBR/pbrIridescenceConfiguration.d.ts +6 -6
- package/Materials/PBR/pbrIridescenceConfiguration.js +5 -5
- package/Materials/PBR/pbrIridescenceConfiguration.js.map +1 -1
- package/Materials/PBR/pbrSheenConfiguration.d.ts +3 -3
- package/Materials/PBR/pbrSheenConfiguration.js +2 -2
- package/Materials/PBR/pbrSheenConfiguration.js.map +1 -1
- package/Materials/PBR/pbrSubSurfaceConfiguration.d.ts +6 -6
- package/Materials/PBR/pbrSubSurfaceConfiguration.js +5 -5
- package/Materials/PBR/pbrSubSurfaceConfiguration.js.map +1 -1
- package/Materials/Textures/Filtering/hdrFiltering.d.ts +1 -1
- package/Materials/Textures/Filtering/hdrFiltering.js +1 -1
- package/Materials/Textures/Filtering/hdrFiltering.js.map +1 -1
- package/Materials/Textures/Loaders/ddsTextureLoader.d.ts +1 -1
- package/Materials/Textures/Loaders/ddsTextureLoader.js +1 -1
- package/Materials/Textures/Loaders/ddsTextureLoader.js.map +1 -1
- package/Materials/Textures/Loaders/envTextureLoader.d.ts +1 -1
- package/Materials/Textures/Loaders/envTextureLoader.js +1 -1
- package/Materials/Textures/Loaders/envTextureLoader.js.map +1 -1
- package/Materials/Textures/Loaders/hdrTextureLoader.d.ts +1 -1
- package/Materials/Textures/Loaders/hdrTextureLoader.js +1 -1
- package/Materials/Textures/Loaders/hdrTextureLoader.js.map +1 -1
- package/Materials/Textures/Loaders/ktxTextureLoader.d.ts +1 -1
- package/Materials/Textures/Loaders/ktxTextureLoader.js +1 -1
- package/Materials/Textures/Loaders/ktxTextureLoader.js.map +1 -1
- package/Materials/Textures/Loaders/tgaTextureLoader.d.ts +1 -1
- package/Materials/Textures/Loaders/tgaTextureLoader.js +1 -1
- package/Materials/Textures/Loaders/tgaTextureLoader.js.map +1 -1
- package/Materials/Textures/MultiviewRenderTarget.d.ts +1 -1
- package/Materials/Textures/MultiviewRenderTarget.js +1 -1
- package/Materials/Textures/MultiviewRenderTarget.js.map +1 -1
- package/Materials/Textures/Procedurals/customProceduralTexture.d.ts +2 -1
- package/Materials/Textures/Procedurals/customProceduralTexture.js +9 -3
- package/Materials/Textures/Procedurals/customProceduralTexture.js.map +1 -1
- package/Materials/Textures/Procedurals/proceduralTexture.d.ts +15 -16
- package/Materials/Textures/Procedurals/proceduralTexture.js +13 -14
- package/Materials/Textures/Procedurals/proceduralTexture.js.map +1 -1
- package/Materials/Textures/baseTexture.d.ts +17 -23
- package/Materials/Textures/baseTexture.js +20 -23
- package/Materials/Textures/baseTexture.js.map +1 -1
- package/Materials/Textures/colorGradingTexture.d.ts +1 -1
- package/Materials/Textures/colorGradingTexture.js +1 -1
- package/Materials/Textures/colorGradingTexture.js.map +1 -1
- package/Materials/Textures/cubeTexture.d.ts +3 -3
- package/Materials/Textures/cubeTexture.js +3 -3
- package/Materials/Textures/cubeTexture.js.map +1 -1
- package/Materials/Textures/dynamicTexture.d.ts +1 -1
- package/Materials/Textures/dynamicTexture.js +1 -1
- package/Materials/Textures/dynamicTexture.js.map +1 -1
- package/Materials/Textures/hardwareTextureWrapper.d.ts +1 -1
- package/Materials/Textures/hardwareTextureWrapper.js.map +1 -1
- package/Materials/Textures/internalTexture.d.ts +35 -37
- package/Materials/Textures/internalTexture.js +34 -36
- package/Materials/Textures/internalTexture.js.map +1 -1
- package/Materials/Textures/multiRenderTarget.d.ts +1 -3
- package/Materials/Textures/multiRenderTarget.js +1 -3
- package/Materials/Textures/multiRenderTarget.js.map +1 -1
- package/Materials/Textures/prePassRenderTarget.d.ts +9 -9
- package/Materials/Textures/prePassRenderTarget.js +6 -6
- package/Materials/Textures/prePassRenderTarget.js.map +1 -1
- package/Materials/Textures/rawCubeTexture.d.ts +1 -1
- package/Materials/Textures/rawCubeTexture.js +1 -1
- package/Materials/Textures/rawCubeTexture.js.map +1 -1
- package/Materials/Textures/renderTargetTexture.d.ts +10 -16
- package/Materials/Textures/renderTargetTexture.js +24 -28
- package/Materials/Textures/renderTargetTexture.js.map +1 -1
- package/Materials/Textures/texture.d.ts +6 -18
- package/Materials/Textures/texture.js +13 -23
- package/Materials/Textures/texture.js.map +1 -1
- package/Materials/Textures/textureSampler.d.ts +5 -5
- package/Materials/Textures/textureSampler.js +5 -5
- package/Materials/Textures/textureSampler.js.map +1 -1
- package/Materials/Textures/thinTexture.d.ts +2 -2
- package/Materials/Textures/thinTexture.js +2 -2
- 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/colorCurves.d.ts +3 -3
- package/Materials/colorCurves.js +3 -3
- package/Materials/colorCurves.js.map +1 -1
- package/Materials/drawWrapper.d.ts +1 -1
- package/Materials/drawWrapper.js +1 -1
- package/Materials/drawWrapper.js.map +1 -1
- package/Materials/effect.d.ts +44 -44
- package/Materials/effect.js +50 -310
- package/Materials/effect.js.map +1 -1
- package/Materials/effectRenderer.d.ts +1 -1
- package/Materials/effectRenderer.js.map +1 -1
- package/Materials/fresnelParameters.d.ts +1 -1
- package/Materials/fresnelParameters.js +1 -1
- package/Materials/fresnelParameters.js.map +1 -1
- package/Materials/imageProcessingConfiguration.d.ts +9 -9
- package/Materials/imageProcessingConfiguration.js +8 -8
- package/Materials/imageProcessingConfiguration.js.map +1 -1
- package/Materials/material.d.ts +21 -26
- package/Materials/material.detailMapConfiguration.d.ts +3 -3
- package/Materials/material.detailMapConfiguration.js +2 -2
- package/Materials/material.detailMapConfiguration.js.map +1 -1
- package/Materials/material.js +17 -22
- package/Materials/material.js.map +1 -1
- package/Materials/materialDefines.d.ts +14 -14
- package/Materials/materialDefines.js +13 -13
- package/Materials/materialDefines.js.map +1 -1
- package/Materials/materialHelper.js +1 -1
- package/Materials/materialHelper.js.map +1 -1
- package/Materials/materialPluginEvent.d.ts +15 -15
- package/Materials/materialPluginEvent.js +1 -1
- package/Materials/materialPluginEvent.js.map +1 -1
- package/Materials/materialPluginManager.d.ts +2 -4
- package/Materials/materialPluginManager.js +2 -4
- package/Materials/materialPluginManager.js.map +1 -1
- package/Materials/multiMaterial.d.ts +1 -1
- package/Materials/multiMaterial.js +1 -1
- package/Materials/multiMaterial.js.map +1 -1
- package/Materials/pushMaterial.d.ts +1 -1
- package/Materials/pushMaterial.js +1 -1
- package/Materials/pushMaterial.js.map +1 -1
- package/Materials/shaderMaterial.d.ts +25 -25
- package/Materials/shaderMaterial.js +25 -25
- package/Materials/shaderMaterial.js.map +1 -1
- package/Materials/standardMaterial.d.ts +3 -3
- package/Materials/standardMaterial.js +4 -4
- package/Materials/standardMaterial.js.map +1 -1
- package/Materials/uniformBuffer.d.ts +4 -4
- package/Materials/uniformBuffer.js +4 -4
- package/Materials/uniformBuffer.js.map +1 -1
- package/Materials/uniformBufferEffectCommonAccessor.d.ts +1 -1
- package/Materials/uniformBufferEffectCommonAccessor.js +1 -1
- package/Materials/uniformBufferEffectCommonAccessor.js.map +1 -1
- package/Maths/index.d.ts +1 -0
- package/Maths/index.js +1 -0
- package/Maths/index.js.map +1 -1
- package/Maths/math.color.d.ts +1 -1
- package/Maths/math.color.js +1 -1
- package/Maths/math.color.js.map +1 -1
- package/Maths/math.functions.d.ts +2 -2
- package/Maths/math.functions.js +2 -2
- package/Maths/math.functions.js.map +1 -1
- package/Maths/math.isovector.d.ts +1 -1
- package/Maths/math.isovector.js +1 -1
- package/Maths/math.isovector.js.map +1 -1
- package/Maths/math.like.d.ts +8 -8
- package/Maths/math.like.js.map +1 -1
- package/Maths/math.polar.d.ts +420 -0
- package/Maths/math.polar.js +651 -0
- package/Maths/math.polar.js.map +1 -0
- package/Maths/math.scalar.d.ts +2 -2
- package/Maths/math.scalar.js +2 -2
- package/Maths/math.scalar.js.map +1 -1
- package/Maths/math.vector.d.ts +24 -26
- package/Maths/math.vector.js +18 -20
- package/Maths/math.vector.js.map +1 -1
- package/Meshes/Builders/tubeBuilder.d.ts +2 -2
- package/Meshes/Builders/tubeBuilder.js +2 -2
- package/Meshes/Builders/tubeBuilder.js.map +1 -1
- package/Meshes/WebGL/webGLDataBuffer.d.ts +1 -1
- package/Meshes/WebGL/webGLDataBuffer.js +1 -1
- package/Meshes/WebGL/webGLDataBuffer.js.map +1 -1
- package/Meshes/WebGPU/webgpuDataBuffer.d.ts +1 -1
- package/Meshes/WebGPU/webgpuDataBuffer.js +1 -1
- package/Meshes/WebGPU/webgpuDataBuffer.js.map +1 -1
- package/Meshes/abstractMesh.d.ts +49 -71
- package/Meshes/abstractMesh.js +56 -73
- package/Meshes/abstractMesh.js.map +1 -1
- package/Meshes/buffer.d.ts +1 -1
- package/Meshes/buffer.js +1 -1
- package/Meshes/buffer.js.map +1 -1
- package/Meshes/geodesicMesh.d.ts +15 -28
- package/Meshes/geodesicMesh.js +11 -24
- package/Meshes/geodesicMesh.js.map +1 -1
- package/Meshes/geometry.d.ts +18 -23
- package/Meshes/geometry.js +10 -15
- package/Meshes/geometry.js.map +1 -1
- package/Meshes/groundMesh.d.ts +8 -8
- package/Meshes/groundMesh.js.map +1 -1
- package/Meshes/instancedMesh.d.ts +13 -17
- package/Meshes/instancedMesh.js +11 -15
- package/Meshes/instancedMesh.js.map +1 -1
- package/Meshes/linesMesh.d.ts +5 -8
- package/Meshes/linesMesh.js +5 -8
- package/Meshes/linesMesh.js.map +1 -1
- package/Meshes/mesh.d.ts +49 -94
- package/Meshes/mesh.js +53 -95
- package/Meshes/mesh.js.map +1 -1
- package/Meshes/mesh.vertexData.d.ts +3 -18
- package/Meshes/mesh.vertexData.js +3 -18
- package/Meshes/mesh.vertexData.js.map +1 -1
- package/Meshes/meshSimplificationSceneComponent.d.ts +1 -1
- package/Meshes/meshSimplificationSceneComponent.js.map +1 -1
- package/Meshes/subMesh.d.ts +22 -52
- package/Meshes/subMesh.js +19 -49
- package/Meshes/subMesh.js.map +1 -1
- package/Meshes/subMesh.project.d.ts +2 -2
- package/Meshes/subMesh.project.js +2 -12
- package/Meshes/subMesh.project.js.map +1 -1
- package/Meshes/thinInstanceMesh.d.ts +5 -5
- package/Meshes/thinInstanceMesh.js.map +1 -1
- package/Meshes/transformNode.d.ts +8 -9
- package/Meshes/transformNode.js +11 -9
- package/Meshes/transformNode.js.map +1 -1
- package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.d.ts +2 -2
- package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.js +2 -2
- package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.js.map +1 -1
- package/Misc/HighDynamicRange/hdr.d.ts +3 -3
- package/Misc/HighDynamicRange/hdr.js +3 -3
- package/Misc/HighDynamicRange/hdr.js.map +1 -1
- package/Misc/HighDynamicRange/panoramaToCubemap.d.ts +1 -1
- package/Misc/HighDynamicRange/panoramaToCubemap.js +1 -1
- package/Misc/HighDynamicRange/panoramaToCubemap.js.map +1 -1
- package/Misc/arrayTools.d.ts +14 -13
- package/Misc/arrayTools.js +70 -39
- package/Misc/arrayTools.js.map +1 -1
- package/Misc/assetsManager.d.ts +4 -6
- package/Misc/assetsManager.js +4 -6
- package/Misc/assetsManager.js.map +1 -1
- package/Misc/basis.js +2 -2
- package/Misc/basis.js.map +1 -1
- package/Misc/coroutine.d.ts +11 -25
- package/Misc/coroutine.js +7 -21
- package/Misc/coroutine.js.map +1 -1
- package/Misc/dds.d.ts +1 -10
- package/Misc/dds.js +1 -10
- package/Misc/dds.js.map +1 -1
- package/Misc/decorators.d.ts +5 -15
- package/Misc/decorators.js +6 -16
- package/Misc/decorators.js.map +1 -1
- package/Misc/depthReducer.d.ts +1 -5
- package/Misc/depthReducer.js +1 -5
- package/Misc/depthReducer.js.map +1 -1
- package/Misc/devTools.d.ts +1 -2
- package/Misc/devTools.js +1 -2
- package/Misc/devTools.js.map +1 -1
- package/Misc/environmentTextureTools.d.ts +5 -10
- package/Misc/environmentTextureTools.js +6 -11
- package/Misc/environmentTextureTools.js.map +1 -1
- package/Misc/fileTools.d.ts +15 -27
- package/Misc/fileTools.js +33 -38
- package/Misc/fileTools.js.map +1 -1
- package/Misc/khronosTextureContainer.d.ts +1 -3
- package/Misc/khronosTextureContainer.js +1 -3
- package/Misc/khronosTextureContainer.js.map +1 -1
- package/Misc/khronosTextureContainer2.d.ts +1 -4
- package/Misc/khronosTextureContainer2.js +1 -4
- package/Misc/khronosTextureContainer2.js.map +1 -1
- package/Misc/observable.d.ts +4 -5
- package/Misc/observable.js +3 -4
- package/Misc/observable.js.map +1 -1
- package/Misc/performanceMonitor.d.ts +3 -3
- package/Misc/performanceMonitor.js +3 -3
- package/Misc/performanceMonitor.js.map +1 -1
- package/Misc/pivotTools.d.ts +3 -5
- package/Misc/pivotTools.js +3 -5
- package/Misc/pivotTools.js.map +1 -1
- package/Misc/rgbdTextureTools.d.ts +1 -1
- package/Misc/rgbdTextureTools.js +1 -1
- package/Misc/rgbdTextureTools.js.map +1 -1
- package/Misc/sceneOptimizer.d.ts +7 -7
- package/Misc/sceneOptimizer.js +7 -7
- package/Misc/sceneOptimizer.js.map +1 -1
- package/Misc/screenshotTools.js +1 -1
- package/Misc/screenshotTools.js.map +1 -1
- package/Misc/stringDictionary.d.ts +6 -6
- package/Misc/stringDictionary.js +6 -6
- package/Misc/stringDictionary.js.map +1 -1
- package/Misc/tags.d.ts +2 -6
- package/Misc/tags.js +2 -6
- package/Misc/tags.js.map +1 -1
- package/Misc/textureTools.d.ts +4 -4
- package/Misc/textureTools.js +4 -4
- package/Misc/textureTools.js.map +1 -1
- package/Misc/tga.d.ts +14 -70
- package/Misc/tga.js +14 -70
- package/Misc/tga.js.map +1 -1
- package/Misc/tools.d.ts +6 -6
- package/Misc/tools.js +6 -6
- package/Misc/tools.js.map +1 -1
- package/Misc/typeStore.d.ts +2 -5
- package/Misc/typeStore.js +3 -6
- package/Misc/typeStore.js.map +1 -1
- package/Misc/videoRecorder.d.ts +1 -1
- package/Misc/videoRecorder.js +1 -1
- package/Misc/videoRecorder.js.map +1 -1
- package/Misc/webRequest.d.ts +2 -2
- package/Misc/webRequest.js +1 -1
- package/Misc/webRequest.js.map +1 -1
- package/Morph/morphTarget.d.ts +1 -1
- package/Morph/morphTarget.js +1 -1
- package/Morph/morphTarget.js.map +1 -1
- package/Morph/morphTargetManager.d.ts +3 -4
- package/Morph/morphTargetManager.js +2 -3
- package/Morph/morphTargetManager.js.map +1 -1
- package/Particles/IGPUParticleSystemPlatform.d.ts +1 -1
- package/Particles/IGPUParticleSystemPlatform.js.map +1 -1
- package/Particles/IParticleSystem.d.ts +1 -1
- package/Particles/IParticleSystem.js.map +1 -1
- package/Particles/baseParticleSystem.d.ts +6 -9
- package/Particles/baseParticleSystem.js +5 -8
- package/Particles/baseParticleSystem.js.map +1 -1
- package/Particles/cloudPoint.d.ts +16 -19
- package/Particles/cloudPoint.js +21 -29
- package/Particles/cloudPoint.js.map +1 -1
- package/Particles/computeShaderParticleSystem.d.ts +1 -1
- package/Particles/computeShaderParticleSystem.js +1 -1
- package/Particles/computeShaderParticleSystem.js.map +1 -1
- package/Particles/gpuParticleSystem.d.ts +14 -20
- package/Particles/gpuParticleSystem.js +6 -12
- package/Particles/gpuParticleSystem.js.map +1 -1
- package/Particles/particle.d.ts +30 -31
- package/Particles/particle.js +16 -17
- package/Particles/particle.js.map +1 -1
- package/Particles/particleSystem.d.ts +16 -32
- package/Particles/particleSystem.js +14 -30
- package/Particles/particleSystem.js.map +1 -1
- package/Particles/pointsCloudSystem.d.ts +3 -4
- package/Particles/pointsCloudSystem.js +27 -20
- package/Particles/pointsCloudSystem.js.map +1 -1
- package/Particles/solidParticle.d.ts +21 -31
- package/Particles/solidParticle.js +9 -19
- package/Particles/solidParticle.js.map +1 -1
- package/Particles/solidParticleSystem.d.ts +18 -16
- package/Particles/solidParticleSystem.js +39 -19
- package/Particles/solidParticleSystem.js.map +1 -1
- package/Particles/subEmitter.d.ts +1 -5
- package/Particles/subEmitter.js +1 -5
- package/Particles/subEmitter.js.map +1 -1
- package/Particles/webgl2ParticleSystem.d.ts +1 -1
- package/Particles/webgl2ParticleSystem.js +1 -1
- package/Particles/webgl2ParticleSystem.js.map +1 -1
- package/Physics/IPhysicsEngine.d.ts +1 -1
- package/Physics/IPhysicsEngine.js.map +1 -1
- package/Physics/Plugins/ammoJSPlugin.d.ts +4 -1
- package/Physics/Plugins/ammoJSPlugin.js +22 -3
- package/Physics/Plugins/ammoJSPlugin.js.map +1 -1
- package/Physics/Plugins/cannonJSPlugin.d.ts +1 -1
- package/Physics/Plugins/cannonJSPlugin.js +1 -1
- package/Physics/Plugins/cannonJSPlugin.js.map +1 -1
- package/Physics/Plugins/oimoJSPlugin.d.ts +1 -1
- package/Physics/Plugins/oimoJSPlugin.js +4 -4
- package/Physics/Plugins/oimoJSPlugin.js.map +1 -1
- package/Physics/physicsEngineComponent.d.ts +5 -5
- package/Physics/physicsEngineComponent.js +2 -3
- package/Physics/physicsEngineComponent.js.map +1 -1
- package/Physics/physicsImpostor.d.ts +13 -7
- package/Physics/physicsImpostor.js +9 -6
- package/Physics/physicsImpostor.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.d.ts +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.d.ts +2 -4
- package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js +2 -4
- package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/postProcessRenderEffect.d.ts +10 -10
- package/PostProcesses/RenderPipeline/postProcessRenderEffect.js +5 -5
- package/PostProcesses/RenderPipeline/postProcessRenderEffect.js.map +1 -1
- package/PostProcesses/RenderPipeline/postProcessRenderPipeline.d.ts +13 -13
- package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js +7 -14
- package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.d.ts +1 -1
- package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.js +1 -1
- package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.js.map +1 -1
- package/PostProcesses/RenderPipeline/postProcessRenderPipelineManagerSceneComponent.d.ts +1 -1
- package/PostProcesses/RenderPipeline/postProcessRenderPipelineManagerSceneComponent.js.map +1 -1
- package/PostProcesses/blackAndWhitePostProcess.d.ts +1 -5
- package/PostProcesses/blackAndWhitePostProcess.js +1 -5
- package/PostProcesses/blackAndWhitePostProcess.js.map +1 -1
- package/PostProcesses/bloomEffect.d.ts +4 -4
- package/PostProcesses/bloomEffect.js +3 -3
- package/PostProcesses/bloomEffect.js.map +1 -1
- package/PostProcesses/blurPostProcess.d.ts +4 -8
- package/PostProcesses/blurPostProcess.js +4 -8
- package/PostProcesses/blurPostProcess.js.map +1 -1
- package/PostProcesses/chromaticAberrationPostProcess.d.ts +1 -5
- package/PostProcesses/chromaticAberrationPostProcess.js +1 -5
- package/PostProcesses/chromaticAberrationPostProcess.js.map +1 -1
- package/PostProcesses/colorCorrectionPostProcess.d.ts +1 -5
- package/PostProcesses/colorCorrectionPostProcess.js +1 -5
- package/PostProcesses/colorCorrectionPostProcess.js.map +1 -1
- package/PostProcesses/convolutionPostProcess.d.ts +1 -5
- package/PostProcesses/convolutionPostProcess.js +1 -5
- package/PostProcesses/convolutionPostProcess.js.map +1 -1
- package/PostProcesses/depthOfFieldEffect.d.ts +4 -4
- package/PostProcesses/depthOfFieldEffect.js +3 -3
- package/PostProcesses/depthOfFieldEffect.js.map +1 -1
- package/PostProcesses/displayPassPostProcess.d.ts +1 -5
- package/PostProcesses/displayPassPostProcess.js +1 -5
- package/PostProcesses/displayPassPostProcess.js.map +1 -1
- package/PostProcesses/extractHighlightsPostProcess.d.ts +2 -2
- package/PostProcesses/extractHighlightsPostProcess.js +2 -2
- package/PostProcesses/extractHighlightsPostProcess.js.map +1 -1
- package/PostProcesses/filterPostProcess.d.ts +1 -5
- package/PostProcesses/filterPostProcess.js +1 -5
- package/PostProcesses/filterPostProcess.js.map +1 -1
- package/PostProcesses/fxaaPostProcess.d.ts +1 -5
- package/PostProcesses/fxaaPostProcess.js +1 -5
- package/PostProcesses/fxaaPostProcess.js.map +1 -1
- package/PostProcesses/grainPostProcess.d.ts +1 -5
- package/PostProcesses/grainPostProcess.js +1 -5
- package/PostProcesses/grainPostProcess.js.map +1 -1
- package/PostProcesses/imageProcessingPostProcess.d.ts +1 -1
- package/PostProcesses/imageProcessingPostProcess.js +1 -1
- package/PostProcesses/imageProcessingPostProcess.js.map +1 -1
- package/PostProcesses/motionBlurPostProcess.d.ts +1 -5
- package/PostProcesses/motionBlurPostProcess.js +1 -5
- package/PostProcesses/motionBlurPostProcess.js.map +1 -1
- package/PostProcesses/passPostProcess.d.ts +2 -10
- package/PostProcesses/passPostProcess.js +2 -10
- package/PostProcesses/passPostProcess.js.map +1 -1
- package/PostProcesses/postProcess.d.ts +8 -12
- package/PostProcesses/postProcess.js +6 -10
- package/PostProcesses/postProcess.js.map +1 -1
- package/PostProcesses/postProcessManager.d.ts +3 -3
- package/PostProcesses/postProcessManager.js +3 -3
- package/PostProcesses/postProcessManager.js.map +1 -1
- package/PostProcesses/refractionPostProcess.d.ts +1 -5
- package/PostProcesses/refractionPostProcess.js +1 -5
- package/PostProcesses/refractionPostProcess.js.map +1 -1
- package/PostProcesses/screenSpaceCurvaturePostProcess.d.ts +1 -5
- package/PostProcesses/screenSpaceCurvaturePostProcess.js +1 -5
- package/PostProcesses/screenSpaceCurvaturePostProcess.js.map +1 -1
- package/PostProcesses/screenSpaceReflectionPostProcess.d.ts +1 -5
- package/PostProcesses/screenSpaceReflectionPostProcess.js +1 -5
- package/PostProcesses/screenSpaceReflectionPostProcess.js.map +1 -1
- package/PostProcesses/sharpenPostProcess.d.ts +1 -5
- package/PostProcesses/sharpenPostProcess.js +1 -5
- package/PostProcesses/sharpenPostProcess.js.map +1 -1
- package/PostProcesses/volumetricLightScatteringPostProcess.d.ts +4 -4
- package/PostProcesses/volumetricLightScatteringPostProcess.js +4 -4
- package/PostProcesses/volumetricLightScatteringPostProcess.js.map +1 -1
- package/Probes/reflectionProbe.d.ts +1 -1
- package/Probes/reflectionProbe.js +1 -1
- package/Probes/reflectionProbe.js.map +1 -1
- package/Rendering/boundingBoxRenderer.d.ts +5 -5
- package/Rendering/boundingBoxRenderer.js +2 -2
- package/Rendering/boundingBoxRenderer.js.map +1 -1
- package/Rendering/depthPeelingRenderer.d.ts +1 -0
- package/Rendering/depthPeelingRenderer.js +32 -5
- package/Rendering/depthPeelingRenderer.js.map +1 -1
- package/Rendering/depthPeelingSceneComponent.d.ts +2 -2
- package/Rendering/depthPeelingSceneComponent.js.map +1 -1
- package/Rendering/depthRenderer.d.ts +1 -2
- package/Rendering/depthRenderer.js +1 -2
- package/Rendering/depthRenderer.js.map +1 -1
- package/Rendering/depthRendererSceneComponent.d.ts +1 -1
- package/Rendering/depthRendererSceneComponent.js.map +1 -1
- package/Rendering/edgesRenderer.d.ts +4 -4
- package/Rendering/edgesRenderer.js +2 -2
- package/Rendering/edgesRenderer.js.map +1 -1
- package/Rendering/geometryBufferRenderer.d.ts +14 -18
- package/Rendering/geometryBufferRenderer.js +14 -18
- package/Rendering/geometryBufferRenderer.js.map +1 -1
- package/Rendering/geometryBufferRendererSceneComponent.d.ts +3 -2
- package/Rendering/geometryBufferRendererSceneComponent.js +3 -2
- package/Rendering/geometryBufferRendererSceneComponent.js.map +1 -1
- package/Rendering/outlineRenderer.d.ts +3 -3
- package/Rendering/outlineRenderer.js.map +1 -1
- package/Rendering/prePassRenderer.d.ts +18 -17
- package/Rendering/prePassRenderer.js +26 -18
- package/Rendering/prePassRenderer.js.map +1 -1
- package/Rendering/prePassRendererSceneComponent.d.ts +2 -2
- package/Rendering/prePassRendererSceneComponent.js.map +1 -1
- package/Rendering/renderingGroup.d.ts +3 -3
- package/Rendering/renderingGroup.js +3 -3
- package/Rendering/renderingGroup.js.map +1 -1
- package/Rendering/renderingManager.d.ts +4 -8
- package/Rendering/renderingManager.js +4 -8
- package/Rendering/renderingManager.js.map +1 -1
- package/Rendering/subSurfaceConfiguration.d.ts +4 -6
- package/Rendering/subSurfaceConfiguration.js +4 -6
- package/Rendering/subSurfaceConfiguration.js.map +1 -1
- package/Rendering/subSurfaceSceneComponent.d.ts +1 -1
- package/Rendering/subSurfaceSceneComponent.js.map +1 -1
- package/Rendering/utilityLayerRenderer.d.ts +4 -4
- package/Rendering/utilityLayerRenderer.js +15 -10
- package/Rendering/utilityLayerRenderer.js.map +1 -1
- package/Shaders/ShadersInclude/backgroundFragmentDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/backgroundFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/backgroundFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/backgroundUboDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/backgroundUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/backgroundUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/backgroundVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/backgroundVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/backgroundVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/bakedVertexAnimation.d.ts +1 -1
- package/Shaders/ShadersInclude/bakedVertexAnimation.js +1 -1
- package/Shaders/ShadersInclude/bakedVertexAnimation.js.map +1 -1
- package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.js +1 -1
- package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/bayerDitherFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/bayerDitherFunctions.js +1 -1
- package/Shaders/ShadersInclude/bayerDitherFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/bonesDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/bonesDeclaration.js +1 -1
- package/Shaders/ShadersInclude/bonesDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/bonesVertex.d.ts +1 -1
- package/Shaders/ShadersInclude/bonesVertex.js +1 -1
- package/Shaders/ShadersInclude/bonesVertex.js.map +1 -1
- package/Shaders/ShadersInclude/boundingBoxRendererFragmentDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/boundingBoxRendererFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/boundingBoxRendererFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/boundingBoxRendererVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/boundingBoxRendererVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/boundingBoxRendererVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/bumpFragment.d.ts +1 -1
- package/Shaders/ShadersInclude/bumpFragment.js +1 -1
- package/Shaders/ShadersInclude/bumpFragment.js.map +1 -1
- package/Shaders/ShadersInclude/bumpFragmentFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/bumpFragmentFunctions.js +1 -1
- package/Shaders/ShadersInclude/bumpFragmentFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/bumpFragmentMainFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js +1 -1
- package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/bumpVertex.d.ts +1 -1
- package/Shaders/ShadersInclude/bumpVertex.js +1 -1
- package/Shaders/ShadersInclude/bumpVertex.js.map +1 -1
- package/Shaders/ShadersInclude/bumpVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/bumpVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/bumpVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/clipPlaneFragment.d.ts +1 -1
- package/Shaders/ShadersInclude/clipPlaneFragment.js +1 -1
- package/Shaders/ShadersInclude/clipPlaneFragment.js.map +1 -1
- package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.d.ts +1 -1
- package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.js +1 -1
- package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.js.map +1 -1
- package/Shaders/ShadersInclude/clipPlaneVertex.d.ts +1 -1
- package/Shaders/ShadersInclude/clipPlaneVertex.js +1 -1
- package/Shaders/ShadersInclude/clipPlaneVertex.js.map +1 -1
- package/Shaders/ShadersInclude/clipPlaneVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/clipPlaneVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/clipPlaneVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.d.ts +1 -1
- package/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.js +1 -1
- package/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.js.map +1 -1
- package/Shaders/ShadersInclude/defaultFragmentDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/defaultFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/defaultFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/defaultUboDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/defaultUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/defaultUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/defaultVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/defaultVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/defaultVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/depthPrePass.d.ts +1 -1
- package/Shaders/ShadersInclude/depthPrePass.js +1 -1
- package/Shaders/ShadersInclude/depthPrePass.js.map +1 -1
- package/Shaders/ShadersInclude/diffusionProfile.d.ts +1 -1
- package/Shaders/ShadersInclude/diffusionProfile.js +1 -1
- package/Shaders/ShadersInclude/diffusionProfile.js.map +1 -1
- package/Shaders/ShadersInclude/fibonacci.d.ts +1 -1
- package/Shaders/ShadersInclude/fibonacci.js +1 -1
- package/Shaders/ShadersInclude/fibonacci.js.map +1 -1
- package/Shaders/ShadersInclude/fogFragment.d.ts +1 -1
- package/Shaders/ShadersInclude/fogFragment.js +1 -1
- package/Shaders/ShadersInclude/fogFragment.js.map +1 -1
- package/Shaders/ShadersInclude/fogFragmentDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/fogFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/fogFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/fogVertex.d.ts +1 -1
- package/Shaders/ShadersInclude/fogVertex.js +1 -1
- package/Shaders/ShadersInclude/fogVertex.js.map +1 -1
- package/Shaders/ShadersInclude/fogVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/fogVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/fogVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/fresnelFunction.d.ts +1 -1
- package/Shaders/ShadersInclude/fresnelFunction.js +1 -1
- package/Shaders/ShadersInclude/fresnelFunction.js.map +1 -1
- package/Shaders/ShadersInclude/geometryUboDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/geometryUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/geometryUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/geometryVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/geometryVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/geometryVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/harmonicsFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/harmonicsFunctions.js +1 -1
- package/Shaders/ShadersInclude/harmonicsFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/hdrFilteringFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/hdrFilteringFunctions.js +1 -1
- package/Shaders/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/helperFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/helperFunctions.js +1 -1
- package/Shaders/ShadersInclude/helperFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/imageProcessingCompatibility.d.ts +1 -1
- package/Shaders/ShadersInclude/imageProcessingCompatibility.js +1 -1
- package/Shaders/ShadersInclude/imageProcessingCompatibility.js.map +1 -1
- package/Shaders/ShadersInclude/imageProcessingDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/imageProcessingDeclaration.js +1 -1
- package/Shaders/ShadersInclude/imageProcessingDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/imageProcessingFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/imageProcessingFunctions.js +1 -1
- package/Shaders/ShadersInclude/imageProcessingFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/importanceSampling.d.ts +1 -1
- package/Shaders/ShadersInclude/importanceSampling.js +1 -1
- package/Shaders/ShadersInclude/importanceSampling.js.map +1 -1
- package/Shaders/ShadersInclude/instancesDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/instancesDeclaration.js +1 -1
- package/Shaders/ShadersInclude/instancesDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/instancesVertex.d.ts +1 -1
- package/Shaders/ShadersInclude/instancesVertex.js +1 -1
- package/Shaders/ShadersInclude/instancesVertex.js.map +1 -1
- package/Shaders/ShadersInclude/kernelBlurFragment.d.ts +1 -1
- package/Shaders/ShadersInclude/kernelBlurFragment.js +1 -1
- package/Shaders/ShadersInclude/kernelBlurFragment.js.map +1 -1
- package/Shaders/ShadersInclude/kernelBlurFragment2.d.ts +1 -1
- package/Shaders/ShadersInclude/kernelBlurFragment2.js +1 -1
- package/Shaders/ShadersInclude/kernelBlurFragment2.js.map +1 -1
- package/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.js +1 -1
- package/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/kernelBlurVertex.d.ts +1 -1
- package/Shaders/ShadersInclude/kernelBlurVertex.js +1 -1
- package/Shaders/ShadersInclude/kernelBlurVertex.js.map +1 -1
- package/Shaders/ShadersInclude/lightFragment.d.ts +1 -1
- package/Shaders/ShadersInclude/lightFragment.js +1 -1
- package/Shaders/ShadersInclude/lightFragment.js.map +1 -1
- package/Shaders/ShadersInclude/lightFragmentDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/lightFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/lightFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/lightUboDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/lightUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/lightUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/lightVxFragmentDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/lightVxFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/lightVxFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/lightVxUboDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/lightVxUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/lightVxUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/lightsFragmentFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/lightsFragmentFunctions.js +1 -1
- package/Shaders/ShadersInclude/lightsFragmentFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/logDepthDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/logDepthDeclaration.js +1 -1
- package/Shaders/ShadersInclude/logDepthDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/logDepthFragment.d.ts +1 -1
- package/Shaders/ShadersInclude/logDepthFragment.js +1 -1
- package/Shaders/ShadersInclude/logDepthFragment.js.map +1 -1
- package/Shaders/ShadersInclude/logDepthVertex.d.ts +1 -1
- package/Shaders/ShadersInclude/logDepthVertex.js +1 -1
- package/Shaders/ShadersInclude/logDepthVertex.js.map +1 -1
- package/Shaders/ShadersInclude/mainUVVaryingDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/mainUVVaryingDeclaration.js +1 -1
- package/Shaders/ShadersInclude/mainUVVaryingDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/meshFragmentDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/meshFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/meshFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/meshUboDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/meshUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/meshUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/meshVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/meshVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/meshVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertex.d.ts +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertex.js +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertex.js.map +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertexGlobal.d.ts +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertexGlobal.js +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertexGlobal.js.map +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.js +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/mrtFragmentDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/mrtFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/mrtFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/oitDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/oitDeclaration.js +1 -1
- package/Shaders/ShadersInclude/oitDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/oitFragment.d.ts +1 -1
- package/Shaders/ShadersInclude/oitFragment.js +1 -1
- package/Shaders/ShadersInclude/oitFragment.js.map +1 -1
- package/Shaders/ShadersInclude/packingFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/packingFunctions.js +1 -1
- package/Shaders/ShadersInclude/packingFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBRDFFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBRDFFunctions.js +1 -1
- package/Shaders/ShadersInclude/pbrBRDFFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockAlphaFresnel.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockAlphaFresnel.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockAlphaFresnel.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockAnisotropic.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockAnisotropic.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockAnisotropic.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockClearcoat.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockClearcoat.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockClearcoat.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockDirectLighting.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockDirectLighting.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockDirectLighting.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalColorComposition.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalColorComposition.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalColorComposition.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockGeometryInfo.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockGeometryInfo.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockGeometryInfo.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockImageProcessing.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockImageProcessing.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockImageProcessing.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockIridescence.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockIridescence.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockIridescence.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockLightmapInit.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockLightmapInit.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockLightmapInit.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockNormalFinal.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockNormalFinal.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockNormalFinal.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockNormalGeometric.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockNormalGeometric.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockNormalGeometric.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectance.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectance.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectance.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectance0.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectance0.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectance0.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflection.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflection.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflection.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectivity.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectivity.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectivity.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockSheen.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockSheen.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockSheen.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockSubSurface.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockSubSurface.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockSubSurface.js.map +1 -1
- package/Shaders/ShadersInclude/pbrDebug.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrDebug.js +1 -1
- package/Shaders/ShadersInclude/pbrDebug.js.map +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.js +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.js +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrFragmentDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/pbrFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.js +1 -1
- package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js +1 -1
- package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/pbrHelperFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrHelperFunctions.js +1 -1
- package/Shaders/ShadersInclude/pbrHelperFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrIBLFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrIBLFunctions.js +1 -1
- package/Shaders/ShadersInclude/pbrIBLFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrUboDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/pbrUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/pbrVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/pbrVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/pointCloudVertex.d.ts +1 -1
- package/Shaders/ShadersInclude/pointCloudVertex.js +1 -1
- package/Shaders/ShadersInclude/pointCloudVertex.js.map +1 -1
- package/Shaders/ShadersInclude/pointCloudVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/pointCloudVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/pointCloudVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/prePassDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/prePassDeclaration.js +1 -1
- package/Shaders/ShadersInclude/prePassDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/prePassVertex.d.ts +1 -1
- package/Shaders/ShadersInclude/prePassVertex.js +1 -1
- package/Shaders/ShadersInclude/prePassVertex.js.map +1 -1
- package/Shaders/ShadersInclude/prePassVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/prePassVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/prePassVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/reflectionFunction.d.ts +1 -1
- package/Shaders/ShadersInclude/reflectionFunction.js +1 -1
- package/Shaders/ShadersInclude/reflectionFunction.js.map +1 -1
- package/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.js +1 -1
- package/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/samplerFragmentDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/samplerFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/samplerFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/samplerVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/samplerVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/samplerVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/samplerVertexImplementation.d.ts +1 -1
- package/Shaders/ShadersInclude/samplerVertexImplementation.js +1 -1
- package/Shaders/ShadersInclude/samplerVertexImplementation.js.map +1 -1
- package/Shaders/ShadersInclude/sceneFragmentDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/sceneFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/sceneFragmentDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/sceneUboDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/sceneUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/sceneUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/sceneVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/sceneVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/sceneVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/shadowMapFragment.d.ts +1 -1
- package/Shaders/ShadersInclude/shadowMapFragment.js +1 -1
- package/Shaders/ShadersInclude/shadowMapFragment.js.map +1 -1
- package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.js +1 -1
- package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.d.ts +1 -1
- package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.js +1 -1
- package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.js.map +1 -1
- package/Shaders/ShadersInclude/shadowMapUboDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/shadowMapUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/shadowMapUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexExtraDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexExtraDeclaration.js +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexExtraDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexMetric.d.ts +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexMetric.js +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexMetric.js.map +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexNormalBias.d.ts +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexNormalBias.js +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexNormalBias.js.map +1 -1
- package/Shaders/ShadersInclude/shadowsFragmentFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/shadowsFragmentFunctions.js +1 -1
- package/Shaders/ShadersInclude/shadowsFragmentFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/shadowsVertex.d.ts +1 -1
- package/Shaders/ShadersInclude/shadowsVertex.js +1 -1
- package/Shaders/ShadersInclude/shadowsVertex.js.map +1 -1
- package/Shaders/ShadersInclude/subSurfaceScatteringFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/subSurfaceScatteringFunctions.js +1 -1
- package/Shaders/ShadersInclude/subSurfaceScatteringFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/uvAttributeDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/uvAttributeDeclaration.js +1 -1
- package/Shaders/ShadersInclude/uvAttributeDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/uvVariableDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/uvVariableDeclaration.js +1 -1
- package/Shaders/ShadersInclude/uvVariableDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/vertexColorMixing.d.ts +1 -1
- package/Shaders/ShadersInclude/vertexColorMixing.js +1 -1
- package/Shaders/ShadersInclude/vertexColorMixing.js.map +1 -1
- package/Shaders/anaglyph.fragment.d.ts +1 -1
- package/Shaders/anaglyph.fragment.js +1 -1
- package/Shaders/anaglyph.fragment.js.map +1 -1
- package/Shaders/background.fragment.d.ts +1 -1
- package/Shaders/background.fragment.js +1 -1
- package/Shaders/background.fragment.js.map +1 -1
- package/Shaders/background.vertex.d.ts +1 -1
- package/Shaders/background.vertex.js +1 -1
- package/Shaders/background.vertex.js.map +1 -1
- package/Shaders/blackAndWhite.fragment.d.ts +1 -1
- package/Shaders/blackAndWhite.fragment.js +1 -1
- package/Shaders/blackAndWhite.fragment.js.map +1 -1
- package/Shaders/bloomMerge.fragment.d.ts +1 -1
- package/Shaders/bloomMerge.fragment.js +1 -1
- package/Shaders/bloomMerge.fragment.js.map +1 -1
- package/Shaders/blur.fragment.d.ts +1 -1
- package/Shaders/blur.fragment.js +1 -1
- package/Shaders/blur.fragment.js.map +1 -1
- package/Shaders/boundingBoxRenderer.fragment.d.ts +1 -1
- package/Shaders/boundingBoxRenderer.fragment.js +1 -1
- package/Shaders/boundingBoxRenderer.fragment.js.map +1 -1
- package/Shaders/boundingBoxRenderer.vertex.d.ts +1 -1
- package/Shaders/boundingBoxRenderer.vertex.js +1 -1
- package/Shaders/boundingBoxRenderer.vertex.js.map +1 -1
- package/Shaders/chromaticAberration.fragment.d.ts +1 -1
- package/Shaders/chromaticAberration.fragment.js +2 -1
- package/Shaders/chromaticAberration.fragment.js.map +1 -1
- package/Shaders/circleOfConfusion.fragment.d.ts +1 -1
- package/Shaders/circleOfConfusion.fragment.js +1 -1
- package/Shaders/circleOfConfusion.fragment.js.map +1 -1
- package/Shaders/clearQuad.fragment.d.ts +1 -1
- package/Shaders/clearQuad.fragment.js +1 -1
- package/Shaders/clearQuad.fragment.js.map +1 -1
- package/Shaders/clearQuad.vertex.d.ts +1 -1
- package/Shaders/clearQuad.vertex.js +1 -1
- package/Shaders/clearQuad.vertex.js.map +1 -1
- package/Shaders/color.fragment.d.ts +1 -1
- package/Shaders/color.fragment.js +1 -1
- package/Shaders/color.fragment.js.map +1 -1
- package/Shaders/color.vertex.d.ts +1 -1
- package/Shaders/color.vertex.js +1 -1
- package/Shaders/color.vertex.js.map +1 -1
- package/Shaders/colorCorrection.fragment.d.ts +1 -1
- package/Shaders/colorCorrection.fragment.js +1 -1
- package/Shaders/colorCorrection.fragment.js.map +1 -1
- package/Shaders/convolution.fragment.d.ts +1 -1
- package/Shaders/convolution.fragment.js +1 -1
- package/Shaders/convolution.fragment.js.map +1 -1
- package/Shaders/default.fragment.d.ts +1 -1
- package/Shaders/default.fragment.js +1 -1
- package/Shaders/default.fragment.js.map +1 -1
- package/Shaders/default.vertex.d.ts +1 -1
- package/Shaders/default.vertex.js +1 -1
- package/Shaders/default.vertex.js.map +1 -1
- package/Shaders/depth.fragment.d.ts +1 -1
- package/Shaders/depth.fragment.js +1 -1
- package/Shaders/depth.fragment.js.map +1 -1
- package/Shaders/depth.vertex.d.ts +1 -1
- package/Shaders/depth.vertex.js +1 -1
- package/Shaders/depth.vertex.js.map +1 -1
- package/Shaders/depthBoxBlur.fragment.d.ts +1 -1
- package/Shaders/depthBoxBlur.fragment.js +1 -1
- package/Shaders/depthBoxBlur.fragment.js.map +1 -1
- package/Shaders/depthOfField.fragment.d.ts +1 -1
- package/Shaders/depthOfField.fragment.js +1 -1
- package/Shaders/depthOfField.fragment.js.map +1 -1
- package/Shaders/depthOfFieldMerge.fragment.d.ts +1 -1
- package/Shaders/depthOfFieldMerge.fragment.js +1 -1
- package/Shaders/depthOfFieldMerge.fragment.js.map +1 -1
- package/Shaders/displayPass.fragment.d.ts +1 -1
- package/Shaders/displayPass.fragment.js +1 -1
- package/Shaders/displayPass.fragment.js.map +1 -1
- package/Shaders/extractHighlights.fragment.d.ts +1 -1
- package/Shaders/extractHighlights.fragment.js +1 -1
- package/Shaders/extractHighlights.fragment.js.map +1 -1
- package/Shaders/filter.fragment.d.ts +1 -1
- package/Shaders/filter.fragment.js +1 -1
- package/Shaders/filter.fragment.js.map +1 -1
- package/Shaders/fxaa.fragment.d.ts +1 -1
- package/Shaders/fxaa.fragment.js +1 -1
- package/Shaders/fxaa.fragment.js.map +1 -1
- package/Shaders/fxaa.vertex.d.ts +1 -1
- package/Shaders/fxaa.vertex.js +1 -1
- package/Shaders/fxaa.vertex.js.map +1 -1
- package/Shaders/geometry.fragment.d.ts +1 -1
- package/Shaders/geometry.fragment.js +14 -2
- package/Shaders/geometry.fragment.js.map +1 -1
- package/Shaders/geometry.vertex.d.ts +1 -1
- package/Shaders/geometry.vertex.js +1 -1
- package/Shaders/geometry.vertex.js.map +1 -1
- package/Shaders/glowBlurPostProcess.fragment.d.ts +1 -1
- package/Shaders/glowBlurPostProcess.fragment.js +1 -1
- package/Shaders/glowBlurPostProcess.fragment.js.map +1 -1
- package/Shaders/glowMapGeneration.fragment.d.ts +1 -1
- package/Shaders/glowMapGeneration.fragment.js +1 -1
- package/Shaders/glowMapGeneration.fragment.js.map +1 -1
- package/Shaders/glowMapGeneration.vertex.d.ts +1 -1
- package/Shaders/glowMapGeneration.vertex.js +1 -1
- package/Shaders/glowMapGeneration.vertex.js.map +1 -1
- package/Shaders/glowMapMerge.fragment.d.ts +1 -1
- package/Shaders/glowMapMerge.fragment.js +1 -1
- package/Shaders/glowMapMerge.fragment.js.map +1 -1
- package/Shaders/glowMapMerge.vertex.d.ts +1 -1
- package/Shaders/glowMapMerge.vertex.js +1 -1
- package/Shaders/glowMapMerge.vertex.js.map +1 -1
- package/Shaders/gpuRenderParticles.fragment.d.ts +1 -1
- package/Shaders/gpuRenderParticles.fragment.js +1 -1
- package/Shaders/gpuRenderParticles.fragment.js.map +1 -1
- package/Shaders/gpuRenderParticles.vertex.d.ts +1 -1
- package/Shaders/gpuRenderParticles.vertex.js +1 -1
- package/Shaders/gpuRenderParticles.vertex.js.map +1 -1
- package/Shaders/gpuUpdateParticles.fragment.d.ts +1 -1
- package/Shaders/gpuUpdateParticles.fragment.js +1 -1
- package/Shaders/gpuUpdateParticles.fragment.js.map +1 -1
- package/Shaders/gpuUpdateParticles.vertex.d.ts +1 -1
- package/Shaders/gpuUpdateParticles.vertex.js +1 -1
- package/Shaders/gpuUpdateParticles.vertex.js.map +1 -1
- package/Shaders/grain.fragment.d.ts +1 -1
- package/Shaders/grain.fragment.js +1 -1
- package/Shaders/grain.fragment.js.map +1 -1
- package/Shaders/hdrFiltering.fragment.d.ts +1 -1
- package/Shaders/hdrFiltering.fragment.js +1 -1
- package/Shaders/hdrFiltering.fragment.js.map +1 -1
- package/Shaders/hdrFiltering.vertex.d.ts +1 -1
- package/Shaders/hdrFiltering.vertex.js +1 -1
- package/Shaders/hdrFiltering.vertex.js.map +1 -1
- package/Shaders/highlights.fragment.d.ts +1 -1
- package/Shaders/highlights.fragment.js +1 -1
- package/Shaders/highlights.fragment.js.map +1 -1
- package/Shaders/imageProcessing.fragment.d.ts +1 -1
- package/Shaders/imageProcessing.fragment.js +1 -1
- package/Shaders/imageProcessing.fragment.js.map +1 -1
- package/Shaders/kernelBlur.fragment.d.ts +1 -1
- package/Shaders/kernelBlur.fragment.js +1 -1
- package/Shaders/kernelBlur.fragment.js.map +1 -1
- package/Shaders/kernelBlur.vertex.d.ts +1 -1
- package/Shaders/kernelBlur.vertex.js +1 -1
- package/Shaders/kernelBlur.vertex.js.map +1 -1
- package/Shaders/layer.fragment.d.ts +1 -1
- package/Shaders/layer.fragment.js +1 -1
- package/Shaders/layer.fragment.js.map +1 -1
- package/Shaders/layer.vertex.d.ts +1 -1
- package/Shaders/layer.vertex.js +1 -1
- package/Shaders/layer.vertex.js.map +1 -1
- package/Shaders/lensFlare.fragment.d.ts +1 -1
- package/Shaders/lensFlare.fragment.js +1 -1
- package/Shaders/lensFlare.fragment.js.map +1 -1
- package/Shaders/lensFlare.vertex.d.ts +1 -1
- package/Shaders/lensFlare.vertex.js +1 -1
- package/Shaders/lensFlare.vertex.js.map +1 -1
- package/Shaders/lensHighlights.fragment.d.ts +1 -1
- package/Shaders/lensHighlights.fragment.js +1 -1
- package/Shaders/lensHighlights.fragment.js.map +1 -1
- package/Shaders/line.fragment.d.ts +1 -1
- package/Shaders/line.fragment.js +1 -1
- package/Shaders/line.fragment.js.map +1 -1
- package/Shaders/line.vertex.d.ts +1 -1
- package/Shaders/line.vertex.js +1 -1
- package/Shaders/line.vertex.js.map +1 -1
- package/Shaders/minmaxRedux.fragment.d.ts +1 -1
- package/Shaders/minmaxRedux.fragment.js +1 -1
- package/Shaders/minmaxRedux.fragment.js.map +1 -1
- package/Shaders/motionBlur.fragment.d.ts +1 -1
- package/Shaders/motionBlur.fragment.js +1 -1
- package/Shaders/motionBlur.fragment.js.map +1 -1
- package/Shaders/noise.fragment.d.ts +1 -1
- package/Shaders/noise.fragment.js +1 -1
- package/Shaders/noise.fragment.js.map +1 -1
- package/Shaders/oitBackBlend.fragment.d.ts +1 -1
- package/Shaders/oitBackBlend.fragment.js +1 -1
- package/Shaders/oitBackBlend.fragment.js.map +1 -1
- package/Shaders/oitFinal.fragment.d.ts +1 -1
- package/Shaders/oitFinal.fragment.js +1 -1
- package/Shaders/oitFinal.fragment.js.map +1 -1
- package/Shaders/outline.fragment.d.ts +1 -1
- package/Shaders/outline.fragment.js +1 -1
- package/Shaders/outline.fragment.js.map +1 -1
- package/Shaders/outline.vertex.d.ts +1 -1
- package/Shaders/outline.vertex.js +1 -1
- package/Shaders/outline.vertex.js.map +1 -1
- package/Shaders/particles.fragment.d.ts +1 -1
- package/Shaders/particles.fragment.js +1 -1
- package/Shaders/particles.fragment.js.map +1 -1
- package/Shaders/particles.vertex.d.ts +1 -1
- package/Shaders/particles.vertex.js +1 -1
- package/Shaders/particles.vertex.js.map +1 -1
- package/Shaders/pass.fragment.d.ts +1 -1
- package/Shaders/pass.fragment.js +1 -1
- package/Shaders/pass.fragment.js.map +1 -1
- package/Shaders/passCube.fragment.d.ts +1 -1
- package/Shaders/passCube.fragment.js +1 -1
- package/Shaders/passCube.fragment.js.map +1 -1
- package/Shaders/pbr.fragment.d.ts +1 -1
- package/Shaders/pbr.fragment.js +1 -1
- package/Shaders/pbr.fragment.js.map +1 -1
- package/Shaders/pbr.vertex.d.ts +1 -1
- package/Shaders/pbr.vertex.js +1 -1
- package/Shaders/pbr.vertex.js.map +1 -1
- package/Shaders/postprocess.vertex.d.ts +1 -1
- package/Shaders/postprocess.vertex.js +1 -1
- package/Shaders/postprocess.vertex.js.map +1 -1
- package/Shaders/procedural.vertex.d.ts +1 -1
- package/Shaders/procedural.vertex.js +1 -1
- package/Shaders/procedural.vertex.js.map +1 -1
- package/Shaders/refraction.fragment.d.ts +1 -1
- package/Shaders/refraction.fragment.js +1 -1
- package/Shaders/refraction.fragment.js.map +1 -1
- package/Shaders/rgbdDecode.fragment.d.ts +1 -1
- package/Shaders/rgbdDecode.fragment.js +1 -1
- package/Shaders/rgbdDecode.fragment.js.map +1 -1
- package/Shaders/rgbdEncode.fragment.d.ts +1 -1
- package/Shaders/rgbdEncode.fragment.js +1 -1
- package/Shaders/rgbdEncode.fragment.js.map +1 -1
- package/Shaders/screenSpaceCurvature.fragment.d.ts +1 -1
- package/Shaders/screenSpaceCurvature.fragment.js +1 -1
- package/Shaders/screenSpaceCurvature.fragment.js.map +1 -1
- package/Shaders/screenSpaceReflection.fragment.d.ts +1 -1
- package/Shaders/screenSpaceReflection.fragment.js +1 -1
- package/Shaders/screenSpaceReflection.fragment.js.map +1 -1
- package/Shaders/shadowMap.fragment.d.ts +1 -1
- package/Shaders/shadowMap.fragment.js +1 -1
- package/Shaders/shadowMap.fragment.js.map +1 -1
- package/Shaders/shadowMap.vertex.d.ts +1 -1
- package/Shaders/shadowMap.vertex.js +1 -1
- package/Shaders/shadowMap.vertex.js.map +1 -1
- package/Shaders/sharpen.fragment.d.ts +1 -1
- package/Shaders/sharpen.fragment.js +1 -1
- package/Shaders/sharpen.fragment.js.map +1 -1
- package/Shaders/spriteMap.fragment.d.ts +1 -1
- package/Shaders/spriteMap.fragment.js +1 -1
- package/Shaders/spriteMap.fragment.js.map +1 -1
- package/Shaders/spriteMap.vertex.d.ts +1 -1
- package/Shaders/spriteMap.vertex.js +1 -1
- package/Shaders/spriteMap.vertex.js.map +1 -1
- package/Shaders/sprites.fragment.d.ts +1 -1
- package/Shaders/sprites.fragment.js +1 -1
- package/Shaders/sprites.fragment.js.map +1 -1
- package/Shaders/sprites.vertex.d.ts +1 -1
- package/Shaders/sprites.vertex.js +1 -1
- package/Shaders/sprites.vertex.js.map +1 -1
- package/Shaders/ssao.fragment.d.ts +1 -1
- package/Shaders/ssao.fragment.js +1 -1
- package/Shaders/ssao.fragment.js.map +1 -1
- package/Shaders/ssao2.fragment.d.ts +1 -1
- package/Shaders/ssao2.fragment.js +1 -1
- package/Shaders/ssao2.fragment.js.map +1 -1
- package/Shaders/ssaoCombine.fragment.d.ts +1 -1
- package/Shaders/ssaoCombine.fragment.js +1 -1
- package/Shaders/ssaoCombine.fragment.js.map +1 -1
- package/Shaders/standard.fragment.d.ts +1 -1
- package/Shaders/standard.fragment.js +1 -1
- package/Shaders/standard.fragment.js.map +1 -1
- package/Shaders/stereoscopicInterlace.fragment.d.ts +1 -1
- package/Shaders/stereoscopicInterlace.fragment.js +1 -1
- package/Shaders/stereoscopicInterlace.fragment.js.map +1 -1
- package/Shaders/subSurfaceScattering.fragment.d.ts +1 -1
- package/Shaders/subSurfaceScattering.fragment.js +1 -1
- package/Shaders/subSurfaceScattering.fragment.js.map +1 -1
- package/Shaders/tonemap.fragment.d.ts +1 -1
- package/Shaders/tonemap.fragment.js +1 -1
- package/Shaders/tonemap.fragment.js.map +1 -1
- package/Shaders/volumetricLightScattering.fragment.d.ts +1 -1
- package/Shaders/volumetricLightScattering.fragment.js +1 -1
- package/Shaders/volumetricLightScattering.fragment.js.map +1 -1
- package/Shaders/volumetricLightScatteringPass.fragment.d.ts +1 -1
- package/Shaders/volumetricLightScatteringPass.fragment.js +1 -1
- package/Shaders/volumetricLightScatteringPass.fragment.js.map +1 -1
- package/Shaders/volumetricLightScatteringPass.vertex.d.ts +1 -1
- package/Shaders/volumetricLightScatteringPass.vertex.js +1 -1
- package/Shaders/volumetricLightScatteringPass.vertex.js.map +1 -1
- package/Shaders/vrDistortionCorrection.fragment.d.ts +1 -1
- package/Shaders/vrDistortionCorrection.fragment.js +1 -1
- package/Shaders/vrDistortionCorrection.fragment.js.map +1 -1
- package/Shaders/vrMultiviewToSingleview.fragment.d.ts +1 -1
- package/Shaders/vrMultiviewToSingleview.fragment.js +1 -1
- package/Shaders/vrMultiviewToSingleview.fragment.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js +1 -1
- package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/bonesDeclaration.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/bonesDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/bonesDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/bonesVertex.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/bonesVertex.js +1 -1
- package/ShadersWGSL/ShadersInclude/bonesVertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneFragment.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneVertex.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/instancesDeclaration.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/instancesDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/instancesDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/instancesVertex.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/instancesVertex.js +1 -1
- package/ShadersWGSL/ShadersInclude/instancesVertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/meshUboDeclaration.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/meshUboDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/meshUboDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertex.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.js +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js.map +1 -1
- package/ShadersWGSL/gpuUpdateParticles.compute.d.ts +1 -1
- package/ShadersWGSL/gpuUpdateParticles.compute.js +1 -1
- package/ShadersWGSL/gpuUpdateParticles.compute.js.map +1 -1
- package/Sprites/spriteSceneComponent.d.ts +6 -6
- package/Sprites/spriteSceneComponent.js.map +1 -1
- package/Sprites/thinSprite.d.ts +5 -6
- package/Sprites/thinSprite.js +1 -2
- package/Sprites/thinSprite.js.map +1 -1
- package/States/IStencilState.d.ts +1 -1
- package/States/IStencilState.js.map +1 -1
- package/States/alphaCullingState.d.ts +1 -1
- package/States/alphaCullingState.js +1 -1
- package/States/alphaCullingState.js.map +1 -1
- package/States/depthCullingState.d.ts +1 -1
- package/States/depthCullingState.js +1 -1
- package/States/depthCullingState.js.map +1 -1
- package/States/stencilState.d.ts +1 -1
- package/States/stencilState.js +1 -1
- package/States/stencilState.js.map +1 -1
- package/States/stencilStateComposer.d.ts +1 -1
- package/States/stencilStateComposer.js +1 -1
- package/States/stencilStateComposer.js.map +1 -1
- package/XR/features/WebXRControllerPhysics.d.ts +1 -1
- package/XR/features/WebXRControllerPhysics.js +1 -1
- package/XR/features/WebXRControllerPhysics.js.map +1 -1
- package/XR/features/WebXRControllerPointerSelection.d.ts +3 -6
- package/XR/features/WebXRControllerPointerSelection.js +3 -6
- package/XR/features/WebXRControllerPointerSelection.js.map +1 -1
- package/XR/features/WebXRControllerTeleportation.d.ts +4 -0
- package/XR/features/WebXRControllerTeleportation.js +24 -19
- package/XR/features/WebXRControllerTeleportation.js.map +1 -1
- package/XR/features/WebXRLayers.d.ts +2 -2
- package/XR/features/WebXRLayers.js +4 -4
- package/XR/features/WebXRLayers.js.map +1 -1
- package/XR/features/WebXRNearInteraction.js +2 -2
- package/XR/features/WebXRNearInteraction.js.map +1 -1
- package/XR/motionController/webXRAbstractMotionController.d.ts +5 -6
- package/XR/motionController/webXRAbstractMotionController.js +4 -5
- package/XR/motionController/webXRAbstractMotionController.js.map +1 -1
- package/XR/motionController/webXRControllerComponent.d.ts +1 -1
- package/XR/motionController/webXRControllerComponent.js +1 -1
- package/XR/motionController/webXRControllerComponent.js.map +1 -1
- package/XR/motionController/webXRMotionControllerManager.d.ts +3 -3
- package/XR/motionController/webXRMotionControllerManager.js +3 -3
- package/XR/motionController/webXRMotionControllerManager.js.map +1 -1
- package/XR/native/nativeXRFrame.d.ts +2 -2
- package/XR/native/nativeXRFrame.js +1 -1
- package/XR/native/nativeXRFrame.js.map +1 -1
- package/XR/native/nativeXRRenderTarget.d.ts +3 -3
- package/XR/native/nativeXRRenderTarget.js +3 -3
- package/XR/native/nativeXRRenderTarget.js.map +1 -1
- package/XR/webXRCamera.d.ts +2 -2
- package/XR/webXRCamera.js +1 -1
- package/XR/webXRCamera.js.map +1 -1
- package/XR/webXRDefaultExperience.d.ts +6 -6
- package/XR/webXRDefaultExperience.js.map +1 -1
- package/XR/webXRExperienceHelper.d.ts +21 -1
- package/XR/webXRExperienceHelper.js +37 -7
- package/XR/webXRExperienceHelper.js.map +1 -1
- package/XR/webXRInputSource.d.ts +1 -1
- package/XR/webXRInputSource.js.map +1 -1
- package/XR/webXRLayerWrapper.d.ts +1 -1
- package/XR/webXRLayerWrapper.js +1 -1
- package/XR/webXRLayerWrapper.js.map +1 -1
- package/XR/webXRRenderTargetTextureProvider.d.ts +1 -1
- package/XR/webXRRenderTargetTextureProvider.js +1 -1
- package/XR/webXRRenderTargetTextureProvider.js.map +1 -1
- package/XR/webXRSessionManager.d.ts +1 -2
- package/XR/webXRSessionManager.js +1 -2
- package/XR/webXRSessionManager.js.map +1 -1
- package/XR/webXRWebGLLayer.d.ts +2 -2
- package/XR/webXRWebGLLayer.js +2 -2
- package/XR/webXRWebGLLayer.js.map +1 -1
- package/abstractScene.d.ts +1 -1
- package/abstractScene.js +1 -1
- package/abstractScene.js.map +1 -1
- package/node.d.ts +44 -56
- package/node.js +43 -58
- package/node.js.map +1 -1
- package/package.json +1 -1
- package/scene.d.ts +130 -168
- package/scene.js +115 -142
- package/scene.js.map +1 -1
- package/sceneComponent.d.ts +2 -2
- package/sceneComponent.js +2 -2
- package/sceneComponent.js.map +1 -1
- package/types.d.ts +2 -2
- package/types.js +1 -1
- package/types.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webgpuPipelineContext.js","sourceRoot":"","sources":["../../../../../../lts/core/generated/Engines/WebGPU/webgpuPipelineContext.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IPipelineContext } from \"../IPipelineContext\";\r\nimport type { Nullable } from \"../../types\";\r\nimport type { WebGPUEngine } from \"../webgpuEngine\";\r\nimport type { Effect } from \"../../Materials/effect\";\r\nimport type { WebGPUShaderProcessingContext } from \"./webgpuShaderProcessingContext\";\r\nimport { UniformBuffer } from \"../../Materials/uniformBuffer\";\r\nimport type { IMatrixLike, IVector2Like, IVector3Like, IVector4Like, IColor3Like, IColor4Like, IQuaternionLike } from \"../../Maths/math.like\";\r\nimport { WebGPUShaderProcessor } from \"./webgpuShaderProcessor\";\r\n\r\n/** @hidden */\r\nexport interface IWebGPURenderPipelineStageDescriptor {\r\n vertexStage: GPUProgrammableStage;\r\n fragmentStage?: GPUProgrammableStage;\r\n}\r\n\r\n/** @hidden */\r\nexport class WebGPUPipelineContext implements IPipelineContext {\r\n public engine: WebGPUEngine;\r\n\r\n public shaderProcessingContext: WebGPUShaderProcessingContext;\r\n\r\n protected _leftOverUniformsByName: { [name: string]: string };\r\n\r\n public sources: {\r\n vertex: string;\r\n fragment: string;\r\n rawVertex: string;\r\n rawFragment: string;\r\n };\r\n\r\n public stages: Nullable<IWebGPURenderPipelineStageDescriptor>;\r\n\r\n public bindGroupLayouts: GPUBindGroupLayout[];\r\n\r\n /**\r\n * Stores the left-over uniform buffer\r\n */\r\n public uniformBuffer: Nullable<UniformBuffer>;\r\n\r\n // Default implementation.\r\n public onCompiled?: () => void;\r\n\r\n public get isAsync() {\r\n return false;\r\n }\r\n\r\n public get isReady(): boolean {\r\n if (this.stages) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /** @hidden */\r\n public _name: string;\r\n\r\n constructor(shaderProcessingContext: WebGPUShaderProcessingContext, engine: WebGPUEngine) {\r\n this._name = \"unnamed\";\r\n this.shaderProcessingContext = shaderProcessingContext;\r\n this._leftOverUniformsByName = {};\r\n this.engine = engine;\r\n }\r\n\r\n public _handlesSpectorRebuildCallback(): void {\r\n // Nothing to do yet for spector.\r\n }\r\n\r\n public _fillEffectInformation(\r\n effect: Effect,\r\n uniformBuffersNames: { [key: string]: number },\r\n uniformsNames: string[],\r\n uniforms: { [key: string]: Nullable<WebGLUniformLocation> },\r\n samplerList: string[],\r\n samplers: { [key: string]: number },\r\n attributesNames: string[],\r\n attributes: number[]\r\n ) {\r\n const engine = this.engine;\r\n\r\n // Prevent Memory Leak by reducing the number of string, refer to the string instead of copy.\r\n effect._fragmentSourceCode = \"\";\r\n effect._vertexSourceCode = \"\";\r\n // this._fragmentSourceCodeOverride = \"\";\r\n // this._vertexSourceCodeOverride = \"\";\r\n\r\n const foundSamplers = this.shaderProcessingContext.availableTextures;\r\n let index: number;\r\n for (index = 0; index < samplerList.length; index++) {\r\n const name = samplerList[index];\r\n const sampler = foundSamplers[samplerList[index]];\r\n\r\n if (sampler == null || sampler == undefined) {\r\n samplerList.splice(index, 1);\r\n index--;\r\n } else {\r\n samplers[name] = index;\r\n }\r\n }\r\n\r\n for (const attr of engine.getAttributes(this, attributesNames)) {\r\n attributes.push(attr);\r\n }\r\n\r\n // Build the uniform layout for the left over uniforms.\r\n this.buildUniformLayout();\r\n\r\n const attributeNamesFromEffect: string[] = [];\r\n const attributeLocationsFromEffect: number[] = [];\r\n for (index = 0; index < attributesNames.length; index++) {\r\n const location = attributes[index];\r\n if (location >= 0) {\r\n attributeNamesFromEffect.push(attributesNames[index]);\r\n attributeLocationsFromEffect.push(location);\r\n }\r\n }\r\n this.shaderProcessingContext.attributeNamesFromEffect = attributeNamesFromEffect;\r\n this.shaderProcessingContext.attributeLocationsFromEffect = attributeLocationsFromEffect;\r\n }\r\n\r\n /** @hidden */\r\n /**\r\n * Build the uniform buffer used in the material.\r\n */\r\n public buildUniformLayout(): void {\r\n if (!this.shaderProcessingContext.leftOverUniforms.length) {\r\n return;\r\n }\r\n\r\n this.uniformBuffer = new UniformBuffer(this.engine, undefined, undefined, \"leftOver-\" + this._name);\r\n\r\n for (const leftOverUniform of this.shaderProcessingContext.leftOverUniforms) {\r\n const type = leftOverUniform.type.replace(/^(.*?)(<.*>)?$/, \"$1\");\r\n const size = WebGPUShaderProcessor.UniformSizes[type];\r\n this.uniformBuffer.addUniform(leftOverUniform.name, size, leftOverUniform.length);\r\n this._leftOverUniformsByName[leftOverUniform.name] = leftOverUniform.type;\r\n }\r\n\r\n this.uniformBuffer.create();\r\n }\r\n\r\n /**\r\n * Release all associated resources.\r\n **/\r\n public dispose() {\r\n if (this.uniformBuffer) {\r\n this.uniformBuffer.dispose();\r\n }\r\n }\r\n\r\n /**\r\n * Sets an integer value on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param value Value to be set.\r\n */\r\n public setInt(uniformName: string, value: number): void {\r\n if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\r\n return;\r\n }\r\n this.uniformBuffer.updateInt(uniformName, value);\r\n }\r\n\r\n /**\r\n * Sets an int2 value on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param x First int in int2.\r\n * @param y Second int in int2.\r\n */\r\n public setInt2(uniformName: string, x: number, y: number): void {\r\n if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\r\n return;\r\n }\r\n this.uniformBuffer.updateInt2(uniformName, x, y);\r\n }\r\n\r\n /**\r\n * Sets an int3 value on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param x First int in int3.\r\n * @param y Second int in int3.\r\n * @param z Third int in int3.\r\n */\r\n public setInt3(uniformName: string, x: number, y: number, z: number): void {\r\n if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\r\n return;\r\n }\r\n this.uniformBuffer.updateInt3(uniformName, x, y, z);\r\n }\r\n\r\n /**\r\n * Sets an int4 value on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param x First int in int4.\r\n * @param y Second int in int4.\r\n * @param z Third int in int4.\r\n * @param w Fourth int in int4.\r\n */\r\n public setInt4(uniformName: string, x: number, y: number, z: number, w: number): void {\r\n if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\r\n return;\r\n }\r\n this.uniformBuffer.updateInt4(uniformName, x, y, z, w);\r\n }\r\n\r\n /**\r\n * Sets an int array on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param array array to be set.\r\n */\r\n public setIntArray(uniformName: string, array: Int32Array): void {\r\n if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\r\n return;\r\n }\r\n this.uniformBuffer.updateIntArray(uniformName, array);\r\n }\r\n\r\n /**\r\n * Sets an int array 2 on a uniform variable. (Array is specified as single array eg. [1,2,3,4] will result in [[1,2],[3,4]] in the shader)\r\n * @param uniformName Name of the variable.\r\n * @param array array to be set.\r\n */\r\n public setIntArray2(uniformName: string, array: Int32Array): void {\r\n this.setIntArray(uniformName, array);\r\n }\r\n\r\n /**\r\n * Sets an int array 3 on a uniform variable. (Array is specified as single array eg. [1,2,3,4,5,6] will result in [[1,2,3],[4,5,6]] in the shader)\r\n * @param uniformName Name of the variable.\r\n * @param array array to be set.\r\n */\r\n public setIntArray3(uniformName: string, array: Int32Array): void {\r\n this.setIntArray(uniformName, array);\r\n }\r\n\r\n /**\r\n * Sets an int array 4 on a uniform variable. (Array is specified as single array eg. [1,2,3,4,5,6,7,8] will result in [[1,2,3,4],[5,6,7,8]] in the shader)\r\n * @param uniformName Name of the variable.\r\n * @param array array to be set.\r\n */\r\n public setIntArray4(uniformName: string, array: Int32Array): void {\r\n this.setIntArray(uniformName, array);\r\n }\r\n\r\n /**\r\n * Sets an array on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param array array to be set.\r\n */\r\n public setArray(uniformName: string, array: number[]): void {\r\n if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\r\n return;\r\n }\r\n this.uniformBuffer.updateArray(uniformName, array);\r\n }\r\n\r\n /**\r\n * Sets an array 2 on a uniform variable. (Array is specified as single array eg. [1,2,3,4] will result in [[1,2],[3,4]] in the shader)\r\n * @param uniformName Name of the variable.\r\n * @param array array to be set.\r\n */\r\n public setArray2(uniformName: string, array: number[]): void {\r\n this.setArray(uniformName, array);\r\n }\r\n\r\n /**\r\n * Sets an array 3 on a uniform variable. (Array is specified as single array eg. [1,2,3,4,5,6] will result in [[1,2,3],[4,5,6]] in the shader)\r\n * @param uniformName Name of the variable.\r\n * @param array array to be set.\r\n * @returns this effect.\r\n */\r\n public setArray3(uniformName: string, array: number[]): void {\r\n this.setArray(uniformName, array);\r\n }\r\n\r\n /**\r\n * Sets an array 4 on a uniform variable. (Array is specified as single array eg. [1,2,3,4,5,6,7,8] will result in [[1,2,3,4],[5,6,7,8]] in the shader)\r\n * @param uniformName Name of the variable.\r\n * @param array array to be set.\r\n */\r\n public setArray4(uniformName: string, array: number[]): void {\r\n this.setArray(uniformName, array);\r\n }\r\n\r\n /**\r\n * Sets matrices on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param matrices matrices to be set.\r\n */\r\n public setMatrices(uniformName: string, matrices: Float32Array): void {\r\n if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\r\n return;\r\n }\r\n this.uniformBuffer.updateMatrices(uniformName, matrices);\r\n }\r\n\r\n /**\r\n * Sets matrix on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param matrix matrix to be set.\r\n */\r\n public setMatrix(uniformName: string, matrix: IMatrixLike): void {\r\n if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\r\n return;\r\n }\r\n this.uniformBuffer.updateMatrix(uniformName, matrix);\r\n }\r\n\r\n /**\r\n * Sets a 3x3 matrix on a uniform variable. (Specified as [1,2,3,4,5,6,7,8,9] will result in [1,2,3][4,5,6][7,8,9] matrix)\r\n * @param uniformName Name of the variable.\r\n * @param matrix matrix to be set.\r\n */\r\n public setMatrix3x3(uniformName: string, matrix: Float32Array): void {\r\n if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\r\n return;\r\n }\r\n this.uniformBuffer.updateMatrix3x3(uniformName, matrix);\r\n }\r\n\r\n /**\r\n * Sets a 2x2 matrix on a uniform variable. (Specified as [1,2,3,4] will result in [1,2][3,4] matrix)\r\n * @param uniformName Name of the variable.\r\n * @param matrix matrix to be set.\r\n */\r\n public setMatrix2x2(uniformName: string, matrix: Float32Array): void {\r\n if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\r\n return;\r\n }\r\n this.uniformBuffer.updateMatrix2x2(uniformName, matrix);\r\n }\r\n\r\n /**\r\n * Sets a float on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param value value to be set.\r\n * @returns this effect.\r\n */\r\n public setFloat(uniformName: string, value: number): void {\r\n if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\r\n return;\r\n }\r\n this.uniformBuffer.updateFloat(uniformName, value);\r\n }\r\n\r\n /**\r\n * Sets a Vector2 on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param vector2 vector2 to be set.\r\n */\r\n public setVector2(uniformName: string, vector2: IVector2Like): void {\r\n this.setFloat2(uniformName, vector2.x, vector2.y);\r\n }\r\n\r\n /**\r\n * Sets a float2 on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param x First float in float2.\r\n * @param y Second float in float2.\r\n */\r\n public setFloat2(uniformName: string, x: number, y: number): void {\r\n if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\r\n return;\r\n }\r\n this.uniformBuffer.updateFloat2(uniformName, x, y);\r\n }\r\n\r\n /**\r\n * Sets a Vector3 on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param vector3 Value to be set.\r\n */\r\n public setVector3(uniformName: string, vector3: IVector3Like): void {\r\n this.setFloat3(uniformName, vector3.x, vector3.y, vector3.z);\r\n }\r\n\r\n /**\r\n * Sets a float3 on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param x First float in float3.\r\n * @param y Second float in float3.\r\n * @param z Third float in float3.\r\n */\r\n public setFloat3(uniformName: string, x: number, y: number, z: number): void {\r\n if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\r\n return;\r\n }\r\n this.uniformBuffer.updateFloat3(uniformName, x, y, z);\r\n }\r\n\r\n /**\r\n * Sets a Vector4 on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param vector4 Value to be set.\r\n */\r\n public setVector4(uniformName: string, vector4: IVector4Like): void {\r\n this.setFloat4(uniformName, vector4.x, vector4.y, vector4.z, vector4.w);\r\n }\r\n\r\n /**\r\n * Sets a Quaternion on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param quaternion Value to be set.\r\n */\r\n public setQuaternion(uniformName: string, quaternion: IQuaternionLike): void {\r\n this.setFloat4(uniformName, quaternion.x, quaternion.y, quaternion.z, quaternion.w);\r\n }\r\n\r\n /**\r\n * Sets a float4 on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param x First float in float4.\r\n * @param y Second float in float4.\r\n * @param z Third float in float4.\r\n * @param w Fourth float in float4.\r\n * @returns this effect.\r\n */\r\n public setFloat4(uniformName: string, x: number, y: number, z: number, w: number): void {\r\n if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\r\n return;\r\n }\r\n this.uniformBuffer.updateFloat4(uniformName, x, y, z, w);\r\n }\r\n\r\n /**\r\n * Sets a Color3 on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param color3 Value to be set.\r\n */\r\n public setColor3(uniformName: string, color3: IColor3Like): void {\r\n this.setFloat3(uniformName, color3.r, color3.g, color3.b);\r\n }\r\n\r\n /**\r\n * Sets a Color4 on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param color3 Value to be set.\r\n * @param alpha Alpha value to be set.\r\n */\r\n public setColor4(uniformName: string, color3: IColor3Like, alpha: number): void {\r\n this.setFloat4(uniformName, color3.r, color3.g, color3.b, alpha);\r\n }\r\n\r\n /**\r\n * Sets a Color4 on a uniform variable\r\n * @param uniformName defines the name of the variable\r\n * @param color4 defines the value to be set\r\n */\r\n public setDirectColor4(uniformName: string, color4: IColor4Like): void {\r\n this.setFloat4(uniformName, color4.r, color4.g, color4.b, color4.a);\r\n }\r\n\r\n public _getVertexShaderCode(): string | null {\r\n return this.sources?.vertex;\r\n }\r\n\r\n public _getFragmentShaderCode(): string | null {\r\n return this.sources?.fragment;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"webgpuPipelineContext.js","sourceRoot":"","sources":["../../../../../../lts/core/generated/Engines/WebGPU/webgpuPipelineContext.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IPipelineContext } from \"../IPipelineContext\";\r\nimport type { Nullable } from \"../../types\";\r\nimport type { WebGPUEngine } from \"../webgpuEngine\";\r\nimport type { Effect } from \"../../Materials/effect\";\r\nimport type { WebGPUShaderProcessingContext } from \"./webgpuShaderProcessingContext\";\r\nimport { UniformBuffer } from \"../../Materials/uniformBuffer\";\r\nimport type { IMatrixLike, IVector2Like, IVector3Like, IVector4Like, IColor3Like, IColor4Like, IQuaternionLike } from \"../../Maths/math.like\";\r\nimport { WebGPUShaderProcessor } from \"./webgpuShaderProcessor\";\r\n\r\n/** @internal */\r\nexport interface IWebGPURenderPipelineStageDescriptor {\r\n vertexStage: GPUProgrammableStage;\r\n fragmentStage?: GPUProgrammableStage;\r\n}\r\n\r\n/** @internal */\r\nexport class WebGPUPipelineContext implements IPipelineContext {\r\n public engine: WebGPUEngine;\r\n\r\n public shaderProcessingContext: WebGPUShaderProcessingContext;\r\n\r\n protected _leftOverUniformsByName: { [name: string]: string };\r\n\r\n public sources: {\r\n vertex: string;\r\n fragment: string;\r\n rawVertex: string;\r\n rawFragment: string;\r\n };\r\n\r\n public stages: Nullable<IWebGPURenderPipelineStageDescriptor>;\r\n\r\n public bindGroupLayouts: GPUBindGroupLayout[];\r\n\r\n /**\r\n * Stores the left-over uniform buffer\r\n */\r\n public uniformBuffer: Nullable<UniformBuffer>;\r\n\r\n // Default implementation.\r\n public onCompiled?: () => void;\r\n\r\n public get isAsync() {\r\n return false;\r\n }\r\n\r\n public get isReady(): boolean {\r\n if (this.stages) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /** @internal */\r\n public _name: string;\r\n\r\n constructor(shaderProcessingContext: WebGPUShaderProcessingContext, engine: WebGPUEngine) {\r\n this._name = \"unnamed\";\r\n this.shaderProcessingContext = shaderProcessingContext;\r\n this._leftOverUniformsByName = {};\r\n this.engine = engine;\r\n }\r\n\r\n public _handlesSpectorRebuildCallback(): void {\r\n // Nothing to do yet for spector.\r\n }\r\n\r\n public _fillEffectInformation(\r\n effect: Effect,\r\n uniformBuffersNames: { [key: string]: number },\r\n uniformsNames: string[],\r\n uniforms: { [key: string]: Nullable<WebGLUniformLocation> },\r\n samplerList: string[],\r\n samplers: { [key: string]: number },\r\n attributesNames: string[],\r\n attributes: number[]\r\n ) {\r\n const engine = this.engine;\r\n\r\n // Prevent Memory Leak by reducing the number of string, refer to the string instead of copy.\r\n effect._fragmentSourceCode = \"\";\r\n effect._vertexSourceCode = \"\";\r\n // this._fragmentSourceCodeOverride = \"\";\r\n // this._vertexSourceCodeOverride = \"\";\r\n\r\n const foundSamplers = this.shaderProcessingContext.availableTextures;\r\n let index: number;\r\n for (index = 0; index < samplerList.length; index++) {\r\n const name = samplerList[index];\r\n const sampler = foundSamplers[samplerList[index]];\r\n\r\n if (sampler == null || sampler == undefined) {\r\n samplerList.splice(index, 1);\r\n index--;\r\n } else {\r\n samplers[name] = index;\r\n }\r\n }\r\n\r\n for (const attr of engine.getAttributes(this, attributesNames)) {\r\n attributes.push(attr);\r\n }\r\n\r\n // Build the uniform layout for the left over uniforms.\r\n this.buildUniformLayout();\r\n\r\n const attributeNamesFromEffect: string[] = [];\r\n const attributeLocationsFromEffect: number[] = [];\r\n for (index = 0; index < attributesNames.length; index++) {\r\n const location = attributes[index];\r\n if (location >= 0) {\r\n attributeNamesFromEffect.push(attributesNames[index]);\r\n attributeLocationsFromEffect.push(location);\r\n }\r\n }\r\n this.shaderProcessingContext.attributeNamesFromEffect = attributeNamesFromEffect;\r\n this.shaderProcessingContext.attributeLocationsFromEffect = attributeLocationsFromEffect;\r\n }\r\n\r\n /** @internal */\r\n /**\r\n * Build the uniform buffer used in the material.\r\n */\r\n public buildUniformLayout(): void {\r\n if (!this.shaderProcessingContext.leftOverUniforms.length) {\r\n return;\r\n }\r\n\r\n this.uniformBuffer = new UniformBuffer(this.engine, undefined, undefined, \"leftOver-\" + this._name);\r\n\r\n for (const leftOverUniform of this.shaderProcessingContext.leftOverUniforms) {\r\n const type = leftOverUniform.type.replace(/^(.*?)(<.*>)?$/, \"$1\");\r\n const size = WebGPUShaderProcessor.UniformSizes[type];\r\n this.uniformBuffer.addUniform(leftOverUniform.name, size, leftOverUniform.length);\r\n this._leftOverUniformsByName[leftOverUniform.name] = leftOverUniform.type;\r\n }\r\n\r\n this.uniformBuffer.create();\r\n }\r\n\r\n /**\r\n * Release all associated resources.\r\n **/\r\n public dispose() {\r\n if (this.uniformBuffer) {\r\n this.uniformBuffer.dispose();\r\n }\r\n }\r\n\r\n /**\r\n * Sets an integer value on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param value Value to be set.\r\n */\r\n public setInt(uniformName: string, value: number): void {\r\n if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\r\n return;\r\n }\r\n this.uniformBuffer.updateInt(uniformName, value);\r\n }\r\n\r\n /**\r\n * Sets an int2 value on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param x First int in int2.\r\n * @param y Second int in int2.\r\n */\r\n public setInt2(uniformName: string, x: number, y: number): void {\r\n if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\r\n return;\r\n }\r\n this.uniformBuffer.updateInt2(uniformName, x, y);\r\n }\r\n\r\n /**\r\n * Sets an int3 value on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param x First int in int3.\r\n * @param y Second int in int3.\r\n * @param z Third int in int3.\r\n */\r\n public setInt3(uniformName: string, x: number, y: number, z: number): void {\r\n if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\r\n return;\r\n }\r\n this.uniformBuffer.updateInt3(uniformName, x, y, z);\r\n }\r\n\r\n /**\r\n * Sets an int4 value on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param x First int in int4.\r\n * @param y Second int in int4.\r\n * @param z Third int in int4.\r\n * @param w Fourth int in int4.\r\n */\r\n public setInt4(uniformName: string, x: number, y: number, z: number, w: number): void {\r\n if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\r\n return;\r\n }\r\n this.uniformBuffer.updateInt4(uniformName, x, y, z, w);\r\n }\r\n\r\n /**\r\n * Sets an int array on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param array array to be set.\r\n */\r\n public setIntArray(uniformName: string, array: Int32Array): void {\r\n if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\r\n return;\r\n }\r\n this.uniformBuffer.updateIntArray(uniformName, array);\r\n }\r\n\r\n /**\r\n * Sets an int array 2 on a uniform variable. (Array is specified as single array eg. [1,2,3,4] will result in [[1,2],[3,4]] in the shader)\r\n * @param uniformName Name of the variable.\r\n * @param array array to be set.\r\n */\r\n public setIntArray2(uniformName: string, array: Int32Array): void {\r\n this.setIntArray(uniformName, array);\r\n }\r\n\r\n /**\r\n * Sets an int array 3 on a uniform variable. (Array is specified as single array eg. [1,2,3,4,5,6] will result in [[1,2,3],[4,5,6]] in the shader)\r\n * @param uniformName Name of the variable.\r\n * @param array array to be set.\r\n */\r\n public setIntArray3(uniformName: string, array: Int32Array): void {\r\n this.setIntArray(uniformName, array);\r\n }\r\n\r\n /**\r\n * Sets an int array 4 on a uniform variable. (Array is specified as single array eg. [1,2,3,4,5,6,7,8] will result in [[1,2,3,4],[5,6,7,8]] in the shader)\r\n * @param uniformName Name of the variable.\r\n * @param array array to be set.\r\n */\r\n public setIntArray4(uniformName: string, array: Int32Array): void {\r\n this.setIntArray(uniformName, array);\r\n }\r\n\r\n /**\r\n * Sets an array on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param array array to be set.\r\n */\r\n public setArray(uniformName: string, array: number[]): void {\r\n if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\r\n return;\r\n }\r\n this.uniformBuffer.updateArray(uniformName, array);\r\n }\r\n\r\n /**\r\n * Sets an array 2 on a uniform variable. (Array is specified as single array eg. [1,2,3,4] will result in [[1,2],[3,4]] in the shader)\r\n * @param uniformName Name of the variable.\r\n * @param array array to be set.\r\n */\r\n public setArray2(uniformName: string, array: number[]): void {\r\n this.setArray(uniformName, array);\r\n }\r\n\r\n /**\r\n * Sets an array 3 on a uniform variable. (Array is specified as single array eg. [1,2,3,4,5,6] will result in [[1,2,3],[4,5,6]] in the shader)\r\n * @param uniformName Name of the variable.\r\n * @param array array to be set.\r\n * @returns this effect.\r\n */\r\n public setArray3(uniformName: string, array: number[]): void {\r\n this.setArray(uniformName, array);\r\n }\r\n\r\n /**\r\n * Sets an array 4 on a uniform variable. (Array is specified as single array eg. [1,2,3,4,5,6,7,8] will result in [[1,2,3,4],[5,6,7,8]] in the shader)\r\n * @param uniformName Name of the variable.\r\n * @param array array to be set.\r\n */\r\n public setArray4(uniformName: string, array: number[]): void {\r\n this.setArray(uniformName, array);\r\n }\r\n\r\n /**\r\n * Sets matrices on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param matrices matrices to be set.\r\n */\r\n public setMatrices(uniformName: string, matrices: Float32Array): void {\r\n if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\r\n return;\r\n }\r\n this.uniformBuffer.updateMatrices(uniformName, matrices);\r\n }\r\n\r\n /**\r\n * Sets matrix on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param matrix matrix to be set.\r\n */\r\n public setMatrix(uniformName: string, matrix: IMatrixLike): void {\r\n if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\r\n return;\r\n }\r\n this.uniformBuffer.updateMatrix(uniformName, matrix);\r\n }\r\n\r\n /**\r\n * Sets a 3x3 matrix on a uniform variable. (Specified as [1,2,3,4,5,6,7,8,9] will result in [1,2,3][4,5,6][7,8,9] matrix)\r\n * @param uniformName Name of the variable.\r\n * @param matrix matrix to be set.\r\n */\r\n public setMatrix3x3(uniformName: string, matrix: Float32Array): void {\r\n if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\r\n return;\r\n }\r\n this.uniformBuffer.updateMatrix3x3(uniformName, matrix);\r\n }\r\n\r\n /**\r\n * Sets a 2x2 matrix on a uniform variable. (Specified as [1,2,3,4] will result in [1,2][3,4] matrix)\r\n * @param uniformName Name of the variable.\r\n * @param matrix matrix to be set.\r\n */\r\n public setMatrix2x2(uniformName: string, matrix: Float32Array): void {\r\n if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\r\n return;\r\n }\r\n this.uniformBuffer.updateMatrix2x2(uniformName, matrix);\r\n }\r\n\r\n /**\r\n * Sets a float on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param value value to be set.\r\n * @returns this effect.\r\n */\r\n public setFloat(uniformName: string, value: number): void {\r\n if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\r\n return;\r\n }\r\n this.uniformBuffer.updateFloat(uniformName, value);\r\n }\r\n\r\n /**\r\n * Sets a Vector2 on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param vector2 vector2 to be set.\r\n */\r\n public setVector2(uniformName: string, vector2: IVector2Like): void {\r\n this.setFloat2(uniformName, vector2.x, vector2.y);\r\n }\r\n\r\n /**\r\n * Sets a float2 on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param x First float in float2.\r\n * @param y Second float in float2.\r\n */\r\n public setFloat2(uniformName: string, x: number, y: number): void {\r\n if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\r\n return;\r\n }\r\n this.uniformBuffer.updateFloat2(uniformName, x, y);\r\n }\r\n\r\n /**\r\n * Sets a Vector3 on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param vector3 Value to be set.\r\n */\r\n public setVector3(uniformName: string, vector3: IVector3Like): void {\r\n this.setFloat3(uniformName, vector3.x, vector3.y, vector3.z);\r\n }\r\n\r\n /**\r\n * Sets a float3 on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param x First float in float3.\r\n * @param y Second float in float3.\r\n * @param z Third float in float3.\r\n */\r\n public setFloat3(uniformName: string, x: number, y: number, z: number): void {\r\n if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\r\n return;\r\n }\r\n this.uniformBuffer.updateFloat3(uniformName, x, y, z);\r\n }\r\n\r\n /**\r\n * Sets a Vector4 on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param vector4 Value to be set.\r\n */\r\n public setVector4(uniformName: string, vector4: IVector4Like): void {\r\n this.setFloat4(uniformName, vector4.x, vector4.y, vector4.z, vector4.w);\r\n }\r\n\r\n /**\r\n * Sets a Quaternion on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param quaternion Value to be set.\r\n */\r\n public setQuaternion(uniformName: string, quaternion: IQuaternionLike): void {\r\n this.setFloat4(uniformName, quaternion.x, quaternion.y, quaternion.z, quaternion.w);\r\n }\r\n\r\n /**\r\n * Sets a float4 on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param x First float in float4.\r\n * @param y Second float in float4.\r\n * @param z Third float in float4.\r\n * @param w Fourth float in float4.\r\n * @returns this effect.\r\n */\r\n public setFloat4(uniformName: string, x: number, y: number, z: number, w: number): void {\r\n if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\r\n return;\r\n }\r\n this.uniformBuffer.updateFloat4(uniformName, x, y, z, w);\r\n }\r\n\r\n /**\r\n * Sets a Color3 on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param color3 Value to be set.\r\n */\r\n public setColor3(uniformName: string, color3: IColor3Like): void {\r\n this.setFloat3(uniformName, color3.r, color3.g, color3.b);\r\n }\r\n\r\n /**\r\n * Sets a Color4 on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param color3 Value to be set.\r\n * @param alpha Alpha value to be set.\r\n */\r\n public setColor4(uniformName: string, color3: IColor3Like, alpha: number): void {\r\n this.setFloat4(uniformName, color3.r, color3.g, color3.b, alpha);\r\n }\r\n\r\n /**\r\n * Sets a Color4 on a uniform variable\r\n * @param uniformName defines the name of the variable\r\n * @param color4 defines the value to be set\r\n */\r\n public setDirectColor4(uniformName: string, color4: IColor4Like): void {\r\n this.setFloat4(uniformName, color4.r, color4.g, color4.b, color4.a);\r\n }\r\n\r\n public _getVertexShaderCode(): string | null {\r\n return this.sources?.vertex;\r\n }\r\n\r\n public _getFragmentShaderCode(): string | null {\r\n return this.sources?.fragment;\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webgpuQuerySet.js","sourceRoot":"","sources":["../../../../../../lts/core/generated/Engines/WebGPU/webgpuQuerySet.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,eAAe,MAAM,mBAAmB,CAAC;AAGrD,
|
|
1
|
+
{"version":3,"file":"webgpuQuerySet.js","sourceRoot":"","sources":["../../../../../../lts/core/generated/Engines/WebGPU/webgpuQuerySet.ts"],"names":[],"mappings":"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","sourcesContent":["import type { WebGPUBufferManager } from \"./webgpuBufferManager\";\r\nimport * as WebGPUConstants from \"./webgpuConstants\";\r\nimport type { QueryType } from \"./webgpuConstants\";\r\n\r\n/** @internal */\r\nexport class WebGPUQuerySet {\r\n private _device: GPUDevice;\r\n private _bufferManager: WebGPUBufferManager;\r\n\r\n private _count: number;\r\n private _canUseMultipleBuffers: boolean;\r\n private _querySet: GPUQuerySet;\r\n private _queryBuffer: GPUBuffer;\r\n private _dstBuffers: GPUBuffer[] = [];\r\n\r\n public get querySet(): GPUQuerySet {\r\n return this._querySet;\r\n }\r\n\r\n constructor(count: number, type: QueryType, device: GPUDevice, bufferManager: WebGPUBufferManager, canUseMultipleBuffers = true) {\r\n this._device = device;\r\n this._bufferManager = bufferManager;\r\n this._count = count;\r\n this._canUseMultipleBuffers = canUseMultipleBuffers;\r\n\r\n this._querySet = device.createQuerySet({\r\n type,\r\n count,\r\n });\r\n\r\n this._queryBuffer = bufferManager.createRawBuffer(8 * count, WebGPUConstants.BufferUsage.QueryResolve | WebGPUConstants.BufferUsage.CopySrc);\r\n\r\n if (!canUseMultipleBuffers) {\r\n this._dstBuffers.push(this._bufferManager.createRawBuffer(8 * this._count, WebGPUConstants.BufferUsage.MapRead | WebGPUConstants.BufferUsage.CopyDst));\r\n }\r\n }\r\n\r\n private _getBuffer(firstQuery: number, queryCount: number): GPUBuffer | null {\r\n if (!this._canUseMultipleBuffers && this._dstBuffers.length === 0) {\r\n return null;\r\n }\r\n\r\n const encoderResult = this._device.createCommandEncoder();\r\n\r\n let buffer: GPUBuffer;\r\n if (this._dstBuffers.length === 0) {\r\n buffer = this._bufferManager.createRawBuffer(8 * this._count, WebGPUConstants.BufferUsage.MapRead | WebGPUConstants.BufferUsage.CopyDst);\r\n } else {\r\n buffer = this._dstBuffers[this._dstBuffers.length - 1];\r\n this._dstBuffers.length--;\r\n }\r\n\r\n encoderResult.resolveQuerySet(this._querySet, firstQuery, queryCount, this._queryBuffer, 0);\r\n encoderResult.copyBufferToBuffer(this._queryBuffer, 0, buffer, 0, 8 * queryCount);\r\n\r\n this._device.queue.submit([encoderResult.finish()]);\r\n\r\n return buffer;\r\n }\r\n\r\n public async readValues(firstQuery = 0, queryCount = 1): Promise<BigUint64Array | null> {\r\n const buffer = this._getBuffer(firstQuery, queryCount);\r\n if (buffer === null) {\r\n return null;\r\n }\r\n\r\n await buffer.mapAsync(WebGPUConstants.MapMode.Read);\r\n\r\n const arrayBuf = new BigUint64Array(buffer.getMappedRange()).slice();\r\n\r\n buffer.unmap();\r\n\r\n this._dstBuffers[this._dstBuffers.length] = buffer;\r\n\r\n return arrayBuf;\r\n }\r\n\r\n public async readValue(firstQuery = 0): Promise<number | null> {\r\n const buffer = this._getBuffer(firstQuery, 1);\r\n if (buffer === null) {\r\n return null;\r\n }\r\n\r\n await buffer.mapAsync(WebGPUConstants.MapMode.Read);\r\n\r\n const arrayBuf = new BigUint64Array(buffer.getMappedRange());\r\n const value = Number(arrayBuf[0]);\r\n\r\n buffer.unmap();\r\n\r\n this._dstBuffers[this._dstBuffers.length] = buffer;\r\n\r\n return value;\r\n }\r\n\r\n public async readTwoValuesAndSubtract(firstQuery = 0): Promise<number | null> {\r\n const buffer = this._getBuffer(firstQuery, 2);\r\n if (buffer === null) {\r\n return null;\r\n }\r\n\r\n await buffer.mapAsync(WebGPUConstants.MapMode.Read);\r\n\r\n const arrayBuf = new BigUint64Array(buffer.getMappedRange());\r\n const value = Number(arrayBuf[1] - arrayBuf[0]);\r\n\r\n buffer.unmap();\r\n\r\n this._dstBuffers[this._dstBuffers.length] = buffer;\r\n\r\n return value;\r\n }\r\n\r\n public dispose() {\r\n this._querySet.destroy();\r\n this._bufferManager.releaseBuffer(this._queryBuffer);\r\n for (let i = 0; i < this._dstBuffers.length; ++i) {\r\n this._bufferManager.releaseBuffer(this._dstBuffers[i]);\r\n }\r\n }\r\n}\r\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Nullable } from "../../types";
|
|
2
2
|
import type { WebGPUHardwareTexture } from "./webgpuHardwareTexture";
|
|
3
|
-
/** @
|
|
3
|
+
/** @internal */
|
|
4
4
|
export declare class WebGPURenderPassWrapper {
|
|
5
5
|
renderPassDescriptor: Nullable<GPURenderPassDescriptor>;
|
|
6
6
|
renderPass: Nullable<GPURenderPassEncoder>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webgpuRenderPassWrapper.js","sourceRoot":"","sources":["../../../../../../lts/core/generated/Engines/WebGPU/webgpuRenderPassWrapper.ts"],"names":[],"mappings":"AAGA,
|
|
1
|
+
{"version":3,"file":"webgpuRenderPassWrapper.js","sourceRoot":"","sources":["../../../../../../lts/core/generated/Engines/WebGPU/webgpuRenderPassWrapper.ts"],"names":[],"mappings":"AAGA,gBAAgB;AAChB,MAAM,OAAO,uBAAuB;IAQhC;QAHO,+BAA0B,GAAqC,EAAE,CAAC;QAIrE,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,SAAS,GAAG,KAAK;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC;YAC1C,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC;YAC1C,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC;YACrC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;SACvC;IACL,CAAC;CACJ","sourcesContent":["import type { Nullable } from \"../../types\";\r\nimport type { WebGPUHardwareTexture } from \"./webgpuHardwareTexture\";\r\n\r\n/** @internal */\r\nexport class WebGPURenderPassWrapper {\r\n public renderPassDescriptor: Nullable<GPURenderPassDescriptor>;\r\n public renderPass: Nullable<GPURenderPassEncoder>;\r\n public colorAttachmentViewDescriptor: Nullable<GPUTextureViewDescriptor>;\r\n public depthAttachmentViewDescriptor: Nullable<GPUTextureViewDescriptor>;\r\n public colorAttachmentGPUTextures: (WebGPUHardwareTexture | null)[] = [];\r\n public depthTextureFormat: GPUTextureFormat | undefined;\r\n\r\n constructor() {\r\n this.reset();\r\n }\r\n\r\n public reset(fullReset = false): void {\r\n this.renderPass = null;\r\n if (fullReset) {\r\n this.renderPassDescriptor = null;\r\n this.colorAttachmentViewDescriptor = null;\r\n this.depthAttachmentViewDescriptor = null;\r\n this.colorAttachmentGPUTextures = [];\r\n this.depthTextureFormat = undefined;\r\n }\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webgpuRenderTargetWrapper.js","sourceRoot":"","sources":["../../../../../../lts/core/generated/Engines/WebGPU/webgpuRenderTargetWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,
|
|
1
|
+
{"version":3,"file":"webgpuRenderTargetWrapper.js","sourceRoot":"","sources":["../../../../../../lts/core/generated/Engines/WebGPU/webgpuRenderTargetWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,gBAAgB;AAChB,MAAM,OAAO,yBAA0B,SAAQ,mBAAmB;CAGjE","sourcesContent":["import { RenderTargetWrapper } from \"../renderTargetWrapper\";\r\n\r\n/** @internal */\r\nexport class WebGPURenderTargetWrapper extends RenderTargetWrapper {\r\n /** @internal */\r\n public _defaultAttachments: number[];\r\n}\r\n"]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { ShaderLanguage } from "../../Materials/shaderLanguage";
|
|
2
2
|
import type { ShaderProcessingContext } from "../Processors/shaderProcessingOptions";
|
|
3
|
-
/** @
|
|
3
|
+
/** @internal */
|
|
4
4
|
export interface WebGPUBindingInfo {
|
|
5
5
|
groupIndex: number;
|
|
6
6
|
bindingIndex: number;
|
|
7
7
|
}
|
|
8
|
-
/** @
|
|
8
|
+
/** @internal */
|
|
9
9
|
export interface WebGPUTextureDescription {
|
|
10
10
|
autoBindSampler?: boolean;
|
|
11
11
|
isTextureArray: boolean;
|
|
@@ -13,26 +13,26 @@ export interface WebGPUTextureDescription {
|
|
|
13
13
|
textures: Array<WebGPUBindingInfo>;
|
|
14
14
|
sampleType?: GPUTextureSampleType;
|
|
15
15
|
}
|
|
16
|
-
/** @
|
|
16
|
+
/** @internal */
|
|
17
17
|
export interface WebGPUSamplerDescription {
|
|
18
18
|
binding: WebGPUBindingInfo;
|
|
19
19
|
type: GPUSamplerBindingType;
|
|
20
20
|
}
|
|
21
|
-
/** @
|
|
21
|
+
/** @internal */
|
|
22
22
|
export interface WebGPUBufferDescription {
|
|
23
23
|
binding: WebGPUBindingInfo;
|
|
24
24
|
}
|
|
25
|
-
/** @
|
|
25
|
+
/** @internal */
|
|
26
26
|
export interface WebGPUBindGroupLayoutEntryInfo {
|
|
27
27
|
name: string;
|
|
28
28
|
index: number;
|
|
29
29
|
nameInArrayOfTexture?: string;
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
32
|
-
* @
|
|
32
|
+
* @internal
|
|
33
33
|
*/
|
|
34
34
|
export declare class WebGPUShaderProcessingContext implements ShaderProcessingContext {
|
|
35
|
-
/** @
|
|
35
|
+
/** @internal */
|
|
36
36
|
static _SimplifiedKnownBindings: boolean;
|
|
37
37
|
protected static _SimplifiedKnownUBOs: {
|
|
38
38
|
[key: string]: WebGPUBufferDescription;
|
|
@@ -12,7 +12,7 @@ const _typeToLocationSize = {
|
|
|
12
12
|
mat4x4: 4,
|
|
13
13
|
};
|
|
14
14
|
/**
|
|
15
|
-
* @
|
|
15
|
+
* @internal
|
|
16
16
|
*/
|
|
17
17
|
export class WebGPUShaderProcessingContext {
|
|
18
18
|
constructor(shaderLanguage) {
|
|
@@ -92,7 +92,7 @@ export class WebGPUShaderProcessingContext {
|
|
|
92
92
|
return returnValue;
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
|
-
/** @
|
|
95
|
+
/** @internal */
|
|
96
96
|
WebGPUShaderProcessingContext._SimplifiedKnownBindings = true; // if true, use only group=0,binding=0 as a known group/binding for the Scene ubo and use group=1,binding=X for all other bindings
|
|
97
97
|
// if false, see _KnownUBOs for the known groups/bindings used
|
|
98
98
|
WebGPUShaderProcessingContext._SimplifiedKnownUBOs = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webgpuShaderProcessingContext.js","sourceRoot":"","sources":["../../../../../../lts/core/generated/Engines/WebGPU/webgpuShaderProcessingContext.ts"],"names":[],"mappings":"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C,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IACzD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IACzD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IACzD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC3D,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IACvD,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;CAC/D,CAAC;AAEe,wCAAU,GAA+C;IACtE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;IAEtD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;IACvD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;IACvD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;IACvD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;IACvD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;IACvD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;IACvD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;IACvD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;IACvD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;IACvD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;IACvD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IAEzD,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;IACzD,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;IACrD,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;CAC7D,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\nimport type { ShaderLanguage } from \"../../Materials/shaderLanguage\";\r\nimport type { ShaderProcessingContext } from \"../Processors/shaderProcessingOptions\";\r\n\r\nconst _maxGroups = 4;\r\nconst _maxBindingsPerGroup = 1 << 16;\r\n\r\n// all types not listed are assumed to consume 1 location\r\nconst _typeToLocationSize: { [key: string]: number } = {\r\n // GLSL types\r\n mat2: 2,\r\n mat3: 3,\r\n mat4: 4,\r\n\r\n // WGSL types\r\n mat2x2: 2,\r\n mat3x3: 3,\r\n mat4x4: 4,\r\n};\r\n\r\n/** @hidden */\r\nexport interface WebGPUBindingInfo {\r\n groupIndex: number;\r\n bindingIndex: number;\r\n}\r\n\r\n/** @hidden */\r\nexport interface WebGPUTextureDescription {\r\n autoBindSampler?: boolean;\r\n isTextureArray: boolean;\r\n isStorageTexture: boolean;\r\n textures: Array<WebGPUBindingInfo>;\r\n sampleType?: GPUTextureSampleType; // not used if the texture is a storage texture\r\n}\r\n\r\n/** @hidden */\r\nexport interface WebGPUSamplerDescription {\r\n binding: WebGPUBindingInfo;\r\n type: GPUSamplerBindingType;\r\n}\r\n\r\n/** @hidden */\r\nexport interface WebGPUBufferDescription {\r\n binding: WebGPUBindingInfo;\r\n}\r\n\r\n/** @hidden */\r\nexport interface WebGPUBindGroupLayoutEntryInfo {\r\n name: string;\r\n index: number; // index of the entry (GPUBindGroupLayoutEntry) in the bindGroupLayoutEntries[group] array\r\n nameInArrayOfTexture?: string; // something like texture0, texture1, ... if texture is an array, else same thing as \"name\"\r\n}\r\n\r\n/**\r\n * @hidden\r\n */\r\nexport class WebGPUShaderProcessingContext implements ShaderProcessingContext {\r\n /** @hidden */\r\n public static _SimplifiedKnownBindings = true; // if true, use only group=0,binding=0 as a known group/binding for the Scene ubo and use group=1,binding=X for all other bindings\r\n // if false, see _KnownUBOs for the known groups/bindings used\r\n\r\n protected static _SimplifiedKnownUBOs: { [key: string]: WebGPUBufferDescription } = {\r\n Scene: { binding: { groupIndex: 0, bindingIndex: 0 } },\r\n Light0: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light1: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light2: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light3: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light4: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light5: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light6: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light7: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light8: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light9: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light10: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light11: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light12: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light13: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light14: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light15: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light16: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light17: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light18: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light19: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light20: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light21: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light22: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light23: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light24: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light25: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light26: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light27: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light28: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light29: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light30: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light31: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Material: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Mesh: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Internals: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n };\r\n\r\n protected static _KnownUBOs: { [key: string]: WebGPUBufferDescription } = {\r\n Scene: { binding: { groupIndex: 0, bindingIndex: 0 } },\r\n\r\n Light0: { binding: { groupIndex: 1, bindingIndex: 0 } },\r\n Light1: { binding: { groupIndex: 1, bindingIndex: 1 } },\r\n Light2: { binding: { groupIndex: 1, bindingIndex: 2 } },\r\n Light3: { binding: { groupIndex: 1, bindingIndex: 3 } },\r\n Light4: { binding: { groupIndex: 1, bindingIndex: 4 } },\r\n Light5: { binding: { groupIndex: 1, bindingIndex: 5 } },\r\n Light6: { binding: { groupIndex: 1, bindingIndex: 6 } },\r\n Light7: { binding: { groupIndex: 1, bindingIndex: 7 } },\r\n Light8: { binding: { groupIndex: 1, bindingIndex: 8 } },\r\n Light9: { binding: { groupIndex: 1, bindingIndex: 9 } },\r\n Light10: { binding: { groupIndex: 1, bindingIndex: 10 } },\r\n Light11: { binding: { groupIndex: 1, bindingIndex: 11 } },\r\n Light12: { binding: { groupIndex: 1, bindingIndex: 12 } },\r\n Light13: { binding: { groupIndex: 1, bindingIndex: 13 } },\r\n Light14: { binding: { groupIndex: 1, bindingIndex: 14 } },\r\n Light15: { binding: { groupIndex: 1, bindingIndex: 15 } },\r\n Light16: { binding: { groupIndex: 1, bindingIndex: 16 } },\r\n Light17: { binding: { groupIndex: 1, bindingIndex: 17 } },\r\n Light18: { binding: { groupIndex: 1, bindingIndex: 18 } },\r\n Light19: { binding: { groupIndex: 1, bindingIndex: 19 } },\r\n Light20: { binding: { groupIndex: 1, bindingIndex: 20 } },\r\n Light21: { binding: { groupIndex: 1, bindingIndex: 21 } },\r\n Light22: { binding: { groupIndex: 1, bindingIndex: 22 } },\r\n Light23: { binding: { groupIndex: 1, bindingIndex: 23 } },\r\n Light24: { binding: { groupIndex: 1, bindingIndex: 24 } },\r\n Light25: { binding: { groupIndex: 1, bindingIndex: 25 } },\r\n Light26: { binding: { groupIndex: 1, bindingIndex: 26 } },\r\n Light27: { binding: { groupIndex: 1, bindingIndex: 27 } },\r\n Light28: { binding: { groupIndex: 1, bindingIndex: 28 } },\r\n Light29: { binding: { groupIndex: 1, bindingIndex: 29 } },\r\n Light30: { binding: { groupIndex: 1, bindingIndex: 30 } },\r\n Light31: { binding: { groupIndex: 1, bindingIndex: 31 } },\r\n\r\n Material: { binding: { groupIndex: 2, bindingIndex: 0 } },\r\n Mesh: { binding: { groupIndex: 2, bindingIndex: 1 } },\r\n Internals: { binding: { groupIndex: 2, bindingIndex: 2 } },\r\n };\r\n\r\n public static get KnownUBOs() {\r\n return WebGPUShaderProcessingContext._SimplifiedKnownBindings ? WebGPUShaderProcessingContext._SimplifiedKnownUBOs : WebGPUShaderProcessingContext._KnownUBOs;\r\n }\r\n\r\n public shaderLanguage: ShaderLanguage;\r\n\r\n public uboNextBindingIndex: number;\r\n public freeGroupIndex: number;\r\n public freeBindingIndex: number;\r\n\r\n public availableVaryings: { [key: string]: number };\r\n public availableAttributes: { [key: string]: number };\r\n public availableBuffers: { [key: string]: WebGPUBufferDescription };\r\n public availableTextures: { [key: string]: WebGPUTextureDescription };\r\n public availableSamplers: { [key: string]: WebGPUSamplerDescription };\r\n\r\n public leftOverUniforms: { name: string; type: string; length: number }[];\r\n\r\n public orderedAttributes: string[];\r\n public bindGroupLayoutEntries: GPUBindGroupLayoutEntry[][];\r\n public bindGroupLayoutEntryInfo: WebGPUBindGroupLayoutEntryInfo[][];\r\n public bindGroupEntries: GPUBindGroupEntry[][];\r\n public bufferNames: string[]; // list of all uniform/storage buffer names used in the shader\r\n public textureNames: string[]; // list of all texture names used in the shader\r\n public samplerNames: string[]; // list of all sampler names used in the shader\r\n public attributeNamesFromEffect: string[];\r\n public attributeLocationsFromEffect: number[];\r\n\r\n private _attributeNextLocation: number;\r\n private _varyingNextLocation: number;\r\n\r\n constructor(shaderLanguage: ShaderLanguage) {\r\n this.shaderLanguage = shaderLanguage;\r\n\r\n this._attributeNextLocation = 0;\r\n this._varyingNextLocation = 0;\r\n this.freeGroupIndex = 0;\r\n this.freeBindingIndex = 0;\r\n\r\n this.availableVaryings = {};\r\n this.availableAttributes = {};\r\n this.availableBuffers = {};\r\n this.availableTextures = {};\r\n this.availableSamplers = {};\r\n\r\n this.orderedAttributes = [];\r\n this.bindGroupLayoutEntries = [];\r\n this.bindGroupLayoutEntryInfo = [];\r\n this.bindGroupEntries = [];\r\n this.bufferNames = [];\r\n this.textureNames = [];\r\n this.samplerNames = [];\r\n\r\n this.leftOverUniforms = [];\r\n\r\n this._findStartingGroupBinding();\r\n }\r\n\r\n private _findStartingGroupBinding(): void {\r\n const knownUBOs = WebGPUShaderProcessingContext.KnownUBOs;\r\n\r\n const groups: number[] = [];\r\n for (const name in knownUBOs) {\r\n const binding = knownUBOs[name].binding;\r\n if (binding.groupIndex === -1) {\r\n continue;\r\n }\r\n if (groups[binding.groupIndex] === undefined) {\r\n groups[binding.groupIndex] = binding.bindingIndex;\r\n } else {\r\n groups[binding.groupIndex] = Math.max(groups[binding.groupIndex], binding.bindingIndex);\r\n }\r\n }\r\n\r\n this.freeGroupIndex = groups.length - 1;\r\n if (this.freeGroupIndex === 0) {\r\n this.freeGroupIndex++;\r\n this.freeBindingIndex = 0;\r\n } else {\r\n this.freeBindingIndex = groups[groups.length - 1] + 1;\r\n }\r\n }\r\n\r\n public getAttributeNextLocation(dataType: string, arrayLength: number = 0): number {\r\n const index = this._attributeNextLocation;\r\n\r\n this._attributeNextLocation += (_typeToLocationSize[dataType] ?? 1) * (arrayLength || 1);\r\n\r\n return index;\r\n }\r\n\r\n public getVaryingNextLocation(dataType: string, arrayLength: number = 0): number {\r\n const index = this._varyingNextLocation;\r\n\r\n this._varyingNextLocation += (_typeToLocationSize[dataType] ?? 1) * (arrayLength || 1);\r\n\r\n return index;\r\n }\r\n\r\n public getNextFreeUBOBinding() {\r\n return this._getNextFreeBinding(1);\r\n }\r\n\r\n private _getNextFreeBinding(bindingCount: number) {\r\n if (this.freeBindingIndex > _maxBindingsPerGroup - bindingCount) {\r\n this.freeGroupIndex++;\r\n this.freeBindingIndex = 0;\r\n }\r\n\r\n if (this.freeGroupIndex === _maxGroups) {\r\n throw \"Too many textures or UBOs have been declared and it is not supported in WebGPU.\";\r\n }\r\n\r\n const returnValue = {\r\n groupIndex: this.freeGroupIndex,\r\n bindingIndex: this.freeBindingIndex,\r\n };\r\n\r\n this.freeBindingIndex += bindingCount;\r\n\r\n return returnValue;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"webgpuShaderProcessingContext.js","sourceRoot":"","sources":["../../../../../../lts/core/generated/Engines/WebGPU/webgpuShaderProcessingContext.ts"],"names":[],"mappings":"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AAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IACzD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IACzD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IACzD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IAC3D,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;IACvD,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;CAC/D,CAAC;AAEe,wCAAU,GAA+C;IACtE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;IAEtD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;IACvD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;IACvD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;IACvD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;IACvD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;IACvD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;IACvD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;IACvD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;IACvD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;IACvD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;IACvD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IACzD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;IAEzD,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;IACzD,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;IACrD,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;CAC7D,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\nimport type { ShaderLanguage } from \"../../Materials/shaderLanguage\";\r\nimport type { ShaderProcessingContext } from \"../Processors/shaderProcessingOptions\";\r\n\r\nconst _maxGroups = 4;\r\nconst _maxBindingsPerGroup = 1 << 16;\r\n\r\n// all types not listed are assumed to consume 1 location\r\nconst _typeToLocationSize: { [key: string]: number } = {\r\n // GLSL types\r\n mat2: 2,\r\n mat3: 3,\r\n mat4: 4,\r\n\r\n // WGSL types\r\n mat2x2: 2,\r\n mat3x3: 3,\r\n mat4x4: 4,\r\n};\r\n\r\n/** @internal */\r\nexport interface WebGPUBindingInfo {\r\n groupIndex: number;\r\n bindingIndex: number;\r\n}\r\n\r\n/** @internal */\r\nexport interface WebGPUTextureDescription {\r\n autoBindSampler?: boolean;\r\n isTextureArray: boolean;\r\n isStorageTexture: boolean;\r\n textures: Array<WebGPUBindingInfo>;\r\n sampleType?: GPUTextureSampleType; // not used if the texture is a storage texture\r\n}\r\n\r\n/** @internal */\r\nexport interface WebGPUSamplerDescription {\r\n binding: WebGPUBindingInfo;\r\n type: GPUSamplerBindingType;\r\n}\r\n\r\n/** @internal */\r\nexport interface WebGPUBufferDescription {\r\n binding: WebGPUBindingInfo;\r\n}\r\n\r\n/** @internal */\r\nexport interface WebGPUBindGroupLayoutEntryInfo {\r\n name: string;\r\n index: number; // index of the entry (GPUBindGroupLayoutEntry) in the bindGroupLayoutEntries[group] array\r\n nameInArrayOfTexture?: string; // something like texture0, texture1, ... if texture is an array, else same thing as \"name\"\r\n}\r\n\r\n/**\r\n * @internal\r\n */\r\nexport class WebGPUShaderProcessingContext implements ShaderProcessingContext {\r\n /** @internal */\r\n public static _SimplifiedKnownBindings = true; // if true, use only group=0,binding=0 as a known group/binding for the Scene ubo and use group=1,binding=X for all other bindings\r\n // if false, see _KnownUBOs for the known groups/bindings used\r\n\r\n protected static _SimplifiedKnownUBOs: { [key: string]: WebGPUBufferDescription } = {\r\n Scene: { binding: { groupIndex: 0, bindingIndex: 0 } },\r\n Light0: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light1: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light2: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light3: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light4: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light5: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light6: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light7: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light8: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light9: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light10: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light11: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light12: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light13: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light14: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light15: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light16: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light17: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light18: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light19: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light20: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light21: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light22: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light23: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light24: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light25: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light26: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light27: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light28: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light29: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light30: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Light31: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Material: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Mesh: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n Internals: { binding: { groupIndex: -1, bindingIndex: -1 } },\r\n };\r\n\r\n protected static _KnownUBOs: { [key: string]: WebGPUBufferDescription } = {\r\n Scene: { binding: { groupIndex: 0, bindingIndex: 0 } },\r\n\r\n Light0: { binding: { groupIndex: 1, bindingIndex: 0 } },\r\n Light1: { binding: { groupIndex: 1, bindingIndex: 1 } },\r\n Light2: { binding: { groupIndex: 1, bindingIndex: 2 } },\r\n Light3: { binding: { groupIndex: 1, bindingIndex: 3 } },\r\n Light4: { binding: { groupIndex: 1, bindingIndex: 4 } },\r\n Light5: { binding: { groupIndex: 1, bindingIndex: 5 } },\r\n Light6: { binding: { groupIndex: 1, bindingIndex: 6 } },\r\n Light7: { binding: { groupIndex: 1, bindingIndex: 7 } },\r\n Light8: { binding: { groupIndex: 1, bindingIndex: 8 } },\r\n Light9: { binding: { groupIndex: 1, bindingIndex: 9 } },\r\n Light10: { binding: { groupIndex: 1, bindingIndex: 10 } },\r\n Light11: { binding: { groupIndex: 1, bindingIndex: 11 } },\r\n Light12: { binding: { groupIndex: 1, bindingIndex: 12 } },\r\n Light13: { binding: { groupIndex: 1, bindingIndex: 13 } },\r\n Light14: { binding: { groupIndex: 1, bindingIndex: 14 } },\r\n Light15: { binding: { groupIndex: 1, bindingIndex: 15 } },\r\n Light16: { binding: { groupIndex: 1, bindingIndex: 16 } },\r\n Light17: { binding: { groupIndex: 1, bindingIndex: 17 } },\r\n Light18: { binding: { groupIndex: 1, bindingIndex: 18 } },\r\n Light19: { binding: { groupIndex: 1, bindingIndex: 19 } },\r\n Light20: { binding: { groupIndex: 1, bindingIndex: 20 } },\r\n Light21: { binding: { groupIndex: 1, bindingIndex: 21 } },\r\n Light22: { binding: { groupIndex: 1, bindingIndex: 22 } },\r\n Light23: { binding: { groupIndex: 1, bindingIndex: 23 } },\r\n Light24: { binding: { groupIndex: 1, bindingIndex: 24 } },\r\n Light25: { binding: { groupIndex: 1, bindingIndex: 25 } },\r\n Light26: { binding: { groupIndex: 1, bindingIndex: 26 } },\r\n Light27: { binding: { groupIndex: 1, bindingIndex: 27 } },\r\n Light28: { binding: { groupIndex: 1, bindingIndex: 28 } },\r\n Light29: { binding: { groupIndex: 1, bindingIndex: 29 } },\r\n Light30: { binding: { groupIndex: 1, bindingIndex: 30 } },\r\n Light31: { binding: { groupIndex: 1, bindingIndex: 31 } },\r\n\r\n Material: { binding: { groupIndex: 2, bindingIndex: 0 } },\r\n Mesh: { binding: { groupIndex: 2, bindingIndex: 1 } },\r\n Internals: { binding: { groupIndex: 2, bindingIndex: 2 } },\r\n };\r\n\r\n public static get KnownUBOs() {\r\n return WebGPUShaderProcessingContext._SimplifiedKnownBindings ? WebGPUShaderProcessingContext._SimplifiedKnownUBOs : WebGPUShaderProcessingContext._KnownUBOs;\r\n }\r\n\r\n public shaderLanguage: ShaderLanguage;\r\n\r\n public uboNextBindingIndex: number;\r\n public freeGroupIndex: number;\r\n public freeBindingIndex: number;\r\n\r\n public availableVaryings: { [key: string]: number };\r\n public availableAttributes: { [key: string]: number };\r\n public availableBuffers: { [key: string]: WebGPUBufferDescription };\r\n public availableTextures: { [key: string]: WebGPUTextureDescription };\r\n public availableSamplers: { [key: string]: WebGPUSamplerDescription };\r\n\r\n public leftOverUniforms: { name: string; type: string; length: number }[];\r\n\r\n public orderedAttributes: string[];\r\n public bindGroupLayoutEntries: GPUBindGroupLayoutEntry[][];\r\n public bindGroupLayoutEntryInfo: WebGPUBindGroupLayoutEntryInfo[][];\r\n public bindGroupEntries: GPUBindGroupEntry[][];\r\n public bufferNames: string[]; // list of all uniform/storage buffer names used in the shader\r\n public textureNames: string[]; // list of all texture names used in the shader\r\n public samplerNames: string[]; // list of all sampler names used in the shader\r\n public attributeNamesFromEffect: string[];\r\n public attributeLocationsFromEffect: number[];\r\n\r\n private _attributeNextLocation: number;\r\n private _varyingNextLocation: number;\r\n\r\n constructor(shaderLanguage: ShaderLanguage) {\r\n this.shaderLanguage = shaderLanguage;\r\n\r\n this._attributeNextLocation = 0;\r\n this._varyingNextLocation = 0;\r\n this.freeGroupIndex = 0;\r\n this.freeBindingIndex = 0;\r\n\r\n this.availableVaryings = {};\r\n this.availableAttributes = {};\r\n this.availableBuffers = {};\r\n this.availableTextures = {};\r\n this.availableSamplers = {};\r\n\r\n this.orderedAttributes = [];\r\n this.bindGroupLayoutEntries = [];\r\n this.bindGroupLayoutEntryInfo = [];\r\n this.bindGroupEntries = [];\r\n this.bufferNames = [];\r\n this.textureNames = [];\r\n this.samplerNames = [];\r\n\r\n this.leftOverUniforms = [];\r\n\r\n this._findStartingGroupBinding();\r\n }\r\n\r\n private _findStartingGroupBinding(): void {\r\n const knownUBOs = WebGPUShaderProcessingContext.KnownUBOs;\r\n\r\n const groups: number[] = [];\r\n for (const name in knownUBOs) {\r\n const binding = knownUBOs[name].binding;\r\n if (binding.groupIndex === -1) {\r\n continue;\r\n }\r\n if (groups[binding.groupIndex] === undefined) {\r\n groups[binding.groupIndex] = binding.bindingIndex;\r\n } else {\r\n groups[binding.groupIndex] = Math.max(groups[binding.groupIndex], binding.bindingIndex);\r\n }\r\n }\r\n\r\n this.freeGroupIndex = groups.length - 1;\r\n if (this.freeGroupIndex === 0) {\r\n this.freeGroupIndex++;\r\n this.freeBindingIndex = 0;\r\n } else {\r\n this.freeBindingIndex = groups[groups.length - 1] + 1;\r\n }\r\n }\r\n\r\n public getAttributeNextLocation(dataType: string, arrayLength: number = 0): number {\r\n const index = this._attributeNextLocation;\r\n\r\n this._attributeNextLocation += (_typeToLocationSize[dataType] ?? 1) * (arrayLength || 1);\r\n\r\n return index;\r\n }\r\n\r\n public getVaryingNextLocation(dataType: string, arrayLength: number = 0): number {\r\n const index = this._varyingNextLocation;\r\n\r\n this._varyingNextLocation += (_typeToLocationSize[dataType] ?? 1) * (arrayLength || 1);\r\n\r\n return index;\r\n }\r\n\r\n public getNextFreeUBOBinding() {\r\n return this._getNextFreeBinding(1);\r\n }\r\n\r\n private _getNextFreeBinding(bindingCount: number) {\r\n if (this.freeBindingIndex > _maxBindingsPerGroup - bindingCount) {\r\n this.freeGroupIndex++;\r\n this.freeBindingIndex = 0;\r\n }\r\n\r\n if (this.freeGroupIndex === _maxGroups) {\r\n throw \"Too many textures or UBOs have been declared and it is not supported in WebGPU.\";\r\n }\r\n\r\n const returnValue = {\r\n groupIndex: this.freeGroupIndex,\r\n bindingIndex: this.freeBindingIndex,\r\n };\r\n\r\n this.freeBindingIndex += bindingCount;\r\n\r\n return returnValue;\r\n }\r\n}\r\n"]}
|
|
@@ -2,7 +2,7 @@ import { ShaderLanguage } from "../../Materials/shaderLanguage";
|
|
|
2
2
|
import type { Nullable } from "../../types";
|
|
3
3
|
import type { IShaderProcessor } from "../Processors/iShaderProcessor";
|
|
4
4
|
import type { WebGPUSamplerDescription, WebGPUShaderProcessingContext, WebGPUTextureDescription, WebGPUBufferDescription } from "./webgpuShaderProcessingContext";
|
|
5
|
-
/** @
|
|
5
|
+
/** @internal */
|
|
6
6
|
export declare abstract class WebGPUShaderProcessor implements IShaderProcessor {
|
|
7
7
|
static readonly AutoSamplerSuffix = "Sampler";
|
|
8
8
|
static readonly LeftOvertUBOName = "LeftOver";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webgpuShaderProcessor.js","sourceRoot":"","sources":["../../../../../../lts/core/generated/Engines/WebGPU/webgpuShaderProcessor.ts"],"names":[],"mappings":"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","sourcesContent":["import { ShaderLanguage } from \"../../Materials/shaderLanguage\";\r\nimport type { Nullable } from \"../../types\";\r\nimport type { IShaderProcessor } from \"../Processors/iShaderProcessor\";\r\nimport * as WebGPUConstants from \"./webgpuConstants\";\r\nimport type { WebGPUSamplerDescription, WebGPUShaderProcessingContext, WebGPUTextureDescription, WebGPUBufferDescription } from \"./webgpuShaderProcessingContext\";\r\n\r\n/** @hidden */\r\nexport abstract class WebGPUShaderProcessor implements IShaderProcessor {\r\n public static readonly AutoSamplerSuffix = \"Sampler\";\r\n public static readonly LeftOvertUBOName = \"LeftOver\";\r\n public static readonly InternalsUBOName = \"Internals\";\r\n\r\n public static UniformSizes: { [type: string]: number } = {\r\n // GLSL types\r\n bool: 1,\r\n int: 1,\r\n float: 1,\r\n vec2: 2,\r\n ivec2: 2,\r\n vec3: 3,\r\n ivec3: 3,\r\n vec4: 4,\r\n ivec4: 4,\r\n mat2: 4,\r\n mat3: 12,\r\n mat4: 16,\r\n\r\n // WGSL types\r\n i32: 1,\r\n u32: 1,\r\n f32: 1,\r\n mat2x2: 4,\r\n mat3x3: 12,\r\n mat4x4: 16,\r\n };\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n protected static _SamplerFunctionByWebGLSamplerType: { [key: string]: string } = {\r\n sampler2D: \"sampler2D\",\r\n sampler2DArray: \"sampler2DArray\",\r\n sampler2DShadow: \"sampler2DShadow\",\r\n sampler2DArrayShadow: \"sampler2DArrayShadow\",\r\n samplerCube: \"samplerCube\",\r\n sampler3D: \"sampler3D\",\r\n };\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n protected static _TextureTypeByWebGLSamplerType: { [key: string]: string } = {\r\n sampler2D: \"texture2D\",\r\n sampler2DArray: \"texture2DArray\",\r\n sampler2DShadow: \"texture2D\",\r\n sampler2DArrayShadow: \"texture2DArray\",\r\n samplerCube: \"textureCube\",\r\n samplerCubeArray: \"textureCubeArray\",\r\n sampler3D: \"texture3D\",\r\n };\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n protected static _GpuTextureViewDimensionByWebGPUTextureType: { [key: string]: GPUTextureViewDimension } = {\r\n textureCube: WebGPUConstants.TextureViewDimension.Cube,\r\n textureCubeArray: WebGPUConstants.TextureViewDimension.CubeArray,\r\n texture2D: WebGPUConstants.TextureViewDimension.E2d,\r\n texture2DArray: WebGPUConstants.TextureViewDimension.E2dArray,\r\n texture3D: WebGPUConstants.TextureViewDimension.E3d,\r\n };\r\n\r\n // if the webgl sampler type is not listed in this array, \"sampler\" is taken by default\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n protected static _SamplerTypeByWebGLSamplerType: { [key: string]: string } = {\r\n sampler2DShadow: \"samplerShadow\",\r\n sampler2DArrayShadow: \"samplerShadow\",\r\n };\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n protected static _IsComparisonSamplerByWebGPUSamplerType: { [key: string]: boolean } = {\r\n samplerShadow: true,\r\n samplerArrayShadow: true,\r\n sampler: false,\r\n };\r\n\r\n public shaderLanguage = ShaderLanguage.GLSL;\r\n\r\n protected _webgpuProcessingContext: WebGPUShaderProcessingContext;\r\n\r\n protected abstract _getArraySize(name: string, type: string, preProcessors: { [key: string]: string }): [string, string, number];\r\n protected abstract _generateLeftOverUBOCode(name: string, uniformBufferDescription: WebGPUBufferDescription): string;\r\n\r\n protected _addUniformToLeftOverUBO(name: string, uniformType: string, preProcessors: { [key: string]: string }): void {\r\n let length = 0;\r\n\r\n [name, uniformType, length] = this._getArraySize(name, uniformType, preProcessors);\r\n\r\n for (let i = 0; i < this._webgpuProcessingContext.leftOverUniforms.length; i++) {\r\n if (this._webgpuProcessingContext.leftOverUniforms[i].name === name) {\r\n return;\r\n }\r\n }\r\n\r\n this._webgpuProcessingContext.leftOverUniforms.push({\r\n name,\r\n type: uniformType,\r\n length,\r\n });\r\n }\r\n\r\n protected _buildLeftOverUBO(): string {\r\n if (!this._webgpuProcessingContext.leftOverUniforms.length) {\r\n return \"\";\r\n }\r\n const name = WebGPUShaderProcessor.LeftOvertUBOName;\r\n let availableUBO = this._webgpuProcessingContext.availableBuffers[name];\r\n if (!availableUBO) {\r\n availableUBO = {\r\n binding: this._webgpuProcessingContext.getNextFreeUBOBinding(),\r\n };\r\n this._webgpuProcessingContext.availableBuffers[name] = availableUBO;\r\n this._addBufferBindingDescription(name, availableUBO, WebGPUConstants.BufferBindingType.Uniform, true);\r\n this._addBufferBindingDescription(name, availableUBO, WebGPUConstants.BufferBindingType.Uniform, false);\r\n }\r\n\r\n return this._generateLeftOverUBOCode(name, availableUBO);\r\n }\r\n\r\n protected _collectBindingNames(): void {\r\n // collect all the binding names for faster processing in WebGPUCacheBindGroup\r\n for (let i = 0; i < this._webgpuProcessingContext.bindGroupLayoutEntries.length; i++) {\r\n const setDefinition = this._webgpuProcessingContext.bindGroupLayoutEntries[i];\r\n if (setDefinition === undefined) {\r\n this._webgpuProcessingContext.bindGroupLayoutEntries[i] = [];\r\n continue;\r\n }\r\n for (let j = 0; j < setDefinition.length; j++) {\r\n const entry = this._webgpuProcessingContext.bindGroupLayoutEntries[i][j];\r\n const name = this._webgpuProcessingContext.bindGroupLayoutEntryInfo[i][entry.binding].name;\r\n const nameInArrayOfTexture = this._webgpuProcessingContext.bindGroupLayoutEntryInfo[i][entry.binding].nameInArrayOfTexture;\r\n if (entry) {\r\n if (entry.texture || entry.externalTexture || entry.storageTexture) {\r\n this._webgpuProcessingContext.textureNames.push(nameInArrayOfTexture!);\r\n } else if (entry.sampler) {\r\n this._webgpuProcessingContext.samplerNames.push(name);\r\n } else if (entry.buffer) {\r\n this._webgpuProcessingContext.bufferNames.push(name);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n protected _preCreateBindGroupEntries(): void {\r\n const bindGroupEntries = this._webgpuProcessingContext.bindGroupEntries;\r\n\r\n for (let i = 0; i < this._webgpuProcessingContext.bindGroupLayoutEntries.length; i++) {\r\n const setDefinition = this._webgpuProcessingContext.bindGroupLayoutEntries[i];\r\n\r\n const entries: GPUBindGroupEntry[] = [];\r\n for (let j = 0; j < setDefinition.length; j++) {\r\n const entry = this._webgpuProcessingContext.bindGroupLayoutEntries[i][j];\r\n\r\n if (entry.sampler || entry.texture || entry.storageTexture || entry.externalTexture) {\r\n entries.push({\r\n binding: entry.binding,\r\n resource: undefined as any,\r\n });\r\n } else if (entry.buffer) {\r\n entries.push({\r\n binding: entry.binding,\r\n resource: {\r\n buffer: undefined as any,\r\n offset: 0,\r\n size: 0,\r\n },\r\n });\r\n }\r\n }\r\n\r\n bindGroupEntries[i] = entries;\r\n }\r\n }\r\n\r\n protected _addTextureBindingDescription(\r\n name: string,\r\n textureInfo: WebGPUTextureDescription,\r\n textureIndex: number,\r\n dimension: Nullable<GPUTextureViewDimension>,\r\n format: Nullable<GPUTextureFormat>,\r\n isVertex: boolean\r\n ): void {\r\n // eslint-disable-next-line prefer-const\r\n let { groupIndex, bindingIndex } = textureInfo.textures[textureIndex];\r\n if (!this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex]) {\r\n this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex] = [];\r\n this._webgpuProcessingContext.bindGroupLayoutEntryInfo[groupIndex] = [];\r\n }\r\n if (!this._webgpuProcessingContext.bindGroupLayoutEntryInfo[groupIndex][bindingIndex]) {\r\n let len;\r\n if (dimension === null) {\r\n len = this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex].push({\r\n binding: bindingIndex,\r\n visibility: 0,\r\n externalTexture: {},\r\n });\r\n } else if (format) {\r\n len = this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex].push({\r\n binding: bindingIndex,\r\n visibility: 0,\r\n storageTexture: {\r\n access: WebGPUConstants.StorageTextureAccess.WriteOnly,\r\n format,\r\n viewDimension: dimension,\r\n },\r\n });\r\n } else {\r\n len = this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex].push({\r\n binding: bindingIndex,\r\n visibility: 0,\r\n texture: {\r\n sampleType: textureInfo.sampleType,\r\n viewDimension: dimension,\r\n multisampled: false,\r\n },\r\n });\r\n }\r\n const textureName = textureInfo.isTextureArray ? name + textureIndex : name;\r\n this._webgpuProcessingContext.bindGroupLayoutEntryInfo[groupIndex][bindingIndex] = { name, index: len - 1, nameInArrayOfTexture: textureName };\r\n }\r\n\r\n bindingIndex = this._webgpuProcessingContext.bindGroupLayoutEntryInfo[groupIndex][bindingIndex].index;\r\n if (isVertex) {\r\n this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex][bindingIndex].visibility |= WebGPUConstants.ShaderStage.Vertex;\r\n } else {\r\n this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex][bindingIndex].visibility |= WebGPUConstants.ShaderStage.Fragment;\r\n }\r\n }\r\n\r\n protected _addSamplerBindingDescription(name: string, samplerInfo: WebGPUSamplerDescription, isVertex: boolean): void {\r\n // eslint-disable-next-line prefer-const\r\n let { groupIndex, bindingIndex } = samplerInfo.binding;\r\n if (!this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex]) {\r\n this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex] = [];\r\n this._webgpuProcessingContext.bindGroupLayoutEntryInfo[groupIndex] = [];\r\n }\r\n if (!this._webgpuProcessingContext.bindGroupLayoutEntryInfo[groupIndex][bindingIndex]) {\r\n const len = this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex].push({\r\n binding: bindingIndex,\r\n visibility: 0,\r\n sampler: {\r\n type: samplerInfo.type,\r\n },\r\n });\r\n this._webgpuProcessingContext.bindGroupLayoutEntryInfo[groupIndex][bindingIndex] = { name, index: len - 1 };\r\n }\r\n\r\n bindingIndex = this._webgpuProcessingContext.bindGroupLayoutEntryInfo[groupIndex][bindingIndex].index;\r\n if (isVertex) {\r\n this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex][bindingIndex].visibility |= WebGPUConstants.ShaderStage.Vertex;\r\n } else {\r\n this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex][bindingIndex].visibility |= WebGPUConstants.ShaderStage.Fragment;\r\n }\r\n }\r\n\r\n protected _addBufferBindingDescription(name: string, uniformBufferInfo: WebGPUBufferDescription, bufferType: GPUBufferBindingType, isVertex: boolean): void {\r\n // eslint-disable-next-line prefer-const\r\n let { groupIndex, bindingIndex } = uniformBufferInfo.binding;\r\n if (!this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex]) {\r\n this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex] = [];\r\n this._webgpuProcessingContext.bindGroupLayoutEntryInfo[groupIndex] = [];\r\n }\r\n if (!this._webgpuProcessingContext.bindGroupLayoutEntryInfo[groupIndex][bindingIndex]) {\r\n const len = this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex].push({\r\n binding: bindingIndex,\r\n visibility: 0,\r\n buffer: {\r\n type: bufferType,\r\n },\r\n });\r\n this._webgpuProcessingContext.bindGroupLayoutEntryInfo[groupIndex][bindingIndex] = { name, index: len - 1 };\r\n }\r\n\r\n bindingIndex = this._webgpuProcessingContext.bindGroupLayoutEntryInfo[groupIndex][bindingIndex].index;\r\n if (isVertex) {\r\n this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex][bindingIndex].visibility |= WebGPUConstants.ShaderStage.Vertex;\r\n } else {\r\n this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex][bindingIndex].visibility |= WebGPUConstants.ShaderStage.Fragment;\r\n }\r\n }\r\n\r\n protected _injectStartingAndEndingCode(code: string, mainFuncDecl: string, startingCode?: string, endingCode?: string): string {\r\n if (startingCode) {\r\n let idx = code.indexOf(mainFuncDecl);\r\n if (idx >= 0) {\r\n // eslint-disable-next-line no-empty\r\n while (idx++ < code.length && code.charAt(idx) != \"{\") {}\r\n if (idx < code.length) {\r\n // eslint-disable-next-line no-empty\r\n while (idx++ < code.length && code.charAt(idx) != \"\\n\") {}\r\n if (idx < code.length) {\r\n const part1 = code.substring(0, idx + 1);\r\n const part2 = code.substring(idx + 1);\r\n code = part1 + startingCode + part2;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (endingCode) {\r\n const lastClosingCurly = code.lastIndexOf(\"}\");\r\n code = code.substring(0, lastClosingCurly);\r\n code += endingCode + \"\\n}\";\r\n }\r\n\r\n return code;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"webgpuShaderProcessor.js","sourceRoot":"","sources":["../../../../../../lts/core/generated/Engines/WebGPU/webgpuShaderProcessor.ts"],"names":[],"mappings":"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","sourcesContent":["import { ShaderLanguage } from \"../../Materials/shaderLanguage\";\r\nimport type { Nullable } from \"../../types\";\r\nimport type { IShaderProcessor } from \"../Processors/iShaderProcessor\";\r\nimport * as WebGPUConstants from \"./webgpuConstants\";\r\nimport type { WebGPUSamplerDescription, WebGPUShaderProcessingContext, WebGPUTextureDescription, WebGPUBufferDescription } from \"./webgpuShaderProcessingContext\";\r\n\r\n/** @internal */\r\nexport abstract class WebGPUShaderProcessor implements IShaderProcessor {\r\n public static readonly AutoSamplerSuffix = \"Sampler\";\r\n public static readonly LeftOvertUBOName = \"LeftOver\";\r\n public static readonly InternalsUBOName = \"Internals\";\r\n\r\n public static UniformSizes: { [type: string]: number } = {\r\n // GLSL types\r\n bool: 1,\r\n int: 1,\r\n float: 1,\r\n vec2: 2,\r\n ivec2: 2,\r\n vec3: 3,\r\n ivec3: 3,\r\n vec4: 4,\r\n ivec4: 4,\r\n mat2: 4,\r\n mat3: 12,\r\n mat4: 16,\r\n\r\n // WGSL types\r\n i32: 1,\r\n u32: 1,\r\n f32: 1,\r\n mat2x2: 4,\r\n mat3x3: 12,\r\n mat4x4: 16,\r\n };\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n protected static _SamplerFunctionByWebGLSamplerType: { [key: string]: string } = {\r\n sampler2D: \"sampler2D\",\r\n sampler2DArray: \"sampler2DArray\",\r\n sampler2DShadow: \"sampler2DShadow\",\r\n sampler2DArrayShadow: \"sampler2DArrayShadow\",\r\n samplerCube: \"samplerCube\",\r\n sampler3D: \"sampler3D\",\r\n };\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n protected static _TextureTypeByWebGLSamplerType: { [key: string]: string } = {\r\n sampler2D: \"texture2D\",\r\n sampler2DArray: \"texture2DArray\",\r\n sampler2DShadow: \"texture2D\",\r\n sampler2DArrayShadow: \"texture2DArray\",\r\n samplerCube: \"textureCube\",\r\n samplerCubeArray: \"textureCubeArray\",\r\n sampler3D: \"texture3D\",\r\n };\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n protected static _GpuTextureViewDimensionByWebGPUTextureType: { [key: string]: GPUTextureViewDimension } = {\r\n textureCube: WebGPUConstants.TextureViewDimension.Cube,\r\n textureCubeArray: WebGPUConstants.TextureViewDimension.CubeArray,\r\n texture2D: WebGPUConstants.TextureViewDimension.E2d,\r\n texture2DArray: WebGPUConstants.TextureViewDimension.E2dArray,\r\n texture3D: WebGPUConstants.TextureViewDimension.E3d,\r\n };\r\n\r\n // if the webgl sampler type is not listed in this array, \"sampler\" is taken by default\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n protected static _SamplerTypeByWebGLSamplerType: { [key: string]: string } = {\r\n sampler2DShadow: \"samplerShadow\",\r\n sampler2DArrayShadow: \"samplerShadow\",\r\n };\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n protected static _IsComparisonSamplerByWebGPUSamplerType: { [key: string]: boolean } = {\r\n samplerShadow: true,\r\n samplerArrayShadow: true,\r\n sampler: false,\r\n };\r\n\r\n public shaderLanguage = ShaderLanguage.GLSL;\r\n\r\n protected _webgpuProcessingContext: WebGPUShaderProcessingContext;\r\n\r\n protected abstract _getArraySize(name: string, type: string, preProcessors: { [key: string]: string }): [string, string, number];\r\n protected abstract _generateLeftOverUBOCode(name: string, uniformBufferDescription: WebGPUBufferDescription): string;\r\n\r\n protected _addUniformToLeftOverUBO(name: string, uniformType: string, preProcessors: { [key: string]: string }): void {\r\n let length = 0;\r\n\r\n [name, uniformType, length] = this._getArraySize(name, uniformType, preProcessors);\r\n\r\n for (let i = 0; i < this._webgpuProcessingContext.leftOverUniforms.length; i++) {\r\n if (this._webgpuProcessingContext.leftOverUniforms[i].name === name) {\r\n return;\r\n }\r\n }\r\n\r\n this._webgpuProcessingContext.leftOverUniforms.push({\r\n name,\r\n type: uniformType,\r\n length,\r\n });\r\n }\r\n\r\n protected _buildLeftOverUBO(): string {\r\n if (!this._webgpuProcessingContext.leftOverUniforms.length) {\r\n return \"\";\r\n }\r\n const name = WebGPUShaderProcessor.LeftOvertUBOName;\r\n let availableUBO = this._webgpuProcessingContext.availableBuffers[name];\r\n if (!availableUBO) {\r\n availableUBO = {\r\n binding: this._webgpuProcessingContext.getNextFreeUBOBinding(),\r\n };\r\n this._webgpuProcessingContext.availableBuffers[name] = availableUBO;\r\n this._addBufferBindingDescription(name, availableUBO, WebGPUConstants.BufferBindingType.Uniform, true);\r\n this._addBufferBindingDescription(name, availableUBO, WebGPUConstants.BufferBindingType.Uniform, false);\r\n }\r\n\r\n return this._generateLeftOverUBOCode(name, availableUBO);\r\n }\r\n\r\n protected _collectBindingNames(): void {\r\n // collect all the binding names for faster processing in WebGPUCacheBindGroup\r\n for (let i = 0; i < this._webgpuProcessingContext.bindGroupLayoutEntries.length; i++) {\r\n const setDefinition = this._webgpuProcessingContext.bindGroupLayoutEntries[i];\r\n if (setDefinition === undefined) {\r\n this._webgpuProcessingContext.bindGroupLayoutEntries[i] = [];\r\n continue;\r\n }\r\n for (let j = 0; j < setDefinition.length; j++) {\r\n const entry = this._webgpuProcessingContext.bindGroupLayoutEntries[i][j];\r\n const name = this._webgpuProcessingContext.bindGroupLayoutEntryInfo[i][entry.binding].name;\r\n const nameInArrayOfTexture = this._webgpuProcessingContext.bindGroupLayoutEntryInfo[i][entry.binding].nameInArrayOfTexture;\r\n if (entry) {\r\n if (entry.texture || entry.externalTexture || entry.storageTexture) {\r\n this._webgpuProcessingContext.textureNames.push(nameInArrayOfTexture!);\r\n } else if (entry.sampler) {\r\n this._webgpuProcessingContext.samplerNames.push(name);\r\n } else if (entry.buffer) {\r\n this._webgpuProcessingContext.bufferNames.push(name);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n protected _preCreateBindGroupEntries(): void {\r\n const bindGroupEntries = this._webgpuProcessingContext.bindGroupEntries;\r\n\r\n for (let i = 0; i < this._webgpuProcessingContext.bindGroupLayoutEntries.length; i++) {\r\n const setDefinition = this._webgpuProcessingContext.bindGroupLayoutEntries[i];\r\n\r\n const entries: GPUBindGroupEntry[] = [];\r\n for (let j = 0; j < setDefinition.length; j++) {\r\n const entry = this._webgpuProcessingContext.bindGroupLayoutEntries[i][j];\r\n\r\n if (entry.sampler || entry.texture || entry.storageTexture || entry.externalTexture) {\r\n entries.push({\r\n binding: entry.binding,\r\n resource: undefined as any,\r\n });\r\n } else if (entry.buffer) {\r\n entries.push({\r\n binding: entry.binding,\r\n resource: {\r\n buffer: undefined as any,\r\n offset: 0,\r\n size: 0,\r\n },\r\n });\r\n }\r\n }\r\n\r\n bindGroupEntries[i] = entries;\r\n }\r\n }\r\n\r\n protected _addTextureBindingDescription(\r\n name: string,\r\n textureInfo: WebGPUTextureDescription,\r\n textureIndex: number,\r\n dimension: Nullable<GPUTextureViewDimension>,\r\n format: Nullable<GPUTextureFormat>,\r\n isVertex: boolean\r\n ): void {\r\n // eslint-disable-next-line prefer-const\r\n let { groupIndex, bindingIndex } = textureInfo.textures[textureIndex];\r\n if (!this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex]) {\r\n this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex] = [];\r\n this._webgpuProcessingContext.bindGroupLayoutEntryInfo[groupIndex] = [];\r\n }\r\n if (!this._webgpuProcessingContext.bindGroupLayoutEntryInfo[groupIndex][bindingIndex]) {\r\n let len;\r\n if (dimension === null) {\r\n len = this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex].push({\r\n binding: bindingIndex,\r\n visibility: 0,\r\n externalTexture: {},\r\n });\r\n } else if (format) {\r\n len = this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex].push({\r\n binding: bindingIndex,\r\n visibility: 0,\r\n storageTexture: {\r\n access: WebGPUConstants.StorageTextureAccess.WriteOnly,\r\n format,\r\n viewDimension: dimension,\r\n },\r\n });\r\n } else {\r\n len = this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex].push({\r\n binding: bindingIndex,\r\n visibility: 0,\r\n texture: {\r\n sampleType: textureInfo.sampleType,\r\n viewDimension: dimension,\r\n multisampled: false,\r\n },\r\n });\r\n }\r\n const textureName = textureInfo.isTextureArray ? name + textureIndex : name;\r\n this._webgpuProcessingContext.bindGroupLayoutEntryInfo[groupIndex][bindingIndex] = { name, index: len - 1, nameInArrayOfTexture: textureName };\r\n }\r\n\r\n bindingIndex = this._webgpuProcessingContext.bindGroupLayoutEntryInfo[groupIndex][bindingIndex].index;\r\n if (isVertex) {\r\n this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex][bindingIndex].visibility |= WebGPUConstants.ShaderStage.Vertex;\r\n } else {\r\n this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex][bindingIndex].visibility |= WebGPUConstants.ShaderStage.Fragment;\r\n }\r\n }\r\n\r\n protected _addSamplerBindingDescription(name: string, samplerInfo: WebGPUSamplerDescription, isVertex: boolean): void {\r\n // eslint-disable-next-line prefer-const\r\n let { groupIndex, bindingIndex } = samplerInfo.binding;\r\n if (!this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex]) {\r\n this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex] = [];\r\n this._webgpuProcessingContext.bindGroupLayoutEntryInfo[groupIndex] = [];\r\n }\r\n if (!this._webgpuProcessingContext.bindGroupLayoutEntryInfo[groupIndex][bindingIndex]) {\r\n const len = this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex].push({\r\n binding: bindingIndex,\r\n visibility: 0,\r\n sampler: {\r\n type: samplerInfo.type,\r\n },\r\n });\r\n this._webgpuProcessingContext.bindGroupLayoutEntryInfo[groupIndex][bindingIndex] = { name, index: len - 1 };\r\n }\r\n\r\n bindingIndex = this._webgpuProcessingContext.bindGroupLayoutEntryInfo[groupIndex][bindingIndex].index;\r\n if (isVertex) {\r\n this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex][bindingIndex].visibility |= WebGPUConstants.ShaderStage.Vertex;\r\n } else {\r\n this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex][bindingIndex].visibility |= WebGPUConstants.ShaderStage.Fragment;\r\n }\r\n }\r\n\r\n protected _addBufferBindingDescription(name: string, uniformBufferInfo: WebGPUBufferDescription, bufferType: GPUBufferBindingType, isVertex: boolean): void {\r\n // eslint-disable-next-line prefer-const\r\n let { groupIndex, bindingIndex } = uniformBufferInfo.binding;\r\n if (!this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex]) {\r\n this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex] = [];\r\n this._webgpuProcessingContext.bindGroupLayoutEntryInfo[groupIndex] = [];\r\n }\r\n if (!this._webgpuProcessingContext.bindGroupLayoutEntryInfo[groupIndex][bindingIndex]) {\r\n const len = this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex].push({\r\n binding: bindingIndex,\r\n visibility: 0,\r\n buffer: {\r\n type: bufferType,\r\n },\r\n });\r\n this._webgpuProcessingContext.bindGroupLayoutEntryInfo[groupIndex][bindingIndex] = { name, index: len - 1 };\r\n }\r\n\r\n bindingIndex = this._webgpuProcessingContext.bindGroupLayoutEntryInfo[groupIndex][bindingIndex].index;\r\n if (isVertex) {\r\n this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex][bindingIndex].visibility |= WebGPUConstants.ShaderStage.Vertex;\r\n } else {\r\n this._webgpuProcessingContext.bindGroupLayoutEntries[groupIndex][bindingIndex].visibility |= WebGPUConstants.ShaderStage.Fragment;\r\n }\r\n }\r\n\r\n protected _injectStartingAndEndingCode(code: string, mainFuncDecl: string, startingCode?: string, endingCode?: string): string {\r\n if (startingCode) {\r\n let idx = code.indexOf(mainFuncDecl);\r\n if (idx >= 0) {\r\n // eslint-disable-next-line no-empty\r\n while (idx++ < code.length && code.charAt(idx) != \"{\") {}\r\n if (idx < code.length) {\r\n // eslint-disable-next-line no-empty\r\n while (idx++ < code.length && code.charAt(idx) != \"\\n\") {}\r\n if (idx < code.length) {\r\n const part1 = code.substring(0, idx + 1);\r\n const part2 = code.substring(idx + 1);\r\n code = part1 + startingCode + part2;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (endingCode) {\r\n const lastClosingCurly = code.lastIndexOf(\"}\");\r\n code = code.substring(0, lastClosingCurly);\r\n code += endingCode + \"\\n}\";\r\n }\r\n\r\n return code;\r\n }\r\n}\r\n"]}
|
|
@@ -4,7 +4,7 @@ import type { WebGPUBufferDescription } from "./webgpuShaderProcessingContext";
|
|
|
4
4
|
import type { ThinEngine } from "../thinEngine";
|
|
5
5
|
import { WebGPUShaderProcessor } from "./webgpuShaderProcessor";
|
|
6
6
|
import { ShaderLanguage } from "../../Materials/shaderLanguage";
|
|
7
|
-
/** @
|
|
7
|
+
/** @internal */
|
|
8
8
|
export declare class WebGPUShaderProcessorGLSL extends WebGPUShaderProcessor {
|
|
9
9
|
protected _missingVaryings: Array<string>;
|
|
10
10
|
protected _textureArrayProcessing: Array<string>;
|
|
@@ -3,7 +3,7 @@ import * as WebGPUConstants from "./webgpuConstants.js";
|
|
|
3
3
|
import { Logger } from "../../Misc/logger.js";
|
|
4
4
|
import { WebGPUShaderProcessor } from "./webgpuShaderProcessor.js";
|
|
5
5
|
import { ShaderLanguage } from "../../Materials/shaderLanguage.js";
|
|
6
|
-
/** @
|
|
6
|
+
/** @internal */
|
|
7
7
|
export class WebGPUShaderProcessorGLSL extends WebGPUShaderProcessor {
|
|
8
8
|
constructor() {
|
|
9
9
|
super(...arguments);
|