PBRMetallicRoughnessMaterial

The PBR material of BJS following the metal roughness convention.

This fits to the PBR convention in the GLTF definition: https://github.com/KhronosGroup/glTF/tree/2.0/specification/2.0

Hierarchy

Implements

Index

Constructors

Properties

Methods

Constructors

constructor

Find examples in Playground

Properties

allowShaderHotSwapping

Find examples in Playground
allowShaderHotSwapping: boolean

Gets or sets a boolean indicating that the material is allowed to do shader hot swapping. This means that the material can keep using a previous shader while a new one is being compiled. This is mostly used when shader parallel compilation is supported (true by default)

alpha

Find examples in Playground
alpha: number

Gets the alpha value of the material

alphaCutOff

Find examples in Playground
alphaCutOff: number

Defines the alpha limits in alpha test mode.

alphaMode

Find examples in Playground
alphaMode: number

Gets the value of the alpha mode

animations

Find examples in Playground
animations: Nullable<Array<Animation>>

Stores the animations for the material

anisotropy

Find examples in Playground

Defines the anisotropic parameters for the material.

backFaceCulling

Find examples in Playground
backFaceCulling: boolean

Gets the back-face culling state

baseColor

Find examples in Playground
baseColor: Color3

The base color has two different interpretations depending on the value of metalness. When the material is a metal, the base color is the specific measured reflectance value at normal incidence (F0). For a non-metal the base color represents the reflected diffuse color of the material.

baseTexture

Find examples in Playground
baseTexture: BaseTexture

Base texture of the metallic workflow. It contains both the baseColor information in RGB as well as opacity information in the alpha channel.

brdf

Find examples in Playground

Defines the BRDF parameters for the material.

checkReadyOnEveryCall

Find examples in Playground
checkReadyOnEveryCall: boolean

Specifies if the ready state should be checked on each call

checkReadyOnlyOnce

Find examples in Playground
checkReadyOnlyOnce: boolean

Specifies if the ready state should be checked once

clearCoat

Find examples in Playground

Defines the clear coat layer parameters for the material.

customShaderNameResolve

Find examples in Playground
customShaderNameResolve: function

Custom callback helping to override the default shader used in the material.

Type declaration

    • (shaderName: string, uniforms: string[], uniformBuffers: string[], samplers: string[], defines: PBRMaterialDefines): string
    • Parameters

      • shaderName: string
      • uniforms: string[]
      • uniformBuffers: string[]
      • samplers: string[]
      • defines: PBRMaterialDefines

      Returns string

depthFunction

Find examples in Playground
depthFunction: number

Specifies the depth function that should be used. 0 means the default engine function

disableDepthWrite

Find examples in Playground
disableDepthWrite: boolean

Specifies if depth writing should be disabled

disableLighting

Find examples in Playground
disableLighting: boolean

If sets to true, disables all the lights affecting the material.

doNotSerialize

Find examples in Playground
doNotSerialize: boolean

Specifies if the material should be serialized

doubleSided

Find examples in Playground
doubleSided: boolean

If sets to true and backfaceCulling is false, normals will be flipped on the backside.

emissiveColor

Find examples in Playground
emissiveColor: Color3

Emissivie color used to self-illuminate the model.

emissiveTexture

Find examples in Playground
emissiveTexture: BaseTexture

Emissivie texture used to self-illuminate the model.

environmentTexture

Find examples in Playground
environmentTexture: BaseTexture

Environment Texture used in the material (this is use for both reflection and environment lighting).

fillMode

Find examples in Playground
fillMode: number

Sets the material fill mode

fogEnabled

Find examples in Playground
fogEnabled: boolean

Gets the value of the fog enabled state

forceDepthWrite

Find examples in Playground
forceDepthWrite: boolean

Specifies if depth writing should be forced

getRenderTargetTextures

Find examples in Playground
getRenderTargetTextures: Nullable<function>

Callback triggered to get the render target textures

hasRenderTargetTextures

Find examples in Playground
hasRenderTargetTextures: boolean

Gets a boolean indicating that current material needs to register RTT

id

Find examples in Playground
id: string

The ID of the material

inspectableCustomProperties

Find examples in Playground
inspectableCustomProperties: IInspectable[]

List of inspectable custom properties (used by the Inspector)

see

https://doc.babylonjs.com/how_to/debug_layer#extensibility

invertNormalMapX

Find examples in Playground
invertNormalMapX: boolean

If sets to true, x component of normal map value will invert (x = 1.0 - x).

invertNormalMapY

Find examples in Playground
invertNormalMapY: boolean

If sets to true, y component of normal map value will invert (y = 1.0 - y).

isFrozen

Find examples in Playground
isFrozen: boolean

Specifies if updates for the material been locked

lightmapTexture

Find examples in Playground
lightmapTexture: BaseTexture

Stores the pre-calculated light information of a mesh in a texture.

maxSimultaneousLights

Find examples in Playground
maxSimultaneousLights: number

Number of Simultaneous lights allowed on the material.

metadata

Find examples in Playground
metadata: any

Gets or sets user defined metadata

metallic

Find examples in Playground
metallic: number

Specifies the metallic scalar value of the material. Can also be used to scale the metalness values of the metallic texture.

metallicRoughnessTexture

Find examples in Playground
metallicRoughnessTexture: BaseTexture

Texture containing both the metallic value in the B channel and the roughness value in the G channel to keep better precision.

name

Find examples in Playground
name: string

The name of the material

needDepthPrePass

Find examples in Playground
needDepthPrePass: boolean

Gets the depth pre-pass value

normalTexture

Find examples in Playground
normalTexture: BaseTexture

Normal map used in the model.

occlusionStrength

Find examples in Playground
occlusionStrength: number

Occlusion Channel Strenght.

occlusionTexture

Find examples in Playground
occlusionTexture: BaseTexture

Occlusion Texture of the material (adding extra occlusion effects).

onBind

Find examples in Playground
onBind: function

Called during a bind event

Type declaration

onBindObservable

Find examples in Playground
onBindObservable: Observable<AbstractMesh>

An event triggered when the material is bound

onCompiled

Find examples in Playground
onCompiled: Nullable<function>

Callback triggered when the material is compiled

onDispose

Find examples in Playground
onDispose: function

Called during a dispose event

Type declaration

    • (): void
    • Returns void

onDisposeObservable

Find examples in Playground
onDisposeObservable: Observable<Material>

An event triggered when the material is disposed

onError

Find examples in Playground
onError: Nullable<function>

Callback triggered when an error occurs

onUnBindObservable

Find examples in Playground
onUnBindObservable: Observable<Material>

An event triggered when the material is unbound

pointSize

Find examples in Playground
pointSize: number

Stores the size of points

pointsCloud

Find examples in Playground
pointsCloud: boolean

Sets the state of point cloud mode

reservedDataStore

Find examples in Playground
reservedDataStore: any

For internal use only. Please do not use.

roughness

Find examples in Playground
roughness: number

Specifies the roughness scalar value of the material. Can also be used to scale the roughness values of the metallic texture.

separateCullingPass

Find examples in Playground
separateCullingPass: boolean

Specifies if there should be a separate pass for culling

sheen

Find examples in Playground

Defines the Sheen parameters for the material.

sideOrientation

Find examples in Playground
sideOrientation: number

Stores the value for side orientation

state

Find examples in Playground
state: string

The state of the material

subSurface

Find examples in Playground

Defines the SubSurface parameters for the material.

transparencyMode

Find examples in Playground
transparencyMode: Nullable<number>

Sets the transparency mode of the material.

Value Type Description
0 OPAQUE
1 ALPHATEST
2 ALPHABLEND
3 ALPHATESTANDBLEND

uniqueId

Find examples in Playground
uniqueId: number

Gets or sets the unique id of the material

useLightmapAsShadowmap

Find examples in Playground
useLightmapAsShadowmap: boolean

If true, the light map contains occlusion information instead of lighting info.

useLogarithmicDepth

Find examples in Playground
useLogarithmicDepth: boolean

Enabled the use of logarithmic depth buffers, which is good for wide depth buffers.

wireframe

Find examples in Playground
wireframe: boolean

Sets the state of wireframe mode

zOffset

Find examples in Playground
zOffset: number

Stores the z offset value

Static AllDirtyFlag

Find examples in Playground
AllDirtyFlag: number

The all dirty flag value

Static AttributesDirtyFlag

Find examples in Playground
AttributesDirtyFlag: number

The dirty attribute flag value

Static ClockWiseSideOrientation

Find examples in Playground
ClockWiseSideOrientation: number

Stores the clock-wise side orientation

Static CounterClockWiseSideOrientation

Find examples in Playground
CounterClockWiseSideOrientation: number

Stores the counter clock-wise side orientation

Static DEFAULT_AO_ON_ANALYTICAL_LIGHTS

Find examples in Playground
DEFAULT_AO_ON_ANALYTICAL_LIGHTS: number

Defines the default value of how much AO map is occluding the analytical lights (point spot...).

Static FresnelDirtyFlag

Find examples in Playground
FresnelDirtyFlag: number

The dirty fresnel flag value

Static LIGHTFALLOFF_GLTF

Find examples in Playground
LIGHTFALLOFF_GLTF: number

PBRMaterialLightFalloff gltf: light is falling off as described in the gltf moving to PBR document to enhance interoperability with other engines.

Static LIGHTFALLOFF_PHYSICAL

Find examples in Playground
LIGHTFALLOFF_PHYSICAL: number

PBRMaterialLightFalloff Physical: light is falling off following the inverse squared distance law.

Static LIGHTFALLOFF_STANDARD

Find examples in Playground
LIGHTFALLOFF_STANDARD: number

PBRMaterialLightFalloff Standard: light is falling off like in the standard material to enhance interoperability with other materials.

Static LightDirtyFlag

Find examples in Playground
LightDirtyFlag: number

The dirty light flag value

Static LineListDrawMode

Find examples in Playground
LineListDrawMode: number

Returns the line list draw mode

Static LineLoopDrawMode

Find examples in Playground
LineLoopDrawMode: number

Returns the line loop draw mode

Static LineStripDrawMode

Find examples in Playground
LineStripDrawMode: number

Returns the line strip draw mode

Static MiscDirtyFlag

Find examples in Playground
MiscDirtyFlag: number

The dirty misc flag value

Static PBRMATERIAL_ALPHABLEND

Find examples in Playground
PBRMATERIAL_ALPHABLEND: number

PBRMaterialTransparencyMode: Pixels are blended (according to the alpha mode) with the already drawn pixels in the current frame buffer.

Static PBRMATERIAL_ALPHATEST

Find examples in Playground
PBRMATERIAL_ALPHATEST: number

PBRMaterialTransparencyMode: Alpha Test mode, pixel are discarded below a certain threshold defined by the alpha cutoff value.

Static PBRMATERIAL_ALPHATESTANDBLEND

Find examples in Playground
PBRMATERIAL_ALPHATESTANDBLEND: number

PBRMaterialTransparencyMode: Pixels are blended (according to the alpha mode) with the already drawn pixels in the current frame buffer. They are also discarded below the alpha cutoff threshold to improve performances.

Static PBRMATERIAL_OPAQUE

Find examples in Playground
PBRMATERIAL_OPAQUE: number

PBRMaterialTransparencyMode: No transparency mode, Alpha channel is not use.

Static PointFillMode

Find examples in Playground
PointFillMode: number

Returns the point fill mode

Static PointListDrawMode

Find examples in Playground
PointListDrawMode: number

Returns the point list draw mode

Static TextureDirtyFlag

Find examples in Playground
TextureDirtyFlag: number

The dirty texture flag value

Static TriangleFanDrawMode

Find examples in Playground
TriangleFanDrawMode: number

Returns the triangle fan draw mode

Static TriangleFillMode

Find examples in Playground
TriangleFillMode: number

Returns the triangle fill mode

Static TriangleStripDrawMode

Find examples in Playground
TriangleStripDrawMode: number

Returns the triangle strip draw mode

Static WireFrameFillMode

Find examples in Playground
WireFrameFillMode: number

Returns the wireframe mode

Methods

bind

Find examples in Playground
  • Parameters

    Returns void

bindForSubMesh

Find examples in Playground

bindOnlyNormalMatrix

Find examples in Playground
  • bindOnlyNormalMatrix(normalMatrix: Matrix): void
  • Binds the given normal matrix to the active effect

    Parameters

    • normalMatrix: Matrix

      the matrix to bind

    Returns void

bindOnlyWorldMatrix

Find examples in Playground
  • bindOnlyWorldMatrix(world: Matrix): void
  • Binds the given world matrix to the active effect

    Parameters

    • world: Matrix

      the matrix to bind

    Returns void

bindSceneUniformBuffer

Find examples in Playground
  • Binds the scene's uniform buffer to the effect.

    Parameters

    • effect: Effect

      defines the effect to bind to the scene uniform buffer

    • sceneUbo: UniformBuffer

      defines the uniform buffer storing scene data

    Returns void

bindView

Find examples in Playground
  • bindView(effect: Effect): void
  • Binds the view matrix to the effect

    Parameters

    • effect: Effect

      defines the effect to bind the view matrix to

    Returns void

bindViewProjection

Find examples in Playground
  • bindViewProjection(effect: Effect): void
  • Binds the view projection matrix to the effect

    Parameters

    • effect: Effect

      defines the effect to bind the view projection matrix to

    Returns void

buildUniformLayout

Find examples in Playground
  • buildUniformLayout(): void

clone

Find examples in Playground

dispose

Find examples in Playground
  • dispose(forceDisposeEffect?: boolean, forceDisposeTextures?: boolean): void
  • Disposes the resources of the material.

    Parameters

    • Optional forceDisposeEffect: boolean

      Forces the disposal of effects.

    • Optional forceDisposeTextures: boolean

      Forces the disposal of all textures.

    Returns void

forceCompilation

Find examples in Playground

forceCompilationAsync

Find examples in Playground

freeze

Find examples in Playground
  • freeze(): void
  • Locks updates for the material

    Returns void

getActiveTextures

Find examples in Playground

getAlphaTestTexture

Find examples in Playground

getAnimatables

Find examples in Playground

getBindedMeshes

Find examples in Playground

getClassName

Find examples in Playground
  • getClassName(): string

getEffect

Find examples in Playground

getScene

Find examples in Playground

hasTexture

Find examples in Playground

isMetallicWorkflow

Find examples in Playground
  • isMetallicWorkflow(): boolean
  • Specifies if the material uses metallic roughness workflow.

    Returns boolean

    boolean specifiying if the material uses metallic roughness workflow.

isReady

Find examples in Playground
  • isReady(mesh?: AbstractMesh, useInstances?: boolean): boolean
  • Parameters

    • Optional mesh: AbstractMesh
    • Optional useInstances: boolean

    Returns boolean

isReadyForSubMesh

Find examples in Playground
  • Specifies that the submesh is ready to be used.

    Parameters

    • mesh: AbstractMesh

      BJS mesh.

    • subMesh: SubMesh

      A submesh of the BJS mesh. Used to check if it is ready.

    • Optional useInstances: boolean

      Specifies that instances should be used.

    Returns boolean

    • boolean indicating that the submesh is ready or not.

markAsDirty

Find examples in Playground
  • markAsDirty(flag: number): void
  • Marks a define in the material to indicate that it needs to be re-computed

    Parameters

    • flag: number

      defines a flag used to determine which parts of the material have to be marked as dirty

    Returns void

markDirty

Find examples in Playground
  • markDirty(): void
  • Marks the material to indicate that it needs to be re-calculated

    Returns void

needAlphaBlending

Find examples in Playground
  • needAlphaBlending(): boolean

needAlphaBlendingForMesh

Find examples in Playground

needAlphaTesting

Find examples in Playground
  • needAlphaTesting(): boolean

serialize

Find examples in Playground
  • serialize(): any
  • Serialize the material to a parsable JSON object.

    Returns any

toString

Find examples in Playground
  • toString(fullDetails?: boolean): string
  • Returns a string representation of the current material

    Parameters

    • Optional fullDetails: boolean

      defines a boolean indicating which levels of logging is desired

    Returns string

    a string with material information

unbind

Find examples in Playground
  • unbind(): void

unfreeze

Find examples in Playground
  • unfreeze(): void
  • Unlocks updates for the material

    Returns void

Static Parse

Find examples in Playground

Generated using TypeDoc