Microsofts Babylon.js 3.2 implementiert mehr WebGL-Funktionen

In der neuen Version von Microsofts 3D-Framework Babylon.js können Entwickler einige neue Funktionen von WebGL 2.0 nutzen. Außerdem führt das Framework zum ersten Mal die Verwendung von Promises ein.

In Pocket speichern vorlesen Druckansicht
Microsofts Babylon.js 3.2 implementiert mehr WebGL-Funktionen
Lesezeit: 2 Min.
Von
  • Björn Bohn

Microsoft hat Version 3.2 des quelloffenen 3D-Frameworks Babylon.js veröffentlicht. Ziel der neuen Version ist es, 3D-Animationen auf einer Vielzahl von Geräten und Browsern flüssig darzustellen. Dazu setzen die Macher auf eine Reihe von Features der JavaScript-API WebGL 2.0, unter anderem auf das sogenannte Percentage Closer Filtering (PCF), um Schatten realistischer darzustellen. Außerdem führt Babylon.js in Version 3.2 erstmals Promises ein.

Babylon.js unterstützt in Version 3.2 eine ganze Palette an Features von WebGL 2.0, um das Rendern von 3D-Animationen so effektiv wie möglich zu gestalten. Neben der bereits erwähnten Verbesserungen im Umgang mit Schatten, hebt Microsoft auch die neue "Specular Anti-Aliasing"-Option hervor. Damit sollen sich die visuellen Artefakte bei glänzenden Objekten deutlich reduzieren.

Außerdem verfügt Babylon.js jetzt über Animation Blending und Animation Weights. Bei ersterem handelt es sich um ein automatisches System, das Entwicklern einen fließenden Übergang zwischen zwei Animationen ermöglichen soll. Animaton Weights hingegen bietet die Möglichkeit, mehrere Animationen zu mischen, in dem diesen eine bestimmte Gewichtung zugeteilt wird.

Bei der Entwicklung von Babylon.js setzt Microsoft auf das JavaScript-Superset TypeScript, wodurch das Framework schnell neue JavaScript-Features aufnehmen kann. Neu in Version 3.2 ist die Möglichkeit, Promises einzusetzen. Bei Promise-Objekten handelt es sich um eine Repräsentation einer Fertigstellung von asynchronen Operationen und dem daraus folgenden Wert. Wenn eine Funktion ein Promise zurück gibt, können zeitgemäße Browser ein await-Schlüsselwort einsetzen, sodass Entwickler asynchronen Code so erstellen können, als wäre er synchron.

// load the assets
var rootURL = 'https://models.babylonjs.com';
var filename = 'ufo.glb';
var container = await BABYLON.SceneLoader.LoadAssetContainerAsync(rootURl, filename, scene);
container.addAllToScene();

scene.createDefaultEnvironment();

Weitere Informationen zur neuen Version von Babylon.js finden sich in der offiziellen Ankündigung sowie der Dokumentation. Das gesamte Projekt findet sich auf GitHub. (bbo)