DONTNOD specular and glossiness chart

With permission of my company : Dontnod entertainmen

Edit: There is a more recent version of this chart for UE4 here.

I get the permission from my company to release the graphic chart I made for our artists to help them with our new physically based rendering (PBR) workflow.
In the past I provided a blurred and reduced version of it in my blog post: feeding a physical based shading model.

Any feedback are welcome and if this chart is useful for you, tell us.

I generate the chart by programming with at high-resolution (2048×2048). I strongly advice again resizing or compressing (jpeg, png) the image because the value may be incorrect after the filtering.

Caution : The full resolution version of the chart is a tga file in a .zip that I rename to “.pdf” as WordPress don’t support zip file. So just right-click on the image below, save the pdf file then change the extension to “.zip”, decompress and you get the tga file.

(Real world pictures courtesy of Andrea Weidlich from “Exploring the potential of layerer BRDF models” siggraph asia 2009)

The chart has been design for my team and with our convention for textures. The chart is use as predefined value that the artist color pick and use when creating textures.

The chart is divide in two parts.
The upper is for specular color of material, the second is used for glossiness (roughness on the image).

Specular color

We use a RGB DXT1 texture to store colored specular with sRGB encoding. All displayed value are sRGB in this part. To be clear: artist color pick values, create their texture, save texture as usual and at runtime the shader convert the sRGB value to linear RGB value.

To force artists to use right range of values for specular color, we define two gradient of color displayed on the left. One for dielectric material (no metallic) and one for metallic material.
The range of value for no metallic material goes from 40 to 75, which mean 0.017-0.067 in linear space which overlap the range 0.02-0.05 of common dielectric material.
The range of value for no metallic material goes from 155 to 255, which mean 0.33-1.0 in linear space which overlap the range 0.5-1 of common metallic material.
For both range we show with red line the value for common material. A “U” shape red line mean that the range of values inside the “U” can represent the material. The right values depends on its properties.

On the right we provided some common sample with exact values, or a range of values (indicate by the “<->”).
Note that even if your eyes don’t make the difference, there is different values in a range.


We use the alpha channel of the normal map DXT5 to store the grey level value of glossiness (roughness on the image). All values displayed are in linear RGB. To be clear: artist color pick values, create texture,  save texture as usual and at runtime the shader use the value directly.
The gradient display glossiness from 0 for rough (left) material to 1 for smooth material (right).
The grey gradient are from 0 to 255 and red segments are displayed  every 1/10 with a sphere below to show the in-game result of the designated value.
The first row of real world image above represent no metallic object, the second row represent metallic object. Goal is to give artist a better feeling of what is glossiness.
The top blank highligh on the top of the sphere is generated by an analytic point light in order to show the matching between analytic highligh and blurred cubemap.

Note : The glossiness chart is strongly coupled with the glossiness range chose in your game engine. These values are for our game engine glossiness range of 2-2048.


22 Responses to DONTNOD specular and glossiness chart

  1. File has pdf extension, but it’s a tga inside a zip file! Other than that, nice!

  2. seblagarde says:

    Yes, this is what i write above the image, but maybe it is not clear, I will rewrite the sentence 🙂

  3. Hallo sebastien good work,
    it seems compatible with our shader too, which is not really a surprise since it is PBR

  4. Daniel says:

    Great post! Any sample of what a glossmap should look like compare to a spec. As you said there’s no tutorial on the web … I’ve search a lot for it but no luck.

  5. seblagarde says:

    Thanks. I should have add sample of gloss/spec map, but as this is the work of the artists and not mine it is a different thing, need to check with my team. However, here is a sample provide by Alexis Dumas (Artist at Dontnod) showing a texture use for a wall with a metallic part for a gutter. In order: diffuse, normal, gloss (note the highly detailed map) and specular (note the low resolution and the flat color. Dielectric value is low, metallic part are colored and high), the background neutral grey is not a part of the texture :

  6. Denis says:

    little necroposting here, but hope it would be read,

    image in last message: is broken, is there any chance to get complete image?

    • seblagarde says:

      Broken ? you mean you can’t see the image ?

      I suppose you said broken because the left part of the image seems weird, with a grey and white regiion. But in fact this is the specular color texture (in grey top left) which is smaller than the other texture. Is it ok ?


  7. Pingback: Confluence: WoT Development

  8. Pingback: Confluence: Art

  9. Pingback: Confluence: Art

  10. Pingback: Readings on Physically Based Rendering | Interplay of Light

  11. Pingback: Färgpalett och ljusproblem | aijomebe

  12. Pingback: Physically Based Shading, Metallic and Specular workflows | Alexandre Pestana

  13. olivier says:

    You speak about Glossiness but in your image it’s write Roughness. Is it normal ? Does we have to invert your values ?


  14. Jerry Cao says:

    I have one question about your image. Please give me some pointers when you have some free cycles.
    AFAIK, there are four new parameters in PBR rendering, at least for UE4. They are BaseColor, Metallic, Specular (Not useful at all for pure metallic objects) and Roughness.

    The glossiness value should correspond to roughness in UE4, maybe needs to be inverted. What is the SpecularColor? Is it BaseColor in UE4? or something else.


    • seblagarde says:


      I already post a UE4 chart a while ago here:

      Also note it is not “new parameters” in PBR rendering it is just a different parametrization. Disney style: Metal/BaseColor/reflectance and two-color: Diffuse/specular are two valids parametrization with various pros and cons.

      • Jerry Cao says:

        Actually I came from this new blog, 🙂

        After reviewing it again, I think I got an important line:
        Previous specular value for metalic can be reuse for Unreal engine 4 reflectance parameter.

        Basically specular in this image should correspond to “Specular” in UE4 Material editor, the only difference is that thier specular is from 0 to 1 and the engine will convert it to (0-0.08). Your specular is already in the right range, no need to transform.

        Hope I’m right, 🙂

  15. seblagarde says:

    Vocabulary, I will use :
    two color parametrization is diffuse/specular
    disney parametrization is baseColor/metal/reflectance

    both parametrizations are valid and actually the two-color span a larger gamut than the Disney so allow more material expressivity but is a bit more complex to understand by the artists.

    >Previous specular value for metalic can be reuse for UE4 reflectance parameter.
    specular value for metalic material is baseColor in UE4

    > specular in this image should correspond to “Specular”
    Specular for dieletric material is reflectance * 0.08 in UE4
    i.e reflectance = specular / 0.08

  16. Pingback: Confluence: CHD

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: