- 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:
pbrMetallicRoughnessMaterialandpbrSpecularGlossinessMaterial. 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 Unity 5 Editor Toolkit. Complete pipeline integration Doc (MackeyK24)
- New DebugLayer. Doc (temechon)
- New
VideoTexture.CreateFromWebCamto 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 Shadingmaterial added intoMaterials LibraryDemo (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)
- 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.panningInertiato decouple inertia from panning inertia (deltakosh) - Added
FIXED_EQUIRECTANGULAR_MIRRORED_MODEmode for reflection texture. Demo here (deltakosh) - Introduced
boundingBox.centerWorldandboundingBox.extendSizeWorld(deltakosh) - Improved FXAA post-process (deltakosh)
- Added
Light.customProjectionMatrixBuilderto allow developers to define their own projection matrix for shadows (deltakosh) - Added
set()function to all basic types (deltakosh) - Added
HDRCubeTextureAssetTaskto AssetManager (deltakosh) - Engine now uses range based fog (deltakosh)
VertexBuffer.updatableis now serialized (deltakosh)- Added
intersectsMeshes()to Ray (abow) - New RayHelper class for easily viewing and attaching a ray to a mesh. Demo abow)
Mesh.applyDisplacementMapnow 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,facetDataandSolidParticleSystemimprovement in normal computations (jerome)- Added
AbstractMesh.addRotation()(jerome) - Added
Quaternion.RotationQuaternionFromAxis()andQuaternion.RotationQuaternionFromAxisToRef()(jerome, thanks to abow) - Added parameters
uvsandcolorstoMeshBuilder.CreateRibbon()(jerome) - Added parameters
frontUVsandbackUVsto all the methodsMeshBuilder.CreateXXX()supportingsideOrientation(jerome) - Added
Curve3.CreateCatmullRomSpline()(jerome and BitOfGold) - Added the optional parameter
colorFiltertoCreateGroundFromHeightMap()(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
POINTERTAPandPOINTERDOUBLETAPPointerEventTypes 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:
ShadowOnlyMaterialto display shadows on transparent surfaces (deltakosh) - Added
VertexBuffer.TangentKindto specify tangents in place of shader-calculated tangents (dewadswo, bghgary) - Added
material.twoSidedLightingto 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 animation updates)
- New
Motion Blureffect added intoStandardRenderingPipelineDemo (Julien Moreau-Mathis) - Allow the BlackAndWhite post process to adjust the degree in subsequent frames, for
Welcome to Wonderlandtypes of animation (jcpalmer) - New
BABYLON.TextureTools.CreateResizedCopyfunction to create a copy of a texture and chage its size (deltakosh)
- Fixed issue with FPS not decreasing when reflections are disabled (abow)
- Fixed disappearing BoneAxesViewer (abow)
- Fixed disappearing SkeletonViewer (abow)
- Fixed billboarding for parented meshes (abow)
- Fixed issue with BoneIKController and left-handed coordinate systems (abow)
- Fixed a bug with spotlight direction (deltakosh)
- Fixed an issue with Mesh.attachToBone when a mesh is moving and an animation is changed (abow)
- Fixed an issue withaspect ratio when using CreateScreenshot (deltakosh)
- Fixed SPS particle initial status when used as updatable with a
positionFunctioninaddShape()(jerome) - Fixed SPS particle access
startindex when used withsetParticles(start, end)(jerome) - Fixed SPS billboard mode when used with a parented camera (jerome)
- File
abstractMesh.tsdocumented (jerome) - File
mesh.tsdocumented (jerome) - File
groundMesh.tsdocumented (jerome) - File
instancedMesh.tsdocumented (jerome) - File
lineMesh.tsdocumented (jerome) - File
vertexData.tsdocumented (jerome) - File
subMesh.tsdocumented (jerome) - File
vertexBuffer.tsdocumented (jerome) - File
math.tsdocumented (jerome) - File
light.tsdocumented (jerome) - File
directionalLight.tsdocumented (jerome) - File
hemisphericLight.tsdocumented (jerome) - File
pointLight.tsdocumented (jerome) - File
spotLight.tsdocumented (jerome) - File
shadowGenerator.tsdocumented (jerome)
- WebVRCamera:
requestVRFullscreenhas been removed. CallattachControl()inside a user-interaction callback to start sending frames to the VR displaysetPositionOffsethas been used to change the position offset. it is now done usingcamera.position
- Ray :
showhas been removed. Use newRayHelper.show()insteadhidehas been removed. Use newRayHelper.hide()instead
- AbstractMesh:
onPhysicsCollidehas been removed. Usemesh.physicsImpostor.registerOnPhysicsCollide()insteadsetPhysicsStatehas been removed. Usenew PhysicsImpostor()insteadgetPhysicsMasshas been removed. Usemesh.physicsImpostor.getParam("mass")insteadgetPhysicsFrictionhas been removed. Usemesh.physicsImpostor.getParam("friction")insteadgetPhysicsRestitutionhas been removed. Usemesh.physicsImpostor.getParam("restitution")insteadupdatePhysicsBodyPositionhas been removed. Changes are synchronized automatically now
- Mesh:
updateVerticesDataDirectlyhas been removed. Usemesh.updateVerticesData()instead
- SsaoRenderingPipeline:
getBlurHPostProcesshas been removed. Blur post-process is no more requiredgetBlurVPostProcesshas been removed. Blur post-process is no more required
- Scene:
setGravityhas been removed. Usescene.getPhysicsEngine().setGravity()insteadcreateCompoundImpostorhas been removed. Use PhysicsImpostor parent/child instead
- ActionManager:
LongPressDelayandDragMovementThresholdare now respectively Scene.LongPressDelay and Scene.DragMovementThreshold
- HDRRenderingPipeline:
HDRRenderingPipelinehas been removed because it is deprecated. It is now replaced byStandardRenderingPipelinewhich is more advanced. See documentation
- PBRMaterial:
- Fixed several bugs which could lead to visual changes. More info here
- Removed all overloadedXXX properties
- Removed all fresnelXXX properties
- Removed .babylon.hdr textures: We now use DDS files.