PBR Workflow: Reflecting a Scene with Physically Based Rendering

This article applies to environment exported as GLTF to allow the use of its realtime lighting. For fully baked scenes both the ambient and specular reflections can be produced from the scene itself.

Environment Maps
There are a few options other than Lys. The two main free ones to look at are Modified CubeMapGen and IBL Baker. Both have their quirks. When building maps from existing HDR cylindrical maps such as you would find on HDRI Haven, our source for most of the built in maps, Lys is the best choice for clean results. Last I checked the old photoshop DDS plugin still works on current versions of photoshop.

To use the result of a render from Max in Lys, you'd do best to save out a cylindrical panorama as a .HDR file and use the Load Panorama button.

Captured from the Scene
Reflection maps mean to represent the existing scene should almost never be generated inside 3ds Max - we're aiming to reflect how Vizard sees objects, not how 3ds Max does. We render those from Inspector instead. The documentation that recommends using 3ds max predates this option and is outdated.

Frustratingly enough Lys currently has an error loading DDS cube maps despite writing them just fine, so cubemapgen is the better option despite looking so outdated.
Read more

PBR Workflow: Tools, Resources and Additional Reading

Banner Image

An Industry-Wide Revolution

The addition of physically based rendering to WorldViz products brings us into the fold of an industry-wide revolution in artist workflows. Physically based rendering has a few new concepts and methods compared to older methods, as well as some amazing new capabilities that simplify artist workflows an make sure that once an asset has been made once, it can be used anywhere without having to retouch the source files. This is a list of tools and resources to help you on your way.

Krzysztof Narkowicz's Interactive PBR Example

The most intuitive way to get a feel for the capabilities of a shader is often to simply mess around with some sliders and see how it responds. Krzysztof Narkowicz's embedded below from Shadertoy does just that, and even includes a realtime display of what's going on at the microsurface level.


Permalink: https://www.shadertoy.com/view/4sSfzK

Babylon.js GLTF Exporter for 3DS Max

At the moment, the best way to export models for use with Vizard's new PBR workflow is the GLTF format. GLTF stands for GL Transmission Format, and is designed as an engine-neutral way to deliver models ready for use with PBR conventions. The most popular GLTF exporter for 3ds Max is the one produced by the good people at the Babylon.js project.

Instructions for download and use can be found here:
https://doc.babylonjs.com/resources/3dsmax_to_gltf

Be sure to use the "scale factor" option to convert the units to meters for Vizard/Vizible use. e.g. if your 3ds max system unit is set to 1 unit = 1 cm, the scale factor to use in the exporter is 0.01.

Comparison to the old OSGB workflow

One of the awesome things about the approach is that cube maps are now part of environments instead of individual objects, so objects can be easily transferred between scenes and just reflect what's around them. This is as compared to having to manage reflections on a per-object basis with the old OSGB workflow, and having to replace them on every object anytime you want to bring it to a new scene. With this workflow, you make a prop once and it's done forever.
Read more

Underwater Effect

The example script in this article simulates the type of visual distortion that occurs in an underwater scene. It uses a custom post-process effect created using Vizard's vizfx.postprocess library and GLSL (OpenGL shading language).
Read more