- 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 Unity 5 Editor Toolkit. Complete pipeline integration Doc (MackeyK24)
- 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)
- 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 animation updates)
- New
Motion Blur
effect added intoStandardRenderingPipeline
Demo (Julien Moreau-Mathis) - Allow the BlackAndWhite post process to adjust the degree in subsequent frames, for
Welcome to Wonderland
types of animation (jcpalmer) - New
BABYLON.TextureTools.CreateResizedCopy
function 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
positionFunction
inaddShape()
(jerome) - Fixed SPS particle access
start
index when used withsetParticles(start, end)
(jerome) - Fixed SPS billboard mode when used with a parented camera (jerome)
- File
abstractMesh.ts
documented (jerome) - File
mesh.ts
documented (jerome) - File
groundMesh.ts
documented (jerome) - File
instancedMesh.ts
documented (jerome) - File
lineMesh.ts
documented (jerome) - File
vertexData.ts
documented (jerome) - File
subMesh.ts
documented (jerome) - File
vertexBuffer.ts
documented (jerome) - File
math.ts
documented (jerome) - File
light.ts
documented (jerome) - File
directionalLight.ts
documented (jerome) - File
hemisphericLight.ts
documented (jerome) - File
pointLight.ts
documented (jerome) - File
spotLight.ts
documented (jerome) - File
shadowGenerator.ts
documented (jerome)
- WebVRCamera:
requestVRFullscreen
has been removed. CallattachControl()
inside a user-interaction callback to start sending frames to the VR displaysetPositionOffset
has been used to change the position offset. it is now done usingcamera.position
- Ray :
show
has been removed. Use newRayHelper.show()
insteadhide
has been removed. Use newRayHelper.hide()
instead
- AbstractMesh:
onPhysicsCollide
has been removed. Usemesh.physicsImpostor.registerOnPhysicsCollide()
insteadsetPhysicsState
has been removed. Usenew PhysicsImpostor()
insteadgetPhysicsMass
has been removed. Usemesh.physicsImpostor.getParam("mass")
insteadgetPhysicsFriction
has been removed. Usemesh.physicsImpostor.getParam("friction")
insteadgetPhysicsRestitution
has been removed. Usemesh.physicsImpostor.getParam("restitution")
insteadupdatePhysicsBodyPosition
has been removed. Changes are synchronized automatically now
- Mesh:
updateVerticesDataDirectly
has been removed. Usemesh.updateVerticesData()
instead
- SsaoRenderingPipeline:
getBlurHPostProcess
has been removed. Blur post-process is no more requiredgetBlurVPostProcess
has been removed. Blur post-process is no more required
- Scene:
setGravity
has been removed. Usescene.getPhysicsEngine().setGravity()
insteadcreateCompoundImpostor
has been removed. Use PhysicsImpostor parent/child instead
- ActionManager:
LongPressDelay
andDragMovementThreshold
are now respectively Scene.LongPressDelay and Scene.DragMovementThreshold
- HDRRenderingPipeline:
HDRRenderingPipeline
has been removed because it is deprecated. It is now replaced byStandardRenderingPipeline
which 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.