Monday, June 6, 2016

3D renderer improvements in EB GUIDE 6.2

Thomas Engelhardt

The author, Thomas Engelhardt, is a 3D expert at EB.

The display of interactive 3D content on HMIs is becoming increasingly important. It contributes to an immersive user experience, and conveys a sense of quality and luxuriousness in comparison to pure 2D HMIs. But despite the superior visual experience 3D content offers, user interaction with 3D elements can be difficult at times.

The interaction device, e.g. a touch screen, is inherently 2D which makes 2D elements superior for interaction. Sometimes, 2D elements are better suited for display, either due to psychological or simple quality reasons, e.g. text. That’s why appealing and well-designed user interfaces combine the best of both worlds.

EB GUIDE is a tool for building advanced HMIs. As such, it has offered tight integration of 2D and 3D content for a long time. With the release of EB GUIDE 6.2, we’ve upgraded the OpenGL|ES 2.0 and Direct3D11 3D renderers. They offer a set of new features to display 3D content, rendering HMIs with even greater visual appeal.

That’s not the only improvement to the EB GUIDE 3D renderers. A fundamental shift in the software architecture allowed us to improve rendering performance on a wide variety of platforms—more than ever before—trumping EB GUIDE 6.1 and earlier version performance by approximately two fold on average.

What new 3D renderer features does EB GUIDE 6.2 support?

The 3D renderers in EB GUIDE 6.2 handle drawing 2D and 3D user interface elements alike. As in EB GUIDE 6.1, this includes basic 2D elements such as rectangles, images and labels. Although extremely simple, these are the basic building blocks, called widgets, which you combine to form far more complex and appealing 2D interaction elements.

3D content in EB GUIDE 6.2 is just another building block or widget for HMIs. So, it seamlessly combines with all other 2D widgets in the toolbox. Integration is as easy as before. First, create a 3D scene with a dedicated 3D modelling tool such as 3ds Max or Blender. Second, the 3D scene is stored in the industry standard 3D asset exchange COLLADA format. Finally, load the exported COLLADA file directly loaded into the EB GUIDE 3D widget to import the 3D scene. There it is displayed and animated, either by modifying the scene directly in EB GUIDE or by playing back imported keyframe animations.

Figure 1 shows the full list of features now supported in EB GUIDE 6.2 compared with earlier versions.

Prior to EB GUIDE 6.2 loading was restricted to 3D geometry and materials only. This made it cumbersome for the user to set up the desired viewing conditions for a 3D scene. We also found that the automatic lighting setup in earlier versions of EB GUIDE wasn’t satisfactory and was too restrictive for HMI designers.

With EB GUIDE 6.2 we solved these issues by importing the 3D camera setup and a wide array of light sources from the COLLADA file, rendering the 3D scene as close as possible to its appearance in the 3D modelling tool. This eliminates the need for further, cumbersome adjustments, while at the same time keeping the ease of use and integration users expect from EB GUIDE.


Figure 1: Feature comparison of the 3D renderers in EB GUIDE 6.1 and EB GUIDE 6.2. Note that we greatly improved the lighting and material support. We now support a wide variety of common light sources and textures that control surface details (normal mapping), spatially variant specularity/glossiness (specular texture), and precomputed lighting information (light map) for improved visual fidelity.

Performance improvements

As mentioned, EB GUIDE 6.2 introduces a new rendering architecture. This enabled us to reengineer and optimize the way data is turned from a description of the HMI into a visible image. Employing layered processing, batching, and caching mechanisms we kept CPU utilization low. Consequently the 3D renderers process more data in the same amount of time which gives us the best rendering performance measured so far in EB GUIDE, even across a wide array of platform targets.

Figure 2 shows the average performance increase of EB GUIDE 6.2 in comparison to EB GUIDE 6.1 for three platforms. The average performance on our low-end iMX6 test target more than doubled. On our NVIDIA Jetson TK1 high-end hardware target, the average performance increase turned out to be slightly less pronounced but at approximately 92%, it still outshines earlier versions of EB GUIDE.

Figure 2:  Relative performance speed-up of EB GUIDE Studio 6.2 to EB GUIDE Studio 6.1. Performance approximately doubled on all measured hardware platforms.


The 3D renderer improvements in EB GUIDE 6.2 make it easier and more convenient than it’s ever been to use 3D content on HMIs. You’ll find that 3D content is easy to create, integrates seamlessly with 2D user interface elements, and visually appears as close as possible as to how the designer intended it in the 3D modelling tool. Above all, the switch to the new rendering architecture approximately doubles performance on average on all hardware platforms, giving you a faster and more stunning interface.