Stride

OPEN / CLOSE
  • Features
  • Blog
  • Documentation
  • Community
(icon) Download

  • Discord
  • Facebook
  • Twitter
  • YouTube

LANGUAGE

OPEN / CLOSE
  • English
  • 日本語
    Show / Hide Table of Contents

    Shading attributes

    Intermediate Artist Programmer

    The material shading attributes define the color characteristics of the material and how it reacts to light.

    Shading attributes

    Note

    To display a material, you need to select at least one shading model (diffuse, specular or emissive model) in the model attributes.

    Diffuse

    The diffuse is the basic color of the material. A pure diffuse material is completely non-reflective and "flat" in appearance.

    media/material-attributes-25.png

    The final diffuse contribution is calculated like this:

    • the diffuse defines the color used by the diffuse model

    • the diffuse model defines which shading model is used for rendering the diffuse component (see below)

    Currently, the diffuse attribute supports only a diffuse map.

    media/material-attributes-23.png

    Diffuse model

    The diffuse model determines how the diffuse material reacts to light. You can use the Lambert or cel-shading.

    Lambert model

    Under the Lambert model, light is reflected equally in all directions with an intensity following a cosine angular distribution (angle between the normal and the light):

    media/material-attributes-24.png

    Note

    A pure Lambertian material doesn't exist in reality. A material always has a little specular reflection. This effect is more visible at grazing angles (a mostly diffuse surface becomes shiny at grazing angle).

    Property Description
    Diffuse map The diffuse map color provider
    Diffuse model The shading model for diffuse lighting

    Specular

    A specular is a point of light reflected in a material.

    Specular highlight

    The specular color can be defined using a metalness map (which uses the diffuse color as a base color), or a specular map (the specular color is defined separately from the diffuse color).

    Metalness map

    The metalness map simplifies parametrization between the diffuse and specular color.

    By taking into into account the fact that almost all materials always have some "metalness"/reflectance in them, using the metalness map provides realistic materials with minimal parametrization.

    The final specular color is calculated by mixing a fixed low-reflection color and the diffuse color.

    • With the metalness color at 0.0, the effective specular color is equal to 0.02, while the diffuse color is unchanged. The material is not metal but exhibits some reflectance and is sensitive to the Fresnel effect.

    • With the metalness color at 1.0, the effective specular color is equal to the diffuse color, and the diffuse color is set to 0. The material is considered a pure metal.

      media/material-attributes-26.png

      The screenshots below show the result of the metalness factor on a material with the following attributes:

    • Gloss = 0.8

    • Diffuse = #848484, Lambert
    • Specular GGX
    Pure diffuse (no metalness) Metalness = 0.0 Metalness = 1.0
    media/material-attributes-27.png media/material-attributes-28.png media/material-attributes-29.png
    - The diffuse color is dominant - The diffuse color is dominant - The diffuse color isn't visible
    - The specular color isn't visible - The specular color is visible (0.02) - The specular color is visible

    Specular map

    The specular map provides more control over the actual specular color, but requires you to modify the diffuse color accordingly.

    Unlike the metalness workflow, this lets you have a different specular color from the diffuse color even in low-reflection scenarios, allowing for materials with special behavior.

    Note

    You can combine metalness and specular workflows in the same material by adding separate layers.

    Specular model

    A pure specular surface produces a highlight of a light in a mirror direction. In practice, a broad range of specular materials, not entirely smooth, can reflect light in multiple directions. Stride simulates this using the microfacet model, also known as Cook-Torrance (academic paper).

    media/material-attributes-33.png

    The microfacet is defined by the following formula, where Rs is the resulting specular reflectance:

    media/material-attributes-34.png

    Property Description
    Fresnel Defines the amount of light that is reflected and transmitted. The models supported are:

    Schlick: An approximation of the Fresnel effect (default)

    Thin glass: A simulation of light passing through glass

    None: The material as-is with no Fresnel effect

    Visibility Defines the visibility between of the microfacets between (0, 1). Also known as the geometry attenuation - Shadowing and Masking - in the original Cook-Torrance. Stride simplifies the formula to use the visibility term instead:

    media/material-attributes-35.png

    and

    media/material-attributes-36.png

    Schlick GGX (default)

    Implicit: The microsurface is always visible and generates no shadowing or masking

    Cook-Torrance

    Kelemen

    Neumann

    Smith-Beckmann

    Smith-GGX correlated

    Schlick-Beckmann

    Normal Distribution

    Defines how the normal is distributed. The gloss attribute is used by this part of the function to modify the distribution of the normal.

    GGX (default)

    Beckmann

    Blinn-Phong

    Fresnel Defines the amount of light that is reflected and transmitted. The models supported are:

    Schlick: An approximation of the Fresnel effect (default)

    Thin glass: A simulation of light passing through glass

    None: The material as-is with no Fresnel effect

    Visibility Defines the visibility between of the microfacets between (0, 1). Also known as the geometry attenuation - Shadowing and Masking - in the original Cook-Torrance. Stride simplifies the formula to use the visibility term instead:

    media/material-attributes-35.png

    and

    media/material-attributes-36.png

    Schlick GGX (default)

    Implicit: The microsurface is always visible and generates no shadowing or masking

    Cook-Torrance

    Kelemen

    Neumann

    Smith-Beckmann

    Smith-GGX correlated

    Schlick-Beckmann

    Normal Distribution

    Defines how the normal is distributed. The gloss attribute is used by this part of the function to modify the distribution of the normal.

    GGX (default)

    Beckmann

    Blinn-Phong

    Fresnel Defines the amount of light that is reflected and transmitted. The models supported are:


    Schlick: An approximation of the Fresnel effect (default)



    Thin glass: A simulation of light passing through glass



    None: The material as-is with no Fresnel effect


    Visibility Defines the visibility between of the microfacets between (0, 1). Also known as the geometry attenuation - Shadowing and Masking - in the original Cook-Torrance. Stride simplifies the formula to use the visibility term instead:


    media/material-attributes-35.png



    and


    media/material-attributes-36.png



    Schlick GGX (default)



    Implicit: The microsurface is always visible and generates no shadowing or masking



    Cook-Torrance



    Kelemen



    Neumann



    Smith-Beckmann



    Smith-GGX correlated



    Schlick-Beckmann


    Normal Distribution


    Defines how the normal is distributed. The gloss attribute is used by this part of the function to modify the distribution of the normal.



    GGX (default)



    Beckmann



    Blinn-Phong


    Emissive

    An emissive material is a surface that emits light.

    media/material-attributes-37.png

    With HDR, a Bloom and a Bright filter post-processing effects, we can see the influence of an emissive material:

    media/material-attributes-38.png

    Property Description
    Emissive map The emissive map color provider
    Intensity The factor to multiply by the color of the color provider
    Use alpha Use the alpha of the emissive map as the main alpha color of the material (instead of using the alpha of the diffuse map by default)

    See also

    • Geometry attributes
    • Misc attributes
    • Material maps
    • Material layers
    • Materials for developers
    • Custom shaders
    • Improve this Doc
    In This Article

    Back to top

    Copyright © 2019-2021 .NET Foundation and Contributors
    Supported by the .NET Foundation