GGX Shading Model For Metallic Reflections
Subscribe:  iCal  |  Google Calendar
Amsterdam NL   25, Jun — 28, Jun
Los Angeles US   25, Jun — 28, Jun
Montreal CA   27, Jun — 1, Jul
Cambridge GB   28, Jun — 2, Jul
Guildford GB   29, Jun — 30, Jun
Latest comments
by Matthew Scenery.Melbourne
6 hours ago

Their website does say that you can pay per image at $1 per image. I am in the opposite boat though. I could see this having a very significant effect on photogrammetry but I would need to process a few thousand images at a time which would not be very feasible with their current pricing model

by Shaun
7 hours ago


To the developers. A very promising piece of software for a VFX supervisor like me. BUT, please reconsider your pricing tiers and introduce a per-image price. We are a pretty large facility, but I can only imagine needing about 1-10 images a month at the very most. It's like HDRI's - we buy them all the time, one at a time. They need to be individually billed so a producer can charge them against a particular job.

GGX Shading Model For Metallic Reflections
14 August, 2017

Neil Blevins allowed us to repost his thorough guide that focuses on the the GGX Shading Model that works when dealing with reflections on rough surfaces. 

This tutorial discusses the GGX Shading Model which more closely mimics the look of real reflections on rough surfaces.

So lets look at some real surfaces with bright light sources that I took with my iphone…

Notice how the reflection of really bright lights (such as the sun) tend to have a really hot center to them, and then have this longer falloff.

The standard Blinn or Ward falloff (Blinn and Ward are two of the more commonly used shader models) do not have the long soft tail of these images. Of course, there’s a number of things that could be potentially causing this sort of effect beyond the surface itself. Maybe this look comes from bloom in the camera, or maybe something about the color process that happens to the final photo.

But here’s an example from a Disney paper on the subject: Physically Based Shading At Disney

The first highlight is a reflection on real chrome which has been captured using far more controlled conditions than my tests above, the second is a GGX shader, and the 3rd is a Beckmann shader (closer to Blinn). Notice how the GGX shader looks close to how the real chrome reacts, with a sharp central highlight and then a softer falloff (called a tail). And notice how similar their real chrome example is to my photos.

GGX Shader in Vray for 3dsmax

So the examples below use the GGX shader in the newest Vray for 3dsmax, although the theory works the same for any GGX shader in any software. First, here’s a simple reflective sphere with a single high intensity square area light shining at it. The sphere has a Vray Material set to the Ward shader, the previous best shader for metallic highlights. The shader also has a glossiness below 1 to make it a little rough (ie, the reflection blurry)

Ward, 0.96 Glossiness

Now lets change the shader to GGX

GGX, 0.96 Glossiness, Tail 2.0

Now notice that it looks really different. Lets adjust the glossiness value so that you get about the same amount of blur to the reflection…

GGX, 0.83 Glossiness, Tail 2.0

Notice how this looks a lot closer to the example of the real chrome than the ward example.

Here’s examples of a higher tail value, the larger the tail value, the smaller the tail…

GGX, 0.83 Glossiness, Tail 3.0

GGX, 0.83 Glossiness, Tail 4.0

A lower tail value gives a reflection closer to the original ward example, although notice that the square area light still appears a little square with the GGX shader, whereas it appeared very round in the Ward example. So the GGX shader still provides results that seem more consistent with reality.

Now lets try it on something a little more complex, a bunch of pipes with an hdr environment map and a high intensity square area light.

Ward, 0.96 Glossiness

Now switch to GGX…

GGX, 0.96 Glossiness, Tail 2.0

Now lets decrease the glossiness to compensate…

GGX, 0.83 Glossiness, Tail 2.0

Now the blurry parts of the environment map are approximately the same level of blurriness in both the Ward and GGX example, but the bright specular highlight has a much longer tail with GGX. My favorite part of this image is shown below, notice how the longer tail makes a nice long bright streak that is missing from the Ward example.

And of course you can play with the tail amount and glossiness to get the exact type of highlight you want.

And here’s a wedge of various values, click on the image to see it higher res.

Anyways, hopefully this is convincing that if you want metallic highlights that look more photoreal, GGX is the way to go.

Neil Blevins, 3D Artist

The article was originally published here
Source: Neil Blevins

Leave a Reply