@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
|
@@ -1,30 +1,52 @@
|
|
|
1
1
|
import { Vector4 } from "../../Maths/math.vector";
|
|
2
2
|
import { Mesh } from "../mesh";
|
|
3
|
+
import { VertexData } from "../mesh.vertexData";
|
|
4
|
+
/**
|
|
5
|
+
* Creates the VertexData for a torus
|
|
6
|
+
* @param options an object used to set the following optional parameters for the box, required but can be empty
|
|
7
|
+
* * diameter the diameter of the torus, optional default 1
|
|
8
|
+
* * thickness the diameter of the tube forming the torus, optional default 0.5
|
|
9
|
+
* * tessellation the number of prism sides, 3 for a triangular prism, optional, default 24
|
|
10
|
+
* * sideOrientation optional and takes the values : Mesh.FRONTSIDE (default), Mesh.BACKSIDE or Mesh.DOUBLESIDE
|
|
11
|
+
* * frontUvs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the front side, optional, default vector4 (0, 0, 1, 1)
|
|
12
|
+
* * backUVs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the back side, optional, default vector4 (0, 0, 1, 1)
|
|
13
|
+
* @returns the VertexData of the torus
|
|
14
|
+
*/
|
|
15
|
+
export declare function CreateTorusVertexData(options: {
|
|
16
|
+
diameter?: number;
|
|
17
|
+
thickness?: number;
|
|
18
|
+
tessellation?: number;
|
|
19
|
+
sideOrientation?: number;
|
|
20
|
+
frontUVs?: Vector4;
|
|
21
|
+
backUVs?: Vector4;
|
|
22
|
+
}): VertexData;
|
|
23
|
+
/**
|
|
24
|
+
* Creates a torus mesh
|
|
25
|
+
* * The parameter `diameter` sets the diameter size (float) of the torus (default 1)
|
|
26
|
+
* * The parameter `thickness` sets the diameter size of the tube of the torus (float, default 0.5)
|
|
27
|
+
* * The parameter `tessellation` sets the number of torus sides (positive integer, default 16)
|
|
28
|
+
* * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE
|
|
29
|
+
* * If you create a double-sided mesh, you can choose what parts of the texture image to crop and stick respectively on the front and the back sides with the parameters `frontUVs` and `backUVs` (Vector4). Detail here : https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation
|
|
30
|
+
* * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created.
|
|
31
|
+
* @param name defines the name of the mesh
|
|
32
|
+
* @param options defines the options used to create the mesh
|
|
33
|
+
* @param scene defines the hosting scene
|
|
34
|
+
* @returns the torus mesh
|
|
35
|
+
* @see https://doc.babylonjs.com/how_to/set_shapes#torus
|
|
36
|
+
*/
|
|
37
|
+
export declare function CreateTorus(name: string, options: {
|
|
38
|
+
diameter?: number;
|
|
39
|
+
thickness?: number;
|
|
40
|
+
tessellation?: number;
|
|
41
|
+
updatable?: boolean;
|
|
42
|
+
sideOrientation?: number;
|
|
43
|
+
frontUVs?: Vector4;
|
|
44
|
+
backUVs?: Vector4;
|
|
45
|
+
}, scene: any): Mesh;
|
|
3
46
|
/**
|
|
4
47
|
* Class containing static functions to help procedurally build meshes
|
|
48
|
+
* @deprecated use CreateTorus instead
|
|
5
49
|
*/
|
|
6
|
-
export declare
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
* * The parameter `diameter` sets the diameter size (float) of the torus (default 1)
|
|
10
|
-
* * The parameter `thickness` sets the diameter size of the tube of the torus (float, default 0.5)
|
|
11
|
-
* * The parameter `tessellation` sets the number of torus sides (positive integer, default 16)
|
|
12
|
-
* * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE
|
|
13
|
-
* * If you create a double-sided mesh, you can choose what parts of the texture image to crop and stick respectively on the front and the back sides with the parameters `frontUVs` and `backUVs` (Vector4). Detail here : https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation
|
|
14
|
-
* * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created.
|
|
15
|
-
* @param name defines the name of the mesh
|
|
16
|
-
* @param options defines the options used to create the mesh
|
|
17
|
-
* @param scene defines the hosting scene
|
|
18
|
-
* @returns the torus mesh
|
|
19
|
-
* @see https://doc.babylonjs.com/how_to/set_shapes#torus
|
|
20
|
-
*/
|
|
21
|
-
static CreateTorus(name: string, options: {
|
|
22
|
-
diameter?: number;
|
|
23
|
-
thickness?: number;
|
|
24
|
-
tessellation?: number;
|
|
25
|
-
updatable?: boolean;
|
|
26
|
-
sideOrientation?: number;
|
|
27
|
-
frontUVs?: Vector4;
|
|
28
|
-
backUVs?: Vector4;
|
|
29
|
-
}, scene: any): Mesh;
|
|
30
|
-
}
|
|
50
|
+
export declare const TorusBuilder: {
|
|
51
|
+
CreateTorus: typeof CreateTorus;
|
|
52
|
+
};
|
|
@@ -1,7 +1,18 @@
|
|
|
1
|
-
import { Matrix, Vector3, Vector2 } from "../../Maths/math.vector";
|
|
2
|
-
import { Mesh } from "../mesh";
|
|
3
|
-
import { VertexData } from "../mesh.vertexData";
|
|
4
|
-
|
|
1
|
+
import { Matrix, Vector3, Vector2 } from "../../Maths/math.vector.js";
|
|
2
|
+
import { Mesh } from "../mesh.js";
|
|
3
|
+
import { VertexData } from "../mesh.vertexData.js";
|
|
4
|
+
/**
|
|
5
|
+
* Creates the VertexData for a torus
|
|
6
|
+
* @param options an object used to set the following optional parameters for the box, required but can be empty
|
|
7
|
+
* * diameter the diameter of the torus, optional default 1
|
|
8
|
+
* * thickness the diameter of the tube forming the torus, optional default 0.5
|
|
9
|
+
* * tessellation the number of prism sides, 3 for a triangular prism, optional, default 24
|
|
10
|
+
* * sideOrientation optional and takes the values : Mesh.FRONTSIDE (default), Mesh.BACKSIDE or Mesh.DOUBLESIDE
|
|
11
|
+
* * frontUvs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the front side, optional, default vector4 (0, 0, 1, 1)
|
|
12
|
+
* * backUVs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the back side, optional, default vector4 (0, 0, 1, 1)
|
|
13
|
+
* @returns the VertexData of the torus
|
|
14
|
+
*/
|
|
15
|
+
export function CreateTorusVertexData(options) {
|
|
5
16
|
var indices = [];
|
|
6
17
|
var positions = [];
|
|
7
18
|
var normals = [];
|
|
@@ -49,7 +60,37 @@ VertexData.CreateTorus = function (options) {
|
|
|
49
60
|
vertexData.normals = normals;
|
|
50
61
|
vertexData.uvs = uvs;
|
|
51
62
|
return vertexData;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Creates a torus mesh
|
|
66
|
+
* * The parameter `diameter` sets the diameter size (float) of the torus (default 1)
|
|
67
|
+
* * The parameter `thickness` sets the diameter size of the tube of the torus (float, default 0.5)
|
|
68
|
+
* * The parameter `tessellation` sets the number of torus sides (positive integer, default 16)
|
|
69
|
+
* * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE
|
|
70
|
+
* * If you create a double-sided mesh, you can choose what parts of the texture image to crop and stick respectively on the front and the back sides with the parameters `frontUVs` and `backUVs` (Vector4). Detail here : https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation
|
|
71
|
+
* * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created.
|
|
72
|
+
* @param name defines the name of the mesh
|
|
73
|
+
* @param options defines the options used to create the mesh
|
|
74
|
+
* @param scene defines the hosting scene
|
|
75
|
+
* @returns the torus mesh
|
|
76
|
+
* @see https://doc.babylonjs.com/how_to/set_shapes#torus
|
|
77
|
+
*/
|
|
78
|
+
export function CreateTorus(name, options, scene) {
|
|
79
|
+
var torus = new Mesh(name, scene);
|
|
80
|
+
options.sideOrientation = Mesh._GetDefaultSideOrientation(options.sideOrientation);
|
|
81
|
+
torus._originalBuilderSideOrientation = options.sideOrientation;
|
|
82
|
+
var vertexData = CreateTorusVertexData(options);
|
|
83
|
+
vertexData.applyToMesh(torus, options.updatable);
|
|
84
|
+
return torus;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Class containing static functions to help procedurally build meshes
|
|
88
|
+
* @deprecated use CreateTorus instead
|
|
89
|
+
*/
|
|
90
|
+
export var TorusBuilder = {
|
|
91
|
+
CreateTorus: CreateTorus
|
|
52
92
|
};
|
|
93
|
+
VertexData.CreateTorus = CreateTorusVertexData;
|
|
53
94
|
Mesh.CreateTorus = function (name, diameter, thickness, tessellation, scene, updatable, sideOrientation) {
|
|
54
95
|
var options = {
|
|
55
96
|
diameter: diameter,
|
|
@@ -58,37 +99,6 @@ Mesh.CreateTorus = function (name, diameter, thickness, tessellation, scene, upd
|
|
|
58
99
|
sideOrientation: sideOrientation,
|
|
59
100
|
updatable: updatable
|
|
60
101
|
};
|
|
61
|
-
return
|
|
102
|
+
return CreateTorus(name, options, scene);
|
|
62
103
|
};
|
|
63
|
-
/**
|
|
64
|
-
* Class containing static functions to help procedurally build meshes
|
|
65
|
-
*/
|
|
66
|
-
var TorusBuilder = /** @class */ (function () {
|
|
67
|
-
function TorusBuilder() {
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Creates a torus mesh
|
|
71
|
-
* * The parameter `diameter` sets the diameter size (float) of the torus (default 1)
|
|
72
|
-
* * The parameter `thickness` sets the diameter size of the tube of the torus (float, default 0.5)
|
|
73
|
-
* * The parameter `tessellation` sets the number of torus sides (positive integer, default 16)
|
|
74
|
-
* * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE
|
|
75
|
-
* * If you create a double-sided mesh, you can choose what parts of the texture image to crop and stick respectively on the front and the back sides with the parameters `frontUVs` and `backUVs` (Vector4). Detail here : https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation
|
|
76
|
-
* * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created.
|
|
77
|
-
* @param name defines the name of the mesh
|
|
78
|
-
* @param options defines the options used to create the mesh
|
|
79
|
-
* @param scene defines the hosting scene
|
|
80
|
-
* @returns the torus mesh
|
|
81
|
-
* @see https://doc.babylonjs.com/how_to/set_shapes#torus
|
|
82
|
-
*/
|
|
83
|
-
TorusBuilder.CreateTorus = function (name, options, scene) {
|
|
84
|
-
var torus = new Mesh(name, scene);
|
|
85
|
-
options.sideOrientation = Mesh._GetDefaultSideOrientation(options.sideOrientation);
|
|
86
|
-
torus._originalBuilderSideOrientation = options.sideOrientation;
|
|
87
|
-
var vertexData = VertexData.CreateTorus(options);
|
|
88
|
-
vertexData.applyToMesh(torus, options.updatable);
|
|
89
|
-
return torus;
|
|
90
|
-
};
|
|
91
|
-
return TorusBuilder;
|
|
92
|
-
}());
|
|
93
|
-
export { TorusBuilder };
|
|
94
104
|
//# sourceMappingURL=torusBuilder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"torusBuilder.js","sourceRoot":"","sources":["../../../../sourceES6/core/Meshes/Builders/torusBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,IAAI,EAAwB,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"torusBuilder.js","sourceRoot":"","sources":["../../../../sourceES6/core/Meshes/Builders/torusBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import { Vector4, Matrix, Vector3, Vector2 } from \"../../Maths/math.vector\";\r\nimport { Mesh, _CreationDataStorage } from \"../mesh\";\r\nimport { VertexData } from \"../mesh.vertexData\";\r\nimport { Scene } from \"../../scene\";\r\n\r\n/**\r\n * Creates the VertexData for a torus\r\n * @param options an object used to set the following optional parameters for the box, required but can be empty\r\n * * diameter the diameter of the torus, optional default 1\r\n * * thickness the diameter of the tube forming the torus, optional default 0.5\r\n * * tessellation the number of prism sides, 3 for a triangular prism, optional, default 24\r\n * * sideOrientation optional and takes the values : Mesh.FRONTSIDE (default), Mesh.BACKSIDE or Mesh.DOUBLESIDE\r\n * * frontUvs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the front side, optional, default vector4 (0, 0, 1, 1)\r\n * * backUVs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the back side, optional, default vector4 (0, 0, 1, 1)\r\n * @returns the VertexData of the torus\r\n */\r\nexport function CreateTorusVertexData(options: { diameter?: number, thickness?: number, tessellation?: number, sideOrientation?: number, frontUVs?: Vector4, backUVs?: Vector4 }) {\r\n var indices = [];\r\n var positions = [];\r\n var normals = [];\r\n var uvs = [];\r\n\r\n var diameter = options.diameter || 1;\r\n var thickness = options.thickness || 0.5;\r\n var tessellation = options.tessellation || 16;\r\n var sideOrientation = (options.sideOrientation === 0) ? 0 : options.sideOrientation || VertexData.DEFAULTSIDE;\r\n\r\n var stride = tessellation + 1;\r\n\r\n for (var i = 0; i <= tessellation; i++) {\r\n var u = i / tessellation;\r\n\r\n var outerAngle = i * Math.PI * 2.0 / tessellation - Math.PI / 2.0;\r\n\r\n var transform = Matrix.Translation(diameter / 2.0, 0, 0).multiply(Matrix.RotationY(outerAngle));\r\n\r\n for (var j = 0; j <= tessellation; j++) {\r\n var v = 1 - j / tessellation;\r\n\r\n var innerAngle = j * Math.PI * 2.0 / tessellation + Math.PI;\r\n var dx = Math.cos(innerAngle);\r\n var dy = Math.sin(innerAngle);\r\n\r\n // Create a vertex.\r\n var normal = new Vector3(dx, dy, 0);\r\n var position = normal.scale(thickness / 2);\r\n var textureCoordinate = new Vector2(u, v);\r\n\r\n position = Vector3.TransformCoordinates(position, transform);\r\n normal = Vector3.TransformNormal(normal, transform);\r\n\r\n positions.push(position.x, position.y, position.z);\r\n normals.push(normal.x, normal.y, normal.z);\r\n uvs.push(textureCoordinate.x, textureCoordinate.y);\r\n\r\n // And create indices for two triangles.\r\n var nextI = (i + 1) % stride;\r\n var nextJ = (j + 1) % stride;\r\n\r\n indices.push(i * stride + j);\r\n indices.push(i * stride + nextJ);\r\n indices.push(nextI * stride + j);\r\n\r\n indices.push(i * stride + nextJ);\r\n indices.push(nextI * stride + nextJ);\r\n indices.push(nextI * stride + j);\r\n }\r\n }\r\n\r\n // Sides\r\n VertexData._ComputeSides(sideOrientation, positions, indices, normals, uvs, options.frontUVs, options.backUVs);\r\n\r\n // Result\r\n var vertexData = new VertexData();\r\n\r\n vertexData.indices = indices;\r\n vertexData.positions = positions;\r\n vertexData.normals = normals;\r\n vertexData.uvs = uvs;\r\n\r\n return vertexData;\r\n}\r\n\r\n/**\r\n * Creates a torus mesh\r\n * * The parameter `diameter` sets the diameter size (float) of the torus (default 1)\r\n * * The parameter `thickness` sets the diameter size of the tube of the torus (float, default 0.5)\r\n * * The parameter `tessellation` sets the number of torus sides (positive integer, default 16)\r\n * * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE\r\n * * If you create a double-sided mesh, you can choose what parts of the texture image to crop and stick respectively on the front and the back sides with the parameters `frontUVs` and `backUVs` (Vector4). Detail here : https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation\r\n * * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created.\r\n * @param name defines the name of the mesh\r\n * @param options defines the options used to create the mesh\r\n * @param scene defines the hosting scene\r\n * @returns the torus mesh\r\n * @see https://doc.babylonjs.com/how_to/set_shapes#torus\r\n */\r\nexport function CreateTorus(name: string, options: { diameter?: number, thickness?: number, tessellation?: number, updatable?: boolean, sideOrientation?: number, frontUVs?: Vector4, backUVs?: Vector4 }, scene: any): Mesh {\r\n var torus = new Mesh(name, scene);\r\n\r\n options.sideOrientation = Mesh._GetDefaultSideOrientation(options.sideOrientation);\r\n torus._originalBuilderSideOrientation = options.sideOrientation;\r\n\r\n var vertexData = CreateTorusVertexData(options);\r\n\r\n vertexData.applyToMesh(torus, options.updatable);\r\n\r\n return torus;\r\n}\r\n\r\n/**\r\n * Class containing static functions to help procedurally build meshes\r\n * @deprecated use CreateTorus instead\r\n */\r\nexport const TorusBuilder = {\r\n CreateTorus\r\n};\r\n\r\nVertexData.CreateTorus = CreateTorusVertexData;\r\n\r\nMesh.CreateTorus = (name: string, diameter: number, thickness: number, tessellation: number, scene?: Scene, updatable?: boolean, sideOrientation?: number): Mesh => {\r\n const options = {\r\n diameter,\r\n thickness,\r\n tessellation,\r\n sideOrientation,\r\n updatable\r\n };\r\n\r\n return CreateTorus(name, options, scene);\r\n};"]}
|
|
@@ -1,34 +1,62 @@
|
|
|
1
1
|
import { Vector4 } from "../../Maths/math.vector";
|
|
2
2
|
import { Mesh } from "../mesh";
|
|
3
|
+
import { VertexData } from "../mesh.vertexData";
|
|
4
|
+
/**
|
|
5
|
+
* Creates the VertexData for a TorusKnot
|
|
6
|
+
* @param options an object used to set the following optional parameters for the TorusKnot, required but can be empty
|
|
7
|
+
* * radius the radius of the torus knot, optional, default 2
|
|
8
|
+
* * tube the thickness of the tube, optional, default 0.5
|
|
9
|
+
* * radialSegments the number of sides on each tube segments, optional, default 32
|
|
10
|
+
* * tubularSegments the number of tubes to decompose the knot into, optional, default 32
|
|
11
|
+
* * p the number of windings around the z axis, optional, default 2
|
|
12
|
+
* * q the number of windings around the x axis, optional, default 3
|
|
13
|
+
* * sideOrientation optional and takes the values : Mesh.FRONTSIDE (default), Mesh.BACKSIDE or Mesh.DOUBLESIDE
|
|
14
|
+
* * frontUvs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the front side, optional, default vector4 (0, 0, 1, 1)
|
|
15
|
+
* * backUVs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the back side, optional, default vector4 (0, 0, 1, 1)
|
|
16
|
+
* @returns the VertexData of the Torus Knot
|
|
17
|
+
*/
|
|
18
|
+
export declare function CreateTorusKnotVertexData(options: {
|
|
19
|
+
radius?: number;
|
|
20
|
+
tube?: number;
|
|
21
|
+
radialSegments?: number;
|
|
22
|
+
tubularSegments?: number;
|
|
23
|
+
p?: number;
|
|
24
|
+
q?: number;
|
|
25
|
+
sideOrientation?: number;
|
|
26
|
+
frontUVs?: Vector4;
|
|
27
|
+
backUVs?: Vector4;
|
|
28
|
+
}): VertexData;
|
|
29
|
+
/**
|
|
30
|
+
* Creates a torus knot mesh
|
|
31
|
+
* * The parameter `radius` sets the global radius size (float) of the torus knot (default 2)
|
|
32
|
+
* * The parameter `radialSegments` sets the number of sides on each tube segments (positive integer, default 32)
|
|
33
|
+
* * The parameter `tubularSegments` sets the number of tubes to decompose the knot into (positive integer, default 32)
|
|
34
|
+
* * The parameters `p` and `q` are the number of windings on each axis (positive integers, default 2 and 3)
|
|
35
|
+
* * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE
|
|
36
|
+
* * If you create a double-sided mesh, you can choose what parts of the texture image to crop and stick respectively on the front and the back sides with the parameters `frontUVs` and `backUVs` (Vector4). Detail here : https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation
|
|
37
|
+
* * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created.
|
|
38
|
+
* @param name defines the name of the mesh
|
|
39
|
+
* @param options defines the options used to create the mesh
|
|
40
|
+
* @param scene defines the hosting scene
|
|
41
|
+
* @returns the torus knot mesh
|
|
42
|
+
* @see https://doc.babylonjs.com/how_to/set_shapes#torus-knot
|
|
43
|
+
*/
|
|
44
|
+
export declare function CreateTorusKnot(name: string, options: {
|
|
45
|
+
radius?: number;
|
|
46
|
+
tube?: number;
|
|
47
|
+
radialSegments?: number;
|
|
48
|
+
tubularSegments?: number;
|
|
49
|
+
p?: number;
|
|
50
|
+
q?: number;
|
|
51
|
+
updatable?: boolean;
|
|
52
|
+
sideOrientation?: number;
|
|
53
|
+
frontUVs?: Vector4;
|
|
54
|
+
backUVs?: Vector4;
|
|
55
|
+
}, scene: any): Mesh;
|
|
3
56
|
/**
|
|
4
57
|
* Class containing static functions to help procedurally build meshes
|
|
58
|
+
* @deprecated use CreateTorusKnot instead
|
|
5
59
|
*/
|
|
6
|
-
export declare
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
* * The parameter `radius` sets the global radius size (float) of the torus knot (default 2)
|
|
10
|
-
* * The parameter `radialSegments` sets the number of sides on each tube segments (positive integer, default 32)
|
|
11
|
-
* * The parameter `tubularSegments` sets the number of tubes to decompose the knot into (positive integer, default 32)
|
|
12
|
-
* * The parameters `p` and `q` are the number of windings on each axis (positive integers, default 2 and 3)
|
|
13
|
-
* * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE
|
|
14
|
-
* * If you create a double-sided mesh, you can choose what parts of the texture image to crop and stick respectively on the front and the back sides with the parameters `frontUVs` and `backUVs` (Vector4). Detail here : https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation
|
|
15
|
-
* * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created.
|
|
16
|
-
* @param name defines the name of the mesh
|
|
17
|
-
* @param options defines the options used to create the mesh
|
|
18
|
-
* @param scene defines the hosting scene
|
|
19
|
-
* @returns the torus knot mesh
|
|
20
|
-
* @see https://doc.babylonjs.com/how_to/set_shapes#torus-knot
|
|
21
|
-
*/
|
|
22
|
-
static CreateTorusKnot(name: string, options: {
|
|
23
|
-
radius?: number;
|
|
24
|
-
tube?: number;
|
|
25
|
-
radialSegments?: number;
|
|
26
|
-
tubularSegments?: number;
|
|
27
|
-
p?: number;
|
|
28
|
-
q?: number;
|
|
29
|
-
updatable?: boolean;
|
|
30
|
-
sideOrientation?: number;
|
|
31
|
-
frontUVs?: Vector4;
|
|
32
|
-
backUVs?: Vector4;
|
|
33
|
-
}, scene: any): Mesh;
|
|
34
|
-
}
|
|
60
|
+
export declare const TorusKnotBuilder: {
|
|
61
|
+
CreateTorusKnot: typeof CreateTorusKnot;
|
|
62
|
+
};
|
|
@@ -1,7 +1,22 @@
|
|
|
1
|
-
import { Vector3 } from "../../Maths/math.vector";
|
|
2
|
-
import { Mesh } from "../mesh";
|
|
3
|
-
import { VertexData } from "../mesh.vertexData";
|
|
4
|
-
|
|
1
|
+
import { Vector3 } from "../../Maths/math.vector.js";
|
|
2
|
+
import { Mesh } from "../mesh.js";
|
|
3
|
+
import { VertexData } from "../mesh.vertexData.js";
|
|
4
|
+
// based on http://code.google.com/p/away3d/source/browse/trunk/fp10/Away3D/src/away3d/primitives/TorusKnot.as?spec=svn2473&r=2473
|
|
5
|
+
/**
|
|
6
|
+
* Creates the VertexData for a TorusKnot
|
|
7
|
+
* @param options an object used to set the following optional parameters for the TorusKnot, required but can be empty
|
|
8
|
+
* * radius the radius of the torus knot, optional, default 2
|
|
9
|
+
* * tube the thickness of the tube, optional, default 0.5
|
|
10
|
+
* * radialSegments the number of sides on each tube segments, optional, default 32
|
|
11
|
+
* * tubularSegments the number of tubes to decompose the knot into, optional, default 32
|
|
12
|
+
* * p the number of windings around the z axis, optional, default 2
|
|
13
|
+
* * q the number of windings around the x axis, optional, default 3
|
|
14
|
+
* * sideOrientation optional and takes the values : Mesh.FRONTSIDE (default), Mesh.BACKSIDE or Mesh.DOUBLESIDE
|
|
15
|
+
* * frontUvs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the front side, optional, default vector4 (0, 0, 1, 1)
|
|
16
|
+
* * backUVs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the back side, optional, default vector4 (0, 0, 1, 1)
|
|
17
|
+
* @returns the VertexData of the Torus Knot
|
|
18
|
+
*/
|
|
19
|
+
export function CreateTorusKnotVertexData(options) {
|
|
5
20
|
var indices = new Array();
|
|
6
21
|
var positions = new Array();
|
|
7
22
|
var normals = new Array();
|
|
@@ -76,7 +91,38 @@ VertexData.CreateTorusKnot = function (options) {
|
|
|
76
91
|
vertexData.normals = normals;
|
|
77
92
|
vertexData.uvs = uvs;
|
|
78
93
|
return vertexData;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Creates a torus knot mesh
|
|
97
|
+
* * The parameter `radius` sets the global radius size (float) of the torus knot (default 2)
|
|
98
|
+
* * The parameter `radialSegments` sets the number of sides on each tube segments (positive integer, default 32)
|
|
99
|
+
* * The parameter `tubularSegments` sets the number of tubes to decompose the knot into (positive integer, default 32)
|
|
100
|
+
* * The parameters `p` and `q` are the number of windings on each axis (positive integers, default 2 and 3)
|
|
101
|
+
* * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE
|
|
102
|
+
* * If you create a double-sided mesh, you can choose what parts of the texture image to crop and stick respectively on the front and the back sides with the parameters `frontUVs` and `backUVs` (Vector4). Detail here : https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation
|
|
103
|
+
* * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created.
|
|
104
|
+
* @param name defines the name of the mesh
|
|
105
|
+
* @param options defines the options used to create the mesh
|
|
106
|
+
* @param scene defines the hosting scene
|
|
107
|
+
* @returns the torus knot mesh
|
|
108
|
+
* @see https://doc.babylonjs.com/how_to/set_shapes#torus-knot
|
|
109
|
+
*/
|
|
110
|
+
export function CreateTorusKnot(name, options, scene) {
|
|
111
|
+
var torusKnot = new Mesh(name, scene);
|
|
112
|
+
options.sideOrientation = Mesh._GetDefaultSideOrientation(options.sideOrientation);
|
|
113
|
+
torusKnot._originalBuilderSideOrientation = options.sideOrientation;
|
|
114
|
+
var vertexData = CreateTorusKnotVertexData(options);
|
|
115
|
+
vertexData.applyToMesh(torusKnot, options.updatable);
|
|
116
|
+
return torusKnot;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Class containing static functions to help procedurally build meshes
|
|
120
|
+
* @deprecated use CreateTorusKnot instead
|
|
121
|
+
*/
|
|
122
|
+
export var TorusKnotBuilder = {
|
|
123
|
+
CreateTorusKnot: CreateTorusKnot
|
|
79
124
|
};
|
|
125
|
+
VertexData.CreateTorusKnot = CreateTorusKnotVertexData;
|
|
80
126
|
Mesh.CreateTorusKnot = function (name, radius, tube, radialSegments, tubularSegments, p, q, scene, updatable, sideOrientation) {
|
|
81
127
|
var options = {
|
|
82
128
|
radius: radius,
|
|
@@ -88,38 +134,6 @@ Mesh.CreateTorusKnot = function (name, radius, tube, radialSegments, tubularSegm
|
|
|
88
134
|
sideOrientation: sideOrientation,
|
|
89
135
|
updatable: updatable
|
|
90
136
|
};
|
|
91
|
-
return
|
|
137
|
+
return CreateTorusKnot(name, options, scene);
|
|
92
138
|
};
|
|
93
|
-
/**
|
|
94
|
-
* Class containing static functions to help procedurally build meshes
|
|
95
|
-
*/
|
|
96
|
-
var TorusKnotBuilder = /** @class */ (function () {
|
|
97
|
-
function TorusKnotBuilder() {
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Creates a torus knot mesh
|
|
101
|
-
* * The parameter `radius` sets the global radius size (float) of the torus knot (default 2)
|
|
102
|
-
* * The parameter `radialSegments` sets the number of sides on each tube segments (positive integer, default 32)
|
|
103
|
-
* * The parameter `tubularSegments` sets the number of tubes to decompose the knot into (positive integer, default 32)
|
|
104
|
-
* * The parameters `p` and `q` are the number of windings on each axis (positive integers, default 2 and 3)
|
|
105
|
-
* * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE
|
|
106
|
-
* * If you create a double-sided mesh, you can choose what parts of the texture image to crop and stick respectively on the front and the back sides with the parameters `frontUVs` and `backUVs` (Vector4). Detail here : https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation
|
|
107
|
-
* * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created.
|
|
108
|
-
* @param name defines the name of the mesh
|
|
109
|
-
* @param options defines the options used to create the mesh
|
|
110
|
-
* @param scene defines the hosting scene
|
|
111
|
-
* @returns the torus knot mesh
|
|
112
|
-
* @see https://doc.babylonjs.com/how_to/set_shapes#torus-knot
|
|
113
|
-
*/
|
|
114
|
-
TorusKnotBuilder.CreateTorusKnot = function (name, options, scene) {
|
|
115
|
-
var torusKnot = new Mesh(name, scene);
|
|
116
|
-
options.sideOrientation = Mesh._GetDefaultSideOrientation(options.sideOrientation);
|
|
117
|
-
torusKnot._originalBuilderSideOrientation = options.sideOrientation;
|
|
118
|
-
var vertexData = VertexData.CreateTorusKnot(options);
|
|
119
|
-
vertexData.applyToMesh(torusKnot, options.updatable);
|
|
120
|
-
return torusKnot;
|
|
121
|
-
};
|
|
122
|
-
return TorusKnotBuilder;
|
|
123
|
-
}());
|
|
124
|
-
export { TorusKnotBuilder };
|
|
125
139
|
//# sourceMappingURL=torusKnotBuilder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"torusKnotBuilder.js","sourceRoot":"","sources":["../../../../sourceES6/core/Meshes/Builders/torusKnotBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import { Vector4, Vector3 } from \"../../Maths/math.vector\";\r\nimport { Mesh, _CreationDataStorage } from \"../mesh\";\r\nimport { VertexData } from \"../mesh.vertexData\";\r\nimport { Scene } from \"../../scene\";\r\n\r\nVertexData.CreateTorusKnot = function (options: { radius?: number, tube?: number, radialSegments?: number, tubularSegments?: number, p?: number, q?: number, sideOrientation?: number, frontUVs?: Vector4, backUVs?: Vector4 }): VertexData {\r\n var indices = new Array<number>();\r\n var positions = new Array<number>();\r\n var normals = new Array<number>();\r\n var uvs = new Array<number>();\r\n\r\n var radius = options.radius || 2;\r\n var tube = options.tube || 0.5;\r\n var radialSegments = options.radialSegments || 32;\r\n var tubularSegments = options.tubularSegments || 32;\r\n var p = options.p || 2;\r\n var q = options.q || 3;\r\n var sideOrientation = (options.sideOrientation === 0) ? 0 : options.sideOrientation || VertexData.DEFAULTSIDE;\r\n\r\n // Helper\r\n var getPos = (angle: number) => {\r\n\r\n var cu = Math.cos(angle);\r\n var su = Math.sin(angle);\r\n var quOverP = q / p * angle;\r\n var cs = Math.cos(quOverP);\r\n\r\n var tx = radius * (2 + cs) * 0.5 * cu;\r\n var ty = radius * (2 + cs) * su * 0.5;\r\n var tz = radius * Math.sin(quOverP) * 0.5;\r\n\r\n return new Vector3(tx, ty, tz);\r\n };\r\n\r\n // Vertices\r\n var i: number;\r\n var j: number;\r\n for (i = 0; i <= radialSegments; i++) {\r\n var modI = i % radialSegments;\r\n var u = modI / radialSegments * 2 * p * Math.PI;\r\n var p1 = getPos(u);\r\n var p2 = getPos(u + 0.01);\r\n var tang = p2.subtract(p1);\r\n var n = p2.add(p1);\r\n\r\n var bitan = Vector3.Cross(tang, n);\r\n n = Vector3.Cross(bitan, tang);\r\n\r\n bitan.normalize();\r\n n.normalize();\r\n\r\n for (j = 0; j < tubularSegments; j++) {\r\n var modJ = j % tubularSegments;\r\n var v = modJ / tubularSegments * 2 * Math.PI;\r\n var cx = -tube * Math.cos(v);\r\n var cy = tube * Math.sin(v);\r\n\r\n positions.push(p1.x + cx * n.x + cy * bitan.x);\r\n positions.push(p1.y + cx * n.y + cy * bitan.y);\r\n positions.push(p1.z + cx * n.z + cy * bitan.z);\r\n\r\n uvs.push(i / radialSegments);\r\n uvs.push(j / tubularSegments);\r\n }\r\n }\r\n\r\n for (i = 0; i < radialSegments; i++) {\r\n for (j = 0; j < tubularSegments; j++) {\r\n var jNext = (j + 1) % tubularSegments;\r\n var a = i * tubularSegments + j;\r\n var b = (i + 1) * tubularSegments + j;\r\n var c = (i + 1) * tubularSegments + jNext;\r\n var d = i * tubularSegments + jNext;\r\n\r\n indices.push(d); indices.push(b); indices.push(a);\r\n indices.push(d); indices.push(c); indices.push(b);\r\n }\r\n }\r\n\r\n // Normals\r\n VertexData.ComputeNormals(positions, indices, normals);\r\n\r\n // Sides\r\n VertexData._ComputeSides(sideOrientation, positions, indices, normals, uvs, options.frontUVs, options.backUVs);\r\n\r\n // Result\r\n var vertexData = new VertexData();\r\n\r\n vertexData.indices = indices;\r\n vertexData.positions = positions;\r\n vertexData.normals = normals;\r\n vertexData.uvs = uvs;\r\n\r\n return vertexData;\r\n};\r\n\r\nMesh.CreateTorusKnot = (name: string, radius: number, tube: number, radialSegments: number, tubularSegments: number, p: number, q: number, scene?: Scene, updatable?: boolean, sideOrientation?: number): Mesh => {\r\n var options = {\r\n radius: radius,\r\n tube: tube,\r\n radialSegments: radialSegments,\r\n tubularSegments: tubularSegments,\r\n p: p,\r\n q: q,\r\n sideOrientation: sideOrientation,\r\n updatable: updatable\r\n };\r\n\r\n return TorusKnotBuilder.CreateTorusKnot(name, options, scene);\r\n};\r\n\r\n/**\r\n * Class containing static functions to help procedurally build meshes\r\n */\r\nexport class TorusKnotBuilder {\r\n /**\r\n * Creates a torus knot mesh\r\n * * The parameter `radius` sets the global radius size (float) of the torus knot (default 2)\r\n * * The parameter `radialSegments` sets the number of sides on each tube segments (positive integer, default 32)\r\n * * The parameter `tubularSegments` sets the number of tubes to decompose the knot into (positive integer, default 32)\r\n * * The parameters `p` and `q` are the number of windings on each axis (positive integers, default 2 and 3)\r\n * * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE\r\n * * If you create a double-sided mesh, you can choose what parts of the texture image to crop and stick respectively on the front and the back sides with the parameters `frontUVs` and `backUVs` (Vector4). Detail here : https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation\r\n * * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created.\r\n * @param name defines the name of the mesh\r\n * @param options defines the options used to create the mesh\r\n * @param scene defines the hosting scene\r\n * @returns the torus knot mesh\r\n * @see https://doc.babylonjs.com/how_to/set_shapes#torus-knot\r\n */\r\n public static CreateTorusKnot(name: string, options: { radius?: number, tube?: number, radialSegments?: number, tubularSegments?: number, p?: number, q?: number, updatable?: boolean, sideOrientation?: number, frontUVs?: Vector4, backUVs?: Vector4 }, scene: any): Mesh {\r\n var torusKnot = new Mesh(name, scene);\r\n\r\n options.sideOrientation = Mesh._GetDefaultSideOrientation(options.sideOrientation);\r\n torusKnot._originalBuilderSideOrientation = options.sideOrientation;\r\n\r\n var vertexData = VertexData.CreateTorusKnot(options);\r\n\r\n vertexData.applyToMesh(torusKnot, options.updatable);\r\n\r\n return torusKnot;\r\n }\r\n}"]}
|
|
1
|
+
{"version":3,"file":"torusKnotBuilder.js","sourceRoot":"","sources":["../../../../sourceES6/core/Meshes/Builders/torusKnotBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import { Vector4, Vector3 } from \"../../Maths/math.vector\";\r\nimport { Mesh, _CreationDataStorage } from \"../mesh\";\r\nimport { VertexData } from \"../mesh.vertexData\";\r\nimport { Scene } from \"../../scene\";\r\n\r\n// based on http://code.google.com/p/away3d/source/browse/trunk/fp10/Away3D/src/away3d/primitives/TorusKnot.as?spec=svn2473&r=2473\r\n/**\r\n * Creates the VertexData for a TorusKnot\r\n * @param options an object used to set the following optional parameters for the TorusKnot, required but can be empty\r\n * * radius the radius of the torus knot, optional, default 2\r\n * * tube the thickness of the tube, optional, default 0.5\r\n * * radialSegments the number of sides on each tube segments, optional, default 32\r\n * * tubularSegments the number of tubes to decompose the knot into, optional, default 32\r\n * * p the number of windings around the z axis, optional, default 2\r\n * * q the number of windings around the x axis, optional, default 3\r\n * * sideOrientation optional and takes the values : Mesh.FRONTSIDE (default), Mesh.BACKSIDE or Mesh.DOUBLESIDE\r\n * * frontUvs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the front side, optional, default vector4 (0, 0, 1, 1)\r\n * * backUVs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the back side, optional, default vector4 (0, 0, 1, 1)\r\n * @returns the VertexData of the Torus Knot\r\n */\r\nexport function CreateTorusKnotVertexData(options: { radius?: number, tube?: number, radialSegments?: number, tubularSegments?: number, p?: number, q?: number, sideOrientation?: number, frontUVs?: Vector4, backUVs?: Vector4 }): VertexData {\r\n var indices = new Array<number>();\r\n var positions = new Array<number>();\r\n var normals = new Array<number>();\r\n var uvs = new Array<number>();\r\n\r\n var radius = options.radius || 2;\r\n var tube = options.tube || 0.5;\r\n var radialSegments = options.radialSegments || 32;\r\n var tubularSegments = options.tubularSegments || 32;\r\n var p = options.p || 2;\r\n var q = options.q || 3;\r\n var sideOrientation = (options.sideOrientation === 0) ? 0 : options.sideOrientation || VertexData.DEFAULTSIDE;\r\n\r\n // Helper\r\n var getPos = (angle: number) => {\r\n\r\n var cu = Math.cos(angle);\r\n var su = Math.sin(angle);\r\n var quOverP = q / p * angle;\r\n var cs = Math.cos(quOverP);\r\n\r\n var tx = radius * (2 + cs) * 0.5 * cu;\r\n var ty = radius * (2 + cs) * su * 0.5;\r\n var tz = radius * Math.sin(quOverP) * 0.5;\r\n\r\n return new Vector3(tx, ty, tz);\r\n };\r\n\r\n // Vertices\r\n var i: number;\r\n var j: number;\r\n for (i = 0; i <= radialSegments; i++) {\r\n var modI = i % radialSegments;\r\n var u = modI / radialSegments * 2 * p * Math.PI;\r\n var p1 = getPos(u);\r\n var p2 = getPos(u + 0.01);\r\n var tang = p2.subtract(p1);\r\n var n = p2.add(p1);\r\n\r\n var bitan = Vector3.Cross(tang, n);\r\n n = Vector3.Cross(bitan, tang);\r\n\r\n bitan.normalize();\r\n n.normalize();\r\n\r\n for (j = 0; j < tubularSegments; j++) {\r\n var modJ = j % tubularSegments;\r\n var v = modJ / tubularSegments * 2 * Math.PI;\r\n var cx = -tube * Math.cos(v);\r\n var cy = tube * Math.sin(v);\r\n\r\n positions.push(p1.x + cx * n.x + cy * bitan.x);\r\n positions.push(p1.y + cx * n.y + cy * bitan.y);\r\n positions.push(p1.z + cx * n.z + cy * bitan.z);\r\n\r\n uvs.push(i / radialSegments);\r\n uvs.push(j / tubularSegments);\r\n }\r\n }\r\n\r\n for (i = 0; i < radialSegments; i++) {\r\n for (j = 0; j < tubularSegments; j++) {\r\n var jNext = (j + 1) % tubularSegments;\r\n var a = i * tubularSegments + j;\r\n var b = (i + 1) * tubularSegments + j;\r\n var c = (i + 1) * tubularSegments + jNext;\r\n var d = i * tubularSegments + jNext;\r\n\r\n indices.push(d); indices.push(b); indices.push(a);\r\n indices.push(d); indices.push(c); indices.push(b);\r\n }\r\n }\r\n\r\n // Normals\r\n VertexData.ComputeNormals(positions, indices, normals);\r\n\r\n // Sides\r\n VertexData._ComputeSides(sideOrientation, positions, indices, normals, uvs, options.frontUVs, options.backUVs);\r\n\r\n // Result\r\n var vertexData = new VertexData();\r\n\r\n vertexData.indices = indices;\r\n vertexData.positions = positions;\r\n vertexData.normals = normals;\r\n vertexData.uvs = uvs;\r\n\r\n return vertexData;\r\n}\r\n\r\n/**\r\n * Creates a torus knot mesh\r\n * * The parameter `radius` sets the global radius size (float) of the torus knot (default 2)\r\n * * The parameter `radialSegments` sets the number of sides on each tube segments (positive integer, default 32)\r\n * * The parameter `tubularSegments` sets the number of tubes to decompose the knot into (positive integer, default 32)\r\n * * The parameters `p` and `q` are the number of windings on each axis (positive integers, default 2 and 3)\r\n * * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE\r\n * * If you create a double-sided mesh, you can choose what parts of the texture image to crop and stick respectively on the front and the back sides with the parameters `frontUVs` and `backUVs` (Vector4). Detail here : https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation\r\n * * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created.\r\n * @param name defines the name of the mesh\r\n * @param options defines the options used to create the mesh\r\n * @param scene defines the hosting scene\r\n * @returns the torus knot mesh\r\n * @see https://doc.babylonjs.com/how_to/set_shapes#torus-knot\r\n */\r\nexport function CreateTorusKnot(name: string, options: { radius?: number, tube?: number, radialSegments?: number, tubularSegments?: number, p?: number, q?: number, updatable?: boolean, sideOrientation?: number, frontUVs?: Vector4, backUVs?: Vector4 }, scene: any): Mesh {\r\n var torusKnot = new Mesh(name, scene);\r\n\r\n options.sideOrientation = Mesh._GetDefaultSideOrientation(options.sideOrientation);\r\n torusKnot._originalBuilderSideOrientation = options.sideOrientation;\r\n\r\n var vertexData = CreateTorusKnotVertexData(options);\r\n\r\n vertexData.applyToMesh(torusKnot, options.updatable);\r\n\r\n return torusKnot;\r\n}\r\n/**\r\n * Class containing static functions to help procedurally build meshes\r\n * @deprecated use CreateTorusKnot instead\r\n */\r\nexport const TorusKnotBuilder = {\r\n CreateTorusKnot\r\n};\r\n\r\nVertexData.CreateTorusKnot = CreateTorusKnotVertexData;\r\n\r\nMesh.CreateTorusKnot = (name: string, radius: number, tube: number, radialSegments: number, tubularSegments: number, p: number, q: number, scene?: Scene, updatable?: boolean, sideOrientation?: number): Mesh => {\r\n const options = {\r\n radius,\r\n tube,\r\n radialSegments,\r\n tubularSegments,\r\n p,\r\n q,\r\n sideOrientation,\r\n updatable\r\n };\r\n\r\n return CreateTorusKnot(name, options, scene);\r\n};"]}
|
|
@@ -2,46 +2,48 @@ import { Nullable } from "../../types";
|
|
|
2
2
|
import { Scene } from "../../scene";
|
|
3
3
|
import { Vector3, Vector4 } from "../../Maths/math.vector";
|
|
4
4
|
import { Mesh } from "../mesh";
|
|
5
|
+
/**
|
|
6
|
+
* Creates a tube mesh.
|
|
7
|
+
* The tube is a parametric shape. It has no predefined shape. Its final shape will depend on the input parameters
|
|
8
|
+
* * The parameter `path` is a required array of successive Vector3. It is the curve used as the axis of the tube
|
|
9
|
+
* * The parameter `radius` (positive float, default 1) sets the tube radius size
|
|
10
|
+
* * The parameter `tessellation` (positive float, default 64) is the number of sides on the tubular surface
|
|
11
|
+
* * The parameter `radiusFunction` (javascript function, default null) is a vanilla javascript function. If it is not null, it overrides the parameter `radius`
|
|
12
|
+
* * This function is called on each point of the tube path and is passed the index `i` of the i-th point and the distance of this point from the first point of the path. It must return a radius value (positive float)
|
|
13
|
+
* * The parameter `arc` (positive float, maximum 1, default 1) is the ratio to apply to the tube circumference : 2 x PI x arc
|
|
14
|
+
* * The parameter `cap` sets the way the extruded shape is capped. Possible values : BABYLON.Mesh.NO_CAP (default), BABYLON.Mesh.CAP_START, BABYLON.Mesh.CAP_END, BABYLON.Mesh.CAP_ALL
|
|
15
|
+
* * The optional parameter `instance` is an instance of an existing Tube object to be updated with the passed `pathArray` parameter : https://doc.babylonjs.com/how_to/how_to_dynamically_morph_a_mesh#tube
|
|
16
|
+
* * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE
|
|
17
|
+
* * If you create a double-sided mesh, you can choose what parts of the texture image to crop and stick respectively on the front and the back sides with the parameters `frontUVs` and `backUVs` (Vector4). Detail here : https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation
|
|
18
|
+
* * The optional parameter `invertUV` (boolean, default false) swaps in the geometry the U and V coordinates to apply a texture
|
|
19
|
+
* * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created
|
|
20
|
+
* @param name defines the name of the mesh
|
|
21
|
+
* @param options defines the options used to create the mesh
|
|
22
|
+
* @param scene defines the hosting scene
|
|
23
|
+
* @returns the tube mesh
|
|
24
|
+
* @see https://doc.babylonjs.com/how_to/parametric_shapes
|
|
25
|
+
* @see https://doc.babylonjs.com/how_to/set_shapes#tube
|
|
26
|
+
*/
|
|
27
|
+
export declare function CreateTube(name: string, options: {
|
|
28
|
+
path: Vector3[];
|
|
29
|
+
radius?: number;
|
|
30
|
+
tessellation?: number;
|
|
31
|
+
radiusFunction?: {
|
|
32
|
+
(i: number, distance: number): number;
|
|
33
|
+
};
|
|
34
|
+
cap?: number;
|
|
35
|
+
arc?: number;
|
|
36
|
+
updatable?: boolean;
|
|
37
|
+
sideOrientation?: number;
|
|
38
|
+
frontUVs?: Vector4;
|
|
39
|
+
backUVs?: Vector4;
|
|
40
|
+
instance?: Mesh;
|
|
41
|
+
invertUV?: boolean;
|
|
42
|
+
}, scene?: Nullable<Scene>): Mesh;
|
|
5
43
|
/**
|
|
6
44
|
* Class containing static functions to help procedurally build meshes
|
|
45
|
+
* @deprecated use CreateTube directly
|
|
7
46
|
*/
|
|
8
|
-
export declare
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
* The tube is a parametric shape. It has no predefined shape. Its final shape will depend on the input parameters
|
|
12
|
-
* * The parameter `path` is a required array of successive Vector3. It is the curve used as the axis of the tube
|
|
13
|
-
* * The parameter `radius` (positive float, default 1) sets the tube radius size
|
|
14
|
-
* * The parameter `tessellation` (positive float, default 64) is the number of sides on the tubular surface
|
|
15
|
-
* * The parameter `radiusFunction` (javascript function, default null) is a vanilla javascript function. If it is not null, it overrides the parameter `radius`
|
|
16
|
-
* * This function is called on each point of the tube path and is passed the index `i` of the i-th point and the distance of this point from the first point of the path. It must return a radius value (positive float)
|
|
17
|
-
* * The parameter `arc` (positive float, maximum 1, default 1) is the ratio to apply to the tube circumference : 2 x PI x arc
|
|
18
|
-
* * The parameter `cap` sets the way the extruded shape is capped. Possible values : BABYLON.Mesh.NO_CAP (default), BABYLON.Mesh.CAP_START, BABYLON.Mesh.CAP_END, BABYLON.Mesh.CAP_ALL
|
|
19
|
-
* * The optional parameter `instance` is an instance of an existing Tube object to be updated with the passed `pathArray` parameter : https://doc.babylonjs.com/how_to/how_to_dynamically_morph_a_mesh#tube
|
|
20
|
-
* * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE
|
|
21
|
-
* * If you create a double-sided mesh, you can choose what parts of the texture image to crop and stick respectively on the front and the back sides with the parameters `frontUVs` and `backUVs` (Vector4). Detail here : https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation
|
|
22
|
-
* * The optional parameter `invertUV` (boolean, default false) swaps in the geometry the U and V coordinates to apply a texture
|
|
23
|
-
* * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created
|
|
24
|
-
* @param name defines the name of the mesh
|
|
25
|
-
* @param options defines the options used to create the mesh
|
|
26
|
-
* @param scene defines the hosting scene
|
|
27
|
-
* @returns the tube mesh
|
|
28
|
-
* @see https://doc.babylonjs.com/how_to/parametric_shapes
|
|
29
|
-
* @see https://doc.babylonjs.com/how_to/set_shapes#tube
|
|
30
|
-
*/
|
|
31
|
-
static CreateTube(name: string, options: {
|
|
32
|
-
path: Vector3[];
|
|
33
|
-
radius?: number;
|
|
34
|
-
tessellation?: number;
|
|
35
|
-
radiusFunction?: {
|
|
36
|
-
(i: number, distance: number): number;
|
|
37
|
-
};
|
|
38
|
-
cap?: number;
|
|
39
|
-
arc?: number;
|
|
40
|
-
updatable?: boolean;
|
|
41
|
-
sideOrientation?: number;
|
|
42
|
-
frontUVs?: Vector4;
|
|
43
|
-
backUVs?: Vector4;
|
|
44
|
-
instance?: Mesh;
|
|
45
|
-
invertUV?: boolean;
|
|
46
|
-
}, scene?: Nullable<Scene>): Mesh;
|
|
47
|
-
}
|
|
47
|
+
export declare const TubeBuilder: {
|
|
48
|
+
CreateTube: typeof CreateTube;
|
|
49
|
+
};
|