Extending Wavefront MTL for Physically-Based Rendering

With Physically-based Rendering (PBR) becoming the new standard, we need a simple standard interchange format.

- Ben Houston

Over the last couple of years, the game industry has moved from the traditional Phong shading model towards the Physically-based or Physically-plausible Rendering method that uses materials that make it easier for artists to create realistic (e.g. physical) results.

But there is a significant issue in trying to develop assets for PBR-based renderers. There is no well defined format for transmitting the underlying Physically-based Material parameters between various creation tools (e.g. Clara.io, Unreal Engine, CryEngine, Unity, Maya, 3DS Max, Modo.)

In this blog post, we propose a simple solution. We suggest simply extending the Wavefront MTL material format with a number of new parameters that capture the model proposed by Disney for Physically-Based Rendering.

To represent a PBR material, we suggest using these existing well defined Wavefront MTL material properties:

  • Kd/map_Kd (base/diffuse) // reuse
  • Ks/map_Ks (specular) // reuse
  • d or Tr (opacity) // reuse
  • map_d/map_Tr (opacitymap) // reuse
  • Tf (translucency) // reuse
  • bump/-bm (bump map) // reuse
  • disp (displacement map) // reuse

And we propose adding these additional properties, which refer to PBR-specific parameters as defined by the Disney PBR paper (pdf):

  • Pr/map_Pr (roughness) // new
  • Pm/map_Pm (metallic) // new
  • Ps/map_Ps (sheen) // new
  • Pc (clearcoat thickness) // new
  • Pcr (clearcoat roughness) // new
  • Ke/map_Ke (emissive) // new
  • aniso (anisotropy) // new
  • anisor (anisotropy rotation) // new
  • norm (normal map) // new

The various parameters are to be parsed in the same manner as the original MTL parameters.

Exocortex Blog

This is the blog of Exocortex, passionate CG software professionals creating tools for top artists, developers and studios.

View all our blog entries.

Browse our products.