Releases: BabylonJS/Babylon.js
Releases · BabylonJS/Babylon.js
4.0.0-alpha.20
Merge pull request #5787 from sebavan/master Relase 4.0.0-alpha.20 Former-commit-id: f5a43db0fba75602d698d0b993272fd6f95f8b73
4.0.0-alpha.12: Merge pull request #5627 from sebavan/master
4.0.0-alpha.12 Former-commit-id: 9b51f3a095f18b1bea70f833c8a01498b26a5168
4.0.0-alpha.10
Merge pull request #5555 from sebavan/master Publish Former-commit-id: 72bded1058a51bf2805b5ad452105f1163889f10
v3.3.0
3.3.0
Major updates
- Documentation
- Entire codebase is now documented. API documentation
- GUI
- New GUI 3D controls toolset. Complete doc + demos (Deltakosh)
- New GUI control: Grid (Deltakosh)
- New GUI control: InputPassword (theom)
- New GUI container SelectionPanel (JohnK)
- Gizmo Support (TrevorDev)
- Gizmo and GizmoManager classes used to manipulate meshes in a scene. Gizmo types include: position, scale, rotation and bounding box Doc (TrevorDev)
- New behaviors: PointerDragBehavior, SixDofDragBehavior and MultiPointerScaleBehavior to enable smooth drag and drop/scaling with mouse or 6dof controller on a mesh Doc (TrevorDev)
- Added attachToBoxBehavior to attach UI to a bounding box (TrevorDev)
- Gizmo manager's internal gizmos are now public (TrevorDev)
- Ability to customize meshes on gizmos (TrevorDev)
- Added ignoreChildren field to bounding box to save performance when using heavily nested meshes (TrevorDev)
- Add uniform scaling drag support to the scale gizmo (TrevorDev)
- Support interacting with child elements (TrevorDev)
- BoundingBox gizmo support for including/excluding descendants when computing the bounding box (TrevorDev)
- Drag start and stop events for all gizmos (TrevorDev)
- Particle system improvements (Deltakosh)
- Added a ParticleHelper class to create some pre-configured particle systems in a one-liner method style. Doc (Deltakosh) / (DevChris)
- Improved CPU particles rendering performance (up to x2 on low end devices)
- Added support for
isBillboardBased
. Doc - Added support for billboard mode. Doc
- Added support for
minScaleX
,minScaleY
,maxScaleX
,maxScaleY
. Doc - Added support for
radiusRange
for sphere emitter. Doc - Added support for
radiusRange
andheightRange
for cone emitter. Doc - Added new point emitter. Doc
- Added new hemispheric emitter. Doc
- Added support for
ParticleSystem.BLENDMODE_ADD
alpha mode. Doc - Added support for color gradients. Doc
- Added support for pre-warming. Doc
- Added support for
minInitialRotation
andmaxInitialRotation
. Doc - Added support for size gradients. Doc
- Added support for life time gradients. Doc
- Added support for angular speed gradients. Doc
- Added support for velocity gradients. Doc
- Added support for limit velocity gradients. Doc
- Added support for drag gradients. Doc
- Added support for noise textures. Doc
- Added support for emit rate gradients. Doc
- Added support for ramp gradients. Doc
- Start size gradient support for particles. Doc (TrevorDev)
- Attached sub emitters. Doc (TrevorDev)
- Cylinder particle emitter and constructor in baseParticle Doc (TrevorDev)
- Added support for cylinder particle emitter. Doc (TrevorDev)
- Added startDelay to support delaying system start of sub emitters. Doc (TrevorDev)
- Added support for random start cell when using animated sprite sheets. Doc
- Added SceneComponent to help decoupling Scene from its components. (sebavan)
- Added Environment Texture Tools to reduce the size of the usual .DDS file (sebavan)
- Playground can now be used with TypeScript directly! Demo (Deltakosh, NasimiAsl)
- GUI and Inspector are now ES-Modules (RaananW)
- Added support for noise procedural textures. Doc (Deltakosh)
- Added new
PhotoDome
object to display 360 photos. Demo (SzeyinLee) - Added Video Recorder. Doc (sebavan)
Updates
- Updated TypeScript version to new major 3.0.1 (christopherstock)
- All NPM packages have
latest
andpreview
streams (RaananW) - Added New Tools Tab in the inspector (env texture and screenshot tools so far) (sebavan)
- Moved to gulp 4, updated dependencies to latest (RaananW)
GUI
- Added dead key support and before key add observable to InputText. Doc (theom)
- Added
TextBlock.computeExpectedHeight
, addedTextWrapping.Ellipsis
asTextBlock.wordWrapping
possible value (adrientetar) - New vertical mode for sliders in 2D GUI. Demo (Saket Saurabh)
- Added
isEnabled
anddisabledColor
property to Gui Control (barteq100) - Added support for connecting multiple InputText controls to VirtualKeyboard and can disconnect individual InputTexts. (brian Zinn)
Core Engine
- Improved the way world matrices were computed (Deltakosh)
- Added
scene.rootNodes
to track root nodes (ie. nodes with no parent) (Deltakosh) - Added
scene.pickSpriteWithRay
function (Deltakosh) - Added support for multiple clip planes. Demo (Deltakosh)
- Added new
MixMaterial
to the Materials Library allowing to mix up to 8 textures (julien-moreau) - Added new
BoundingInfo.scale()
function to let users control the size of the bounding info (Deltakosh) - Added new
Animatable.waitAsync
function to use Promises with animations. Demo (Deltakosh) - Added the choice of forming a closed loop to the catmull-rom-spline curve3 (johnk)
- Added support for specifying the center of rotation to textures (bghgary)
- Added webVR support for Oculus Go (TrevorDev)
- Added ability to not generate polynomials harmonics upon prefiltered texture creation (sebavan)
- Added predicate function to customize the list of mesh included in the computation of bounding vectors in the
getHierarchyBoundingVectors
method (sebavan) - Added webVR constructor options: disable laser pointer toggle, teleportation floor meshes (TrevorDev)
- Get a root mesh from an asset container, load a mesh from a file with a single string url (TrevorDev)
- UtilityLayer class used to ren...
3.3.0-beta.3
Merge pull request #4969 from sebavan/master 3.3.0-beta.3 Former-commit-id: 915e46f40c6b1bb07fdca5cb2f4a32040e451fe2
3.3.0-beta.2
Merge pull request #4944 from sebavan/master Release 3.3.0-beta.2 Former-commit-id: df34c13ef7ef8a2cb9260014d8d849ca9b791984
v3.2.0
3.2.0
Major updates
- Support for GPU particles. Demo here (deltakosh)
- Improved building process: We now run a full visual validation test for each pull request. Furthermore, code comments and what's new updates are now mandatory (sebavan)
- Babylon.js now uses Promises in addition to callbacks. We created several
xxxAsync
functions all over the framework (SceneLoader.AppendAsync
for instance, which returns a Promise). A polyfill is also integrated to support older browsers (deltakosh) - Introduced texture binding atlas. This optimization allows the engine to reuse texture bindings instead of rebinding textures when they are not on constant sampler indexes (deltakosh)
- New AnimationGroup class to control simultaneously multiple animations with different targets (deltakosh)
WebVRCamera
: added basic support for Daydream and Gear VR (brianzinn)- Introduced Projection Texture on SpotLight. Demo here (lostink)
- Introduced support for local cubemaps. Demo here (deltakosh)
- Added VideoDome class to easily support 360 videos. Demo here (DavidHGillen)
- Added GlowLayer to easily support glow from emissive materials. Demo here (sebavan)
- New AssetContainer class and loading methods (trevordev)
- Added depth of field, MSAA, sharpening, chromatic aberration and grain effect to the default pipeline (trevordev)
- Added support for animation weights. Demo here (deltakosh)
- Added sub emitters for particle system which will spawn new particle systems when particles die. Demo here (IbraheemOsama)
- New Babylon.js and glTF exporter for Autodesk Maya (Noalak)
- New glTF exporter for Autodesk 3dsmax (Noalak)
- New glTF serializer. You can now export glTF or glb files directly from a Babylon scene (kcoley)
- Physics - Latest production version of Oimo.js is being used - 1.0.9 (RaananW)
- Introduces PCF and PCSS shadow support in Webgl 2 (sebavan))
- Introduces PBR Specular Anti Aliasing support. Demoo here (sebavan))
Documentation
- Tons of functions and classes received the code comments they deserved (All the community with a special thanks to John King)
- Moved the class API documentation to Typedoc (deltakosh)
Updates
- Improved animation blending (deltakosh)
- New particle system emitter shapes: cone and sphere (IbraheemOsama)
- Added support for 16bits TGA (deltakosh)
- New
AnimationPropertiesOverride
class used to simplify setting animation properties on child animations. Documentation (deltakosh) - New
Texture.UseSerializedUrlIfAny
static property to let textures serialize complete URL instead of using side by side loading (deltakosh) - Added
particleSystem.reset()
to clear a particle system (deltakosh) - Added support for all RGBA orders (BGR, RGB, etc..) for the DDS loader (deltakosh)
- Improved SceneOptimizer to provide better adaptability (deltakosh)
- Improved
scene.isReady()
function which now takes in account shadows and LOD (deltakosh) - Added new draw modes to engine (points, lines, linesloop, linestrip, trianglestrip, trianglefan) (benaadams)
- Added GUI
Textblock.lineSpacing
setter and getter to configure vertical space between lines in pixels or percentage values when working with text wrapping (carloslanderas) - WebVR:
VRExperienceHelper
will create an empty controller model so that controller interactions can be used while the actual model is still loading (trevordev)- VRHelper now has
onSelectedMeshUnselected
observable that will notify observers when the current selected mesh gets unselected
(carloslanderas) - VRHelper now has
onBeforeCameraTeleport
andonAfterCameraTelepor
t observables that will be notified before and after camera teleportation is triggered.
(carloslanderas) - VRHelper now has the public property
teleportationEnabled
to enable / disable camera teleportation.
(carloslanderas) - VRHelper now exposes onNewMeshPicked observable that will notify a PickingInfo object after meshSelectionPredicate evaluation
(carloslanderas) - VRHelper will notify now
onSelectedMeshUnselected
observable to subscribers when the applied ray selection predicate does not produce a hit and a mesh compliant with the meshSelectionPredicate was previously selected (carloslanderas) - Support multiple simultaneous WebVR controller gui interactions in
VRExperienceHelper
(trevordev) - Ability to set a mesh to customize the WebVR gaze tracker (trevordev)
AssetsManager
will now clear itstasks
list from all successfully loaded tasks (deltakosh)- Added documentation to
WebVRCamera
andVRExperienceHelper
(trevordev) - Introduced
isStroke
onHighlightLayerOptions
which makes the highlight solid (PixelsCommander) - The observables can now notify observers using promise-based callback chain (RaananW)
- Added base64 helper functions to
Tools
(bghgary) - Added
createDefaultCamera
andcreateDefaultLight
functions toScene
(bghgary) - Viewer:
initScene
andinitEngine
can now be extended.onProgress
during model loading is implemented as observable (RaananW)- There is now an option to paste payload instead of a URL for configuration (RaananW)
- Models can be loaded asynchronously using JavaScript (RaananW)
- Scene Optimizer integrated in viewer (RaananW)
- The viewer supports custom shaders in the configuration (RaananW)
- Introducing the viewer labs - testing new features (RaananW)
- Model can be normalized using configuration, camera is dynamically configured (RaananW)
- It is now possible to update parts of the configuration without recreating the objects (RaananW)
- Viewer supports model animations and multi-model loading (RaananW)
- Viewer's declaration file automatically generated (RaananW)
- Build process:
- New watcher configuration for VSCode. Now the task only compiles changed files (sebavan)
- Gulp process now supports multiple outputs when using webpack. (RaananW)
- Extra/external declarations can be prepended to final declarations during build. (RaananW)
- Extra/external declarations can be prepended to final NPM declarations during build. (RaananW)
- NPM package now has a dependency system, updated during build. ([RaananW](https://github.c...
v3.1.0
Major updates
- Added VRExperienceHelper to create WebVR experience with 2 lines of code. Documentation (davrous, TrevorDev)
- Added BackgroundMaterial. Documentation (sebavan)
- Added EnvironmentHelper. Documentation (sebavan)
- Added support for webgl context lost and restored events. Documentation (deltakosh)
- Added support for non-pow2 textures when in WebGL2 mode (deltakosh)
- Engine can now be initialized with an existing webgl context (deltakosh)
- Introduced behaviors. Documentation (deltakosh)
- Added support for WebGL Occlusion queries. Documentation (Ibraheem Osama)
- New behaviors for ArcRotateCamera. Documentation
- New InputText for Babylon.GUI. Documentation (deltakosh)
- New VirtualKeyboard for Babylon.GUI. Documentation (deltakosh / adam)
- Added support for depth pre-pass rendering. Documentation (deltakosh)
- Added support for
material.separateCullingPass
. Documentation (sebavan) - Added support for Windows Motion Controllers (Lewis Weaver)
- Added support for Particle animation in ParticleSystem. Documentation (Ibraheem Osama)
- More robust TypeScript code with strictNullChecks, noImplicitAny, noImplicitThis and noImplicitReturns compiler options (deltakosh and RaananW)
- Introduced
NullEngine
which can be used to use Babylon.js in headless mode. Documentation (deltakosh) - New instrumentations tools. Documentation (deltakosh)
- Complete rework of Unity3D exporter. Documentation (MackeyK24)
- Introducing the BabylonJS viewer, an HTML-based 3D/model viewer, with Babylon at its core. Documentation (RaananW)
- Full NPM support for BabylonJS and its modules, based on UMD and including Typings. BabylonJS on npm (RaananW)
Updates
- Introduced
TransformNode
class as a parent ofAbstractMesh
. This class was extensively asked by the community to hold only tranformation for a node (deltakosh) - Collider object is now exposed on meshes. It can be used to get precise information about mesh to mesh collisions (used with mesh.moveWithCollisions function) (deltakosh)
- Added
boundingInfo.centerOn
to recreate the bounding info to be centered around a specific point given a specific extend (deltakosh) - Added
mesh.normalizeToUnitCube
to uniformly scales the mesh to fit inside of a unit cube (1 X 1 X 1 units) (deltakosh) - Added
scene.onDataLoadedObservable
which is raised when SceneLoader.Append or SceneLoader.Load or SceneLoader.ImportMesh were successfully executed (deltakosh) - Support for adaptiveKernelBlur on MirrorTexture (deltakosh)
- Support for non uniform scaling. Normals are now correctly computed (deltakosh)
- Added
MultiObserver
. Documentation (deltakosh) - Added
shadowGenerator.addShadowCaster
andshadowGenerator.removeShadowCaster
helper functions (deltakosh) - Several inspector improvements (temechon)
- New observables for actions:
onBeforeExecuteObservable
for all actions andonInterpolationDoneObservable
forInterpolateValueAction
(deltakosh) - New observables for gamepads:
onButtonDownObservable
,onButtonUpObservable
,onPadDownObservable
,onPadUpObservable
(deltakosh) - New
camera.storeState()
andcamera.restoreState()
functions to store / restore cameras position / rotation / fov. Documentation (deltakosh) - POW2 textures rescale is now done by shaders (It was previously done using canvas) (deltakosh)
- Added
SceneLoader.CleanBoneMatrixWeights
to force the loader to normalize matrix weights when loading bones (off by default) (deltakosh) - Added
camera.onViewMatrixChangedObservable
andcamera.onProjectionMatrixChangedObservable
(deltakosh) - Added support for folders when drag'n'dropping into the sandbox (deltakosh)
- Better serialization support (deltakosh)
- Introduced
performanceMonitor
class to get better FPS analysis (deltakosh) - GUI: Added support for pointer move events on projected UI (deltakosh)
- Normals are generated automatically by StandardMaterial if meshes do not have normals (deltakosh)
- Added
mesh.onMaterialChangedObservable
to notify when a new material is set (deltakosh) - Improved the SPS perfs for dead or invisible solid particles (jerome)
- Added
enableDepthSort
parameter to the SPS in order to sort the particles from the camera position (jerome) - Added
pivot
property to the SPS solid particles (jerome) - Added the mesh facet depth sort to FacetData (jerome)
- Added
LineSystem
andLineMesh
per point colors (jerome) - Added
AdvancedDynamicTexture.renderScale
to allow users to render at higher DPI (deltakosh) - WaterMaterial works on VR (RaananW)
- Playground has an optional createEngine function to replace the default engine. Example (RaananW)
- Error handling in the Assets Manager was revamped and now also includes a message and an exception (if provided). Documentation (RaananW)
- Asset Task has a state (INIT, RUNNING, DONE and ERROR). Documentation (RaananW)
- Added new options to the physics impostor constructor - ignoreParent and diableBidirectionalTransformation. Documentation (RaananW)
- It is now possible to define which loader to use when loading assets using the SceneLoader. Commit (RaananW)
- Added scope option to Observerable (adam)
- Added shadowBlur, shadowOffsetX, shadowOffsetY, shadowColor to GUI Controls (adam)
- Added alignWithNormal to AbstractMesh (adam)
Bug fixes
- Fixed a bug with ellipsoid offset not being taking in account on cameras (deltakosh)
- Fixed a bug with ellipsoid offset badly taking in account on meshes (deltakosh)
- Fixed a bug with PBR on iOS (sebavan)
- MTLLoader didn't parse values correctly (RaananW)
- Fixed an error with child positions of parents in the physics engine (RaananW)
- Fixed a bug with error while executing onSuccess callbacks in the Assets manager. (RaananW)
- Fixed a bug with the Heightmap impostor when the heightmap is scaled or rotated. Commit (RaananW)
- Fixed an error with deterministic step. (RaananW)
- Fixed a bug with controller jitter when in VR. ([RaananW](https://github...
v3.0.0
Major updates
- WebGL2 context support. WebGL2 is now used instead of WebGL 1 when available. More info here (deltakosh)
- Complete WebVR 1.1 support including controllers for HTC Vive and Occulus. More info here (raanan & davrous)
- Complete rewrite of PBRMaterial. Introduced two new helper materials:
pbrMetallicRoughnessMaterial
andpbrSpecularGlossinessMaterial
. Demo - More info here (Sebastien Vandenberghe) - Support for Morph Targets. More info here (deltakosh)
- New Babylon.GUI to create user interface (compatible with WebVR). More info here (deltakosh)
- Added support for Exponential Shadow maps to replace Variance Shadow maps. more info here Demo#1 Demo#2 (deltakosh)
- Support for Vertex Array Objects (deltakosh)
- Support for Uniform Buffer Objects (CraigFeldspar)
- New SSAO technique, using MultiRenderTargets (CraigFeldspar)
- Support for multisample render targets. Demo (deltakosh)
- New DebugLayer. Doc (temechon)
- New
VideoTexture.CreateFromWebCam
to generate video texture using WebRTC. Demo (Sebastien Vandenberghe) / (deltakosh) - New Facet Data feature (jerome)
- babylon.fontTexture.ts was moved from babylon.js to canvas2D (nockawa)
- Multi-platform Compressed Textures for Desktops & Mobile Devices with fall back. Batch (dos) scripts to convert entire directories of .jpg's & .png's Doc (jcpalmer)
- All deprecated functions and properties were removed (deltakosh)
- New build system based on workloads. More info here (deltakosh)
- New
Cell Shading
material added intoMaterials Library
Demo (Julien Moreau-Mathis) - New kernel based blur. Demo (deltakosh)
- New highlights postprocess (deltakosh)
- New DefaultRenderingPipeline to enable image processing effect. Demo (deltakosh)
- New image processing postprocess. Doc here (deltakosh)
- Spector.js New WebGL debugger: more info here (Sebastien Vandenberghe)
- New blur mode for mirrors. Demo (deltakosh)
Updates
- Added
syncBoneWithImpostor()
andsyncImpostorWithBone()
to PhysicsImpostor to help with creating ragdoll effects. Demo (abow) - New automatic creation mode for skybox. Doc here (deltakosh)
- New way to force compilation of materials. Doc here (deltakosh)
- Added a Physics tab to the inspector (abow)
- New Debug.PhysicsViewer class for viewing PhysicsImpostors. Demo (abow)
- New ColorPicker for GUI. Demo (abow)
- Added slerp and limits to BoneLookController. Demo (abow)
- new
Texture.readPixels()
function to read texture content (deltakosh) - New helpers to use ExtrudePolygon. Demo (Cubees)
- PostProcess can now use alpha blending and share outputs (deltakosh)
- Added
ArcRotateCamera.panningInertia
to decouple inertia from panning inertia (deltakosh) - Added
FIXED_EQUIRECTANGULAR_MIRRORED_MODE
mode for reflection texture. Demo here (deltakosh) - Introduced
boundingBox.centerWorld
andboundingBox.extendSizeWorld
(deltakosh) - Improved FXAA post-process (deltakosh)
- Added
Light.customProjectionMatrixBuilder
to allow developers to define their own projection matrix for shadows (deltakosh) - Added
set()
function to all basic types (deltakosh) - Added
HDRCubeTextureAssetTask
to AssetManager (deltakosh) - Engine now uses range based fog (deltakosh)
VertexBuffer.updatable
is now serialized (deltakosh)- Added
intersectsMeshes()
to Ray (abow) - New RayHelper class for easily viewing and attaching a ray to a mesh. Demo abow)
Mesh.applyDisplacementMap
now accepts uvScale and uvOffset parameter (deltakosh)- Added
addChild()
,removeChild()
,setParent()
to AbstractMesh (abow) Effect.getVertexShaderSource()
andEffect.getFragmentShaderSource()
now returns the effective shader code (including evaluation of #define) (deltakosh)- GroundMesh :
getHeightAtCoordinates()
,getNormalAtCoordinates()
andgetNormalAtCoordinatesToRef()
can now work with rotated grounds (jerome) GroundMesh
,facetData
andSolidParticleSystem
improvement in normal computations (jerome)- Added
AbstractMesh.addRotation()
(jerome) - Added
Quaternion.RotationQuaternionFromAxis()
andQuaternion.RotationQuaternionFromAxisToRef()
(jerome, thanks to abow) - Added parameters
uvs
andcolors
toMeshBuilder.CreateRibbon()
(jerome) - Added parameters
frontUVs
andbackUVs
to all the methodsMeshBuilder.CreateXXX()
supportingsideOrientation
(jerome) - Added
Curve3.CreateCatmullRomSpline()
(jerome and BitOfGold) - Added the optional parameter
colorFilter
toCreateGroundFromHeightMap()
(jerome) - Improved the internal code of
Vector3.RotationFromAxisToRef()
(jerome, thanks to abow) - GroundMeshes are now serialized correctly (deltakosh)
- Added
mesh.markVerticesDataAsUpdatable()
to allow a specific vertexbuffer to become updatable (deltakosh) - Added
POINTERTAP
andPOINTERDOUBLETAP
PointerEventTypes to register new Observer mask. (Demo here)[http://www.babylonjs-playground.com/?30] (yuccai) - Added OnDoublePickTrigger for ActionManager (yuccai)
- Added Scene.DoubleClickDelay to set the timing within a double click event like PointerEventTypes.POINTERDOUBLETAP or ActionManager.OnDoublePickTrigger has to be processed (yuccai)
- New material:
ShadowOnlyMaterial
to display shadows on transparent surfaces (deltakosh) - Added
VertexBuffer.TangentKind
to specify tangents in place of shader-calculated tangents (dewadswo, bghgary) - Added
material.twoSidedLighting
to PBRMaterial and StandardMaterial to enable flipping normals when backfaceCulling is false (BeardedGnome, bghgary) - Added a HTML page with embedded directions to improve the custom build process. (jcpalmer)
- Added glTF 2.0 loader with versioning support (bghgary, thanks to BeardedGnome for ...
v2.5.0: Dist 2.5 Files moved
Major updates
- New
StandardRenderingPipeline
effect to support screen space lens flare and depth of field. Demo - (Julien Moreau-Mathis) - New
HighlightLayer
object to enable highlights rendering. Demo - (sebavan) - Babylon.js now supports right handed system with
scene.useRightHandedSystem = true
(deltakosh) - Babylon.js is now compiled with optimize-js to get faster initial load (deltakosh)
- New BoneIKController Demo (abow)
- New BoneLookController Demo (abow)
- You can now build your own version of babylon.js with
gulp build-custom
Doc - (deltakosh)
Updates
- Added
node.doNotSerialize
to prevent specific nodes to be serialized bySceneSerializer
(deltakosh) - Added
scene.multiPick
andscene.multiPickWithRay
to return an array of pickedMesh objects (deltakosh) - Added
Effect.GetVertexShaderSource()
andEffect.GetFragmentShaderSource()
(deltakosh) - New
Texture.LoadFromDataString()
to help loading base64 encoded textures (deltakosh) - Added Engine detection of the compresed texture formats supported by Hw / browser. You can specify those formats you have files for using
Engine.setTextureFormatToUse()
, and an appropriate one will be chosen. (Palmer-JC) - Added Ray.intersectsMesh, Ray.show, Ray.hide (abow)
- Added AbstractMesh.setPivotPoint, AbstractMesh.getPivotPoint, AbstractMesh.getAbsolutePivotPoint (abow)
- Added Debug.AxesViewer and Debug.BoneAxesViewer (abow)
- Added Bone.getAbsolutePositionFromLocal and getLocalPositionFromAbsolute (abow)
- Added Bone.setRotation, Bone.getRotation, Bone.setRotationQuaternion, Bone.getRotationQuaternion (abow)
- Added Bone.getAbsolutePosition and Bone.getAbsolutePositionToRef (abow)
- Added Bone.translate, Bone.setPosition, Bone.setAbsolutePosition (abow)
- Added Bone.setYawPitchRoll, Bone.setRotationMatrix, Bone.setScale, Bone.setAxisAngle (abow)
- Added Bone.rotate (abow)
- Added Bone.scale (abow)
- Added Camera.getDirection, AbstractMesh.getDirection, Bone.getDirection (abow)
- Added subdivisionsX, subdivisionsY option to GroundMesh (abow)
- New
Tools.CreateScreenshot
function will capture all canvas data. Previous implementation is now calledCreateScreenshotUsingRenderTarget
(deltakosh) - Cube textures are now cached by texture cache (deltakosh)
- Added onAnimationEnd callback for
sprite.playAnimation
(deltakosh) - Added support for non square textures for sprites (deltakosh)
- Added support for texture arrays (deltakosh)
- Added
camera.isInFrustum
andcamera.isCompletelyInFrustum
. Can be used with meshes, submeshes and boundingInfo (deltakosh) - Several memory allocation reduction (benaadams)
- Several GPU state change reduction (benaadams)
- MapTexture: add
supersample
mode to double font quality. (nockawa) - New SPS feature : solid particle intersection with other solid particle or with any mesh
particle.intersectsMesh()
(jerome) - New
invertUV
parameter an all ribbon based shapes : ribbon, tube, lathe, basic and custom extrusion (jerome) - Text2D: new
fontSuperSample
setting to use high quality font (nockawa) - PerfCounter class added to monitor time/counter and expose min/max/average/lastSecondAverage/current metrics. Updated engine/scene current counter to use this class, exposing new properties as well to access the PerfCounter object (nockawa)
- Better keyboard event handling which is now done at canvas level and not at window level (deltakosh)
- New
scene.hoverCursor
property to define a custom cursor when moving mouse over meshes (deltakosh) - WebVR Camera was updated to be conform with the current specs. (RaananW)
- New "CubeTextureTask" function will allow you to load a CubeTexture in the assetsManager. (agallouin)
- Scene.stopAnimation has now an optional second parameter, the name of the animation to kill. Usefull if a mesh has multiple animations. (agallouin)
Bug fixes
- Fixed issue with SkeletonViewer not displaying correctly with meshes that have a PoseMatrix (abow)
- Fixed issue with Quaternion.toEulerAnglesToRef (abow)
- Fixed issue with Animatable.goToFrame (abow)
- Fixed issue with instancse and viewports (deltakosh)
- Fixed issue with FreeCamera not working in fullscreen or when pointer locked (abow)
- MapTexture: Font Characters are now correctly aligned on Chrome (nockawa)
- Fixed some missing parameter default values in
MeshBuilder.CreateGroundFromHeightMap()
andMeshBuilder.CreateTiledGround()
(jerome) - Fixed cross vector calculation in
_computeHeightQuads()
that affected all theGroundMesh.getHeightAtCoordinates()
andGroundMesh.getNormalAtCoordinates()
methods (jerome) - Fixed
Mesh.CreateDashedLines()
missinginstance
parameter on update (jerome) - Added BBox update on each ribbon based shape (ribbon, tube, extrusion, etc) on dynamic updates (jerome)
- Fixed model shape initial red vertex color set to zero not formerly being taken in account in the
SolidParticleSystem
(jerome) - Fixed billboard when the SPS mesh is parented in the
SolidParticleSystem
(jerome) - Fixed RenderTargetTexture meshes selection (deltakosh)
- Fixed camera speed computation (deltakosh)
- Fixed bug with instances, LOD and edgesRendering (deltakosh)