VEB.js
Last updated
Last updated
VEB.js (Virtual Environment based on Babylon.js) is a reconfigurable model-driven virtual environment application based on Babylon.js, a complete JavaScript framework and graphics engine for building 3D applications with HTML5 and WebGL (Web Graphics Library). Babylon.js enables to load and draw 3D objects, manage these 3D objects, create and manage special effects, play and manage spatialized sounds, create gameplays and more. Babylon.js library is free to use, thus enabling also didactic use.
Babylon.js was exploited to develop VEB.js as a reconfigurable model-driven virtual environment application.
Contact person: Walter Terkaj (CNR-STIIMA)
VEB.js works on any Operating System (OS) and browser that supports WebGL. However, the use of Chrome is recommended, in particular to run animations.
No specific configuration of the hardware is needed, but it must be noted that depending on the complexity of the scene, problems (e.g. lag) might arise if using a low potential graphic processing unit (GPU); indeed, even a smartphone can be used to load basic scenes, but if the complexity of the scene increases a more powerful GPU will be needed in order to obtain optimal rendering.
It is possible to remotely access the VEB.js application if it is installed on a server. If the server is active at the address $ServerAddress
, then the application can be accessed via browser at $ServerAddress/vebjs.html?inputscene=
.
A demo of VEB.js is available.
At startup the browser shows an empty scene that contains the main application functionalities.
A scene consists of a set of assets (e.g. selected from a catalog of resources) that are organized in a layout; in addition, lights and cameras (i.e. navigation point of view) are attached to a scene. After opening the empty scene page, there are two options to load an already existing scene:
import a scene .json file, clicking on the Import button and browsing your local file system.
Several parameters can be set in the URL of VEB.js application.
inputscene
Scene to be loaded that is defined as a .json file available on a server.
inputonto
Scene to be loaded that is defined as a URI that is a graph available on a RDF store.
inputconfig
App configuration defined as a URI available on a server.
inputenv
Environment defined as a URI available on a server. The environment specifies cameras, lights, shadow, background options.
inputanim
Animation defined as a URI available on a server.
repoMod3d
Path of the repository where the 3D models can be found. The file path of 3D models is defined relatively to repoMod3d
repoAnim
Path of the repository where the animation sequences can be found. The file path of animation sequences is defined relatively to repoAnim
endpoint
Addess of a SPARQL endpoint of a RDF store.
db
Database/Dataset available on the RDF store.
Compatibility https://doc.babylonjs.com/