Releases: BabylonJS/Babylon.js
Releases · BabylonJS/Babylon.js
4.1.0-beta.9
Merge pull request #7285 from sebavan/master 4.1.0-beta.9 Former-commit-id: 3a9529d6dfa766e423313a8c3472d512ae0b4041
4.1.0-beta.3
Merge pull request #7155 from sebavan/master 4.1.0-beta.3 Former-commit-id: 2e5ec12a0537728b41c44cdbcd2a5a01e2246929
4.1.0-alpha.12
Merge pull request #6645 from sebavan/master 4.1.0-alpha.12 Former-commit-id: b855fe95064581d57398f2b40ac148583abbaad6
4.0.0
4.0.0
Major updates
- New fancy forum! (Deltakosh)
- Inspector v2.0. Dev log (Deltakosh)
- Added support for parallel shader compilation (Deltakosh)
- Added Object Based Motion Blur post-process (julien-moreau)
- Added support for ammo.js as a physics plugin (Composite objects, motors, joints) (TrevorDev)
- Added support for soft bodies, which are 3D softbody, 2D cloth and 1D rope, in ammo.js physics plugin (JohnK)
- Added support for Convex Hull Impostor using ammo.js plugin (MackeyK24)
- Added
AmmoJSPlugin
scene file loader (MackeyK24)
- Added support for WebXR (TrevorDev)
- Added
customAnimationFrameRequester
to allow sessions to hook into engine's render loop (TrevorDev) - Added
Camera customDefaultRenderTarget
to allow cameras to render to a custom render target (e.g., XR framebuffer) instead of the canvas (TrevorDev) - Added webXR camera which can be updated by a
webXRSession
(TrevorDev) - Added
webXRSessionManager
to bridgexrSession
to babylon's camera/engine (TrevorDev) - Added
webXRExperienceHelper
to setup a default XR experience (TrevorDev) - Added
WebXREnterExitUI
andWebXRManagedOutputCanvas
classes to configure the XR experience (TrevorDev) - Added
WebXRInput
to manage controllers for the XR experience (TrevorDev) - Control WebXR camera rotation using parent container (TrevorDev)
- Added
- GUI:
- Added
control.useBitmapCache
to optimize re-rendering of complex controls by keeping a cached version (Deltakosh) - Added new ImageBasedSlider to let users customize sliders using images (Deltakosh)
- Added support for clipboard events to let users perform
cut
,copy
andpaste
events (Saket Saurabh) - Added new ScrollViewer with mouse wheel scrolling for larger containers to be viewed using Sliders (JohnK and Deltakosh)
- Moved to a measure/draw mechanism (Deltakosh)
- Added support for nine patch stretch mode for images. (Deltakosh)
- Added invalidateRect to AdvancedDynamicTexture to improve perf for heavily populated GUIs, works with shadows (TrevorDev)
- Added
- Migrated the code to modules and deploy ES6 npm packages (Sebavan)
- Added TrailMesh class. Credit to furcatomasz (danjpar)
- Support rendering to a multiview outputRenderTargetTexture with multiview engine component to improve performance for XR scenarios (TrevorDev)
- PBR (Sebavan):
- Added clear coat
- Added anisotropy
- Added sheen
- Added sub-surface
- Added energy conservation through multiscattering BRDF
- Added Inspector Debug Mode
- Added Smith Height Correlated Visibility term (white paper)
- Added SH Harmonics
- Added STL exporter (pryme8)
Optimizations
- Added an engine creation option to compile all shaders with medium precision (Deltakosh)
- Optimized effect reused for shadow maps (Deltakosh)
- Added support for scissor testing (Deltakosh)
- Improved shader precision detection (Deltakosh)
- Added support for bone matrix texture, allowing skeletons to use a texture instead of uniforms when possible (Deltakosh)
- Refactored of the SolidParticleSystem code for performance and code quality improvement (barroij)
- Added per solid particle culling possibility:
solidParticle.isInFrustum()
(jerome) - Performance-oriented changes (barroij):
- Prevented avoidable matrix inversion or square root computation.
- Enabled constant-time removal from the
transformNodes
array andmaterials
array of theScene
. As a consequence, the order of the element within these arrays might change during a removal. - Enabled constant-time removal from the
instances
array of aMesh
. As a consequence, the order of the element within this array might change during a removal. - Stopped calling
Array.splice
on thescene.meshes
array and on theengine._uniformBuffer
when removing an element. As a consequence, the order of the element within these arrays might change during a removal. - Added an option
useGeometryUniqueIdsMap
in theScene
constructor options. When set to true, eachScene
isntance will have and will keep up-to-date a map of geometry peruniqueId
. This is to avoid browsing all the geometries of the scene when a new one is being pushed. It also enables a removal of geometry in constant time. Disabled by default. - Added an option
useMaterialMeshMap
in theScene
constructor options. When set to true, eachMaterial
isntance will have and will keep up-to-date a map of its bound meshes. This is to avoid browsing all the meshes of the scene to retrieve the ones bound to the current material when disposing the Material. Disabled by default. - Added an option
useClonedMeshhMap
in theScene
constructor options. When set to true, eachMesh
will have and will keep up-to-date a map of cloned meshes. This is to avoid browsing all the meshes of the scene to retrieve the ones that have the current mesh as source mesh. Disabled by default. - Added
blockfreeActiveMeshesAndRenderingGroups
property in theScene
, following the same model asblockMaterialDirtyMechanism
. This is to avoid callingScene.freeActiveMeshes
andScene.freeRenderingGroups
for each disposed mesh when we dispose several meshes in a row. Enable by settingblockfreeActiveMeshesAndRenderingGroups
totrue
just before disposing the meshes, then set it back tofalse
just after. - Prevented code from doing useless and possible time consuming computation when disposing the
ShaderMaterial
of aLinesMesh
. - Make a better use of the
isIdentity
cached value within aMatrix
. - Make sure we browse all the submeshes only once in
Material.markAsDirty
function. - Added an
Vector3.UnprojectRayToRef
static function to avoid computing and inverting the projection matrix twice when updating a Ray.
- Added per mesh culling strategy (jerome)
Updates
GUI
- Added
inputText.onKeyboardEventProcessedObservable
(Deltakosh) - Added
button.image
andbutton.textBlock
to simplify access to button internal parts (Deltakosh) - Added
slider.displayThumb
to show/hide slider's thumb (Deltakosh) - Added
grid.rowCount
,grid.columnCount
andgrid.getChildrenAt()
(Deltakosh) - Added
Control.AllowAlphaInheritance
to let users control the way alpha is used (inherited or not) (Deltakosh) - Added support for performing operations like select all, text highlight, delete selected in
inputText
(Saket Saurabh) - Added
inputText.onTextCopyObservable
,inputText.onTextCutObservable
andinputText.onTextPasteObservable
to inputText (Saket Saurabh) - Added
AdvancedDynamicTexture.onClipboardObservable
to observe for clipboard events in AdvancedDynamicTexture(Saket Saurabh) - Added
inputText.onFocusSelectAll
to allow complete selection of text on focus event.(Saket Saurabh) - Added mouse drag to highlight text in
inputText
(Saket Saurabh)
...
4.0.0-beta.4
Merge pull request #6169 from sebavan/master 4.0.0-beta.4 Former-commit-id: 7a780c5fcbbfc907334ed2d9e68ba2924b711aac
4.0.0-alpha.32
Merge pull request #6006 from sebavan/master 4.0.0-alpha.32 Former-commit-id: 793c5ce22d7e0a749f637755d24d60a55a0fcb64
4.0.0-alpha.31
Merge pull request #6004 from sebavan/master 4.0.0-alpha.31 Former-commit-id: 63964dcbb619905492f8efecc999c7fa666cde4c
4.0.0-alpha.30
Merge pull request #5996 from sebavan/master 4.0.0-alpha.30 Former-commit-id: 976912fd2a8368f52c423a92cdea2c42db176ce8
4.0.0-alpha.27: Merge pull request #5920 from sebavan/master
4.0.0-alpha.27 Former-commit-id: 355de7a7268a48443194da755faec073e81788f1
4.0.0-alpha.25
Merge pull request #5864 from sebavan/master 4.0.0-alpha.25 Former-commit-id: 438683bf584df45cf016762430051661ba242462