Blog

Blend4Web 17.10 Released

2017-10-31

We announce the new release of Blend4Web – an open platform for creating immersive three-dimensional web applications. In this release we have focused on a number of important new features and changes, layed out the foundation for a major refactorings and improvements of the engine in the future and fixed a number of the bugs. Starting with this release Blend4Web fully supports the Side-By-Side rendering mode and augmented reality devices such as glasses, include more versatile algorithms for calculating the environment lighting with Cycles nodes Diffuse BSDF and Glossy BSDF and substantly improved node logic editor.

Side-By-Side and Augmented Reality Devices

We have continued working on supporting new formats of content delivery and interaction with 3D content such as augmented and virtual reality. Having supported our clients’ numerous appeals we have implemented the function that is quite small but can be used to achieve important goals. It's about the new scene rendering mode – Side-by-Side.

Listening to numerous requests from our customers, we implemented one small but very useful feature - "Side-by-Side" rendering mode in this release. As you know, in this mode, the frame is divided into two parts, with the separate images for left and right eyes.

Side-by-side mode is supported in the API and in the Blend4Web web player. In the latter case, to activate this mode, it is sufficient for the user to use the corresponding option in the selection menu of the rendering mode, as shown in the picture above.

Side-by-Side mode can be useful in various scenarios, mosty when the transmission of a "real" stereo videoimage is not possible or supported. For example, many 3D-enabled TVs can restore 3D picture from the image packed with Side-by-Side format allowing use of the simplest HDMI hardware. What's important, this image format is required for the proper operation of a number of virtual and augmented reality devices. One of such devices is Epson Moverio BT-300 Augmented Reality Glasses.

These glasses allows you to fully view AR and VR content in a fully autonomous manner without need of PC and are equipped with Android OS and Google Chrome browser. As a result, one can work with AR and VR content not only by installing applications, but simply by visiting a website using web browser. Whether you are an engineer studying the wiring diagram, a doctor studying the state of the patient's organs or a museum visitor, you no longer need to download and install numerous applications. All you need is a browser and a website powered by Blend4Web.

Cycles nodes

Over the last several releases we are implementing the ability to use the Cycles rendering nodes to visualize 3D models in addition to the Blender Internal Render. Our goal is to offer artists a different means to describe the visual properties of materials suited for each own use-cases. For example, the Internal Render material nodes allow you to create arbitrary materials and have complete control over the shader structure and the resulting image at the expense of somewhat increased complexity. Cycles nodes on the other hand allow artists to quickly publish content without bothering to convert materials. Starting with this release we began implementing a full-featured PBR rendering mode to allow even more simple use-cases. Bearing in mind upcoming release of Blender 2.8 with EEVEE renderer we decided to implement not just metal-roughness PBR model found in the rival engines but full-fledged Principled BSDF node introduced with EEVEE. This will give more power to 3D designers and is substantly more flexible.

It’s going to be implemented in the near future, but with this release we laid the foundation for the future ubershader and enhanced the way the two Cycles rendering engines - Diffuse BSDF and Glossy BSDF work. We improved the way these node handle environment lighting.

Compared to the previous implementation, now these nodes take into account environent lighting while calculating diffuse and glossy lighting. As as result you can use these nodes to bring online relatively complex 3D models made with Cycles like this model of the Nikon D7100:

The Logic Editor

We continue to develop our visual programming tool – the Node Logic Editor. In this release we are presenting a number of important features.

First of all, starting with this release Blend4Web does not just allow you to create the logic of your application as a node tree, but to split it into separate subtrees called "functions". You can use these functions like in regular programming language making the whole visual script much more compact and maintainable!

To serve the purpose we introduced two new nodes. The Define Function node allows you to define a new function, describe its input and output arguments and underlying logic using a separate node tree. The Call Function node allows you to call the function and pass necessary parameters to it. For those who are familiar with the JS Callback node, using these nodes will not cause any issues but in any case their use is quite straightforward.

Next, startring with this release you have the opportunity to define the logic of the application by using several node tree diagrams! This means you can define different functions in different node trees making you application much more easy to understand but, first of all, more maintainable. You can easily specify the appropriate node tree using Call Function node.

Finally, in this release, we present the Switch node that was requested by many of our users and provides a simple way to implement branching of the algorithm. There is no more need to create endless chains of Conditional Jump nodes, everything can be done compact is easy to understand and maintain.

Work on the development of the editor of logic will be continued in the next releases, stay tuned!

Other Improvements

As usual, any release of the engine includes a large number of improvements and changes. Here are just some of them:

We have fixed the problem that bothered the users for a long time. Now, when several Blender copies run simultaneously, the addon keeps track of the instance the Tornado server runs. In case the Tornado server is accidentally closed, it will automatically restart, and the user will be able to continue using the project manager and fast preview without too much distraction.

We have made changes to the physics engine once again. This time we have added the ability to control the gravity vector in the scene. To achieve the goal we have added the method set_character_vert_move_dir_angle to the physics module. At our customers’ request the stability of HINGE restrictions has been improved.

Starting from this version, Blend4Web supports variables not only of scalar types, but also of object types.

The recommended version of Blender is now 2.79. This is due to improvements in the logic editor and the use of Datablock pointer properties which was required to implement them. Using the addon with previous versions of Blender can cause some compatibility problems.

For the complete list of changes please refer to the Release Notes.

Conclusion

This release also includes many bug fixes. The long list of resolved issues emphasizes our commitment to keep the engine as stable as possible on all supported platforms despite the diversity of functionality and subsystems in Blend4Web. We thank our community and PRO-users for their care and comments that help us to preserve and improve the performance and stability of the engine in different browsers, on different devices and operating systems. We are always happy to receive your feedback in the comments to this article and on our forum!