Physically Based Rendering (PBR) is the latest enhancement to our QuickVision display system. This method of rendering provides photorealistic lighting in 3D environments and physically accurate distribution patterns of light and material definitions. PBR accurately represents a surface based on its interactions with light. Using PBR simplifies the process of creating realistic looking materials, resulting in a very accurate representation of surfaces that work well in all lighting environments.
Note: There are currently two standard PBR materials formats: The Glossy/Specular model, and Metal/Roughness model. MicroStation only supports the Metal/Roughness model for the time being. PBR material samples found over the Internet generally provide both formats.
Motorcycle rendered in MicroStation without PBR materials
Motorcycle rendered in MicroStation using PBR materials
PBR materials (or Physically Based Rendering materials) are a very generic class of materials that can describe most of existing surface types in a physically correct way, using a small set of parameters. Those surface types can range from specular (smooth appearance) to diffuse (rough appearance), for both metals and non-metals. Intermediate surface types (commonly called glossy surfaces) are also supported, producing more or less blurry reflections. As PBR materials parameters can be spatially varying, a single PBR material can even describe a complex mix between several of these surface types.
Note: The only surface types that PBR materials cannot describe are transparent surfaces (refractive or not). For transparent materials, the legacy material type should be used instead. In MicroStation we allow you to toggle on PBR for these materials strictly for enabling more realistic shading in Realtime using QuickVision. When Ray Tracing MicroStation will use the material definition you see when PBR is toggled off in the material editor.
As opposed to legacy materials, PBR materials are always reflective, their appearance will thus, change only based on how rough the surface is described at a microscopical level, effectively producing more specular reflections if the surface is rather smooth, or more diffuse reflections if the surface is rough. Because everything is reflective and modified by the roughness parameter whether as a map or value this can lead to increased render times when ray tracing. When a view is shaded in MicroStation the reflections are from the environment used seen as a “reflection map” and these are processed by the GPU in Realtime. In the future we plan to add ability to use reflection map or ray trace reflections on a per material basis.
You can access the PBR material settings in the Material Editor dialog by selecting the blue PBR icon.
Maps for various settings like Height, Normal, Ambient Occlusion, Metallic, Roughness etc. can be used to achieve the desired effects on materials.
Note: The PBR toggle in the material editor allows you to toggle between a legacy material definition and a PBR material. If you have a legacy material and enable PBR with the toggle the legacy definition is retained to go back to legacy definition, simply click the PBR icon and the legacy definition will appear.
Image shaded in MicroStation. Diamond Plate PBR material using Base Color map and maps for Ambient Occlusion, Metallic, Roughness, Height and Normal.
In the diamond plate PBR material shown, base color map with amount maps for ambient occlusion, metallic, roughness, height and normal are used to create a very realistic material. As you can see the areas where the rust appears is flat not shiny or metallic, this portion would be considered as dielectric. These rusty areas would be leaning toward or be black in the metallic map and be leaning toward white in the roughness map.
The following maps are used in the diamond plate material:
Ambient Occlusion Base Color Metallic
Roughness Height Normal
Ambient Occlusion: This map modulates incoming lighting over the surface.
Base Color: Defines the color diffuse reflection or albedo.
Metallic: White is pure metal and black in non metal. A value of 100 will denote raw metal, while a value of 0 will denote non metal. Intermediate values are supported for smooth transitions, and describe a blended state between metal and non metal, but generally metalness masks are binary (either 1 or 0).
Roughness: Controls blurriness of the surface reflections, where white is non-shiny and black is shiny. The Roughness PBR channel describes, at a microscopical level, the surface irregularities that will define how light gets reflected off the surface (rougher surfaces will have larger and dimmer looking highlights, as well as blurred reflections, thus having a more diffuse look, while smoother surfaces will keep reflections more focused, thus having a more specular look).
A value of 0 will correspond to a perfectly smooth surface, producing perfect specular reflections.
A value of 100 will correspond to the maximum surface roughness, producing diffuse reflections.
Intermediate values will produce glossy reflections.
Height: The Height map uses Parallax Occlusion to provide an effect like displacement without creating geometry at render time as a displacement map does, also the effect from height map is inward away from the viewer the effect never appears to move or protrude outward toward the viewer. Height maps work with normal maps to effectively fake displacement without the overhead of creating many micro polygons at render time. A new Height Field View Attribute has been added, so you can turn off the display of height maps. When working in large scenes with many materials using height maps it is possible that viewing operations could become slow, especially where low-end graphic cards are used.
Normal: Normal map uses an image that stores a direction at each pixel. These directions are called Normals. The red, green, and blue channels of the image are used to control the direction of each pixel's normal. Normal maps are commonly used to fake high-resolution details on a low-resolution model.
Emissive: Emissive maps can be used to provide effect like glow and allows the user to change the color which sets both the intensity and color of the emissive “glowing” portion of the map.
Emissive map used for led readout, emissive color a light green
Opacity: The Opacity map works as it does in a legacy material definition and can be used to make a portion of the mapped imaged completely transparent or partially transparent. When no map is used you can use opacity maps to create glass materials that will look realistic when shaded in MicroStation.
Opacity map used for windows, not completely transparent and reflective to appear as glass
Note: The Ambient Occlusion channel defines how much of the incoming lighting is accessible to a surface point. For non metals, it only affects the diffuse contribution and will not occlude the specular contribution.
A roughness value of zero of black does not mean the material will be 100% reflective while it does provide for subtle reflections. To increase reflectivity further you will need to increase the metallic value. For example, a mirror would have a roughness of zero and a metallic value of 100%.
PBR uses mathematical equations to compute how a light source will diffuse or reflect when it interacts with two primary types of material: Metals (conductors) and non-metals (dielectrics). For Physically-based rendering of a material you don’t have to manually tweak every lighting condition like you would do for non-PBR implementations of light. You can conveniently adjust the sliders associated with each map to set its value and view the results without the need to render the scene. This allows for faster production of assets along with enhanced visuals. In short, a very realistic look with less effort.
For QuickVision to effectively display PBR materials you will need to have a reflect environment defined. The Display Styles dialog now has a new Overrides for Reflection setting where you can define the reflection map used for Realtime reflections separate from the Background. You can for example, set the Background to be a color and then set the Reflection to be a Skybox.
Watch model smooth shaded in MicroStation with reflection map
Using the Smooth, SkyBox display style you can see the reflections in the PBR materials used on the watch model. Please read this article to get started with PBR.