Skip to content

Latest commit

 

History

History
139 lines (133 loc) · 14.8 KB

what's new.md

File metadata and controls

139 lines (133 loc) · 14.8 KB

v3.0

Major updates

Updates

  • Added syncBoneWithImpostor() and syncImpostorWithBone() 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 and boundingBox.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() and Effect.getFragmentShaderSource() now returns the effective shader code (including evaluation of #define) (deltakosh)
  • GroundMesh : getHeightAtCoordinates(), getNormalAtCoordinates() and getNormalAtCoordinatesToRef() can now work with rotated grounds (jerome)
  • GroundMesh, facetData and SolidParticleSystem improvement in normal computations (jerome)
  • Added AbstractMesh.addRotation() (jerome)
  • Added Quaternion.RotationQuaternionFromAxis() and Quaternion.RotationQuaternionFromAxisToRef() (jerome, thanks to abow)
  • Added parameters uvs and colors to MeshBuilder.CreateRibbon() (jerome)
  • Added parameters frontUVs and backUVs to all the methods MeshBuilder.CreateXXX() supporting sideOrientation (jerome)
  • Added Curve3.CreateCatmullRomSpline() (jerome and BitOfGold)
  • Added the optional parametercolorFilter to CreateGroundFromHeightMap() (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 and POINTERDOUBLETAP 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 into StandardRenderingPipeline 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)

Bug fixes

  • 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 in addShape() (jerome)
  • Fixed SPS particle access start index when used with setParticles(start, end) (jerome)
  • Fixed SPS billboard mode when used with a parented camera (jerome)

API Documentation

  • 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)

Breaking changes

  • WebVRCamera:
    • requestVRFullscreen has been removed. Call attachControl() inside a user-interaction callback to start sending frames to the VR display
    • setPositionOffset has been used to change the position offset. it is now done using camera.position
  • Ray :
    • show has been removed. Use new RayHelper.show() instead
    • hide has been removed. Use new RayHelper.hide() instead
  • AbstractMesh:
    • onPhysicsCollide has been removed. Use mesh.physicsImpostor.registerOnPhysicsCollide() instead
    • setPhysicsState has been removed. Use new PhysicsImpostor() instead
    • getPhysicsMass has been removed. Use mesh.physicsImpostor.getParam("mass") instead
    • getPhysicsFriction has been removed. Use mesh.physicsImpostor.getParam("friction") instead
    • getPhysicsRestitution has been removed. Use mesh.physicsImpostor.getParam("restitution") instead
    • updatePhysicsBodyPosition has been removed. Changes are synchronized automatically now
  • Mesh:
    • updateVerticesDataDirectly has been removed. Use mesh.updateVerticesData() instead
  • SsaoRenderingPipeline:
    • getBlurHPostProcess has been removed. Blur post-process is no more required
    • getBlurVPostProcess has been removed. Blur post-process is no more required
  • Scene:
    • setGravity has been removed. Use scene.getPhysicsEngine().setGravity() instead
    • createCompoundImpostor has been removed. Use PhysicsImpostor parent/child instead
  • ActionManager:
    • LongPressDelay and DragMovementThreshold are now respectively Scene.LongPressDelay and Scene.DragMovementThreshold
  • HDRRenderingPipeline:
    • HDRRenderingPipeline has been removed because it is deprecated. It is now replaced by StandardRenderingPipeline 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.