- 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)
- Canvas2D moved to a separate folder in main repo. Now you need to also include babylon.cavans2d.js to get Canvas@D feature (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)
- 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) - Canvas2D: (nockawa)
- Performance metrics added
- Text2D super sampling to enhance quality in World Space Canvas
- World Space Canvas is now rendering in an adaptive way for its resolution to fit the on screen projected one to achieve a good rendering quality
- Transparent Primitives are now drawn with Instanced Array when supported
- New property in Canvas2D (instances) that contains all instances of canvas2d Temechon
- 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)
- 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)
- Canvas2D: (nockawa)
WorldSpaceCanvas2D
:- Intersection/interaction now works on non squared canvas
- Primitive:
ZOrder
fixed in Primitives created inline- Z-Order is now correctly distributed along the whole canvas object graph
Sprite2D
:- texture size is now set by default as expected
- can have no
id
set
Text2D
:- Fix bad rendering quality on Chrome
- Rendering above transparent surface is now blending correctly