Sunday, May 20, 2018

EB GUIDE – Physical-based material models, high dynamic range rendering and the Alpha Mask widget

Thomas Engelhardt

With EB GUIDE we introduce a wide array of new features to the renderer.

We’ve added physical-based material models as well as gamma correct and high dynamic range rendering to the 3D scene graph. In the 2D department we added a new Alpha Mask widget that enables the manipulation of its children’s transparency using an image. Beyond that, our text renderer has seen an update as well and we are thrilled to announce that it is now possible to enable a text outline effect for the Label widget.

A detailed look

Visual fidelity is paramount for rendering 3D scenes to convey a sense of realism. The material model that is used to simulate the interaction of light with 3D objects is a cornerstone in this process. Till date, we’ve used the Phong lighting model in EB GUIDE. It is well-known, adopted by virtually every 3D software package, and very intuitive to use. By turning the knobs of the Phong model, you can make objects appear metallic, like plastic or rubber or any other non-translucent material. Its limiting factor is that it is phenomenological, i.e. it does not model the interaction of light with the object’s actual surface structure in a physically correct manner. This, however, is required to achieve the best possible realistic appearance. For this purpose we added two additional physically-based material models to EB GUIDE. Although this might sound daunting at first, the new materials are as user friendly as the phenomenological Phong model. All it takes is to set the material’s roughness and metallic appearance parameters as shown in Figure 1.

Figure 1: The new materials are physically based and very user friendly. In this example only the metallic appearance changes from left to right. This is controlled using a single parameter.

Another aspect of physical-based rendering that goes along with material modelling are lighting conditions. On the one hand, the various light widgets in the EB GUIDE scene graph have always made it possible to use virtually unlimited luminance or intensity ranges as encountered in the physical world. On the other hand, the displayable luminance range of common computer screens is limited. This causes oversaturation of objects lit by strong light sources (Figure 2a). Managing light source luminance carefully may alleviate this problem, but reduces contrast and detail degrading overall visual appearance. In EB GUIDE we now offer a way out of this dilemma. Optionally you can now enable tone mapping for each scene graph. The implementation used by EB GUIDE automatically compresses high luminance values and leaves low and normal luminance values where most visual detail resides intact (Figure 2d). If you are not satisfied with the result, you can intervene manually and change the compression ratio to satisfy your likings (Figure 2b-c).

Figure 2:Tone Mapping compresses highlights in order to reveal detail in low and normal dynamic range regions of the image. The tone mapping strenghts increases in the insets from top to bottom.

So far we covered dynamic luminance ranges encountered in the physical world and physically-based material models. Another crucial aspect of physically-based rendering algorithms is the storage of colors in textures and display of colors on the screen. Most times, images that are used as textures in EB GUIDE are stored in the non-linear sRGB color space. However, lighting is a linear operation. Ignoring this fact leads to incorrect color reproduction (Figure 3 left). To counter this effect, you can now flag diffuse textures sRGB-aware so that the renderer automatically corrects the texture’s color space (Figure 3 right). Color distortion due to non-linear reproduction also affects the color appearance on the screen.

Figure 3: Both figures show a marble ground lit by two light sources. The marble texture is stored in the sRGB color space. In the left image, the non-linear sRGB color space was not corrected. This makes details appear washed out. In the right, the sRGB color space was converted to RGB for the lighting computations. The result has more contrast and is far more visual appealing as details become visible.

Diving into more detail how this comes about and how this can be corrected in EB GUIDE is beyond the scope of this article. A tutorial that covers all aspects from theoretical background to practical application of the gamma correct rendering in EB GUIDE will soon be available for download.

With these additions to EB GUIDE’s 3D render we made significant progress towards real-time physically based rendering. Watch out for new features in the future that will help you increase the level of realism even further. But for now let us focus on the improvements that we added to our 2D widgets.

As you know, EB GUIDE offers the possibility to define a constant alpha value for each of the supported widgets to enable transparency effects. In many use cases, a constant alpha value is a limiting factor, e.g. if you like to fade or cut out segments of primitives or groups thereof. This restriction is now lifted in EB GUIDE 6.6. We added the new Alpha Mask widget. This widget acts as a container, but allows you to specify an image that controls the alpha value of all its children in the widget tree. Using this approach adding spatially variant transparency or binary visibility masks becomes a breeze (Figure 4).

Figure 4: When applying an Alpha Mask (middle) to a set of widgets (left), black areas are cut out while gray areas become semi- transparent and reveal the widgets behind (right).

While the Alpha Mask is a completely new widget, we did not forget about our existing ones. Our label widget is responsible for rendering text. In cases where for instance the text is hardly distinguishable from the background or just for visual appeal, you now have the ability to enable a text outline effect as shown in Figure 5.

Figure 5: EB GUIDE text outline

We’ve made significant strides toward physically based rendering for our scene graph widget. Physically based lighting models, the support for high dynamic range lighting and tone mapping as well as sRGB color correction improve the visual fidelity of the 3D scenes. Our 2D widgets have seen the addition the Alpha Mask that makes complex and spatially variant transparency effects possible. Finally we presented the new outline text rendering effect.

Start modeling now!

As always, we are constantly looking for ways to improve the tool.

Download the latest version of the tool, try it out and send us your feedback.

Also, don’t forget to visit our Resources section to download examples, review tutorials and read user documentation.

As always, get in touch with us if you have questions or feedback.