Skip to content
  • Paul Lafoix's avatar
    PBR: Clear coat layer implementation · 5a481068
    Paul Lafoix authored
    Update PBR shader in vtkOpenGLPolyDataMapperNode to simulate a clear
    coat layer (upside layer on the material). This layer is supposed
    dielectric and with low roughness, so it adds only a specular lobe to
    the previous diffuse and specular parts of the base material.
    The specular BRDF model of the coat layer is a Cook-Torrance specular
    microfacet model,
    with a GGX normal distribution function, a Smith visibility function,
    and a Schlick
    Fresnel function. Notice that it uses the exact same specular microfacet
    model as the base layer specular BRDF.
    
    It adds multiples parameters to vtkProperty :
    
    * CoatStrength : [0-1], default to 0.0. Control the strength (0 means no layer)
    * CoatRoughness : [0-1], default to 0.0. 0 means smooth layer (high specular
      reflection)
    * CoatIOR : [0-4], default to 2.0. Define the material IOR of the layer.
    * CoatColor : Default to white.
    * CoatNormalScale : Scale the normal map (if present). Default is 1.0
    * BaseIOR : the base material index of...
    5a481068