Real Shading in Unreal Engine 4 by

About a year ago, we decided to invest some time in improving our shading model and embrace a more physically based material workflow. This was driven partly by a desire to render more realistic images, but we were also interested in what we could achieve through a more physically based approach to material creation and the use of material layering. The artists felt that this would be an enormous improvement to workflow and quality, and I had already seen these benefits first hand at another studio, where we had transitioned to material layers that were composited offline. One of our technical artists here at Epic experimented with doing the layering in the shader with promising enough results that this became an additional requirement. In order to support this direction, we knew that material layering needed to be simple and efficient. With perfect timing came Disney’s presentation [2] concerning their physically based shading and material model used for Wreck-It Ralph. Brent Burley demonstrated that a very small set of material parameters could be sophisticated enough for offline feature film rendering. He also showed that a fairly practical shading model could closely fit most sampled materials. Their work became an inspiration and basis for ours, and like their “principles” we decided to define goals for our own system: