All Versions
126
Latest Version
Avg Release Cycle
5 days
Latest Release
-

Changelog History
Page 13

  • v4.2.0-alpha.0

    February 27, 2020
  • v4.1.0 Changes

    February 27, 2020

    โšก๏ธ Major updates

    • Node Material and Node material editor Doc (Deltakosh / TrevorDev)
    • ๐Ÿ‘ WebGPU preliminary support Doc (Sebavan)
    • โž• Added the "Cascaded Shadow Mapping" (CSM) shadow rendering technique (Popov72 (initiated by lockphase))
    • .basis texture file format support Doc (TrevorDev)
    • Navigation mesh and crowd of moving agents Doc (CedricGuillemet)
    • Added Points Cloud Particle System Doc (JohnK)
    • Classes decoupling ending up with smaller bundle sizes Blog (Deltakosh)
    • Babylon.js controls Doc (Sebavan / Deltakosh)
    • โšก๏ธ Massive WebXR updates (See below) (RaananW / TrevorDev)
    • Added support for Offscreen canvas Doc (Deltakosh)
    • Added support for multiple canvases with one engine Doc (Deltakosh)
    • โž• Added useReverseDepthBuffer to Engine which can provide greater z depth for distant objects without the cost of a logarithmic depth buffer (BenAdams)
    • Screen space reflections post-process Doc (julien-moreau)

    โšก๏ธ Updates

    General

    • โž• Add two new clip planes (5 and 6) to get a clip cube (MickPastor)
    • โž• Added support for dual shock gamepads (Deltakosh)
    • ๐Ÿ‘Œ Support Vive Focus 3Dof controller (TrevorDev)
    • ๐Ÿ‘ Planar positioning support for GizmoManager (Balupg)
    • ScaleGizmo and AxisScaleGizmo sensitivity factor (CedricGuillemet)
    • Individual gizmos can now be enabled/disabled (Balupg)
    • Unify preparation of instance attributes. Added MaterialHelper.PushAttributesForInstances (MarkusBillharz)
    • Added support for PBR irradiance map
    • โž• Added ability to set render camera on utility layer instead of using the latest active camera (TrevorDev)
    • ๐Ÿšš Move normalizeToUnitCube to transformNode instead of abstract mesh and add predicate to exclude sub objects when scaling (TrevorDev)
    • Method to check if device orientation is available (TrevorDev)
    • Added support for sound sprites Doc (Deltakosh)
    • Display Oculus Quest controller when using a Quest in WebVR (TrevorDev)
    • โž• Added startAndReleaseDragOnPointerEvents property to pointerDragBehavior which can be set to false for custom drag triggering (TrevorDev)
    • โž• Added optional picking predicate to pointerDragBehavior for filtering affected meshes (Exolun)
    • โž• Added accessor functions for PointerDragBehavior._options (Popov72)
    • Effect renderer to render one or multiple shader effects to a texture (TrevorDev)
    • โž• Added url parameters to web request modifiers (PierreLeBlond)
    • โž• Added VRExperienceHelper.exitVROnDoubleTap (Deltakosh)
    • โž• Added Scene.getTextureByUniqueID (aWeirdo)
    • โž• Added support for 180 VR videos in VideoDome (RaananW)
    • โž• Added optional parameter to use Euler angles in planeRotationGizmo (CedricGuillemet)
    • โž• Added AnimationGroup.onAnimationGroupLoopObservable (Deltakosh)
    • ๐Ÿ‘Œ Supports custom materials to generate glow through referenceMeshToUseItsOwnMaterial in the GlowLayer (sebavan)
    • โž• Added RawTexture2DArray to enable use of WebGL2 2D array textures by custom shaders (atg)
    • โž• Added multiview support for the shader material (and the line-mesh class) (RaananW)
    • โž• Added various (interpolation) functions to Path3D, also alignTangentsWithPath, slice, getClosestPositionTo (Poolminer)
    • ๐Ÿ‘ Allow setting of BABYLON.Basis.JSModuleURL and BABYLON.Basis.WasmModuleURL, for hosting the Basis transcoder locally (JasonAyre)
    • ๐Ÿ’ป PNG support for browsers not supporting SVG (RaananW)
    • Device orientation event permissions for iOS 13+ (RaananW)
    • โž• Added DirectionalLight.autoCalcShadowZBounds to automatically compute the shadowMinZ and shadowMaxZ values (Popov72)
    • โž• Added CascadedShadowGenerator.autoCalcDepthBounds to improve the shadow quality rendering (Popov72)
    • ๐Ÿ‘Œ Improved cascade blending in CSM shadow technique (Popov72)
    • Speed optimization when cascade blending is not used in CSM shadow technique (Popov72)
    • โž• Added RenderTargetTexture.getCustomRenderList to overload the render list at rendering time (and possibly for each layer (2DArray) / face (Cube)) (Popov72)
    • ๐Ÿ“œ Make sure all properties of CascadedShadowMap class are serialized/parsed (Popov72)
    • โž• Added textures/opacity.png file to the Playground (Popov72)
    • ๐Ÿ”จ Refactored the shadow generators code (Popov72)
    • ๐Ÿ‘Œ Supports clip planes with shadows (sebavan)
    • โž• Added Workbench color scheme for VSCode (drigax & Patrick Ryan)
    • Playground switch buttons are more intuitive (#7601) (RaananW)

    Engine

    • Improved instanceMesh with user defined custom buffers Doc (Deltakosh)
    • Morph targets now can morph UV channel as well (Deltakosh)
    • โž• Added MorphTarget support to the DepthRenderer, GeometryBufferRenderer and OutlineRenderer (MarkusBillharz)
    • โž• Added preprocessors for shaders to improve how shaders are compiled for WebGL1/2 or WebGPU (Deltakosh)
    • โž• Added enterPointerlock and exitPointerlock (Separated from enterFullscreen) (aWeirdo)
    • โž• Added support for vertexSource and fragmentSource parameters to ShaderMaterial (Deltakosh)

    Inspector

    • โž• Added support for Euler edition only for angles (can be turned off in the new inspector settings) (Deltakosh)
    • โž• Added an option to ignore backfaces for picking (can be turned on and off in the new inspector settings) (Deltakosh)
    • โž• Added support for ShadowGenerator (Deltakosh)
    • โž• Added support for scene normalization (Deltakosh)
    • โž• Added support for morph targets (Deltakosh)
    • โž• Added context menu to add SSAORenderingPipeline and SSAO2RenderingPipeline (Deltakosh)
    • โž• Added support for texture creation and assignments per material (Deltakosh)
    • โž• Added support for occlusion properties (Deltakosh)
    • Texture channels are now displayed in grayscale (Deltakosh)
    • Ambiant and metallic maps are displayed correctly on PBR material even when using ORM packed texture (Deltakosh)
    • โž• Added support for inspectable strings (Deltakosh)
    • โž• Added support for CreateScreenshotUsingRenderTarget (13djwright)
    • โž• Added support for Material.depthFunction property (Popov72)
    • โž• Added an optional config option initialTab (ycw)
    • โž• Added support for ImportAnimations (noalak)
    • โž• Added support for Cascaded Shadow Maps (Popov72)
    • โž• Added context menu to add NodeMaterial (Deltakosh)
    • โž• Added option to switch material per mesh (Deltakosh)

    Tools

    • โž• Added Tools.CreateScreenshotAsync and Tools.CreateScreenshotUsingRenderTargetAsync (mehmetoguzderin)
    • โž• Added Color3.toHSV(), Color3.toHSVToRef() and Color3.HSVtoRGBToRef() (Deltakosh)
    • โž• Added ShadowGenerator.onAfterShadowMapRenderObservable and ShadowGenerator.onAfterShadowMapMeshRenderObservable (Deltakosh)
    • โž• Added support for side by side and top bottom images in the PhotoDome (Deltakosh)
    • โž• Added playground ts-local (TypeScript support for local playground) (pjoe)
    • โž• Added RGBD Texture tools Sebavan
    • โฌ†๏ธ Bumped Monaco Editor to 0.18.1 and improved TypeScript compilation pipeline in the playground (sailro)
    • โž• Added support for clickable errors in the playground (sailro)
    • โž• Added a color picker and previewer for BABYLON.ColorX invocations in the playground (sailro)
    • โž• Added support for diffing snippets in the playground (sailro)
    • โž• Added diff navigator in the playground (sailro)
    • โž• Added custom filter to remove internals from the completion in the playground (sailro)
    • โž• Added support for tagging deprecated members (both in editor and for completion) in the playground (sailro)
    • โž• Added preview area pop up for NME (Kyle Belfort)
    • โž• Added comments to frames in NME (Kyle Belfort)
    • ๐Ÿ‘‰ Make frames resizable in NME (Kyle Belfort)
    • Implement NME Preview Area Redesign (Kyle Belfort)

    Meshes

    • โž• Added TransformNode.instantiateHierarchy() which try to instantiate (or clone) a node and its entire hiearchy (Deltakosh)
    • โž• Added new CreateTiledPlane and CreateTiledBox (JohnK)
    • โž• Added absolute scaling and rotation getters (haroldma)
    • ๐Ÿ‘‰ Added BILLBOARDMODE_USE_POSITION flag to billboards allowing use of camera positioning instead of orientation for mesh rotation (delaneyj)
    • โž• Added accessor functions for SubMesh._materialDefines (Popov72)
    • Generator type used in TrailMesh constructor is now TransformNode instead of AbstrachMesh (Popov72)
    • โž• Added the useVertexAlpha options to MeshBuilder.CreateDashedLines (Popov72)

    Physics

    • โšก๏ธ Update Ammo.js library to support global collision contact callbacks (MackeyK24)
    • โšก๏ธ Update Ammo.js library to allow native capsule shape impostors (MackeyK24)
    • โšก๏ธ Update Ammo.js library to allow your own broadphase overlapping pair cache (MackeyK24)
    • โšก๏ธ Update Ammo.js library for custom impostor shapes. PhysicsImpostor.CustomImposter type and AmmoJSPlugin.OnCreateCustomShape factoty function (MackeyK24)
    • โšก๏ธ Update Ammo.js library and AmmoJS plugin to support ellipsoid (CedricGuillemet)
    • โšก๏ธ Physics update substeps (CedricGuillemet)

    Loaders

    • โž• Added support for non-float accessors in animation data for glTF loader. (bghgary)
    • ๐Ÿ‘Œ Support loading cube data in the .basis loader (TrevorDev)
    • ๐Ÿ“‡ Load glTF extras into BJS metadata (pjoe)
    • โž• Added support for morph target names via mesh.extras.targetNames when loading a glTF (zeux)
    • โž• Added support for using HTTP range requests when loading MSFT_lod extension from a glTF binary. (bghgary)
    • โž• Added a flag to enable/disable creation of instances for glTF loader. (bghgary)
    • โž• Added an order property to glTF loader extensions to support reordering. (bghgary)
    • โž• Added support for GLTF clearcoat extension Sebavan
    • โž• Added support for GLTF specular extension Sebavan
    • โž• Added support for GLTF sheen extension Sebavan
    • โž• Added support for GLTF mesh quantization extension (zeux)
    • โž• Added support for 8 bone influences to glTF loader (zeux)
    • โž• Added support for animations import from separate files (noalak)
    • ๐Ÿ‘ท Use web workers to validate glTF to avoid blocking the main thread. (bghgary)
    • โšก๏ธ Update glTF validator to 2.0.0-dev.3.1. (bghgary)
    • ๐Ÿ›  Fix an issue with disposing materials and textures too aggressively in MSFT_lod loader extension. (bghgary)
    • Added experimental support for loading KTX2 files and KHR_texture_basisu glTF extension. (bghgary)

    Materials

    • โž• Added ShaderMaterial.setColor4Array (JonathanTron)
    • โž• Added ShaderMaterial.setArray4 (JonathanTron)
    • โž• Added get/set accessors for ShaderMaterial._shaderPath (Popov72)
    • โž• Added scene.environmentIntensity to control the IBL strength overall in a scene (Sebavan)
    • โž• Added support of image processing for WaterMaterial (julien-moreau)
    • โž• Added pbrBRDFConfiguration.useSpecularGlossinessInputEnergyConservation to allow Specular-Workflow energy conservation to be turned off (ColorDigital-PS).
    • โž• Added support for the freeze / unfreeze functions in ShaderMaterial (Popov72)
    • โž• Added depthFunction new property to Material base class (Popov72)
    • โž• Added setCompressedTextureExclusions method to Engine to allow for skipping compressed textures on certain files (abogartz)

    ScreenshotTools

    • โž• Added interface for argument size of screenshot methods (Dok11)
    • Implementation usage of precision in combination height and width params (Dok11)
    • โž• Added a parameter to CreateScreenshotUsingRenderTarget to render sprites (Popov72)

    Sounds

    • โž• Added ISoundOptions.skipCodecCheck to make Sound more flexible with URLs (nbduke)
    • โž• Added Scene.audioListenerPositionProvider property, to enable setting custom position of audio listener (Foxhoundn)

    Sprites

    • SpritePackedManager extends SpriteManager so that a sprite sheet with different size sprites can be used (JohnK)
    • MultiPickSprite and multiPickSpriteWithRay added to sprites (JohnK)
    • ๐Ÿ‘ SpritePackedManager support for JSON Objects that where not stringified, of with the frames parameter accepting Objects and Arrays (Pryme8)
    • โž• Added SpriteMap for creation of grid-based dynamically animated sprite atlas rendering (Beta) (Pryme8)
    • โž• Add SpriteManager.disableDepthWrite property (Popov72)

    WebXR / WebVR

    • WebXR webVR parity helpers (Vive, WMR, Oculus Rift) (TrevorDev)
    • Compliance with the mozilla WebXR emulator for chrome and firefox (RaananW)
    • ๐Ÿ‘‰ Use the same icon as in VR (RaananW)
    • Gamepad object is now exposed in the WebXRController class (RaananW)
    • ๐Ÿ‘ If canvas does not have WebXR support the scene will still render (mainly Firefox) (RaananW)
    • โž• Added support for foveated rendering in Oculus Quest (Deltakosh)
    • โž• Added option to configure the output canvas (RaananW)
    • ๐Ÿ‘Œ Supporting multisampled multiview rendering using the oculus multiview extension (RaananW)
    • ๐Ÿ—„ Preparing to deprecate supportsSession in favor of isSupportedSession (RaananW)
    • โž• Added onControllerModelLoaded observable for WebXR (RaananW)
    • ๐Ÿ’ป UI Button has options to set different session mode and reference type (RaananW)
    • โž• Added option to change the teleportation duration in the VRExperienceHelper class (https://github.com/LeoRodz)
    • โž• Added support to teleport the camera at constant speed in the VRExperienceHelper class (https://github.com/LeoRodz)
    • VRExperienceHelper has now an XR fallback to force XR usage (beta) (RaananW)
    • โž• Added option to change the teleportation easing function in the VRExperienceHelper class (https://github.com/LeoRodz)
    • ๐Ÿ Windows motion controller mapping corrected to XR (xr-standard) (RaananW)
    • Pointer-Event simulation for screen target ray mode (RaananW)
    • ๐Ÿ†• New observable that triggers when a session was initialized (RaananW)
    • WebXR teleportation can now be disabled after initialized or before created (RaananW)
    • ๐Ÿ†• New Features Manager for WebXR features (RaananW)
    • ๐Ÿ†• New features - Plane detection, Hit test, Background remover (RaananW)
    • XR Camera's API is Babylon-conform (position, rotationQuaternion, world matrix, direction etc') (#7239) (RaananW)
    • XR Input now using standard profiles and completely separated from the gamepad class (#7348) (RaananW)
    • Teleportation and controller selection are now WebXR features. (#7290) (RaananW)
    • Teleportation allows selecting direction before teleporting when using thumbstick / touchpad. (#7290) (RaananW)
    • It is now possible to force a certain profile type for the controllers (#7348) (RaananW)
    • WebXR camera is initialized on the first frame, including copying transformation from native camera (except for in AR) (#7389) (RaananW)
    • ๐Ÿ‘ Selection has gaze mode (which can be forced) and touch-screen support (#7395) (RaananW)
    • Laser pointers can be excluded from lighting influence so that they are always visible in WebXR / WebVR (#7323) (RaananW)
    • ๐Ÿ‘ Full support for the online motion controller repository (#7323) (RaananW)
    • ๐Ÿ†• New XR feature - XR Controller physics impostor for motion controllers / XR Input sources (RaananW)
    • Teleportation between different ground levels in WebXR is enabled (RaananW)
    • Utility Meshes for XR (teleportation ring, selection rays) can now be rendered using a utility layer (#7563) (RaananW)
    • ๐Ÿ‘ Teleportation supports snap-to (anchor) points (#7441) (RaananW)

    Ray

    • โž• Added Ray.intersectsAxis to translate screen to axis coordinates without checking collisions (horusscope)

    GUI

    • โž• Added xmlLoader to load GUI layouts from XML (null0924)
    • โž• Added disableMobilePrompt option to InputText for OculusQuest(and other android base VR devices) (shinyoshiaki)
    • โž• Added Button.delegatePickingToChildren to let buttons delegate hit testing to embedded controls (Deltakosh)
    • โž• Added Container.maxLayoutCycle and Container.logLayoutCycleErrors to get more control over layout cycles (Deltakosh)
    • โž• Added StackPanel.ignoreLayoutWarnings to disable console warnings when controls with percentage size are added to a StackPanel (Deltakosh)
    • โž• Added _getSVGAttribs functionality for loading multiple svg icons from an external svg file via icon id. Fixed bug for Chrome. Strip icon id from image url for firefox. (lockphase)
    • Scroll Viewer extended to include the use of images in the scroll bars(JohnK)
    • โž• Added ScrollViewer.freezeControls property to speed up rendering (Popov72)
    • โž• Added ImageScrollBar.num90RotationInVerticalMode property to let the user rotate the pictures when in vertical mode (Popov72)
    • Modified isPointerBlocker to block mouse wheel scroll events. ScrollViewer mouse scroll no longer dependent on scene. (lockphase)

    Particles

    • โž• Added particleSystem.isLocal for CPU particles to let the particles live in emitter local space. Doc (Deltakosh)
    • โž• Added the feature expandable to the Solid Particle System (jerome)
    • โž• Added the feature removeParticles() to the Solid Particle System (jerome)
    • โž• Added the feature "storable particles" and insertParticlesFromArray() to the Solid Particle System (jerome)
    • โž• Added the support for MultiMaterials to the Solid Particle System (jerome)
    • โž• Added support for CustomParticleEmitter. Doc (Deltakosh)
    • โž• Added support for MeshParticleEmitter. Doc (Deltakosh)

    Navigation Mesh

    • โž• Added moveAlong function to cast a segment on mavmesh (CedricGuillemet)

    Node Material

    • โž• Added Light intensity output to LightInformationBlock (Drigax)

    Serializers

    • โž• Added support for AnimationGroup serialization (Drigax)
    • Expanded animation group serialization to include all targeted TransformNodes (Drigax)

    Texture Packer

    • โž• Added TexturePacker Class (Pryme8)
    • โž• Added TexturePackerLoader Class (Pryme8)

    ๐Ÿ“š Documentation

    • โž• Added a note on shallow bounding of getBoundingInfo (tibotiber)
    • โž• Added a typo fix to the ArcRotateCamera setPosition method description (schm-dt)

    ๐Ÿ› Bug fixes

    • ๐Ÿ›  Fixed Textblock line spacing evaluation when linespacing > 0 (Deltakosh)
    • ๐Ÿ›  Fixed Xbox One gamepad controller button schemes (MackeyK24)
    • ๐Ÿšš Removing assetContainer from scene will also remove gui layers (TrevorDev)
    • A scene's input manager not adding key listeners when the canvas is already focused (Poolminer)
    • โš™ Runtime animation goToFrame when going back in time now correctly triggers future events when reached (zakhenry)
    • ๐Ÿ›  Fixed bug in Ray.intersectsTriangle where the barycentric coordinates bu and bv being returned is actually bv and bw. (bghgary)
    • Do not call onError when creating a texture when falling back to another loader (TrevorDev)
    • Context loss should not cause PBR materials to render black or instances to stop rendering (TrevorDev)
    • Only cast pointer ray input when pointer is locked in WebVR (TrevorDev)
    • ๐Ÿ›  Fix Right Hand coordinates with directional lights and shadows, hemispheric lights and spot lights (CedricGuillemet)
    • 0๏ธโƒฃ Avoid using default utility layer in gizmo manager to support multiple scenes (TrevorDev)
    • ๐Ÿ›  Fix bug when adding and removing observers in quick succession (sable)
    • โšก๏ธ Cannon and Ammo forceUpdate will no longer cause an unexpected exception (TrevorDev)
    • Loading the same multi-material twice and disposing one should not impact the other (TrevorDev)
    • GLTF exporter should no longer duplicate exported texture data (Drigax)
    • ๐Ÿ‘ป Avoid exception when disposing of Ammo cloth physics (TrevorDev)
    • ๐Ÿ‘‰ Make planeDragGizmo usable on its own (TrevorDev)
    • ๐Ÿ›  Fix useObjectOrienationForDragging for pointerDragBehavior when using a single axis drag (TrevorDev)
    • ๐Ÿ›  Fix VR button not positioning correctly in canvas (haroldma)
    • ๐Ÿ›  Fix check for material needing alpha blending in OutlineRenderer (mkmc)
    • ๐Ÿ›  Fixed: scene's input manager's detachControl doesn't remove a wheel event listener (RamilKadyrov)
    • ๐Ÿ›  Fixed Solid Particle System particle's idx and idxInShape initialization (RamilKadyrov)
    • โž• Added in ArcRotateCamera.storeState to save targetScreenOffset, in restoreState to restore it (RamilKadyrov)
    • ๐Ÿ›  Fixed CubeTexture to keep custom filesList when serializing/parsing (julien-moreau)
    • ๐Ÿ›  Fixed StandardRenderingPipeline to properly dispose post-processes from attached cameras (julien-moreau)
    • ๐Ÿ›  Fixed VolumetricLightScattering post-process to use a custom vertex shader instead of the depth vertex shader. (julien-moreau)
    • ๐Ÿ›  Fixed missing check in sceneTreeItemComponent resulting in gizmo to not end drag (CedricGuillemet)
    • โž• Added missing callback triggers within texture loaders (PierreLeBlond)
    • ๐Ÿ›  Fixed TextureLinkLineComponent to no longer invert inspector-loaded textures (Drigax)
    • ๐Ÿ›  Fixed a single frame drop after leaving webxr on some devices (RaananW)
    • ๐Ÿ›  Fixed bug where vignette aspect ratio would be wrong when rendering direct to canvas
    • ๐Ÿ›  Fixed Path2 length computation (Poolminer)
    • ๐Ÿ‘ฏ Cloning of ShaderMaterial also clone shaderPath and options properties (Popov72)
    • Prevent an infinite loop when calling engine.dispose() in a scene with multiple SoundTracks defined (kirbysayshi)
    • ๐Ÿ›  Fixed missing properties in serialization / parsing of coneParticleEmitter (Popov72)
    • ๐Ÿ›  Fix a bug with exit VR and Edge (RaananW)
    • ๐Ÿ›  Fixed an issue with size of texture in multiview (RaananW)
    • ๐Ÿ›  Fixed Path3D (bi)normals computation for specific edge cases (Poolminer)
    • ๐Ÿ’ป WebXR UI BUtton will only change to "In XR" after XR Session started (RaananW)
    • ๐Ÿ›  Fix bug when we call Mesh.render twice and the material is still not ready on the second call (barroij)
    • ๐Ÿ›  Fixed an issue with pose input in webxr (RaananW)
    • ๐Ÿ›  Fixed bug when parsing animation group without 'to' value (noalak)
    • isRightCamera and isLeftCamera were not set in WebXR (RaananW)
    • ๐Ÿฑ Sandbox will now load assets relatively path-ed to same folder (Kyle Belfort)
    • Playground will now render the returned scene from createScene() when there are multiple scenes added to engine (Kyle Belfort)
    • ๐Ÿ›  Fixed bug so Playground will now download .env texture files to ./textures in .zip (Kyle Belfort)
    • It was not possible to change the gaze and laser color in VR (#7323) (RaananW)
    • ๐Ÿ›  Fixed issue where textures exported using Safari web browser are Y mirrored. (#7352) (Drigax)
    • ๐Ÿ›  Fix a bug when resizing a MRT (Popov72)
    • ๐Ÿ›  Fixed an infinite clone recursion bug in InstancedMesh due to DeepCopier.DeepCopy cloning parent (Poolminer)
    • ๐Ÿ›  Fixed an issue with multiview textures (RaananW)
    • Screenshot height and width is now forced to be integers to prevent mismatch with openGL context (jekelija)
    • ๐Ÿ›  Fix shadow bound calculation in CSM shadow technique (Popov72)
    • Disposing of the depthReducer used in CSM (Popov72)
    • ๐Ÿ›  Fixed an issue with teleportation detach and attach (#7419) (RaananW)
    • Physics compound calculations were incorrect (#7407) (RaananW)
    • ๐Ÿ›  Fix bug NME bug where preview area crashes on pop up when NME is opened from playground (Kyle Belfort)
    • ๐Ÿ›  Fixed an issue with isSessionSupported return value being ignored (#7501) (RaananW)
    • โž• Added isRigCamera to rig cameras so they can be detected. Used to fix a bug with utility layer and WebXR (#7517) (RaananW)
    • ๐Ÿ›  Fixed bug in the ScrollViewer GUI class when setting a idealWidth or idealHeight on the ADT (Popov72)
    • ๐Ÿ›  Fixed bug in the Image GUI class where some properties were lost after a rotation by n x 90ยฐ (Popov72)
    • ๐Ÿ›  Fixed bug in the Image GUI class when rotating a SVG picture (Popov72)
    • ๐Ÿ›  Fix for bug where NME would crash if frames did not have comments (Kyle Belfort)
    • ๐Ÿ›  Fix wrong import of _TimeToken (Sebavan
    • ๐Ÿ›  Fix shadows not rendered correctly when using point lights (Popov72)
    • Prevent depth buffer clear in shadow maps (Sebavan
    • ๐Ÿ›  Fix for bug where the light gizmo causes lights to flip orientation (#7603) (drigax)
    • ๐Ÿ›  Fix for bug where directional lights are inverted when using a right handed scene coordinate system. (drigax)
    • ๐Ÿ›  Fix subSurface parameters not copied in the PBR clone methods (Popov72)
    • ๐Ÿ›  Fix for bug where round-tripped glTF imported scenes are encapsulated in a second root node (#6349)(drigax & noalak)
    • ๐Ÿ›  Fix HDRCubeTexture construction, generateHarmonics was not properly taken into account (Popov72)
    • VideoTexture poster respects invertY (Sebavan
    • ๐Ÿ›  Fix for bug where round-tripped glTF imported scenes have incorrect light orientation, and duplicated parent nodes (#7377)(drigax)
    • ๐Ÿ›  Fix bug in PBR sheen where the sheen effect could be a little darker than expected when using direct lighting (Popov72
    • ๐Ÿ›  Fix bug in PBR shader when reflectionTexture.linearSpecularLOD is true (Popov72)
    • ๐Ÿ›  Fix for bug where resizing the bottom of a frame at times will not work for any frame in the graph (#7377)(Kyle Belfort)
    • ๐Ÿ›  Fix bug in PBR sheen when used with clear coat and no env texture provided (Popov72)
    • ๐Ÿ›  Fix for bug where Preview Area pop up does not change background color across windows (#7377)(Kyle Belfort)
    • ๐Ÿ›  Fix for bug where comments would break out of frames and break resizing of frames (Kyle Belfort)
    • ๐Ÿ›  Fix for bug where frames without comments would display undefined at the bottom right corner (Kyle Belfort)

    ๐Ÿ’ฅ Breaking changes

    • โšก๏ธ Setting mesh.scaling to a new vector will no longer automatically call forceUpdate (this should be done manually when needed) (TrevorDev)
    • Tools.ExtractMinAndMaxIndexed and Tools.ExtractMinAndMax are now ambiant functions (available on BABYLON.extractMinAndMaxIndexed and BABYLON.extractMinAndMax) (Deltakosh)
    • ๐Ÿšš Tools.QueueNewFrame was removed in favor of Engine.QueueNewFrame (Deltakosh)
    • โœ‚ Removed external data from Engine (addExternalData, getExternalData, getOrAddExternalDataWithFactory, removeExternalData) (Deltakosh)
    • The glTF loader extensions that map to glTF 2.0 extensions will now be disabled if the extension is not present in extensionsUsed. (bghgary)
    • 0๏ธโƒฃ The STL loader does not create light or camera automatically, please use scene.createDefaultCameraOrLight(); in your code Sebavan
    • The glTF2 exporter extension no longer ignores childless empty nodes.(drigax)
    • Default culling strategy changed to CULLINGSTRATEGY_BOUNDINGSPHERE_ONLY (Deltakosh)
    • MaterialHelper.BindLight and MaterialHelper.BindLights do not need the usePhysicalLight anymore (Sebavan)
    • Mesh.bakeTransformIntoVertices now preserves child world-space transforms(drigax)
    • โœ‚ Removed setTexturesToUse and setCompressedTextureExclusions from Engine. (bghgary)
  • v4.1.0-rc.9

    February 25, 2020
  • v4.1.0-rc.8

    February 25, 2020
  • v4.1.0-rc.7

    February 24, 2020
  • v4.1.0-rc.6

    February 24, 2020