• Public
  • Public/Protected
  • All

Class PBRSheenConfiguration

Plugin that implements the sheen component of the PBR material.






albedoScalingSearch playground for albedoScaling

albedoScaling: boolean

If true, the sheen effect is layered above the base BRDF with the albedo-scaling technique. It allows the strength of the sheen effect to not depend on the base color of the material, making it easier to setup and tweak the effect

colorSearch playground for color

color: Color3

Defines the sheen color.

intensitySearch playground for intensity

intensity: number

Defines the sheen intensity.

isEnabledSearch playground for isEnabled

isEnabled: boolean

Defines if the material uses sheen.

linkSheenWithAlbedoSearch playground for linkSheenWithAlbedo

linkSheenWithAlbedo: boolean

Defines if the sheen is linked to the sheen color.

nameSearch playground for name

name: string

Defines the name of the plugin

prioritySearch playground for priority

priority: number

Defines the priority of the plugin. Lower numbers run first.

registerForExtraEventsSearch playground for registerForExtraEvents

registerForExtraEvents: boolean

Indicates that this plugin should be notified for the extra events (HasRenderTargetTextures / FillRenderTargetTextures / HardBindForSubMesh)

roughnessSearch playground for roughness

roughness: Nullable<number>

Defines the sheen roughness. It is not taken into account if linkSheenWithAlbedo is true. To stay backward compatible, material roughness is used instead if sheen roughness = null

textureSearch playground for texture

Stores the sheen tint values in a texture. rgb is tint a is a intensity or roughness if the roughness property has been defined and useRoughnessFromTexture is true (in that case, textureRoughness won't be used) If the roughness property has been defined and useRoughnessFromTexture is false then the alpha channel is not used to modulate roughness

textureRoughnessSearch playground for textureRoughness

textureRoughness: Nullable<BaseTexture>

Stores the sheen roughness in a texture. alpha channel is the roughness. This texture won't be used if the texture property is not empty and useRoughnessFromTexture is true

useRoughnessFromMainTextureSearch playground for useRoughnessFromMainTexture

useRoughnessFromMainTexture: boolean

Indicates that the alpha channel of the texture property will be used for roughness. Has no effect if the roughness (and texture!) property is not defined


addFallbacksSearch playground for addFallbacks

  • addFallbacks(defines: MaterialSheenDefines, fallbacks: EffectFallbacks, currentRank: number): number

bindForSubMeshSearch playground for bindForSubMesh

collectDefinesSearch playground for collectDefines

  • collectDefines(defines: {}): void
  • Collects all defines.


    • defines: {}

      The object to append to.

      • [name: string]: { default: any; type: string }
        • default: any
        • type: string

    Returns void

copyToSearch playground for copyTo

  • Makes a duplicate of the current configuration into another one.


    Returns void

disposeSearch playground for dispose

  • dispose(forceDisposeTextures?: boolean): void
  • Parameters

    • Optional forceDisposeTextures: boolean

    Returns void

fillRenderTargetTexturesSearch playground for fillRenderTargetTextures

getActiveTexturesSearch playground for getActiveTextures

  • getActiveTextures(activeTextures: BaseTexture[]): void

getAnimatablesSearch playground for getAnimatables

getClassNameSearch playground for getClassName

  • getClassName(): string

getCustomCodeSearch playground for getCustomCode

  • getCustomCode(shaderType: string): Nullable<{}>
  • Returns a list of custom shader code fragments to customize the shader.


    • shaderType: string

      "vertex" or "fragment"

    Returns Nullable<{}>

    null if no code to be added, or a list of pointName => code. Note that pointName can also be a regular expression if it starts with a !. In that case, the string found by the regular expression (if any) will be replaced by the code provided.

getSamplersSearch playground for getSamplers

  • getSamplers(samplers: string[]): void

getUniformsSearch playground for getUniforms

  • getUniforms(): { fragment?: string; ubo?: Array<{ name: string; size: number; type: string }>; vertex?: string }
  • Returns { fragment?: string; ubo?: Array<{ name: string; size: number; type: string }>; vertex?: string }

    • Optional fragment?: string
    • Optional ubo?: Array<{ name: string; size: number; type: string }>
    • Optional vertex?: string

hardBindForSubMeshSearch playground for hardBindForSubMesh

  • Binds the material data (this function is called even if mustRebind() returns false)


    • uniformBuffer: UniformBuffer

      defines the Uniform buffer to fill in.

    • scene: Scene

      defines the scene the material belongs to.

    • engine: Engine

      defines the engine the material belongs to.

    • subMesh: SubMesh

      the submesh to bind data for

    Returns void

hasRenderTargetTexturesSearch playground for hasRenderTargetTextures

  • hasRenderTargetTextures(): boolean
  • Gets a boolean indicating that current material needs to register RTT

    Returns boolean

    true if this uses a render target otherwise false.

hasTextureSearch playground for hasTexture

isReadyForSubMeshSearch playground for isReadyForSubMesh

  • isReadyForSubMesh(defines: MaterialSheenDefines, scene: Scene, engine: Engine): boolean

parseSearch playground for parse

  • parse(source: any, scene: Scene, rootUrl: string): void
  • Parses a anisotropy Configuration from a serialized object.


    • source: any

      Serialized object.

    • scene: Scene

      Defines the scene we are parsing for

    • rootUrl: string

      Defines the rootUrl to load from

    Returns void

prepareDefinesSearch playground for prepareDefines

  • prepareDefines(defines: MaterialSheenDefines, scene: Scene, mesh: AbstractMesh): void

serializeSearch playground for serialize

  • serialize(): any
  • Serializes this clear coat configuration.

    Returns any

    • An object with the serialized config.


  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Static property
  • Static method