what's new.md 7.1 KB

3.2.0

Major updates

  • 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)
  • 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 now supports GearVR (brianzinn)
  • New glTF serializer. You can now export glTF or glb files directly from a Babylon scene (kcoley)
  • 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 Projection Texture on SpotLight (lostink)

Updates

  • Tons of functions and classes received the code comments they deserved (All the community)
  • 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)
  • New watcher configuration for VSCode. Now the task only compiles changed files (sebavan)
  • 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)
  • VRHelper now has onSelectedMeshUnselected observable that will notify observers when the current selected mesh gets unselected (carloslanderas)
  • VRHelper now has onBeforeCameraTeleport and onAfterCameraTeleport 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)
  • AssetsManager will now clear its tasks lsit from all successfully loaded tasks (deltakosh)
  • Added documentation to WebVRCamera and VRExperienceHelper (trevordev)
  • Introduced isStroke on HighlightLayerOptions which makes the highlight solid (PixelsCommander)
  • (Viewer) There is now an option to paste payload instead of a URL for configuration (RaananW)
  • (Viewer) Models can be loaded async using JavaScript (RaananW)
  • 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)
  • (Viewer) initScene and initEngine can now be extended. onProgress during model loading is implemented as observable. (RaananW)
  • glTF loader now supports the KHR_lights extension (MiiBond)
  • Added depth of field effect to default pipeline (trevordev)
  • The observable can now notify observers using promise-based callback chain. (RaananW)
  • Added base64 helper functions to Tools (bghgary)
  • Added createDefaultCamera and createDefaultLight functions to Scene (bghgary)
  • Gulp process now supports multiple outputs when using webpack. (RaananW)
  • (Viewer) Scene Optimizer intergrated in viewer. (RaananW)
  • (Viewer) The viewer supports custom shaders in the configuration. (RaananW)
  • Documented PostProcessRenderEffect, DefaultRenderingPipeline, BlurPostProcess, DepthOfFieldEffect, PostProcess, PostProcessManager, Effect classes (trevordev)
  • SPS internal storage of each solid particle rotation matrix (jbousquie)
  • (Viewer) Introducing the viewer labs - testing new features. (RaananW)
  • AssetContainer Class and loading methods. (trevordev)
  • KeepAssets class and AssetContainer.moveAllFromScene (HoloLite trevordev)
  • (Viewer) It is now possible to update parts of the configuration without rcreating the objects. (RaananW)
  • (Viewer) Model can be normalized using configuration. (RaananW)
  • (Gulp) extra/external declarations can be prepended to final NPM declarations during build. (RaananW)
  • Added FOV system to background material for zoom effects in skyboxes without adjusting camera FOV (DavidHGillen)
  • Added VideoDomeHelper class to provide a template for a common scenario, and gave it FOV control (DavidHGillen)

Bug fixes

  • setPivotMatrix ws not setting pivot correctly. This is now fixed. We also introduced a new setPreTransformMatrix to reproduce the sometimes needed behavior of the previous setPivotMatrix function (deltakosh)
  • SPS solid particle .pivot property now also behaves like the standard mesh pivot. Former behavior (particle translation) can be kept with the particle property .translateFromPivot set to true (jbousquie)
  • Texture extension detection in Engine.CreateTexture (sebavan)
  • Fixed a bug with merging vertex data (bghgary)
  • SPS internal temporary vector3 instead of Tmp.Vector3 to avoid possible concurrent uses (jbousquie)

Breaking changes

  • Removed unused PostProcessRenderPass class and extended postProcessingRenderingEffect to support multiple PostProcesses (trevordev)