All Versions
126
Latest Version
Avg Release Cycle
5 days
Latest Release
-
Changelog History
Page 13
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 theGlowLayer
(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
andBABYLON.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 theshadowMinZ
andshadowMaxZ
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
andfragmentSource
parameters toShaderMaterial
(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
andSSAO2RenderingPipeline
(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
andTools.CreateScreenshotUsingRenderTargetAsync
(mehmetoguzderin) - ➕ Added
Color3.toHSV()
,Color3.toHSVToRef()
andColor3.HSVtoRGBToRef()
(Deltakosh) - ➕ Added
ShadowGenerator.onAfterShadowMapRenderObservable
andShadowGenerator.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 nowTransformNode
instead ofAbstrachMesh
(Popov72) - ➕ Added the
useVertexAlpha
options toMeshBuilder.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 inShaderMaterial
(Popov72) - ➕ Added
depthFunction
new property toMaterial
base class (Popov72) - ➕ Added
setCompressedTextureExclusions
method toEngine
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 makeSound
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
andContainer.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
📚 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 coordinatesbu
andbv
being returned is actuallybv
andbw
. (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 customfilesList
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 cloneshaderPath
andoptions
properties (Popov72) - Prevent an infinite loop when calling
engine.dispose()
in a scene with multipleSoundTracks
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 toDeepCopier.DeepCopy
cloningparent
(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 aidealWidth
oridealHeight
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
istrue
(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
andTools.ExtractMinAndMax
are now ambiant functions (available onBABYLON.extractMinAndMaxIndexed
andBABYLON.extractMinAndMax
) (Deltakosh)- 🚚
Tools.QueueNewFrame
was removed in favor ofEngine.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
andMaterialHelper.BindLights
do not need the usePhysicalLight anymore (Sebavan)Mesh.bakeTransformIntoVertices
now preserves child world-space transforms(drigax)- ✂ Removed
setTexturesToUse
andsetCompressedTextureExclusions
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