@babylonjs/core 5.0.0-alpha.48 → 5.0.0-alpha.51
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/action.js +5 -5
- package/Actions/action.js.map +1 -1
- package/Actions/actionManager.js +11 -11
- package/Actions/actionManager.js.map +1 -1
- package/Actions/condition.js +5 -5
- package/Actions/condition.js.map +1 -1
- package/Actions/directActions.js +13 -13
- package/Actions/directActions.js.map +1 -1
- package/Actions/directAudioActions.js +4 -4
- package/Actions/directAudioActions.js.map +1 -1
- package/Actions/index.js +8 -8
- package/Actions/interpolateValueAction.js +8 -8
- package/Actions/interpolateValueAction.js.map +1 -1
- package/Animations/animatable.js +12 -7
- package/Animations/animatable.js.map +1 -1
- package/Animations/animation.js +11 -11
- package/Animations/animation.js.map +1 -1
- package/Animations/animationGroup.js +4 -14
- package/Animations/animationGroup.js.map +1 -1
- package/Animations/animationPropertiesOverride.js +1 -1
- package/Animations/easing.js +1 -1
- package/Animations/index.js +12 -12
- package/Animations/pathCursor.js +1 -1
- package/Animations/runtimeAnimation.js +12 -7
- package/Animations/runtimeAnimation.js.map +1 -1
- package/Audio/analyser.js +2 -2
- package/Audio/audioEngine.js +5 -5
- package/Audio/audioEngine.js.map +1 -1
- package/Audio/audioSceneComponent.js +9 -9
- package/Audio/index.js +8 -8
- package/Audio/sound.js +7 -7
- package/Audio/sound.js.map +1 -1
- package/Audio/soundTrack.js +1 -1
- package/Audio/weightedsound.js +1 -1
- package/Behaviors/Cameras/autoRotationBehavior.js +2 -2
- package/Behaviors/Cameras/bouncingBehavior.js +2 -2
- package/Behaviors/Cameras/framingBehavior.js +5 -5
- package/Behaviors/Cameras/index.js +3 -3
- package/Behaviors/Meshes/attachToBoxBehavior.js +1 -1
- package/Behaviors/Meshes/baseSixDofDragBehavior.d.ts +9 -1
- package/Behaviors/Meshes/baseSixDofDragBehavior.js +119 -62
- package/Behaviors/Meshes/baseSixDofDragBehavior.js.map +1 -1
- package/Behaviors/Meshes/followBehavior.js +3 -3
- package/Behaviors/Meshes/handConstraintBehavior.js +2 -2
- package/Behaviors/Meshes/index.js +9 -9
- package/Behaviors/Meshes/multiPointerScaleBehavior.js +2 -2
- package/Behaviors/Meshes/pointerDragBehavior.js +10 -9
- package/Behaviors/Meshes/pointerDragBehavior.js.map +1 -1
- package/Behaviors/Meshes/sixDofDragBehavior.d.ts +4 -0
- package/Behaviors/Meshes/sixDofDragBehavior.js +24 -13
- package/Behaviors/Meshes/sixDofDragBehavior.js.map +1 -1
- package/Behaviors/Meshes/surfaceMagnetismBehavior.js +2 -2
- package/Behaviors/index.js +3 -3
- package/Bones/bone.js +4 -4
- package/Bones/boneIKController.js +2 -2
- package/Bones/boneLookController.js +3 -3
- package/Bones/index.js +4 -4
- package/Bones/skeleton.js +9 -9
- package/Buffers/buffer.js +2 -5
- package/Buffers/buffer.js.map +1 -1
- package/Buffers/index.js +3 -3
- package/Cameras/Inputs/BaseCameraMouseWheelInput.js +5 -5
- package/Cameras/Inputs/BaseCameraPointersInput.js +3 -3
- package/Cameras/Inputs/arcRotateCameraGamepadInput.js +3 -3
- package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.js +4 -4
- package/Cameras/Inputs/arcRotateCameraMouseWheelInput.js +9 -9
- package/Cameras/Inputs/arcRotateCameraPointersInput.js +3 -3
- package/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.js +3 -3
- package/Cameras/Inputs/flyCameraKeyboardInput.js +5 -5
- package/Cameras/Inputs/flyCameraMouseInput.js +6 -6
- package/Cameras/Inputs/followCameraKeyboardMoveInput.js +4 -4
- package/Cameras/Inputs/followCameraMouseWheelInput.js +4 -4
- package/Cameras/Inputs/followCameraPointersInput.js +3 -3
- package/Cameras/Inputs/freeCameraDeviceOrientationInput.js +5 -5
- package/Cameras/Inputs/freeCameraGamepadInput.js +4 -4
- package/Cameras/Inputs/freeCameraKeyboardMoveInput.js +5 -5
- package/Cameras/Inputs/freeCameraMouseInput.js +5 -5
- package/Cameras/Inputs/freeCameraMouseWheelInput.js +5 -5
- package/Cameras/Inputs/freeCameraTouchInput.js +5 -5
- package/Cameras/Inputs/freeCameraVirtualJoystickInput.js +4 -4
- package/Cameras/Inputs/index.js +19 -19
- package/Cameras/RigModes/index.js +4 -4
- package/Cameras/RigModes/stereoscopicAnaglyphRigMode.js +2 -2
- package/Cameras/RigModes/stereoscopicRigMode.js +4 -4
- package/Cameras/RigModes/vrRigMode.js +6 -6
- package/Cameras/RigModes/webVRRigMode.js +2 -2
- package/Cameras/Stereoscopic/anaglyphArcRotateCamera.js +5 -5
- package/Cameras/Stereoscopic/anaglyphFreeCamera.js +5 -5
- package/Cameras/Stereoscopic/anaglyphGamepadCamera.js +5 -5
- package/Cameras/Stereoscopic/anaglyphUniversalCamera.js +5 -5
- package/Cameras/Stereoscopic/index.js +9 -9
- package/Cameras/Stereoscopic/stereoscopicArcRotateCamera.js +5 -5
- package/Cameras/Stereoscopic/stereoscopicFreeCamera.js +5 -5
- package/Cameras/Stereoscopic/stereoscopicGamepadCamera.js +5 -5
- package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.d.ts +3 -3
- package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js +29 -16
- package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js.map +1 -1
- package/Cameras/Stereoscopic/stereoscopicUniversalCamera.js +5 -5
- package/Cameras/VR/index.js +6 -6
- package/Cameras/VR/vrCameraMetrics.js +1 -1
- package/Cameras/VR/vrDeviceOrientationArcRotateCamera.js +7 -7
- package/Cameras/VR/vrDeviceOrientationFreeCamera.js +6 -6
- package/Cameras/VR/vrDeviceOrientationGamepadCamera.js +6 -6
- package/Cameras/VR/vrExperienceHelper.d.ts +0 -3
- package/Cameras/VR/vrExperienceHelper.js +52 -39
- package/Cameras/VR/vrExperienceHelper.js.map +1 -1
- package/Cameras/VR/webVRCamera.js +13 -13
- package/Cameras/arcRotateCamera.d.ts +10 -0
- package/Cameras/arcRotateCamera.js +40 -13
- package/Cameras/arcRotateCamera.js.map +1 -1
- package/Cameras/arcRotateCameraInputsManager.js +4 -4
- package/Cameras/camera.js +15 -15
- package/Cameras/camera.js.map +1 -1
- package/Cameras/cameraInputsManager.js +3 -3
- package/Cameras/deviceOrientationCamera.js +5 -5
- package/Cameras/flyCamera.js +6 -6
- package/Cameras/flyCameraInputsManager.js +3 -3
- package/Cameras/followCamera.js +6 -6
- package/Cameras/followCameraInputsManager.js +4 -4
- package/Cameras/freeCamera.js +6 -6
- package/Cameras/freeCameraInputsManager.js +5 -5
- package/Cameras/gamepadCamera.js +3 -3
- package/Cameras/index.js +20 -20
- package/Cameras/targetCamera.js +5 -5
- package/Cameras/touchCamera.js +3 -3
- package/Cameras/universalCamera.js +5 -5
- package/Cameras/virtualJoysticksCamera.js +4 -4
- package/Collisions/collider.js +2 -2
- package/Collisions/collisionCoordinator.js +4 -4
- package/Collisions/index.js +5 -5
- package/Collisions/meshCollisionData.js +1 -1
- package/Collisions/pickingInfo.d.ts +12 -2
- package/Collisions/pickingInfo.js +13 -4
- package/Collisions/pickingInfo.js.map +1 -1
- package/Compute/computeEffect.js +8 -8
- package/Compute/computeEffect.js.map +1 -1
- package/Compute/computeShader.js +8 -8
- package/Compute/computeShader.js.map +1 -1
- package/Compute/index.js +2 -2
- package/Culling/Octrees/index.js +3 -3
- package/Culling/Octrees/octree.js +2 -2
- package/Culling/Octrees/octreeBlock.js +2 -2
- package/Culling/Octrees/octreeSceneComponent.js +6 -6
- package/Culling/boundingBox.js +3 -3
- package/Culling/boundingInfo.js +4 -4
- package/Culling/boundingSphere.js +2 -2
- package/Culling/index.js +5 -5
- package/Culling/ray.js +6 -6
- package/Debug/axesViewer.js +4 -4
- package/Debug/boneAxesViewer.js +3 -3
- package/Debug/debugLayer.js +4 -4
- package/Debug/directionalLightFrustumViewer.js +19 -19
- package/Debug/directionalLightFrustumViewer.js.map +1 -1
- package/Debug/index.js +8 -8
- package/Debug/physicsViewer.js +15 -15
- package/Debug/physicsViewer.js.map +1 -1
- package/Debug/rayHelper.js +5 -5
- package/Debug/rayHelper.js.map +1 -1
- package/Debug/skeletonViewer.js +17 -17
- package/Debug/skeletonViewer.js.map +1 -1
- package/DeviceInput/Helpers/eventFactory.js +2 -2
- package/DeviceInput/Implementations/nativeDeviceInputWrapper.js +3 -3
- package/DeviceInput/Implementations/webDeviceInputSystem.js +5 -5
- package/DeviceInput/Implementations/webDeviceInputSystem.js.map +1 -1
- package/DeviceInput/InputDevices/deviceSourceManager.js +3 -3
- package/DeviceInput/deviceInputSystem.js +2 -2
- package/DeviceInput/index.js +8 -8
- package/Engines/Extensions/engine.alpha.js +1 -1
- package/Engines/Extensions/engine.computeShader.js +1 -1
- package/Engines/Extensions/engine.cubeTexture.js +7 -7
- package/Engines/Extensions/engine.cubeTexture.js.map +1 -1
- package/Engines/Extensions/engine.debugging.js +1 -1
- package/Engines/Extensions/engine.dynamicBuffer.js +1 -1
- package/Engines/Extensions/engine.dynamicTexture.js +2 -2
- package/Engines/Extensions/engine.externalTexture.js +1 -1
- package/Engines/Extensions/engine.multiRender.js +3 -3
- package/Engines/Extensions/engine.multiview.js +8 -8
- package/Engines/Extensions/engine.query.js +4 -4
- package/Engines/Extensions/engine.rawTexture.js +4 -4
- package/Engines/Extensions/engine.readTexture.js +1 -1
- package/Engines/Extensions/engine.renderTarget.js +5 -5
- package/Engines/Extensions/engine.renderTargetCube.js +3 -3
- package/Engines/Extensions/engine.storageBuffer.js +1 -1
- package/Engines/Extensions/engine.textureSampler.js +1 -1
- package/Engines/Extensions/engine.textureSelector.js +1 -1
- package/Engines/Extensions/engine.transformFeedback.js +1 -1
- package/Engines/Extensions/engine.uniformBuffer.js +2 -2
- package/Engines/Extensions/engine.videoTexture.js +1 -1
- package/Engines/Extensions/engine.views.js +1 -1
- package/Engines/Extensions/engine.webVR.js +7 -7
- package/Engines/Extensions/engine.webVR.js.map +1 -1
- package/Engines/Extensions/index.js +23 -23
- package/Engines/Processors/Expressions/Operators/index.js +4 -4
- package/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.js +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.js +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.js +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.js +1 -1
- package/Engines/Processors/Expressions/index.js +2 -2
- package/Engines/Processors/index.js +9 -9
- package/Engines/Processors/shaderCodeConditionNode.js +1 -1
- package/Engines/Processors/shaderCodeInliner.js +13 -13
- package/Engines/Processors/shaderCodeInliner.js.map +1 -1
- package/Engines/Processors/shaderCodeNode.js +4 -4
- package/Engines/Processors/shaderCodeNode.js.map +1 -1
- package/Engines/Processors/shaderCodeTestNode.js +1 -1
- package/Engines/Processors/shaderProcessor.js +12 -12
- package/Engines/Processors/shaderProcessor.js.map +1 -1
- package/Engines/WebGL/webGL2ShaderProcessors.js +1 -1
- package/Engines/WebGL/webGLRenderTargetWrapper.js +1 -1
- package/Engines/WebGL/webGLShaderProcessors.js +1 -1
- package/Engines/WebGPU/Extensions/engine.alpha.js +2 -2
- package/Engines/WebGPU/Extensions/engine.computeShader.js +4 -4
- package/Engines/WebGPU/Extensions/engine.cubeTexture.js +2 -2
- package/Engines/WebGPU/Extensions/engine.debugging.js +1 -1
- package/Engines/WebGPU/Extensions/engine.dynamicBuffer.js +1 -1
- package/Engines/WebGPU/Extensions/engine.dynamicTexture.js +1 -1
- package/Engines/WebGPU/Extensions/engine.externalTexture.js +3 -3
- package/Engines/WebGPU/Extensions/engine.multiRender.js +3 -3
- package/Engines/WebGPU/Extensions/engine.query.js +1 -1
- package/Engines/WebGPU/Extensions/engine.rawTexture.js +3 -3
- package/Engines/WebGPU/Extensions/engine.readTexture.js +1 -1
- package/Engines/WebGPU/Extensions/engine.renderTarget.js +4 -4
- package/Engines/WebGPU/Extensions/engine.renderTargetCube.js +2 -2
- package/Engines/WebGPU/Extensions/engine.storageBuffer.js +3 -3
- package/Engines/WebGPU/Extensions/engine.textureSampler.js +2 -2
- package/Engines/WebGPU/Extensions/engine.uniformBuffer.js +2 -2
- package/Engines/WebGPU/Extensions/engine.videoTexture.js +1 -1
- package/Engines/WebGPU/Extensions/index.js +17 -17
- package/Engines/WebGPU/webgpuBufferManager.js +5 -5
- package/Engines/WebGPU/webgpuBufferManager.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheBindGroups.js +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipeline.js +3 -3
- package/Engines/WebGPU/webgpuCacheRenderPipelineString.js +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipelineTree.js +1 -1
- package/Engines/WebGPU/webgpuCacheSampler.js +2 -2
- package/Engines/WebGPU/webgpuClearQuad.js +4 -4
- package/Engines/WebGPU/webgpuComputeContext.js +3 -3
- package/Engines/WebGPU/webgpuDepthCullingState.js +1 -1
- package/Engines/WebGPU/webgpuExternalTexture.js +1 -1
- package/Engines/WebGPU/webgpuHardwareTexture.js +3 -3
- package/Engines/WebGPU/webgpuMaterialContext.js +2 -2
- package/Engines/WebGPU/webgpuOcclusionQuery.js +2 -2
- package/Engines/WebGPU/webgpuPipelineContext.js +2 -2
- package/Engines/WebGPU/webgpuQuerySet.js +1 -1
- package/Engines/WebGPU/webgpuShaderProcessor.js +2 -2
- package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js +5 -5
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +17 -17
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
- package/Engines/WebGPU/webgpuStencilStateComposer.js +1 -1
- package/Engines/WebGPU/webgpuTextureHelper.js +5 -5
- package/Engines/WebGPU/webgpuTimestampQuery.js +3 -3
- package/Engines/WebGPU/webgpuTintWASM.js +3 -3
- package/Engines/WebGPU/webgpuTintWASM.js.map +1 -1
- package/Engines/engine.js +21 -20
- package/Engines/engine.js.map +1 -1
- package/Engines/engineFactory.js +3 -3
- package/Engines/index.js +30 -30
- package/Engines/nativeEngine.d.ts +4 -12
- package/Engines/nativeEngine.js +32 -42
- package/Engines/nativeEngine.js.map +1 -1
- package/Engines/nullEngine.d.ts +25 -0
- package/Engines/nullEngine.js +62 -8
- package/Engines/nullEngine.js.map +1 -1
- package/Engines/renderTargetWrapper.js +2 -2
- package/Engines/shaderStore.js +1 -1
- package/Engines/thinEngine.js +40 -37
- package/Engines/thinEngine.js.map +1 -1
- package/Engines/webgpuEngine.js +37 -37
- package/Engines/webgpuEngine.js.map +1 -1
- package/Events/index.js +4 -4
- package/Events/pointerEvents.js +1 -1
- package/Gamepads/Controllers/daydreamController.js +4 -4
- package/Gamepads/Controllers/gearVRController.js +5 -5
- package/Gamepads/Controllers/genericController.js +3 -3
- package/Gamepads/Controllers/index.js +8 -8
- package/Gamepads/Controllers/oculusTouchController.js +5 -5
- package/Gamepads/Controllers/poseEnabledController.js +5 -5
- package/Gamepads/Controllers/viveController.js +3 -3
- package/Gamepads/Controllers/webVRController.js +2 -2
- package/Gamepads/Controllers/windowsMotionController.js +9 -9
- package/Gamepads/dualShockGamepad.js +2 -2
- package/Gamepads/gamepad.js +1 -1
- package/Gamepads/gamepadManager.js +9 -9
- package/Gamepads/gamepadManager.js.map +1 -1
- package/Gamepads/gamepadSceneComponent.js +7 -7
- package/Gamepads/index.js +6 -6
- package/Gamepads/xboxGamepad.js +2 -2
- package/Gizmos/axisDragGizmo.js +36 -22
- package/Gizmos/axisDragGizmo.js.map +1 -1
- package/Gizmos/axisScaleGizmo.js +12 -12
- package/Gizmos/axisScaleGizmo.js.map +1 -1
- package/Gizmos/boundingBoxGizmo.js +31 -32
- package/Gizmos/boundingBoxGizmo.js.map +1 -1
- package/Gizmos/cameraGizmo.js +19 -19
- package/Gizmos/cameraGizmo.js.map +1 -1
- package/Gizmos/gizmo.js +5 -5
- package/Gizmos/gizmoManager.js +11 -11
- package/Gizmos/index.js +12 -12
- package/Gizmos/lightGizmo.js +45 -23
- package/Gizmos/lightGizmo.js.map +1 -1
- package/Gizmos/planeDragGizmo.js +10 -10
- package/Gizmos/planeDragGizmo.js.map +1 -1
- package/Gizmos/planeRotationGizmo.js +24 -14
- package/Gizmos/planeRotationGizmo.js.map +1 -1
- package/Gizmos/positionGizmo.js +8 -8
- package/Gizmos/rotationGizmo.js +7 -7
- package/Gizmos/scaleGizmo.js +11 -11
- package/Gizmos/scaleGizmo.js.map +1 -1
- package/Helpers/environmentHelper.js +17 -15
- package/Helpers/environmentHelper.js.map +1 -1
- package/Helpers/index.js +4 -4
- package/Helpers/photoDome.js +2 -2
- package/Helpers/sceneHelpers.js +18 -18
- package/Helpers/sceneHelpers.js.map +1 -1
- package/Helpers/textureDome.js +11 -11
- package/Helpers/textureDome.js.map +1 -1
- package/Helpers/videoDome.js +3 -3
- package/Inputs/scene.inputManager.js +8 -8
- package/Inputs/scene.inputManager.js.map +1 -1
- package/Instrumentation/engineInstrumentation.js +1 -1
- package/Instrumentation/index.js +3 -3
- package/Instrumentation/sceneInstrumentation.js +2 -2
- package/Layers/effectLayer.js +17 -17
- package/Layers/effectLayer.js.map +1 -1
- package/Layers/effectLayerSceneComponent.js +4 -4
- package/Layers/glowLayer.js +19 -16
- package/Layers/glowLayer.js.map +1 -1
- package/Layers/highlightLayer.js +20 -20
- package/Layers/highlightLayer.js.map +1 -1
- package/Layers/index.js +6 -6
- package/Layers/layer.js +12 -12
- package/Layers/layerSceneComponent.js +1 -1
- package/Legacy/legacy.js +3 -3
- package/LensFlares/index.js +3 -3
- package/LensFlares/lensFlare.js +2 -2
- package/LensFlares/lensFlareSystem.js +14 -14
- package/LensFlares/lensFlareSystem.js.map +1 -1
- package/LensFlares/lensFlareSystemSceneComponent.js +4 -4
- package/Lights/Shadows/cascadedShadowGenerator.js +12 -12
- package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
- package/Lights/Shadows/index.js +3 -3
- package/Lights/Shadows/shadowGenerator.js +19 -19
- package/Lights/Shadows/shadowGenerator.js.map +1 -1
- package/Lights/Shadows/shadowGeneratorSceneComponent.js +4 -4
- package/Lights/directionalLight.js +5 -5
- package/Lights/hemisphericLight.js +5 -5
- package/Lights/index.js +7 -7
- package/Lights/light.js +8 -8
- package/Lights/light.js.map +1 -1
- package/Lights/pointLight.js +5 -5
- package/Lights/shadowLight.js +4 -4
- package/Lights/spotLight.js +6 -6
- package/Loading/Plugins/babylonFileLoader.js +30 -30
- package/Loading/Plugins/babylonFileLoader.js.map +1 -1
- package/Loading/Plugins/index.js +1 -1
- package/Loading/index.js +4 -4
- package/Loading/loadingScreen.js +1 -1
- package/Loading/sceneLoader.js +11 -11
- package/Loading/sceneLoader.js.map +1 -1
- package/Materials/Background/backgroundMaterial.js +17 -17
- package/Materials/Background/backgroundMaterial.js.map +1 -1
- package/Materials/Background/index.js +1 -1
- package/Materials/Node/Blocks/Dual/currentScreenBlock.js +6 -6
- package/Materials/Node/Blocks/Dual/currentScreenBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/fogBlock.js +9 -9
- package/Materials/Node/Blocks/Dual/fogBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/imageSourceBlock.js +10 -10
- package/Materials/Node/Blocks/Dual/imageSourceBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/index.js +7 -7
- package/Materials/Node/Blocks/Dual/lightBlock.js +17 -17
- package/Materials/Node/Blocks/Dual/lightBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js +10 -10
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/reflectionTextureBlock.js +7 -7
- package/Materials/Node/Blocks/Dual/reflectionTextureBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/sceneDepthBlock.js +6 -6
- package/Materials/Node/Blocks/Dual/sceneDepthBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/textureBlock.js +14 -14
- package/Materials/Node/Blocks/Dual/textureBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/derivativeBlock.js +5 -5
- package/Materials/Node/Blocks/Fragment/derivativeBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/discardBlock.js +5 -5
- package/Materials/Node/Blocks/Fragment/discardBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/fragCoordBlock.js +5 -5
- package/Materials/Node/Blocks/Fragment/fragCoordBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js +6 -6
- package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/frontFacingBlock.js +5 -5
- package/Materials/Node/Blocks/Fragment/frontFacingBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js +9 -9
- package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/index.js +8 -8
- package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js +10 -10
- package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/screenSizeBlock.js +5 -5
- package/Materials/Node/Blocks/Fragment/screenSizeBlock.js.map +1 -1
- package/Materials/Node/Blocks/Input/index.js +2 -2
- package/Materials/Node/Blocks/Input/inputBlock.js +12 -12
- package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/anisotropyBlock.js +7 -7
- package/Materials/Node/Blocks/PBR/anisotropyBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/clearCoatBlock.js +10 -10
- package/Materials/Node/Blocks/PBR/clearCoatBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/index.js +7 -7
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +21 -21
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/reflectionBlock.js +10 -10
- package/Materials/Node/Blocks/PBR/reflectionBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/refractionBlock.js +13 -13
- package/Materials/Node/Blocks/PBR/refractionBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/sheenBlock.js +8 -8
- package/Materials/Node/Blocks/PBR/sheenBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/subSurfaceBlock.js +9 -9
- package/Materials/Node/Blocks/PBR/subSurfaceBlock.js.map +1 -1
- package/Materials/Node/Blocks/Particle/index.js +3 -3
- package/Materials/Node/Blocks/Particle/particleBlendMultiplyBlock.js +5 -5
- package/Materials/Node/Blocks/Particle/particleBlendMultiplyBlock.js.map +1 -1
- package/Materials/Node/Blocks/Particle/particleRampGradientBlock.js +5 -5
- package/Materials/Node/Blocks/Particle/particleRampGradientBlock.js.map +1 -1
- package/Materials/Node/Blocks/Particle/particleTextureBlock.js +7 -7
- package/Materials/Node/Blocks/Particle/particleTextureBlock.js.map +1 -1
- package/Materials/Node/Blocks/Vertex/bonesBlock.js +10 -10
- package/Materials/Node/Blocks/Vertex/bonesBlock.js.map +1 -1
- package/Materials/Node/Blocks/Vertex/index.js +5 -5
- package/Materials/Node/Blocks/Vertex/instancesBlock.js +7 -7
- package/Materials/Node/Blocks/Vertex/instancesBlock.js.map +1 -1
- package/Materials/Node/Blocks/Vertex/lightInformationBlock.js +6 -6
- package/Materials/Node/Blocks/Vertex/lightInformationBlock.js.map +1 -1
- package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js +10 -10
- package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js.map +1 -1
- package/Materials/Node/Blocks/Vertex/vertexOutputBlock.js +5 -5
- package/Materials/Node/Blocks/Vertex/vertexOutputBlock.js.map +1 -1
- package/Materials/Node/Blocks/addBlock.js +5 -5
- package/Materials/Node/Blocks/addBlock.js.map +1 -1
- package/Materials/Node/Blocks/arcTan2Block.js +5 -5
- package/Materials/Node/Blocks/arcTan2Block.js.map +1 -1
- package/Materials/Node/Blocks/clampBlock.js +6 -6
- package/Materials/Node/Blocks/clampBlock.js.map +1 -1
- package/Materials/Node/Blocks/colorMergerBlock.js +5 -5
- package/Materials/Node/Blocks/colorMergerBlock.js.map +1 -1
- package/Materials/Node/Blocks/colorSplitterBlock.js +5 -5
- package/Materials/Node/Blocks/colorSplitterBlock.js.map +1 -1
- package/Materials/Node/Blocks/conditionalBlock.js +5 -5
- package/Materials/Node/Blocks/conditionalBlock.js.map +1 -1
- package/Materials/Node/Blocks/crossBlock.js +5 -5
- package/Materials/Node/Blocks/crossBlock.js.map +1 -1
- package/Materials/Node/Blocks/desaturateBlock.js +5 -5
- package/Materials/Node/Blocks/desaturateBlock.js.map +1 -1
- package/Materials/Node/Blocks/distanceBlock.js +5 -5
- package/Materials/Node/Blocks/distanceBlock.js.map +1 -1
- package/Materials/Node/Blocks/divideBlock.js +5 -5
- package/Materials/Node/Blocks/divideBlock.js.map +1 -1
- package/Materials/Node/Blocks/dotBlock.js +5 -5
- package/Materials/Node/Blocks/dotBlock.js.map +1 -1
- package/Materials/Node/Blocks/fresnelBlock.js +8 -8
- package/Materials/Node/Blocks/fresnelBlock.js.map +1 -1
- package/Materials/Node/Blocks/gradientBlock.js +7 -7
- package/Materials/Node/Blocks/gradientBlock.js.map +1 -1
- package/Materials/Node/Blocks/index.js +52 -52
- package/Materials/Node/Blocks/lengthBlock.js +5 -5
- package/Materials/Node/Blocks/lengthBlock.js.map +1 -1
- package/Materials/Node/Blocks/lerpBlock.js +5 -5
- package/Materials/Node/Blocks/lerpBlock.js.map +1 -1
- package/Materials/Node/Blocks/matrixBuilderBlock.js +7 -7
- package/Materials/Node/Blocks/matrixBuilderBlock.js.map +1 -1
- package/Materials/Node/Blocks/maxBlock.js +5 -5
- package/Materials/Node/Blocks/maxBlock.js.map +1 -1
- package/Materials/Node/Blocks/minBlock.js +5 -5
- package/Materials/Node/Blocks/minBlock.js.map +1 -1
- package/Materials/Node/Blocks/modBlock.js +5 -5
- package/Materials/Node/Blocks/modBlock.js.map +1 -1
- package/Materials/Node/Blocks/multiplyBlock.js +5 -5
- package/Materials/Node/Blocks/multiplyBlock.js.map +1 -1
- package/Materials/Node/Blocks/nLerpBlock.js +5 -5
- package/Materials/Node/Blocks/nLerpBlock.js.map +1 -1
- package/Materials/Node/Blocks/negateBlock.js +5 -5
- package/Materials/Node/Blocks/negateBlock.js.map +1 -1
- package/Materials/Node/Blocks/normalBlendBlock.js +5 -5
- package/Materials/Node/Blocks/normalBlendBlock.js.map +1 -1
- package/Materials/Node/Blocks/normalizeBlock.js +5 -5
- package/Materials/Node/Blocks/normalizeBlock.js.map +1 -1
- package/Materials/Node/Blocks/oneMinusBlock.js +6 -6
- package/Materials/Node/Blocks/oneMinusBlock.js.map +1 -1
- package/Materials/Node/Blocks/posterizeBlock.js +5 -5
- package/Materials/Node/Blocks/posterizeBlock.js.map +1 -1
- package/Materials/Node/Blocks/powBlock.js +5 -5
- package/Materials/Node/Blocks/powBlock.js.map +1 -1
- package/Materials/Node/Blocks/randomNumberBlock.js +6 -6
- package/Materials/Node/Blocks/randomNumberBlock.js.map +1 -1
- package/Materials/Node/Blocks/reciprocalBlock.js +5 -5
- package/Materials/Node/Blocks/reciprocalBlock.js.map +1 -1
- package/Materials/Node/Blocks/reflectBlock.js +5 -5
- package/Materials/Node/Blocks/reflectBlock.js.map +1 -1
- package/Materials/Node/Blocks/refractBlock.js +5 -5
- package/Materials/Node/Blocks/refractBlock.js.map +1 -1
- package/Materials/Node/Blocks/remapBlock.js +7 -7
- package/Materials/Node/Blocks/remapBlock.js.map +1 -1
- package/Materials/Node/Blocks/replaceColorBlock.js +5 -5
- package/Materials/Node/Blocks/replaceColorBlock.js.map +1 -1
- package/Materials/Node/Blocks/rotate2dBlock.js +6 -6
- package/Materials/Node/Blocks/rotate2dBlock.js.map +1 -1
- package/Materials/Node/Blocks/scaleBlock.js +5 -5
- package/Materials/Node/Blocks/scaleBlock.js.map +1 -1
- package/Materials/Node/Blocks/simplexPerlin3DBlock.js +5 -5
- package/Materials/Node/Blocks/simplexPerlin3DBlock.js.map +1 -1
- package/Materials/Node/Blocks/smoothStepBlock.js +5 -5
- package/Materials/Node/Blocks/smoothStepBlock.js.map +1 -1
- package/Materials/Node/Blocks/stepBlock.js +5 -5
- package/Materials/Node/Blocks/stepBlock.js.map +1 -1
- package/Materials/Node/Blocks/subtractBlock.js +5 -5
- package/Materials/Node/Blocks/subtractBlock.js.map +1 -1
- package/Materials/Node/Blocks/transformBlock.js +5 -5
- package/Materials/Node/Blocks/transformBlock.js.map +1 -1
- package/Materials/Node/Blocks/trigonometryBlock.js +5 -5
- package/Materials/Node/Blocks/trigonometryBlock.js.map +1 -1
- package/Materials/Node/Blocks/vectorMergerBlock.js +5 -5
- package/Materials/Node/Blocks/vectorMergerBlock.js.map +1 -1
- package/Materials/Node/Blocks/vectorSplitterBlock.js +5 -5
- package/Materials/Node/Blocks/vectorSplitterBlock.js.map +1 -1
- package/Materials/Node/Blocks/viewDirectionBlock.js +7 -7
- package/Materials/Node/Blocks/viewDirectionBlock.js.map +1 -1
- package/Materials/Node/Blocks/waveBlock.js +5 -5
- package/Materials/Node/Blocks/waveBlock.js.map +1 -1
- package/Materials/Node/Blocks/worleyNoise3DBlock.js +6 -6
- package/Materials/Node/Blocks/worleyNoise3DBlock.js.map +1 -1
- package/Materials/Node/Enums/index.js +5 -5
- package/Materials/Node/Optimizers/index.js +1 -1
- package/Materials/Node/index.js +7 -7
- package/Materials/Node/nodeMaterial.js +40 -40
- package/Materials/Node/nodeMaterial.js.map +1 -1
- package/Materials/Node/nodeMaterialBlock.js +6 -6
- package/Materials/Node/nodeMaterialBlock.js.map +1 -1
- package/Materials/Node/nodeMaterialBlockConnectionPoint.js +3 -3
- package/Materials/Node/nodeMaterialBuildState.js +6 -6
- package/Materials/Node/nodeMaterialBuildState.js.map +1 -1
- package/Materials/Node/nodeMaterialConnectionPointCustomObject.js +1 -1
- package/Materials/Occlusion/index.js +1 -1
- package/Materials/Occlusion/occlusionMaterial.js +4 -4
- package/Materials/PBR/index.js +5 -5
- package/Materials/PBR/pbrAnisotropicConfiguration.js +11 -5
- package/Materials/PBR/pbrAnisotropicConfiguration.js.map +1 -1
- package/Materials/PBR/pbrBRDFConfiguration.js +1 -1
- package/Materials/PBR/pbrBaseMaterial.js +28 -28
- package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
- package/Materials/PBR/pbrBaseSimpleMaterial.js +3 -3
- package/Materials/PBR/pbrClearCoatConfiguration.js +10 -4
- package/Materials/PBR/pbrClearCoatConfiguration.js.map +1 -1
- package/Materials/PBR/pbrMaterial.js +7 -7
- package/Materials/PBR/pbrMaterial.js.map +1 -1
- package/Materials/PBR/pbrMetallicRoughnessMaterial.js +4 -4
- package/Materials/PBR/pbrMetallicRoughnessMaterial.js.map +1 -1
- package/Materials/PBR/pbrSheenConfiguration.js +10 -4
- package/Materials/PBR/pbrSheenConfiguration.js.map +1 -1
- package/Materials/PBR/pbrSpecularGlossinessMaterial.js +4 -4
- package/Materials/PBR/pbrSpecularGlossinessMaterial.js.map +1 -1
- package/Materials/PBR/pbrSubSurfaceConfiguration.js +19 -6
- package/Materials/PBR/pbrSubSurfaceConfiguration.js.map +1 -1
- package/Materials/Textures/Filtering/hdrFiltering.js +6 -6
- package/Materials/Textures/Loaders/basisTextureLoader.js +9 -9
- package/Materials/Textures/Loaders/basisTextureLoader.js.map +1 -1
- package/Materials/Textures/Loaders/ddsTextureLoader.js +5 -5
- package/Materials/Textures/Loaders/ddsTextureLoader.js.map +1 -1
- package/Materials/Textures/Loaders/envTextureLoader.js +7 -7
- package/Materials/Textures/Loaders/envTextureLoader.js.map +1 -1
- package/Materials/Textures/Loaders/hdrTextureLoader.js +4 -4
- package/Materials/Textures/Loaders/hdrTextureLoader.js.map +1 -1
- package/Materials/Textures/Loaders/index.js +6 -6
- package/Materials/Textures/Loaders/ktxTextureLoader.js +6 -6
- package/Materials/Textures/Loaders/ktxTextureLoader.js.map +1 -1
- package/Materials/Textures/Loaders/tgaTextureLoader.js +6 -6
- package/Materials/Textures/Loaders/tgaTextureLoader.js.map +1 -1
- package/Materials/Textures/MultiviewRenderTarget.js +1 -1
- package/Materials/Textures/Packer/index.js +2 -2
- package/Materials/Textures/Packer/packer.js +9 -9
- package/Materials/Textures/Procedurals/customProceduralTexture.js +6 -6
- package/Materials/Textures/Procedurals/index.js +4 -4
- package/Materials/Textures/Procedurals/noiseProceduralTexture.js +5 -5
- package/Materials/Textures/Procedurals/noiseProceduralTexture.js.map +1 -1
- package/Materials/Textures/Procedurals/proceduralTexture.js +15 -15
- package/Materials/Textures/Procedurals/proceduralTexture.js.map +1 -1
- package/Materials/Textures/Procedurals/proceduralTextureSceneComponent.js +2 -2
- package/Materials/Textures/baseTexture.js +8 -8
- package/Materials/Textures/baseTexture.js.map +1 -1
- package/Materials/Textures/baseTexture.polynomial.js +2 -2
- package/Materials/Textures/colorGradingTexture.js +5 -5
- package/Materials/Textures/colorGradingTexture.js.map +1 -1
- package/Materials/Textures/cubeTexture.js +12 -12
- package/Materials/Textures/cubeTexture.js.map +1 -1
- package/Materials/Textures/dynamicTexture.js +3 -3
- package/Materials/Textures/equiRectangularCubeTexture.js +10 -12
- package/Materials/Textures/equiRectangularCubeTexture.js.map +1 -1
- package/Materials/Textures/externalTexture.js +1 -1
- package/Materials/Textures/hdrCubeTexture.js +16 -16
- package/Materials/Textures/hdrCubeTexture.js.map +1 -1
- package/Materials/Textures/htmlElementTexture.js +4 -4
- package/Materials/Textures/index.js +27 -27
- package/Materials/Textures/internalTexture.d.ts +15 -2
- package/Materials/Textures/internalTexture.js +29 -13
- package/Materials/Textures/internalTexture.js.map +1 -1
- package/Materials/Textures/mirrorTexture.js +5 -5
- package/Materials/Textures/multiRenderTarget.js +3 -3
- package/Materials/Textures/prePassRenderTarget.js +2 -2
- package/Materials/Textures/rawCubeTexture.d.ts +0 -3
- package/Materials/Textures/rawCubeTexture.js +6 -17
- package/Materials/Textures/rawCubeTexture.js.map +1 -1
- package/Materials/Textures/rawTexture.js +2 -2
- package/Materials/Textures/rawTexture2DArray.js +2 -2
- package/Materials/Textures/rawTexture3D.js +2 -2
- package/Materials/Textures/refractionTexture.js +2 -2
- package/Materials/Textures/renderTargetTexture.js +9 -9
- package/Materials/Textures/texture.js +30 -25
- package/Materials/Textures/texture.js.map +1 -1
- package/Materials/Textures/thinTexture.js +1 -1
- package/Materials/Textures/videoTexture.js +6 -6
- package/Materials/colorCurves.js +2 -2
- package/Materials/effect.js +8 -8
- package/Materials/effect.js.map +1 -1
- package/Materials/effectRenderer.js +6 -6
- package/Materials/fresnelParameters.js +4 -4
- package/Materials/imageProcessingConfiguration.js +6 -6
- package/Materials/index.js +25 -25
- package/Materials/material.detailMapConfiguration.js +7 -4
- package/Materials/material.detailMapConfiguration.js.map +1 -1
- package/Materials/material.js +11 -11
- package/Materials/materialFlags.js +1 -1
- package/Materials/materialHelper.js +7 -7
- package/Materials/materialStencilState.js +1 -1
- package/Materials/multiMaterial.js +4 -4
- package/Materials/multiMaterial.js.map +1 -1
- package/Materials/prePassConfiguration.d.ts +1 -0
- package/Materials/prePassConfiguration.js +8 -2
- package/Materials/prePassConfiguration.js.map +1 -1
- package/Materials/pushMaterial.js +2 -2
- package/Materials/shaderMaterial.d.ts +0 -2
- package/Materials/shaderMaterial.js +12 -30
- package/Materials/shaderMaterial.js.map +1 -1
- package/Materials/shadowDepthWrapper.js +6 -5
- package/Materials/shadowDepthWrapper.js.map +1 -1
- package/Materials/standardMaterial.js +20 -20
- package/Materials/standardMaterial.js.map +1 -1
- package/Materials/uniformBuffer.js +3 -3
- package/Maths/index.js +4 -4
- package/Maths/math.axis.js +1 -1
- package/Maths/math.color.js +6 -6
- package/Maths/math.color.js.map +1 -1
- package/Maths/math.frustum.js +1 -1
- package/Maths/math.functions.js +2 -2
- package/Maths/math.isovector.js +2 -2
- package/Maths/math.js +10 -10
- package/Maths/math.path.js +3 -3
- package/Maths/math.plane.js +1 -1
- package/Maths/math.vector.js +9 -9
- package/Maths/math.vector.js.map +1 -1
- package/Maths/math.vertexFormat.js +1 -1
- package/Maths/sphericalPolynomial.js +2 -2
- package/Meshes/Builders/boxBuilder.d.ts +63 -32
- package/Meshes/Builders/boxBuilder.js +53 -39
- package/Meshes/Builders/boxBuilder.js.map +1 -1
- package/Meshes/Builders/capsuleBuilder.d.ts +20 -10
- package/Meshes/Builders/capsuleBuilder.js +36 -37
- package/Meshes/Builders/capsuleBuilder.js.map +1 -1
- package/Meshes/Builders/cylinderBuilder.d.ts +87 -48
- package/Meshes/Builders/cylinderBuilder.js +71 -53
- package/Meshes/Builders/cylinderBuilder.js.map +1 -1
- package/Meshes/Builders/decalBuilder.d.ts +26 -24
- package/Meshes/Builders/decalBuilder.js +211 -213
- package/Meshes/Builders/decalBuilder.js.map +1 -1
- package/Meshes/Builders/discBuilder.d.ts +27 -25
- package/Meshes/Builders/discBuilder.js +46 -36
- package/Meshes/Builders/discBuilder.js.map +1 -1
- package/Meshes/Builders/geodesicBuilder.d.ts +34 -39
- package/Meshes/Builders/geodesicBuilder.js +58 -67
- package/Meshes/Builders/geodesicBuilder.js.map +1 -1
- package/Meshes/Builders/goldbergBuilder.d.ts +56 -29
- package/Meshes/Builders/goldbergBuilder.js +97 -84
- package/Meshes/Builders/goldbergBuilder.js.map +1 -1
- package/Meshes/Builders/groundBuilder.d.ts +151 -79
- package/Meshes/Builders/groundBuilder.js +174 -137
- package/Meshes/Builders/groundBuilder.js.map +1 -1
- package/Meshes/Builders/hemisphereBuilder.d.ts +16 -14
- package/Meshes/Builders/hemisphereBuilder.js +33 -34
- package/Meshes/Builders/hemisphereBuilder.js.map +1 -1
- package/Meshes/Builders/icoSphereBuilder.d.ts +57 -29
- package/Meshes/Builders/icoSphereBuilder.js +51 -38
- package/Meshes/Builders/icoSphereBuilder.js.map +1 -1
- package/Meshes/Builders/index.js +23 -23
- package/Meshes/Builders/latheBuilder.d.ts +38 -36
- package/Meshes/Builders/latheBuilder.js +70 -72
- package/Meshes/Builders/latheBuilder.js.map +1 -1
- package/Meshes/Builders/linesBuilder.d.ts +113 -82
- package/Meshes/Builders/linesBuilder.js +202 -184
- package/Meshes/Builders/linesBuilder.js.map +1 -1
- package/Meshes/Builders/planeBuilder.d.ts +48 -26
- package/Meshes/Builders/planeBuilder.js +50 -40
- package/Meshes/Builders/planeBuilder.js.map +1 -1
- package/Meshes/Builders/polygonBuilder.d.ts +68 -51
- package/Meshes/Builders/polygonBuilder.js +91 -79
- package/Meshes/Builders/polygonBuilder.js.map +1 -1
- package/Meshes/Builders/polyhedronBuilder.d.ts +73 -36
- package/Meshes/Builders/polyhedronBuilder.js +63 -43
- package/Meshes/Builders/polyhedronBuilder.js.map +1 -1
- package/Meshes/Builders/ribbonBuilder.d.ts +69 -39
- package/Meshes/Builders/ribbonBuilder.js +166 -152
- package/Meshes/Builders/ribbonBuilder.js.map +1 -1
- package/Meshes/Builders/shapeBuilder.d.ts +83 -81
- package/Meshes/Builders/shapeBuilder.js +185 -186
- package/Meshes/Builders/shapeBuilder.js.map +1 -1
- package/Meshes/Builders/sphereBuilder.d.ts +62 -31
- package/Meshes/Builders/sphereBuilder.js +53 -39
- package/Meshes/Builders/sphereBuilder.js.map +1 -1
- package/Meshes/Builders/tiledBoxBuilder.d.ts +56 -29
- package/Meshes/Builders/tiledBoxBuilder.js +45 -36
- package/Meshes/Builders/tiledBoxBuilder.js.map +1 -1
- package/Meshes/Builders/tiledPlaneBuilder.d.ts +67 -38
- package/Meshes/Builders/tiledPlaneBuilder.js +51 -40
- package/Meshes/Builders/tiledPlaneBuilder.js.map +1 -1
- package/Meshes/Builders/torusBuilder.d.ts +47 -25
- package/Meshes/Builders/torusBuilder.js +46 -36
- package/Meshes/Builders/torusBuilder.js.map +1 -1
- package/Meshes/Builders/torusKnotBuilder.d.ts +57 -29
- package/Meshes/Builders/torusKnotBuilder.js +51 -37
- package/Meshes/Builders/torusKnotBuilder.js.map +1 -1
- package/Meshes/Builders/tubeBuilder.d.ts +42 -40
- package/Meshes/Builders/tubeBuilder.js +140 -142
- package/Meshes/Builders/tubeBuilder.js.map +1 -1
- package/Meshes/Compression/dracoCompression.js +3 -3
- package/Meshes/Compression/index.js +2 -2
- package/Meshes/Compression/meshoptCompression.js +1 -1
- package/Meshes/WebGL/webGLDataBuffer.js +1 -1
- package/Meshes/WebGPU/webgpuDataBuffer.js +1 -1
- package/Meshes/abstractMesh.js +20 -20
- package/Meshes/abstractMesh.js.map +1 -1
- package/Meshes/csg.js +5 -5
- package/Meshes/geodesicMesh.js +4 -4
- package/Meshes/geometry.js +13 -17
- package/Meshes/geometry.js.map +1 -1
- package/Meshes/groundMesh.js +3 -3
- package/Meshes/index.d.ts +1 -0
- package/Meshes/index.js +25 -24
- package/Meshes/index.js.map +1 -1
- package/Meshes/instancedMesh.js +8 -8
- package/Meshes/linesMesh.js +9 -9
- package/Meshes/mesh.d.ts +2 -383
- package/Meshes/mesh.js +32 -439
- package/Meshes/mesh.js.map +1 -1
- package/Meshes/mesh.lts.d.ts +417 -0
- package/Meshes/mesh.lts.js +25 -0
- package/Meshes/mesh.lts.js.map +1 -0
- package/Meshes/mesh.vertexData.d.ts +21 -64
- package/Meshes/mesh.vertexData.js +46 -71
- package/Meshes/mesh.vertexData.js.map +1 -1
- package/Meshes/meshBuilder.d.ts +52 -799
- package/Meshes/meshBuilder.js +52 -609
- package/Meshes/meshBuilder.js.map +1 -1
- package/Meshes/meshSimplification.js +6 -6
- package/Meshes/meshSimplificationSceneComponent.js +4 -4
- package/Meshes/polygonMesh.js +8 -8
- package/Meshes/subMesh.js +5 -5
- package/Meshes/subMesh.project.js +2 -2
- package/Meshes/thinInstanceMesh.js +3 -3
- package/Meshes/trailMesh.js +5 -5
- package/Meshes/transformNode.js +5 -5
- package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.js +5 -5
- package/Misc/HighDynamicRange/hdr.js +1 -1
- package/Misc/HighDynamicRange/index.js +3 -3
- package/Misc/HighDynamicRange/panoramaToCubemap.js +1 -1
- package/Misc/PerformanceViewer/index.js +4 -4
- package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.js +2 -2
- package/Misc/PerformanceViewer/performanceViewerCollector.js +4 -4
- package/Misc/PerformanceViewer/performanceViewerSceneExtension.js +2 -2
- package/Misc/assetsManager.js +8 -8
- package/Misc/basis.d.ts +40 -12
- package/Misc/basis.js +172 -145
- package/Misc/basis.js.map +1 -1
- package/Misc/brdfTextureTools.d.ts +9 -8
- package/Misc/brdfTextureTools.js +49 -50
- package/Misc/brdfTextureTools.js.map +1 -1
- package/Misc/codeStringParsingTools.d.ts +40 -45
- package/Misc/codeStringParsingTools.js +154 -163
- package/Misc/codeStringParsingTools.js.map +1 -1
- package/Misc/computePressure.js +2 -2
- package/Misc/computePressure.js.map +1 -1
- package/Misc/copyTools.d.ts +30 -5
- package/Misc/copyTools.js +108 -87
- package/Misc/copyTools.js.map +1 -1
- package/Misc/dataReader.js +2 -2
- package/Misc/dataReader.js.map +1 -1
- package/Misc/dds.js +23 -23
- package/Misc/dds.js.map +1 -1
- package/Misc/decorators.js +8 -8
- package/Misc/decorators.js.map +1 -1
- package/Misc/deepCopier.js +3 -3
- package/Misc/deepCopier.js.map +1 -1
- package/Misc/depthReducer.js +2 -2
- package/Misc/devTools.d.ts +1 -3
- package/Misc/devTools.js +3 -9
- package/Misc/devTools.js.map +1 -1
- package/Misc/domManagement.d.ts +27 -6
- package/Misc/domManagement.js +43 -26
- package/Misc/domManagement.js.map +1 -1
- package/Misc/environmentTextureTools.d.ts +61 -28
- package/Misc/environmentTextureTools.js +550 -503
- package/Misc/environmentTextureTools.js.map +1 -1
- package/Misc/fileTools.d.ts +91 -101
- package/Misc/fileTools.js +414 -396
- package/Misc/fileTools.js.map +1 -1
- package/Misc/fileTools.lts.d.ts +9 -0
- package/Misc/fileTools.lts.js +64 -0
- package/Misc/fileTools.lts.js.map +1 -0
- package/Misc/filesInput.d.ts +1 -1
- package/Misc/filesInput.js +4 -4
- package/Misc/filesInput.js.map +1 -1
- package/Misc/gradients.js +1 -1
- package/Misc/guid.d.ts +10 -3
- package/Misc/guid.js +15 -12
- package/Misc/guid.js.map +1 -1
- package/Misc/index.d.ts +1 -0
- package/Misc/index.js +61 -60
- package/Misc/index.js.map +1 -1
- package/Misc/instantiationTools.js +3 -3
- package/Misc/instantiationTools.js.map +1 -1
- package/Misc/khronosTextureContainer.js +1 -1
- package/Misc/khronosTextureContainer2.js +2 -2
- package/Misc/meshExploder.js +1 -1
- package/Misc/minMaxReducer.js +4 -4
- package/Misc/observable.d.ts +7 -0
- package/Misc/observable.js +22 -0
- package/Misc/observable.js.map +1 -1
- package/Misc/observableCoroutine.js +1 -1
- package/Misc/perfCounter.js +1 -1
- package/Misc/performanceMonitor.js +1 -1
- package/Misc/pivotTools.js +1 -1
- package/Misc/precisionDate.js +1 -1
- package/Misc/reflector.js +4 -4
- package/Misc/reflector.js.map +1 -1
- package/Misc/rgbdTextureTools.js +5 -5
- package/Misc/rgbdTextureTools.js.map +1 -1
- package/Misc/sceneOptimizer.js +3 -3
- package/Misc/sceneRecorder.js +14 -14
- package/Misc/sceneSerializer.js +4 -4
- package/Misc/screenshotTools.d.ts +96 -12
- package/Misc/screenshotTools.js +302 -207
- package/Misc/screenshotTools.js.map +1 -1
- package/Misc/stringTools.d.ts +54 -47
- package/Misc/stringTools.js +108 -105
- package/Misc/stringTools.js.map +1 -1
- package/Misc/tags.js +1 -1
- package/Misc/textureTools.d.ts +38 -8
- package/Misc/textureTools.js +169 -138
- package/Misc/textureTools.js.map +1 -1
- package/Misc/tga.d.ts +34 -22
- package/Misc/tga.js +279 -260
- package/Misc/tga.js.map +1 -1
- package/Misc/timer.js +1 -1
- package/Misc/timingTools.js +2 -2
- package/Misc/timingTools.js.map +1 -1
- package/Misc/tools.d.ts +5 -5
- package/Misc/tools.js +42 -42
- package/Misc/tools.js.map +1 -1
- package/Misc/trajectoryClassifier.js +1 -1
- package/Misc/typeStore.d.ts +3 -8
- package/Misc/typeStore.js +9 -15
- package/Misc/typeStore.js.map +1 -1
- package/Misc/videoRecorder.js +1 -1
- package/Misc/virtualJoystick.js +2 -2
- package/Morph/index.js +2 -2
- package/Morph/morphTarget.js +6 -6
- package/Morph/morphTarget.js.map +1 -1
- package/Morph/morphTargetManager.d.ts +1 -1
- package/Morph/morphTargetManager.js +11 -10
- package/Morph/morphTargetManager.js.map +1 -1
- package/Navigation/Plugins/index.js +1 -1
- package/Navigation/Plugins/recastJSPlugin.js +6 -6
- package/Navigation/index.js +2 -2
- package/Offline/database.js +6 -6
- package/Offline/database.js.map +1 -1
- package/Offline/index.js +2 -2
- package/Particles/EmitterTypes/boxParticleEmitter.js +3 -3
- package/Particles/EmitterTypes/coneParticleEmitter.js +3 -3
- package/Particles/EmitterTypes/customParticleEmitter.js +2 -2
- package/Particles/EmitterTypes/cylinderParticleEmitter.js +3 -3
- package/Particles/EmitterTypes/hemisphericParticleEmitter.js +3 -3
- package/Particles/EmitterTypes/index.js +9 -9
- package/Particles/EmitterTypes/meshParticleEmitter.js +4 -4
- package/Particles/EmitterTypes/pointParticleEmitter.js +3 -3
- package/Particles/EmitterTypes/sphereParticleEmitter.js +3 -3
- package/Particles/baseParticleSystem.js +5 -5
- package/Particles/cloudPoint.js +1 -1
- package/Particles/computeShaderParticleSystem.js +7 -7
- package/Particles/computeShaderParticleSystem.js.map +1 -1
- package/Particles/gpuParticleSystem.js +24 -24
- package/Particles/gpuParticleSystem.js.map +1 -1
- package/Particles/index.js +17 -17
- package/Particles/particle.js +3 -3
- package/Particles/particleHelper.js +8 -8
- package/Particles/particleSystem.js +26 -26
- package/Particles/particleSystem.js.map +1 -1
- package/Particles/particleSystemComponent.js +7 -7
- package/Particles/particleSystemSet.js +7 -7
- package/Particles/particleSystemSet.js.map +1 -1
- package/Particles/pointsCloudSystem.js +12 -12
- package/Particles/solidParticle.js +5 -5
- package/Particles/solidParticleSystem.js +15 -15
- package/Particles/solidParticleSystem.js.map +1 -1
- package/Particles/subEmitter.d.ts +2 -1
- package/Particles/subEmitter.js +10 -8
- package/Particles/subEmitter.js.map +1 -1
- package/Particles/webgl2ParticleSystem.js +7 -7
- package/Particles/webgl2ParticleSystem.js.map +1 -1
- package/Physics/Plugins/ammoJSPlugin.js +35 -27
- package/Physics/Plugins/ammoJSPlugin.js.map +1 -1
- package/Physics/Plugins/cannonJSPlugin.js +7 -7
- package/Physics/Plugins/index.js +3 -3
- package/Physics/Plugins/oimoJSPlugin.js +6 -6
- package/Physics/index.js +7 -7
- package/Physics/physicsEngine.js +3 -3
- package/Physics/physicsEngine.js.map +1 -1
- package/Physics/physicsEngineComponent.js +7 -7
- package/Physics/physicsHelper.js +8 -8
- package/Physics/physicsHelper.js.map +1 -1
- package/Physics/physicsImpostor.js +7 -7
- package/Physics/physicsRaycastResult.js +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js +18 -18
- package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/index.js +5 -5
- package/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline.js +9 -9
- package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js +17 -17
- package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js +12 -12
- package/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.js +16 -16
- package/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/index.js +5 -5
- package/PostProcesses/RenderPipeline/postProcessRenderEffect.js +1 -1
- package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js +2 -2
- package/PostProcesses/RenderPipeline/postProcessRenderPipelineManagerSceneComponent.js +3 -3
- package/PostProcesses/anaglyphPostProcess.js +4 -4
- package/PostProcesses/anaglyphPostProcess.js.map +1 -1
- package/PostProcesses/blackAndWhitePostProcess.js +5 -5
- package/PostProcesses/blackAndWhitePostProcess.js.map +1 -1
- package/PostProcesses/bloomEffect.js +6 -6
- package/PostProcesses/bloomMergePostProcess.js +5 -5
- package/PostProcesses/bloomMergePostProcess.js.map +1 -1
- package/PostProcesses/blurPostProcess.js +7 -7
- package/PostProcesses/blurPostProcess.js.map +1 -1
- package/PostProcesses/chromaticAberrationPostProcess.js +6 -6
- package/PostProcesses/chromaticAberrationPostProcess.js.map +1 -1
- package/PostProcesses/circleOfConfusionPostProcess.js +6 -6
- package/PostProcesses/circleOfConfusionPostProcess.js.map +1 -1
- package/PostProcesses/colorCorrectionPostProcess.js +6 -6
- package/PostProcesses/colorCorrectionPostProcess.js.map +1 -1
- package/PostProcesses/convolutionPostProcess.js +5 -5
- package/PostProcesses/convolutionPostProcess.js.map +1 -1
- package/PostProcesses/depthOfFieldBlurPostProcess.js +5 -5
- package/PostProcesses/depthOfFieldBlurPostProcess.js.map +1 -1
- package/PostProcesses/depthOfFieldEffect.js +6 -6
- package/PostProcesses/depthOfFieldMergePostProcess.js +2 -2
- package/PostProcesses/displayPassPostProcess.js +5 -5
- package/PostProcesses/displayPassPostProcess.js.map +1 -1
- package/PostProcesses/extractHighlightsPostProcess.js +6 -6
- package/PostProcesses/extractHighlightsPostProcess.js.map +1 -1
- package/PostProcesses/filterPostProcess.js +5 -5
- package/PostProcesses/filterPostProcess.js.map +1 -1
- package/PostProcesses/fxaaPostProcess.js +7 -7
- package/PostProcesses/fxaaPostProcess.js.map +1 -1
- package/PostProcesses/grainPostProcess.js +5 -5
- package/PostProcesses/grainPostProcess.js.map +1 -1
- package/PostProcesses/highlightsPostProcess.js +2 -2
- package/PostProcesses/imageProcessingPostProcess.js +6 -6
- package/PostProcesses/index.js +33 -33
- package/PostProcesses/motionBlurPostProcess.js +11 -11
- package/PostProcesses/motionBlurPostProcess.js.map +1 -1
- package/PostProcesses/passPostProcess.js +7 -7
- package/PostProcesses/passPostProcess.js.map +1 -1
- package/PostProcesses/postProcess.js +11 -11
- package/PostProcesses/postProcess.js.map +1 -1
- package/PostProcesses/postProcessManager.js +1 -1
- package/PostProcesses/refractionPostProcess.js +6 -6
- package/PostProcesses/refractionPostProcess.js.map +1 -1
- package/PostProcesses/screenSpaceCurvaturePostProcess.js +8 -8
- package/PostProcesses/screenSpaceCurvaturePostProcess.js.map +1 -1
- package/PostProcesses/screenSpaceReflectionPostProcess.js +7 -7
- package/PostProcesses/screenSpaceReflectionPostProcess.js.map +1 -1
- package/PostProcesses/sharpenPostProcess.js +5 -5
- package/PostProcesses/sharpenPostProcess.js.map +1 -1
- package/PostProcesses/stereoscopicInterlacePostProcess.js +3 -3
- package/PostProcesses/subSurfaceScatteringPostProcess.js +6 -6
- package/PostProcesses/tonemapPostProcess.js +2 -2
- package/PostProcesses/volumetricLightScatteringPostProcess.js +23 -23
- package/PostProcesses/volumetricLightScatteringPostProcess.js.map +1 -1
- package/PostProcesses/vrDistortionCorrectionPostProcess.js +4 -4
- package/PostProcesses/vrMultiviewToSingleviewPostProcess.js +4 -4
- package/Probes/index.js +1 -1
- package/Probes/reflectionProbe.js +4 -4
- package/Rendering/boundingBoxRenderer.js +15 -15
- package/Rendering/boundingBoxRenderer.js.map +1 -1
- package/Rendering/depthRenderer.js +11 -11
- package/Rendering/depthRenderer.js.map +1 -1
- package/Rendering/depthRendererSceneComponent.js +3 -3
- package/Rendering/edgesRenderer.js +11 -11
- package/Rendering/geometryBufferRenderer.js +13 -13
- package/Rendering/geometryBufferRenderer.js.map +1 -1
- package/Rendering/geometryBufferRendererSceneComponent.js +3 -3
- package/Rendering/index.js +13 -13
- package/Rendering/motionBlurConfiguration.js.map +1 -1
- package/Rendering/outlineRenderer.js +8 -8
- package/Rendering/prePassRenderer.js +6 -6
- package/Rendering/prePassRenderer.js.map +1 -1
- package/Rendering/prePassRendererSceneComponent.js +4 -4
- package/Rendering/renderingGroup.js +2 -2
- package/Rendering/renderingManager.js +1 -1
- package/Rendering/screenSpaceReflectionsConfiguration.js.map +1 -1
- package/Rendering/ssao2Configuration.js.map +1 -1
- package/Rendering/subSurfaceConfiguration.js +6 -6
- package/Rendering/subSurfaceConfiguration.js.map +1 -1
- package/Rendering/subSurfaceSceneComponent.js +5 -5
- package/Rendering/utilityLayerRenderer.js +8 -8
- package/Shaders/ShadersInclude/backgroundFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/backgroundUboDeclaration.js +2 -2
- package/Shaders/ShadersInclude/backgroundVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/bayerDitherFunctions.js +1 -1
- package/Shaders/ShadersInclude/bonesDeclaration.js +1 -1
- package/Shaders/ShadersInclude/bonesVertex.js +1 -1
- package/Shaders/ShadersInclude/bumpFragment.js +1 -1
- package/Shaders/ShadersInclude/bumpFragmentFunctions.js +2 -2
- package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js +1 -1
- package/Shaders/ShadersInclude/bumpVertex.js +1 -1
- package/Shaders/ShadersInclude/bumpVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/clipPlaneFragment.js +1 -1
- package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.js +1 -1
- package/Shaders/ShadersInclude/clipPlaneVertex.js +1 -1
- package/Shaders/ShadersInclude/clipPlaneVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.js +1 -1
- package/Shaders/ShadersInclude/defaultFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/defaultUboDeclaration.js +3 -3
- package/Shaders/ShadersInclude/defaultVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/depthPrePass.js +1 -1
- package/Shaders/ShadersInclude/diffusionProfile.js +1 -1
- package/Shaders/ShadersInclude/fibonacci.js +1 -1
- package/Shaders/ShadersInclude/fogFragment.js +2 -2
- package/Shaders/ShadersInclude/fogFragment.js.map +1 -1
- package/Shaders/ShadersInclude/fogFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/fogVertex.js +1 -1
- package/Shaders/ShadersInclude/fogVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/fresnelFunction.js +1 -1
- package/Shaders/ShadersInclude/geometryUboDeclaration.js +2 -2
- package/Shaders/ShadersInclude/geometryVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/harmonicsFunctions.js +1 -1
- package/Shaders/ShadersInclude/hdrFilteringFunctions.js +1 -1
- package/Shaders/ShadersInclude/helperFunctions.js +1 -1
- package/Shaders/ShadersInclude/imageProcessingCompatibility.js +1 -1
- package/Shaders/ShadersInclude/imageProcessingDeclaration.js +1 -1
- package/Shaders/ShadersInclude/imageProcessingFunctions.js +1 -1
- package/Shaders/ShadersInclude/importanceSampling.js +1 -1
- package/Shaders/ShadersInclude/instancesDeclaration.js +1 -1
- package/Shaders/ShadersInclude/instancesVertex.js +1 -1
- package/Shaders/ShadersInclude/kernelBlurFragment.js +1 -1
- package/Shaders/ShadersInclude/kernelBlurFragment2.js +1 -1
- package/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.js +1 -1
- package/Shaders/ShadersInclude/kernelBlurVertex.js +1 -1
- package/Shaders/ShadersInclude/lightFragment.js +1 -1
- package/Shaders/ShadersInclude/lightFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/lightUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/lightVxFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/lightVxUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/lightsFragmentFunctions.js +1 -1
- package/Shaders/ShadersInclude/logDepthDeclaration.js +1 -1
- package/Shaders/ShadersInclude/logDepthFragment.js +1 -1
- package/Shaders/ShadersInclude/logDepthVertex.js +1 -1
- package/Shaders/ShadersInclude/mainUVVaryingDeclaration.js +1 -1
- package/Shaders/ShadersInclude/meshFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/meshUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/meshVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertex.js +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertexGlobal.js +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.js +1 -1
- package/Shaders/ShadersInclude/mrtFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/packingFunctions.js +1 -1
- package/Shaders/ShadersInclude/pbrBRDFFunctions.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockAlphaFresnel.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockAnisotropic.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockClearcoat.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockDirectLighting.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalColorComposition.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockGeometryInfo.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockImageProcessing.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockLightmapInit.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockNormalFinal.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockNormalGeometric.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectance.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectance0.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflection.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectivity.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockSheen.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockSubSurface.js +1 -1
- package/Shaders/ShadersInclude/pbrDebug.js +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.js +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.js +1 -1
- package/Shaders/ShadersInclude/pbrFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.js +2 -2
- package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js +3 -3
- package/Shaders/ShadersInclude/pbrHelperFunctions.js +1 -1
- package/Shaders/ShadersInclude/pbrIBLFunctions.js +1 -1
- package/Shaders/ShadersInclude/pbrUboDeclaration.js +3 -3
- package/Shaders/ShadersInclude/pbrVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/pointCloudVertex.js +1 -1
- package/Shaders/ShadersInclude/pointCloudVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/prePassDeclaration.js +1 -1
- package/Shaders/ShadersInclude/prePassVertex.js +1 -1
- package/Shaders/ShadersInclude/prePassVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/reflectionFunction.js +1 -1
- package/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.js +1 -1
- package/Shaders/ShadersInclude/samplerFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/samplerVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/samplerVertexImplementation.js +1 -1
- package/Shaders/ShadersInclude/sceneFragmentDeclaration.js +1 -1
- package/Shaders/ShadersInclude/sceneUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/sceneVertexDeclaration.js +1 -1
- package/Shaders/ShadersInclude/shadowMapFragment.js +1 -1
- package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.js +3 -3
- package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.js +1 -1
- package/Shaders/ShadersInclude/shadowMapUboDeclaration.js +3 -3
- package/Shaders/ShadersInclude/shadowMapVertexDeclaration.js +3 -3
- package/Shaders/ShadersInclude/shadowMapVertexExtraDeclaration.js +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexMetric.js +1 -1
- package/Shaders/ShadersInclude/shadowMapVertexNormalBias.js +1 -1
- package/Shaders/ShadersInclude/shadowsFragmentFunctions.js +1 -1
- package/Shaders/ShadersInclude/shadowsVertex.js +1 -1
- package/Shaders/ShadersInclude/subSurfaceScatteringFunctions.js +1 -1
- package/Shaders/ShadersInclude/uvAttributeDeclaration.js +1 -1
- package/Shaders/ShadersInclude/uvVariableDeclaration.js +1 -1
- package/Shaders/anaglyph.fragment.js +1 -1
- package/Shaders/background.fragment.js +16 -16
- package/Shaders/background.vertex.js +15 -15
- package/Shaders/blackAndWhite.fragment.js +1 -1
- package/Shaders/bloomMerge.fragment.js +1 -1
- package/Shaders/blur.fragment.js +1 -1
- package/Shaders/chromaticAberration.fragment.js +1 -1
- package/Shaders/circleOfConfusion.fragment.js +1 -1
- package/Shaders/clearQuad.fragment.js +1 -1
- package/Shaders/clearQuad.vertex.js +1 -1
- package/Shaders/color.fragment.js +3 -3
- package/Shaders/color.vertex.js +7 -7
- package/Shaders/colorCorrection.fragment.js +1 -1
- package/Shaders/convolution.fragment.js +1 -1
- package/Shaders/default.fragment.js +26 -26
- package/Shaders/default.vertex.js +31 -31
- package/Shaders/depth.fragment.js +2 -2
- package/Shaders/depth.vertex.js +9 -9
- package/Shaders/depthBoxBlur.fragment.js +1 -1
- package/Shaders/depthOfField.fragment.js +1 -1
- package/Shaders/depthOfFieldMerge.fragment.js +1 -1
- package/Shaders/displayPass.fragment.js +1 -1
- package/Shaders/extractHighlights.fragment.js +2 -2
- package/Shaders/filter.fragment.js +1 -1
- package/Shaders/fxaa.fragment.js +1 -1
- package/Shaders/fxaa.vertex.js +1 -1
- package/Shaders/geometry.fragment.js +5 -5
- package/Shaders/geometry.vertex.js +12 -12
- package/Shaders/glowBlurPostProcess.fragment.js +1 -1
- package/Shaders/glowMapGeneration.fragment.js +2 -2
- package/Shaders/glowMapGeneration.vertex.js +9 -9
- package/Shaders/glowMapMerge.fragment.js +1 -1
- package/Shaders/glowMapMerge.vertex.js +1 -1
- package/Shaders/gpuRenderParticles.fragment.js +6 -6
- package/Shaders/gpuRenderParticles.vertex.js +3 -3
- package/Shaders/gpuUpdateParticles.fragment.js +1 -1
- package/Shaders/gpuUpdateParticles.vertex.js +1 -1
- package/Shaders/grain.fragment.js +2 -2
- package/Shaders/hdrFiltering.fragment.js +5 -5
- package/Shaders/hdrFiltering.vertex.js +1 -1
- package/Shaders/highlights.fragment.js +1 -1
- package/Shaders/imageProcessing.fragment.js +4 -4
- package/Shaders/kernelBlur.fragment.js +5 -5
- package/Shaders/kernelBlur.vertex.js +3 -3
- package/Shaders/layer.fragment.js +2 -2
- package/Shaders/layer.vertex.js +1 -1
- package/Shaders/lensFlare.fragment.js +1 -1
- package/Shaders/lensFlare.vertex.js +1 -1
- package/Shaders/lensHighlights.fragment.js +1 -1
- package/Shaders/line.fragment.js +3 -3
- package/Shaders/line.vertex.js +5 -5
- package/Shaders/minmaxRedux.fragment.js +1 -1
- package/Shaders/motionBlur.fragment.js +1 -1
- package/Shaders/noise.fragment.js +1 -1
- package/Shaders/outline.fragment.js +3 -3
- package/Shaders/outline.vertex.js +11 -11
- package/Shaders/particles.fragment.js +6 -6
- package/Shaders/particles.vertex.js +3 -3
- package/Shaders/pass.fragment.js +1 -1
- package/Shaders/passCube.fragment.js +1 -1
- package/Shaders/pbr.fragment.js +55 -55
- package/Shaders/pbr.vertex.js +31 -31
- package/Shaders/postprocess.vertex.js +1 -1
- package/Shaders/procedural.vertex.js +1 -1
- package/Shaders/refraction.fragment.js +1 -1
- package/Shaders/rgbdDecode.fragment.js +2 -2
- package/Shaders/rgbdEncode.fragment.js +2 -2
- package/Shaders/screenSpaceCurvature.fragment.js +1 -1
- package/Shaders/screenSpaceReflection.fragment.js +1 -1
- package/Shaders/shadowMap.fragment.js +5 -5
- package/Shaders/shadowMap.vertex.js +16 -16
- package/Shaders/sharpen.fragment.js +1 -1
- package/Shaders/spriteMap.fragment.js +1 -1
- package/Shaders/spriteMap.vertex.js +1 -1
- package/Shaders/sprites.fragment.js +4 -4
- package/Shaders/sprites.vertex.js +2 -2
- package/Shaders/ssao.fragment.js +1 -1
- package/Shaders/ssao2.fragment.js +1 -1
- package/Shaders/ssaoCombine.fragment.js +1 -1
- package/Shaders/standard.fragment.js +2 -2
- package/Shaders/stereoscopicInterlace.fragment.js +1 -1
- package/Shaders/subSurfaceScattering.fragment.js +5 -5
- package/Shaders/tonemap.fragment.js +1 -1
- package/Shaders/volumetricLightScattering.fragment.js +1 -1
- package/Shaders/volumetricLightScatteringPass.fragment.js +1 -1
- package/Shaders/volumetricLightScatteringPass.vertex.js +9 -9
- package/Shaders/vrDistortionCorrection.fragment.js +1 -1
- package/Shaders/vrMultiviewToSingleview.fragment.js +1 -1
- package/ShadersWGSL/ShadersInclude/bonesDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/bonesVertex.js +1 -1
- package/ShadersWGSL/ShadersInclude/instancesDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/instancesVertex.js +1 -1
- package/ShadersWGSL/ShadersInclude/meshUboDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.js +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js +1 -1
- package/ShadersWGSL/gpuUpdateParticles.compute.js +1 -1
- package/Sprites/index.js +6 -6
- package/Sprites/sprite.js +4 -4
- package/Sprites/spriteManager.js +11 -11
- package/Sprites/spriteMap.js +11 -11
- package/Sprites/spriteMap.js.map +1 -1
- package/Sprites/spritePackedManager.js +2 -2
- package/Sprites/spriteRenderer.js +6 -6
- package/Sprites/spriteSceneComponent.js +6 -6
- package/States/index.js +4 -4
- package/XR/features/WebXRAnchorSystem.js +5 -5
- package/XR/features/WebXRBackgroundRemover.js +3 -3
- package/XR/features/WebXRControllerMovement.js +5 -5
- package/XR/features/WebXRControllerPhysics.js +8 -8
- package/XR/features/WebXRControllerPhysics.js.map +1 -1
- package/XR/features/WebXRControllerPointerSelection.js +19 -15
- package/XR/features/WebXRControllerPointerSelection.js.map +1 -1
- package/XR/features/WebXRControllerTeleportation.js +24 -24
- package/XR/features/WebXRControllerTeleportation.js.map +1 -1
- package/XR/features/WebXRDOMOverlay.js +3 -3
- package/XR/features/WebXREyeTracking.js +5 -5
- package/XR/features/WebXRFeaturePointSystem.js +4 -4
- package/XR/features/WebXRHandTracking.js +15 -15
- package/XR/features/WebXRHandTracking.js.map +1 -1
- package/XR/features/WebXRHitTest.js +5 -5
- package/XR/features/WebXRHitTestLegacy.js +5 -5
- package/XR/features/WebXRImageTracking.js +5 -5
- package/XR/features/WebXRLightEstimation.js +12 -12
- package/XR/features/WebXRMeshDetector.js +4 -4
- package/XR/features/WebXRNearInteraction.js +14 -12
- package/XR/features/WebXRNearInteraction.js.map +1 -1
- package/XR/features/WebXRPlaneDetector.js +4 -4
- package/XR/features/WebXRWalkingLocomotion.js +5 -5
- package/XR/features/index.js +19 -19
- package/XR/index.js +12 -12
- package/XR/motionController/index.js +9 -9
- package/XR/motionController/webXRAbstractMotionController.js +6 -6
- package/XR/motionController/webXRControllerComponent.js +1 -1
- package/XR/motionController/webXRGenericHandController.js +2 -2
- package/XR/motionController/webXRGenericMotionController.js +3 -3
- package/XR/motionController/webXRHTCViveMotionController.js +4 -4
- package/XR/motionController/webXRMicrosoftMixedRealityController.js +6 -6
- package/XR/motionController/webXRMotionControllerManager.js +3 -3
- package/XR/motionController/webXROculusTouchMotionController.js +4 -4
- package/XR/motionController/webXRProfiledMotionController.js +10 -10
- package/XR/motionController/webXRProfiledMotionController.js.map +1 -1
- package/XR/webXRCamera.js +7 -7
- package/XR/webXRDefaultExperience.js +7 -7
- package/XR/webXREnterExitUI.js +3 -3
- package/XR/webXRExperienceHelper.js +8 -8
- package/XR/webXRFeaturesManager.js +1 -1
- package/XR/webXRInput.js +3 -3
- package/XR/webXRInputSource.js +5 -5
- package/XR/webXRManagedOutputCanvas.js +2 -2
- package/XR/webXRSessionManager.js +5 -5
- package/assetContainer.js +4 -4
- package/index.d.ts +1 -0
- package/index.js +44 -43
- package/index.js.map +1 -1
- package/license.md +12 -13
- package/node.js +6 -6
- package/node.js.map +1 -1
- package/package.json +10 -1
- package/readme.md +12 -13
- package/scene.d.ts +5 -147
- package/scene.js +46 -229
- package/scene.js.map +1 -1
- package/scene.lts.d.ts +165 -0
- package/scene.lts.js +68 -0
- package/scene.lts.js.map +1 -0
package/Misc/textureTools.js
CHANGED
|
@@ -1,13 +1,170 @@
|
|
|
1
|
-
import { Texture } from "../Materials/Textures/texture";
|
|
2
|
-
import { RenderTargetTexture } from "../Materials/Textures/renderTargetTexture";
|
|
3
|
-
import { PassPostProcess } from "../PostProcesses/passPostProcess";
|
|
4
|
-
import { PostProcess } from '../PostProcesses/postProcess';
|
|
1
|
+
import { Texture } from "../Materials/Textures/texture.js";
|
|
2
|
+
import { RenderTargetTexture } from "../Materials/Textures/renderTargetTexture.js";
|
|
3
|
+
import { PassPostProcess } from "../PostProcesses/passPostProcess.js";
|
|
4
|
+
import { PostProcess } from '../PostProcesses/postProcess.js';
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Uses the GPU to create a copy texture rescaled at a given size
|
|
7
|
+
* @param texture Texture to copy from
|
|
8
|
+
* @param width defines the desired width
|
|
9
|
+
* @param height defines the desired height
|
|
10
|
+
* @param useBilinearMode defines if bilinear mode has to be used
|
|
11
|
+
* @return the generated texture
|
|
12
|
+
*/
|
|
13
|
+
export function CreateResizedCopy(texture, width, height, useBilinearMode) {
|
|
14
|
+
if (useBilinearMode === void 0) { useBilinearMode = true; }
|
|
15
|
+
var scene = texture.getScene();
|
|
16
|
+
var engine = scene.getEngine();
|
|
17
|
+
var rtt = new RenderTargetTexture('resized' + texture.name, { width: width, height: height }, scene, !texture.noMipmap, true, texture._texture.type, false, texture.samplingMode, false);
|
|
18
|
+
rtt.wrapU = texture.wrapU;
|
|
19
|
+
rtt.wrapV = texture.wrapV;
|
|
20
|
+
rtt.uOffset = texture.uOffset;
|
|
21
|
+
rtt.vOffset = texture.vOffset;
|
|
22
|
+
rtt.uScale = texture.uScale;
|
|
23
|
+
rtt.vScale = texture.vScale;
|
|
24
|
+
rtt.uAng = texture.uAng;
|
|
25
|
+
rtt.vAng = texture.vAng;
|
|
26
|
+
rtt.wAng = texture.wAng;
|
|
27
|
+
rtt.coordinatesIndex = texture.coordinatesIndex;
|
|
28
|
+
rtt.level = texture.level;
|
|
29
|
+
rtt.anisotropicFilteringLevel = texture.anisotropicFilteringLevel;
|
|
30
|
+
rtt._texture.isReady = false;
|
|
31
|
+
texture.wrapU = Texture.CLAMP_ADDRESSMODE;
|
|
32
|
+
texture.wrapV = Texture.CLAMP_ADDRESSMODE;
|
|
33
|
+
var passPostProcess = new PassPostProcess("pass", 1, null, useBilinearMode ? Texture.BILINEAR_SAMPLINGMODE : Texture.NEAREST_SAMPLINGMODE, engine, false, 0);
|
|
34
|
+
passPostProcess.getEffect().executeWhenCompiled(function () {
|
|
35
|
+
passPostProcess.onApply = function (effect) {
|
|
36
|
+
effect.setTexture("textureSampler", texture);
|
|
37
|
+
};
|
|
38
|
+
var internalTexture = rtt.renderTarget;
|
|
39
|
+
if (internalTexture) {
|
|
40
|
+
scene.postProcessManager.directRender([passPostProcess], internalTexture);
|
|
41
|
+
engine.unBindFramebuffer(internalTexture);
|
|
42
|
+
rtt.disposeFramebufferObjects();
|
|
43
|
+
passPostProcess.dispose();
|
|
44
|
+
rtt.getInternalTexture().isReady = true;
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
return rtt;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Apply a post process to a texture
|
|
51
|
+
* @param postProcessName name of the fragment post process
|
|
52
|
+
* @param internalTexture the texture to encode
|
|
53
|
+
* @param scene the scene hosting the texture
|
|
54
|
+
* @param type type of the output texture. If not provided, use the one from internalTexture
|
|
55
|
+
* @param samplingMode sampling mode to use to sample the source texture. If not provided, use the one from internalTexture
|
|
56
|
+
* @param format format of the output texture. If not provided, use the one from internalTexture
|
|
57
|
+
* @return a promise with the internalTexture having its texture replaced by the result of the processing
|
|
58
|
+
*/
|
|
59
|
+
export function ApplyPostProcess(postProcessName, internalTexture, scene, type, samplingMode, format) {
|
|
60
|
+
// Gets everything ready.
|
|
61
|
+
var engine = internalTexture.getEngine();
|
|
62
|
+
internalTexture.isReady = false;
|
|
63
|
+
samplingMode = samplingMode !== null && samplingMode !== void 0 ? samplingMode : internalTexture.samplingMode;
|
|
64
|
+
type = type !== null && type !== void 0 ? type : internalTexture.type;
|
|
65
|
+
format = format !== null && format !== void 0 ? format : internalTexture.format;
|
|
66
|
+
if (type === -1) {
|
|
67
|
+
type = 0;
|
|
68
|
+
}
|
|
69
|
+
return new Promise(function (resolve) {
|
|
70
|
+
// Create the post process
|
|
71
|
+
var postProcess = new PostProcess("postprocess", postProcessName, null, null, 1, null, samplingMode, engine, false, undefined, type, undefined, null, false, format);
|
|
72
|
+
// Hold the output of the decoding.
|
|
73
|
+
var encodedTexture = engine.createRenderTargetTexture({ width: internalTexture.width, height: internalTexture.height }, {
|
|
74
|
+
generateDepthBuffer: false,
|
|
75
|
+
generateMipMaps: false,
|
|
76
|
+
generateStencilBuffer: false,
|
|
77
|
+
samplingMode: samplingMode,
|
|
78
|
+
type: type,
|
|
79
|
+
format: format
|
|
80
|
+
});
|
|
81
|
+
postProcess.getEffect().executeWhenCompiled(function () {
|
|
82
|
+
// PP Render Pass
|
|
83
|
+
postProcess.onApply = function (effect) {
|
|
84
|
+
effect._bindTexture("textureSampler", internalTexture);
|
|
85
|
+
effect.setFloat2("scale", 1, 1);
|
|
86
|
+
};
|
|
87
|
+
scene.postProcessManager.directRender([postProcess], encodedTexture, true);
|
|
88
|
+
// Cleanup
|
|
89
|
+
engine.restoreDefaultFramebuffer();
|
|
90
|
+
engine._releaseTexture(internalTexture);
|
|
91
|
+
if (postProcess) {
|
|
92
|
+
postProcess.dispose();
|
|
93
|
+
}
|
|
94
|
+
// Internal Swap
|
|
95
|
+
encodedTexture._swapAndDie(internalTexture);
|
|
96
|
+
// Ready to get rolling again.
|
|
97
|
+
internalTexture.type = type;
|
|
98
|
+
internalTexture.format = 5;
|
|
99
|
+
internalTexture.isReady = true;
|
|
100
|
+
resolve(internalTexture);
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
// ref: http://stackoverflow.com/questions/32633585/how-do-you-convert-to-half-floats-in-javascript
|
|
105
|
+
var _FloatView;
|
|
106
|
+
var _Int32View;
|
|
107
|
+
/**
|
|
108
|
+
* Converts a number to half float
|
|
109
|
+
* @param value number to convert
|
|
110
|
+
* @returns converted number
|
|
111
|
+
*/
|
|
112
|
+
export function ToHalfFloat(value) {
|
|
113
|
+
if (!_FloatView) {
|
|
114
|
+
_FloatView = new Float32Array(1);
|
|
115
|
+
_Int32View = new Int32Array(_FloatView.buffer);
|
|
116
|
+
}
|
|
117
|
+
_FloatView[0] = value;
|
|
118
|
+
var x = _Int32View[0];
|
|
119
|
+
var bits = (x >> 16) & 0x8000; /* Get the sign */
|
|
120
|
+
var m = (x >> 12) & 0x07ff; /* Keep one extra bit for rounding */
|
|
121
|
+
var e = (x >> 23) & 0xff; /* Using int is faster here */
|
|
122
|
+
/* If zero, or denormal, or exponent underflows too much for a denormal
|
|
123
|
+
* half, return signed zero. */
|
|
124
|
+
if (e < 103) {
|
|
125
|
+
return bits;
|
|
126
|
+
}
|
|
127
|
+
/* If NaN, return NaN. If Inf or exponent overflow, return Inf. */
|
|
128
|
+
if (e > 142) {
|
|
129
|
+
bits |= 0x7c00;
|
|
130
|
+
/* If exponent was 0xff and one mantissa bit was set, it means NaN,
|
|
131
|
+
* not Inf, so make sure we set one mantissa bit too. */
|
|
132
|
+
bits |= ((e == 255) ? 0 : 1) && (x & 0x007fffff);
|
|
133
|
+
return bits;
|
|
134
|
+
}
|
|
135
|
+
/* If exponent underflows but not too much, return a denormal */
|
|
136
|
+
if (e < 113) {
|
|
137
|
+
m |= 0x0800;
|
|
138
|
+
/* Extra rounding may overflow and set mantissa to 0 and exponent
|
|
139
|
+
* to 1, which is OK. */
|
|
140
|
+
bits |= (m >> (114 - e)) + ((m >> (113 - e)) & 1);
|
|
141
|
+
return bits;
|
|
142
|
+
}
|
|
143
|
+
bits |= ((e - 112) << 10) | (m >> 1);
|
|
144
|
+
bits += m & 1;
|
|
145
|
+
return bits;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Converts a half float to a number
|
|
149
|
+
* @param value half float to convert
|
|
150
|
+
* @returns converted half float
|
|
7
151
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
152
|
+
export function FromHalfFloat(value) {
|
|
153
|
+
var s = (value & 0x8000) >> 15;
|
|
154
|
+
var e = (value & 0x7C00) >> 10;
|
|
155
|
+
var f = value & 0x03FF;
|
|
156
|
+
if (e === 0) {
|
|
157
|
+
return (s ? -1 : 1) * Math.pow(2, -14) * (f / Math.pow(2, 10));
|
|
158
|
+
}
|
|
159
|
+
else if (e == 0x1F) {
|
|
160
|
+
return f ? NaN : ((s ? -1 : 1) * Infinity);
|
|
10
161
|
}
|
|
162
|
+
return (s ? -1 : 1) * Math.pow(2, e - 15) * (1 + (f / Math.pow(2, 10)));
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Class used to host texture specific utilities
|
|
166
|
+
*/
|
|
167
|
+
export var TextureTools = {
|
|
11
168
|
/**
|
|
12
169
|
* Uses the GPU to create a copy texture rescaled at a given size
|
|
13
170
|
* @param texture Texture to copy from
|
|
@@ -16,42 +173,7 @@ var TextureTools = /** @class */ (function () {
|
|
|
16
173
|
* @param useBilinearMode defines if bilinear mode has to be used
|
|
17
174
|
* @return the generated texture
|
|
18
175
|
*/
|
|
19
|
-
|
|
20
|
-
if (useBilinearMode === void 0) { useBilinearMode = true; }
|
|
21
|
-
var scene = texture.getScene();
|
|
22
|
-
var engine = scene.getEngine();
|
|
23
|
-
var rtt = new RenderTargetTexture('resized' + texture.name, { width: width, height: height }, scene, !texture.noMipmap, true, texture._texture.type, false, texture.samplingMode, false);
|
|
24
|
-
rtt.wrapU = texture.wrapU;
|
|
25
|
-
rtt.wrapV = texture.wrapV;
|
|
26
|
-
rtt.uOffset = texture.uOffset;
|
|
27
|
-
rtt.vOffset = texture.vOffset;
|
|
28
|
-
rtt.uScale = texture.uScale;
|
|
29
|
-
rtt.vScale = texture.vScale;
|
|
30
|
-
rtt.uAng = texture.uAng;
|
|
31
|
-
rtt.vAng = texture.vAng;
|
|
32
|
-
rtt.wAng = texture.wAng;
|
|
33
|
-
rtt.coordinatesIndex = texture.coordinatesIndex;
|
|
34
|
-
rtt.level = texture.level;
|
|
35
|
-
rtt.anisotropicFilteringLevel = texture.anisotropicFilteringLevel;
|
|
36
|
-
rtt._texture.isReady = false;
|
|
37
|
-
texture.wrapU = Texture.CLAMP_ADDRESSMODE;
|
|
38
|
-
texture.wrapV = Texture.CLAMP_ADDRESSMODE;
|
|
39
|
-
var passPostProcess = new PassPostProcess("pass", 1, null, useBilinearMode ? Texture.BILINEAR_SAMPLINGMODE : Texture.NEAREST_SAMPLINGMODE, engine, false, 0);
|
|
40
|
-
passPostProcess.getEffect().executeWhenCompiled(function () {
|
|
41
|
-
passPostProcess.onApply = function (effect) {
|
|
42
|
-
effect.setTexture("textureSampler", texture);
|
|
43
|
-
};
|
|
44
|
-
var internalTexture = rtt.renderTarget;
|
|
45
|
-
if (internalTexture) {
|
|
46
|
-
scene.postProcessManager.directRender([passPostProcess], internalTexture);
|
|
47
|
-
engine.unBindFramebuffer(internalTexture);
|
|
48
|
-
rtt.disposeFramebufferObjects();
|
|
49
|
-
passPostProcess.dispose();
|
|
50
|
-
rtt.getInternalTexture().isReady = true;
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
return rtt;
|
|
54
|
-
};
|
|
176
|
+
CreateResizedCopy: CreateResizedCopy,
|
|
55
177
|
/**
|
|
56
178
|
* Apply a post process to a texture
|
|
57
179
|
* @param postProcessName name of the fragment post process
|
|
@@ -62,109 +184,18 @@ var TextureTools = /** @class */ (function () {
|
|
|
62
184
|
* @param format format of the output texture. If not provided, use the one from internalTexture
|
|
63
185
|
* @return a promise with the internalTexture having its texture replaced by the result of the processing
|
|
64
186
|
*/
|
|
65
|
-
|
|
66
|
-
// Gets everything ready.
|
|
67
|
-
var engine = internalTexture.getEngine();
|
|
68
|
-
internalTexture.isReady = false;
|
|
69
|
-
samplingMode = samplingMode !== null && samplingMode !== void 0 ? samplingMode : internalTexture.samplingMode;
|
|
70
|
-
type = type !== null && type !== void 0 ? type : internalTexture.type;
|
|
71
|
-
format = format !== null && format !== void 0 ? format : internalTexture.format;
|
|
72
|
-
if (type === -1) {
|
|
73
|
-
type = 0;
|
|
74
|
-
}
|
|
75
|
-
return new Promise(function (resolve) {
|
|
76
|
-
// Create the post process
|
|
77
|
-
var postProcess = new PostProcess("postprocess", postProcessName, null, null, 1, null, samplingMode, engine, false, undefined, type, undefined, null, false, format);
|
|
78
|
-
// Hold the output of the decoding.
|
|
79
|
-
var encodedTexture = engine.createRenderTargetTexture({ width: internalTexture.width, height: internalTexture.height }, {
|
|
80
|
-
generateDepthBuffer: false,
|
|
81
|
-
generateMipMaps: false,
|
|
82
|
-
generateStencilBuffer: false,
|
|
83
|
-
samplingMode: samplingMode,
|
|
84
|
-
type: type,
|
|
85
|
-
format: format
|
|
86
|
-
});
|
|
87
|
-
postProcess.getEffect().executeWhenCompiled(function () {
|
|
88
|
-
// PP Render Pass
|
|
89
|
-
postProcess.onApply = function (effect) {
|
|
90
|
-
effect._bindTexture("textureSampler", internalTexture);
|
|
91
|
-
effect.setFloat2("scale", 1, 1);
|
|
92
|
-
};
|
|
93
|
-
scene.postProcessManager.directRender([postProcess], encodedTexture, true);
|
|
94
|
-
// Cleanup
|
|
95
|
-
engine.restoreDefaultFramebuffer();
|
|
96
|
-
engine._releaseTexture(internalTexture);
|
|
97
|
-
if (postProcess) {
|
|
98
|
-
postProcess.dispose();
|
|
99
|
-
}
|
|
100
|
-
// Internal Swap
|
|
101
|
-
encodedTexture._swapAndDie(internalTexture);
|
|
102
|
-
// Ready to get rolling again.
|
|
103
|
-
internalTexture.type = type;
|
|
104
|
-
internalTexture.format = 5;
|
|
105
|
-
internalTexture.isReady = true;
|
|
106
|
-
resolve(internalTexture);
|
|
107
|
-
});
|
|
108
|
-
});
|
|
109
|
-
};
|
|
187
|
+
ApplyPostProcess: ApplyPostProcess,
|
|
110
188
|
/**
|
|
111
189
|
* Converts a number to half float
|
|
112
190
|
* @param value number to convert
|
|
113
191
|
* @returns converted number
|
|
114
192
|
*/
|
|
115
|
-
|
|
116
|
-
if (!TextureTools._FloatView) {
|
|
117
|
-
TextureTools._FloatView = new Float32Array(1);
|
|
118
|
-
TextureTools._Int32View = new Int32Array(TextureTools._FloatView.buffer);
|
|
119
|
-
}
|
|
120
|
-
TextureTools._FloatView[0] = value;
|
|
121
|
-
var x = TextureTools._Int32View[0];
|
|
122
|
-
var bits = (x >> 16) & 0x8000; /* Get the sign */
|
|
123
|
-
var m = (x >> 12) & 0x07ff; /* Keep one extra bit for rounding */
|
|
124
|
-
var e = (x >> 23) & 0xff; /* Using int is faster here */
|
|
125
|
-
/* If zero, or denormal, or exponent underflows too much for a denormal
|
|
126
|
-
* half, return signed zero. */
|
|
127
|
-
if (e < 103) {
|
|
128
|
-
return bits;
|
|
129
|
-
}
|
|
130
|
-
/* If NaN, return NaN. If Inf or exponent overflow, return Inf. */
|
|
131
|
-
if (e > 142) {
|
|
132
|
-
bits |= 0x7c00;
|
|
133
|
-
/* If exponent was 0xff and one mantissa bit was set, it means NaN,
|
|
134
|
-
* not Inf, so make sure we set one mantissa bit too. */
|
|
135
|
-
bits |= ((e == 255) ? 0 : 1) && (x & 0x007fffff);
|
|
136
|
-
return bits;
|
|
137
|
-
}
|
|
138
|
-
/* If exponent underflows but not too much, return a denormal */
|
|
139
|
-
if (e < 113) {
|
|
140
|
-
m |= 0x0800;
|
|
141
|
-
/* Extra rounding may overflow and set mantissa to 0 and exponent
|
|
142
|
-
* to 1, which is OK. */
|
|
143
|
-
bits |= (m >> (114 - e)) + ((m >> (113 - e)) & 1);
|
|
144
|
-
return bits;
|
|
145
|
-
}
|
|
146
|
-
bits |= ((e - 112) << 10) | (m >> 1);
|
|
147
|
-
bits += m & 1;
|
|
148
|
-
return bits;
|
|
149
|
-
};
|
|
193
|
+
ToHalfFloat: ToHalfFloat,
|
|
150
194
|
/**
|
|
151
195
|
* Converts a half float to a number
|
|
152
196
|
* @param value half float to convert
|
|
153
197
|
* @returns converted half float
|
|
154
198
|
*/
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
var e = (value & 0x7C00) >> 10;
|
|
158
|
-
var f = value & 0x03FF;
|
|
159
|
-
if (e === 0) {
|
|
160
|
-
return (s ? -1 : 1) * Math.pow(2, -14) * (f / Math.pow(2, 10));
|
|
161
|
-
}
|
|
162
|
-
else if (e == 0x1F) {
|
|
163
|
-
return f ? NaN : ((s ? -1 : 1) * Infinity);
|
|
164
|
-
}
|
|
165
|
-
return (s ? -1 : 1) * Math.pow(2, e - 15) * (1 + (f / Math.pow(2, 10)));
|
|
166
|
-
};
|
|
167
|
-
return TextureTools;
|
|
168
|
-
}());
|
|
169
|
-
export { TextureTools };
|
|
199
|
+
FromHalfFloat: FromHalfFloat
|
|
200
|
+
};
|
|
170
201
|
//# sourceMappingURL=textureTools.js.map
|
package/Misc/textureTools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textureTools.js","sourceRoot":"","sources":["../../../sourceES6/core/Misc/textureTools.ts"],"names":[],"mappings":"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","sourcesContent":["import { InternalTexture } from \"../Materials/Textures/internalTexture\";\r\nimport { Texture } from \"../Materials/Textures/texture\";\r\nimport { RenderTargetTexture } from \"../Materials/Textures/renderTargetTexture\";\r\nimport { PassPostProcess } from \"../PostProcesses/passPostProcess\";\r\n\r\nimport { Scene } from \"../scene\";\r\nimport { PostProcess } from '../PostProcesses/postProcess';\r\nimport { Engine } from '../Engines/engine';\r\n\r\n/**\r\n * Class used to host texture specific utilities\r\n */\r\nexport class TextureTools {\r\n /**\r\n * Uses the GPU to create a copy texture rescaled at a given size\r\n * @param texture Texture to copy from\r\n * @param width defines the desired width\r\n * @param height defines the desired height\r\n * @param useBilinearMode defines if bilinear mode has to be used\r\n * @return the generated texture\r\n */\r\n public static CreateResizedCopy(texture: Texture, width: number, height: number, useBilinearMode: boolean = true): Texture {\r\n\r\n var scene = <Scene>texture.getScene();\r\n var engine = scene.getEngine();\r\n\r\n let rtt = new RenderTargetTexture(\r\n 'resized' + texture.name,\r\n { width: width, height: height },\r\n scene,\r\n !texture.noMipmap,\r\n true,\r\n (<InternalTexture>texture._texture).type,\r\n false,\r\n texture.samplingMode,\r\n false\r\n );\r\n\r\n rtt.wrapU = texture.wrapU;\r\n rtt.wrapV = texture.wrapV;\r\n rtt.uOffset = texture.uOffset;\r\n rtt.vOffset = texture.vOffset;\r\n rtt.uScale = texture.uScale;\r\n rtt.vScale = texture.vScale;\r\n rtt.uAng = texture.uAng;\r\n rtt.vAng = texture.vAng;\r\n rtt.wAng = texture.wAng;\r\n rtt.coordinatesIndex = texture.coordinatesIndex;\r\n rtt.level = texture.level;\r\n rtt.anisotropicFilteringLevel = texture.anisotropicFilteringLevel;\r\n (<InternalTexture>rtt._texture).isReady = false;\r\n\r\n texture.wrapU = Texture.CLAMP_ADDRESSMODE;\r\n texture.wrapV = Texture.CLAMP_ADDRESSMODE;\r\n\r\n let passPostProcess = new PassPostProcess(\"pass\", 1, null, useBilinearMode ? Texture.BILINEAR_SAMPLINGMODE : Texture.NEAREST_SAMPLINGMODE, engine, false, 0);\r\n passPostProcess.getEffect().executeWhenCompiled(() => {\r\n passPostProcess.onApply = function (effect) {\r\n effect.setTexture(\"textureSampler\", texture);\r\n };\r\n\r\n let internalTexture = rtt.renderTarget;\r\n\r\n if (internalTexture) {\r\n scene.postProcessManager.directRender([passPostProcess], internalTexture);\r\n\r\n engine.unBindFramebuffer(internalTexture);\r\n rtt.disposeFramebufferObjects();\r\n passPostProcess.dispose();\r\n\r\n rtt.getInternalTexture()!.isReady = true;\r\n }\r\n });\r\n\r\n return rtt;\r\n }\r\n\r\n /**\r\n * Apply a post process to a texture\r\n * @param postProcessName name of the fragment post process\r\n * @param internalTexture the texture to encode\r\n * @param scene the scene hosting the texture\r\n * @param type type of the output texture. If not provided, use the one from internalTexture\r\n * @param samplingMode sampling mode to use to sample the source texture. If not provided, use the one from internalTexture\r\n * @param format format of the output texture. If not provided, use the one from internalTexture\r\n * @return a promise with the internalTexture having its texture replaced by the result of the processing\r\n */\r\n public static ApplyPostProcess(postProcessName: string, internalTexture: InternalTexture, scene: Scene, type?: number, samplingMode?: number, format?: number): Promise<InternalTexture> {\r\n // Gets everything ready.\r\n const engine = internalTexture.getEngine() as Engine;\r\n\r\n internalTexture.isReady = false;\r\n\r\n samplingMode = samplingMode ?? internalTexture.samplingMode;\r\n type = type ?? internalTexture.type;\r\n format = format ?? internalTexture.format;\r\n\r\n if (type === -1) {\r\n type = 0;\r\n }\r\n\r\n return new Promise((resolve) => {\r\n // Create the post process\r\n const postProcess = new PostProcess(\"postprocess\", postProcessName, null, null, 1, null, samplingMode, engine,\r\n false, undefined, type, undefined, null, false, format);\r\n\r\n // Hold the output of the decoding.\r\n const encodedTexture = engine.createRenderTargetTexture({ width: internalTexture.width, height: internalTexture.height }, {\r\n generateDepthBuffer: false,\r\n generateMipMaps: false,\r\n generateStencilBuffer: false,\r\n samplingMode,\r\n type,\r\n format\r\n });\r\n\r\n postProcess.getEffect().executeWhenCompiled(() => {\r\n // PP Render Pass\r\n postProcess.onApply = (effect) => {\r\n effect._bindTexture(\"textureSampler\", internalTexture);\r\n effect.setFloat2(\"scale\", 1, 1);\r\n };\r\n scene.postProcessManager.directRender([postProcess!], encodedTexture, true);\r\n\r\n // Cleanup\r\n engine.restoreDefaultFramebuffer();\r\n engine._releaseTexture(internalTexture);\r\n if (postProcess) {\r\n postProcess.dispose();\r\n }\r\n\r\n // Internal Swap\r\n encodedTexture._swapAndDie(internalTexture);\r\n\r\n // Ready to get rolling again.\r\n internalTexture.type = type!;\r\n internalTexture.format = 5;\r\n internalTexture.isReady = true;\r\n\r\n resolve(internalTexture);\r\n });\r\n });\r\n }\r\n\r\n // ref: http://stackoverflow.com/questions/32633585/how-do-you-convert-to-half-floats-in-javascript\r\n private static _FloatView: Float32Array;\r\n private static _Int32View: Int32Array;\r\n /**\r\n * Converts a number to half float\r\n * @param value number to convert\r\n * @returns converted number\r\n */\r\n public static ToHalfFloat(value: number): number {\r\n if (!TextureTools._FloatView) {\r\n TextureTools._FloatView = new Float32Array(1);\r\n TextureTools._Int32View = new Int32Array(TextureTools._FloatView.buffer);\r\n }\r\n\r\n TextureTools._FloatView[0] = value;\r\n const x = TextureTools._Int32View[0];\r\n\r\n let bits = (x >> 16) & 0x8000; /* Get the sign */\r\n let m = (x >> 12) & 0x07ff; /* Keep one extra bit for rounding */\r\n const e = (x >> 23) & 0xff; /* Using int is faster here */\r\n\r\n /* If zero, or denormal, or exponent underflows too much for a denormal\r\n * half, return signed zero. */\r\n if (e < 103) {\r\n return bits;\r\n }\r\n\r\n /* If NaN, return NaN. If Inf or exponent overflow, return Inf. */\r\n if (e > 142) {\r\n bits |= 0x7c00;\r\n /* If exponent was 0xff and one mantissa bit was set, it means NaN,\r\n * not Inf, so make sure we set one mantissa bit too. */\r\n bits |= ((e == 255) ? 0 : 1) && (x & 0x007fffff);\r\n return bits;\r\n }\r\n\r\n /* If exponent underflows but not too much, return a denormal */\r\n if (e < 113) {\r\n m |= 0x0800;\r\n /* Extra rounding may overflow and set mantissa to 0 and exponent\r\n * to 1, which is OK. */\r\n bits |= (m >> (114 - e)) + ((m >> (113 - e)) & 1);\r\n return bits;\r\n }\r\n\r\n bits |= ((e - 112) << 10) | (m >> 1);\r\n bits += m & 1;\r\n return bits;\r\n }\r\n\r\n /**\r\n * Converts a half float to a number\r\n * @param value half float to convert\r\n * @returns converted half float\r\n */\r\n public static FromHalfFloat(value: number): number {\r\n const s = (value & 0x8000) >> 15;\r\n const e = (value & 0x7C00) >> 10;\r\n const f = value & 0x03FF;\r\n\r\n if (e === 0) {\r\n return (s ? -1 : 1) * Math.pow(2, -14) * (f / Math.pow(2, 10));\r\n } else if (e == 0x1F) {\r\n return f ? NaN : ((s ? -1 : 1) * Infinity);\r\n }\r\n\r\n return (s ? -1 : 1) * Math.pow(2, e - 15) * (1 + (f / Math.pow(2, 10)));\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"textureTools.js","sourceRoot":"","sources":["../../../sourceES6/core/Misc/textureTools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAGnE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAG3D;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAgB,EAAE,KAAa,EAAE,MAAc,EAAE,eAA+B;IAA/B,gCAAA,EAAA,sBAA+B;IAE9G,IAAI,KAAK,GAAU,OAAO,CAAC,QAAQ,EAAE,CAAC;IACtC,IAAI,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;IAE/B,IAAI,GAAG,GAAG,IAAI,mBAAmB,CAC7B,SAAS,GAAG,OAAO,CAAC,IAAI,EACxB,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAChC,KAAK,EACL,CAAC,OAAO,CAAC,QAAQ,EACjB,IAAI,EACc,OAAO,CAAC,QAAS,CAAC,IAAI,EACxC,KAAK,EACL,OAAO,CAAC,YAAY,EACpB,KAAK,CACR,CAAC;IAEF,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC1B,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC1B,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC9B,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC9B,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5B,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5B,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IACxB,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IACxB,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IACxB,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAChD,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC1B,GAAG,CAAC,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAChD,GAAG,CAAC,QAAS,CAAC,OAAO,GAAG,KAAK,CAAC;IAEhD,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAC1C,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAE1C,IAAI,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7J,eAAe,CAAC,SAAS,EAAE,CAAC,mBAAmB,CAAC;QAC5C,eAAe,CAAC,OAAO,GAAG,UAAU,MAAM;YACtC,MAAM,CAAC,UAAU,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC,CAAC;QAEF,IAAI,eAAe,GAAG,GAAG,CAAC,YAAY,CAAC;QAEvC,IAAI,eAAe,EAAE;YACjB,KAAK,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC,CAAC;YAE1E,MAAM,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;YAC1C,GAAG,CAAC,yBAAyB,EAAE,CAAC;YAChC,eAAe,CAAC,OAAO,EAAE,CAAC;YAE1B,GAAG,CAAC,kBAAkB,EAAG,CAAC,OAAO,GAAG,IAAI,CAAC;SAC5C;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,eAAuB,EAAE,eAAgC,EAAE,KAAY,EAAE,IAAa,EAAE,YAAqB,EAAE,MAAe;IAC3J,yBAAyB;IACzB,IAAM,MAAM,GAAG,eAAe,CAAC,SAAS,EAAY,CAAC;IAErD,eAAe,CAAC,OAAO,GAAG,KAAK,CAAC;IAEhC,YAAY,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,eAAe,CAAC,YAAY,CAAC;IAC5D,IAAI,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,eAAe,CAAC,IAAI,CAAC;IACpC,MAAM,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,eAAe,CAAC,MAAM,CAAC;IAE1C,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE;QACb,IAAI,GAAG,CAAC,CAAC;KACZ;IAED,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO;QACvB,0BAA0B;QAC1B,IAAM,WAAW,GAAG,IAAI,WAAW,CAAC,aAAa,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EACzG,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAE5D,mCAAmC;QACnC,IAAM,cAAc,GAAG,MAAM,CAAC,yBAAyB,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,EAAE;YACtH,mBAAmB,EAAE,KAAK;YAC1B,eAAe,EAAE,KAAK;YACtB,qBAAqB,EAAE,KAAK;YAC5B,YAAY,cAAA;YACZ,IAAI,MAAA;YACJ,MAAM,QAAA;SACT,CAAC,CAAC;QAEH,WAAW,CAAC,SAAS,EAAE,CAAC,mBAAmB,CAAC;YACxC,iBAAiB;YACjB,WAAW,CAAC,OAAO,GAAG,UAAC,MAAM;gBACzB,MAAM,CAAC,YAAY,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;gBACvD,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACpC,CAAC,CAAC;YACF,KAAK,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,WAAY,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;YAE5E,UAAU;YACV,MAAM,CAAC,yBAAyB,EAAE,CAAC;YACnC,MAAM,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;YACxC,IAAI,WAAW,EAAE;gBACb,WAAW,CAAC,OAAO,EAAE,CAAC;aACzB;YAED,gBAAgB;YAChB,cAAc,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YAE5C,8BAA8B;YAC9B,eAAe,CAAC,IAAI,GAAG,IAAK,CAAC;YAC7B,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;YAC3B,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;YAE/B,OAAO,CAAC,eAAe,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,mGAAmG;AACnG,IAAI,UAAwB,CAAC;AAC7B,IAAI,UAAsB,CAAC;AAC3B;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACrC,IAAI,CAAC,UAAU,EAAE;QACb,UAAU,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,UAAU,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;KAClD;IAED,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IACtB,IAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAExB,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,kBAAkB;IACjD,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,qCAAqC;IACjE,IAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,8BAA8B;IAE1D;kCAC8B;IAC9B,IAAI,CAAC,GAAG,GAAG,EAAE;QACT,OAAO,IAAI,CAAC;KACf;IAED,kEAAkE;IAClE,IAAI,CAAC,GAAG,GAAG,EAAE;QACT,IAAI,IAAI,MAAM,CAAC;QACf;+DACuD;QACvD,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;KACf;IAED,gEAAgE;IAChE,IAAI,CAAC,GAAG,GAAG,EAAE;QACT,CAAC,IAAI,MAAM,CAAC;QACZ;+BACuB;QACvB,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;KACf;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IACd,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa;IACvC,IAAM,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IACjC,IAAM,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IACjC,IAAM,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC;IAEzB,IAAI,CAAC,KAAK,CAAC,EAAE;QACT,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;KAClE;SAAM,IAAI,CAAC,IAAI,IAAI,EAAE;QAClB,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC;KAC9C;IAED,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,IAAM,YAAY,GAAG;IACxB;;;;;;;OAOG;IACH,iBAAiB,mBAAA;IAEjB;;;;;;;;;OASG;IACH,gBAAgB,kBAAA;IAChB;;;;OAIG;IACH,WAAW,aAAA;IAEX;;;;OAIG;IACH,aAAa,eAAA;CAChB,CAAC","sourcesContent":["import { InternalTexture } from \"../Materials/Textures/internalTexture\";\r\nimport { Texture } from \"../Materials/Textures/texture\";\r\nimport { RenderTargetTexture } from \"../Materials/Textures/renderTargetTexture\";\r\nimport { PassPostProcess } from \"../PostProcesses/passPostProcess\";\r\n\r\nimport { Scene } from \"../scene\";\r\nimport { PostProcess } from '../PostProcesses/postProcess';\r\nimport { Engine } from '../Engines/engine';\r\n\r\n/**\r\n * Uses the GPU to create a copy texture rescaled at a given size\r\n * @param texture Texture to copy from\r\n * @param width defines the desired width\r\n * @param height defines the desired height\r\n * @param useBilinearMode defines if bilinear mode has to be used\r\n * @return the generated texture\r\n */\r\nexport function CreateResizedCopy(texture: Texture, width: number, height: number, useBilinearMode: boolean = true): Texture {\r\n\r\n var scene = <Scene>texture.getScene();\r\n var engine = scene.getEngine();\r\n\r\n let rtt = new RenderTargetTexture(\r\n 'resized' + texture.name,\r\n { width: width, height: height },\r\n scene,\r\n !texture.noMipmap,\r\n true,\r\n (<InternalTexture>texture._texture).type,\r\n false,\r\n texture.samplingMode,\r\n false\r\n );\r\n\r\n rtt.wrapU = texture.wrapU;\r\n rtt.wrapV = texture.wrapV;\r\n rtt.uOffset = texture.uOffset;\r\n rtt.vOffset = texture.vOffset;\r\n rtt.uScale = texture.uScale;\r\n rtt.vScale = texture.vScale;\r\n rtt.uAng = texture.uAng;\r\n rtt.vAng = texture.vAng;\r\n rtt.wAng = texture.wAng;\r\n rtt.coordinatesIndex = texture.coordinatesIndex;\r\n rtt.level = texture.level;\r\n rtt.anisotropicFilteringLevel = texture.anisotropicFilteringLevel;\r\n (<InternalTexture>rtt._texture).isReady = false;\r\n\r\n texture.wrapU = Texture.CLAMP_ADDRESSMODE;\r\n texture.wrapV = Texture.CLAMP_ADDRESSMODE;\r\n\r\n let passPostProcess = new PassPostProcess(\"pass\", 1, null, useBilinearMode ? Texture.BILINEAR_SAMPLINGMODE : Texture.NEAREST_SAMPLINGMODE, engine, false, 0);\r\n passPostProcess.getEffect().executeWhenCompiled(() => {\r\n passPostProcess.onApply = function (effect) {\r\n effect.setTexture(\"textureSampler\", texture);\r\n };\r\n\r\n let internalTexture = rtt.renderTarget;\r\n\r\n if (internalTexture) {\r\n scene.postProcessManager.directRender([passPostProcess], internalTexture);\r\n\r\n engine.unBindFramebuffer(internalTexture);\r\n rtt.disposeFramebufferObjects();\r\n passPostProcess.dispose();\r\n\r\n rtt.getInternalTexture()!.isReady = true;\r\n }\r\n });\r\n\r\n return rtt;\r\n}\r\n\r\n/**\r\n * Apply a post process to a texture\r\n * @param postProcessName name of the fragment post process\r\n * @param internalTexture the texture to encode\r\n * @param scene the scene hosting the texture\r\n * @param type type of the output texture. If not provided, use the one from internalTexture\r\n * @param samplingMode sampling mode to use to sample the source texture. If not provided, use the one from internalTexture\r\n * @param format format of the output texture. If not provided, use the one from internalTexture\r\n * @return a promise with the internalTexture having its texture replaced by the result of the processing\r\n */\r\nexport function ApplyPostProcess(postProcessName: string, internalTexture: InternalTexture, scene: Scene, type?: number, samplingMode?: number, format?: number): Promise<InternalTexture> {\r\n // Gets everything ready.\r\n const engine = internalTexture.getEngine() as Engine;\r\n\r\n internalTexture.isReady = false;\r\n\r\n samplingMode = samplingMode ?? internalTexture.samplingMode;\r\n type = type ?? internalTexture.type;\r\n format = format ?? internalTexture.format;\r\n\r\n if (type === -1) {\r\n type = 0;\r\n }\r\n\r\n return new Promise((resolve) => {\r\n // Create the post process\r\n const postProcess = new PostProcess(\"postprocess\", postProcessName, null, null, 1, null, samplingMode, engine,\r\n false, undefined, type, undefined, null, false, format);\r\n\r\n // Hold the output of the decoding.\r\n const encodedTexture = engine.createRenderTargetTexture({ width: internalTexture.width, height: internalTexture.height }, {\r\n generateDepthBuffer: false,\r\n generateMipMaps: false,\r\n generateStencilBuffer: false,\r\n samplingMode,\r\n type,\r\n format\r\n });\r\n\r\n postProcess.getEffect().executeWhenCompiled(() => {\r\n // PP Render Pass\r\n postProcess.onApply = (effect) => {\r\n effect._bindTexture(\"textureSampler\", internalTexture);\r\n effect.setFloat2(\"scale\", 1, 1);\r\n };\r\n scene.postProcessManager.directRender([postProcess!], encodedTexture, true);\r\n\r\n // Cleanup\r\n engine.restoreDefaultFramebuffer();\r\n engine._releaseTexture(internalTexture);\r\n if (postProcess) {\r\n postProcess.dispose();\r\n }\r\n\r\n // Internal Swap\r\n encodedTexture._swapAndDie(internalTexture);\r\n\r\n // Ready to get rolling again.\r\n internalTexture.type = type!;\r\n internalTexture.format = 5;\r\n internalTexture.isReady = true;\r\n\r\n resolve(internalTexture);\r\n });\r\n });\r\n}\r\n\r\n// ref: http://stackoverflow.com/questions/32633585/how-do-you-convert-to-half-floats-in-javascript\r\nlet _FloatView: Float32Array;\r\nlet _Int32View: Int32Array;\r\n/**\r\n * Converts a number to half float\r\n * @param value number to convert\r\n * @returns converted number\r\n */\r\nexport function ToHalfFloat(value: number): number {\r\n if (!_FloatView) {\r\n _FloatView = new Float32Array(1);\r\n _Int32View = new Int32Array(_FloatView.buffer);\r\n }\r\n\r\n _FloatView[0] = value;\r\n const x = _Int32View[0];\r\n\r\n let bits = (x >> 16) & 0x8000; /* Get the sign */\r\n let m = (x >> 12) & 0x07ff; /* Keep one extra bit for rounding */\r\n const e = (x >> 23) & 0xff; /* Using int is faster here */\r\n\r\n /* If zero, or denormal, or exponent underflows too much for a denormal\r\n * half, return signed zero. */\r\n if (e < 103) {\r\n return bits;\r\n }\r\n\r\n /* If NaN, return NaN. If Inf or exponent overflow, return Inf. */\r\n if (e > 142) {\r\n bits |= 0x7c00;\r\n /* If exponent was 0xff and one mantissa bit was set, it means NaN,\r\n * not Inf, so make sure we set one mantissa bit too. */\r\n bits |= ((e == 255) ? 0 : 1) && (x & 0x007fffff);\r\n return bits;\r\n }\r\n\r\n /* If exponent underflows but not too much, return a denormal */\r\n if (e < 113) {\r\n m |= 0x0800;\r\n /* Extra rounding may overflow and set mantissa to 0 and exponent\r\n * to 1, which is OK. */\r\n bits |= (m >> (114 - e)) + ((m >> (113 - e)) & 1);\r\n return bits;\r\n }\r\n\r\n bits |= ((e - 112) << 10) | (m >> 1);\r\n bits += m & 1;\r\n return bits;\r\n}\r\n\r\n/**\r\n * Converts a half float to a number\r\n * @param value half float to convert\r\n * @returns converted half float\r\n */\r\nexport function FromHalfFloat(value: number): number {\r\n const s = (value & 0x8000) >> 15;\r\n const e = (value & 0x7C00) >> 10;\r\n const f = value & 0x03FF;\r\n\r\n if (e === 0) {\r\n return (s ? -1 : 1) * Math.pow(2, -14) * (f / Math.pow(2, 10));\r\n } else if (e == 0x1F) {\r\n return f ? NaN : ((s ? -1 : 1) * Infinity);\r\n }\r\n\r\n return (s ? -1 : 1) * Math.pow(2, e - 15) * (1 + (f / Math.pow(2, 10)));\r\n}\r\n\r\n/**\r\n * Class used to host texture specific utilities\r\n */\r\nexport const TextureTools = {\r\n /**\r\n * Uses the GPU to create a copy texture rescaled at a given size\r\n * @param texture Texture to copy from\r\n * @param width defines the desired width\r\n * @param height defines the desired height\r\n * @param useBilinearMode defines if bilinear mode has to be used\r\n * @return the generated texture\r\n */\r\n CreateResizedCopy,\r\n\r\n /**\r\n * Apply a post process to a texture\r\n * @param postProcessName name of the fragment post process\r\n * @param internalTexture the texture to encode\r\n * @param scene the scene hosting the texture\r\n * @param type type of the output texture. If not provided, use the one from internalTexture\r\n * @param samplingMode sampling mode to use to sample the source texture. If not provided, use the one from internalTexture\r\n * @param format format of the output texture. If not provided, use the one from internalTexture\r\n * @return a promise with the internalTexture having its texture replaced by the result of the processing\r\n */\r\n ApplyPostProcess,\r\n /**\r\n * Converts a number to half float\r\n * @param value number to convert\r\n * @returns converted number\r\n */\r\n ToHalfFloat,\r\n\r\n /**\r\n * Converts a half float to a number\r\n * @param value half float to convert\r\n * @returns converted half float\r\n */\r\n FromHalfFloat\r\n};\r\n"]}
|
package/Misc/tga.d.ts
CHANGED
|
@@ -1,43 +1,55 @@
|
|
|
1
1
|
import { InternalTexture } from "../Materials/Textures/internalTexture";
|
|
2
|
+
/**
|
|
3
|
+
* Gets the header of a TGA file
|
|
4
|
+
* @param data defines the TGA data
|
|
5
|
+
* @returns the header
|
|
6
|
+
*/
|
|
7
|
+
export declare function GetTGAHeader(data: Uint8Array): any;
|
|
8
|
+
/**
|
|
9
|
+
* Uploads TGA content to a Babylon Texture
|
|
10
|
+
* @hidden
|
|
11
|
+
*/
|
|
12
|
+
export declare function UploadContent(texture: InternalTexture, data: Uint8Array): void;
|
|
13
|
+
/** @hidden */
|
|
14
|
+
declare function _getImageData8bits(header: any, palettes: Uint8Array, pixel_data: Uint8Array, y_start: number, y_step: number, y_end: number, x_start: number, x_step: number, x_end: number): Uint8Array;
|
|
15
|
+
/** @hidden */
|
|
16
|
+
declare function _getImageData16bits(header: any, palettes: Uint8Array, pixel_data: Uint8Array, y_start: number, y_step: number, y_end: number, x_start: number, x_step: number, x_end: number): Uint8Array;
|
|
17
|
+
/** @hidden */
|
|
18
|
+
declare function _getImageData24bits(header: any, palettes: Uint8Array, pixel_data: Uint8Array, y_start: number, y_step: number, y_end: number, x_start: number, x_step: number, x_end: number): Uint8Array;
|
|
19
|
+
/** @hidden */
|
|
20
|
+
declare function _getImageData32bits(header: any, palettes: Uint8Array, pixel_data: Uint8Array, y_start: number, y_step: number, y_end: number, x_start: number, x_step: number, x_end: number): Uint8Array;
|
|
21
|
+
/** @hidden */
|
|
22
|
+
declare function _getImageDataGrey8bits(header: any, palettes: Uint8Array, pixel_data: Uint8Array, y_start: number, y_step: number, y_end: number, x_start: number, x_step: number, x_end: number): Uint8Array;
|
|
23
|
+
/** @hidden */
|
|
24
|
+
declare function _getImageDataGrey16bits(header: any, palettes: Uint8Array, pixel_data: Uint8Array, y_start: number, y_step: number, y_end: number, x_start: number, x_step: number, x_end: number): Uint8Array;
|
|
2
25
|
/**
|
|
3
26
|
* Based on jsTGALoader - Javascript loader for TGA file
|
|
4
27
|
* By Vincent Thibault
|
|
5
28
|
* @see http://blog.robrowser.com/javascript-tga-loader.html
|
|
6
29
|
*/
|
|
7
|
-
export declare
|
|
8
|
-
private static _TYPE_INDEXED;
|
|
9
|
-
private static _TYPE_RGB;
|
|
10
|
-
private static _TYPE_GREY;
|
|
11
|
-
private static _TYPE_RLE_INDEXED;
|
|
12
|
-
private static _TYPE_RLE_RGB;
|
|
13
|
-
private static _TYPE_RLE_GREY;
|
|
14
|
-
private static _ORIGIN_MASK;
|
|
15
|
-
private static _ORIGIN_SHIFT;
|
|
16
|
-
private static _ORIGIN_BL;
|
|
17
|
-
private static _ORIGIN_BR;
|
|
18
|
-
private static _ORIGIN_UL;
|
|
19
|
-
private static _ORIGIN_UR;
|
|
30
|
+
export declare const TGATools: {
|
|
20
31
|
/**
|
|
21
32
|
* Gets the header of a TGA file
|
|
22
33
|
* @param data defines the TGA data
|
|
23
34
|
* @returns the header
|
|
24
35
|
*/
|
|
25
|
-
|
|
36
|
+
GetTGAHeader: typeof GetTGAHeader;
|
|
26
37
|
/**
|
|
27
38
|
* Uploads TGA content to a Babylon Texture
|
|
28
39
|
* @hidden
|
|
29
40
|
*/
|
|
30
|
-
|
|
41
|
+
UploadContent: typeof UploadContent;
|
|
31
42
|
/** @hidden */
|
|
32
|
-
|
|
43
|
+
_getImageData8bits: typeof _getImageData8bits;
|
|
33
44
|
/** @hidden */
|
|
34
|
-
|
|
45
|
+
_getImageData16bits: typeof _getImageData16bits;
|
|
35
46
|
/** @hidden */
|
|
36
|
-
|
|
47
|
+
_getImageData24bits: typeof _getImageData24bits;
|
|
37
48
|
/** @hidden */
|
|
38
|
-
|
|
49
|
+
_getImageData32bits: typeof _getImageData32bits;
|
|
39
50
|
/** @hidden */
|
|
40
|
-
|
|
51
|
+
_getImageDataGrey8bits: typeof _getImageDataGrey8bits;
|
|
41
52
|
/** @hidden */
|
|
42
|
-
|
|
43
|
-
}
|
|
53
|
+
_getImageDataGrey16bits: typeof _getImageDataGrey16bits;
|
|
54
|
+
};
|
|
55
|
+
export {};
|