Options
All
  • Public
  • Public/Protected
  • All
Menu

Class PBRCustomMaterial

Hierarchy

Implements

Index

Constructors

Properties

Accessors

Methods

Constructors

constructor

Properties

CustomPartsSearch playground for CustomParts

CustomParts: ShaderAlebdoParts

FragmentShaderSearch playground for FragmentShader

FragmentShader: string

VertexShaderSearch playground for VertexShader

VertexShader: string

_createdShaderNameSearch playground for _createdShaderName

_createdShaderName: string

_customAttributesSearch playground for _customAttributes

_customAttributes: string[]

_customUniformSearch playground for _customUniform

_customUniform: string[]

_isCreatedShaderSearch playground for _isCreatedShader

_isCreatedShader: boolean

_newSamplerInstancesSearch playground for _newSamplerInstances

_newSamplerInstances: {}

Type declaration

_newUniformInstancesSearch playground for _newUniformInstances

_newUniformInstances: {}

Type declaration

  • [name: string]: any

_newUniformsSearch playground for _newUniforms

_newUniforms: string[]

albedoColorSearch playground for albedoColor

albedoColor: Color3

AKA Diffuse Color in other nomenclature.

albedoTextureSearch playground for albedoTexture

albedoTexture: Nullable<BaseTexture>

AKA Diffuse Texture in standard nomenclature.

allowShaderHotSwappingSearch playground for allowShaderHotSwapping

allowShaderHotSwapping: boolean

Gets or sets a boolean indicating that the material is allowed (if supported) 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)

alphaCutOffSearch playground for alphaCutOff

alphaCutOff: number

Defines the alpha limits in alpha test mode.

ambientColorSearch playground for ambientColor

ambientColor: Color3

The color of a material in ambient lighting.

ambientTextureSearch playground for ambientTexture

ambientTexture: Nullable<BaseTexture>

AKA Occlusion Texture in other nomenclature.

ambientTextureImpactOnAnalyticalLightsSearch playground for ambientTextureImpactOnAnalyticalLights

ambientTextureImpactOnAnalyticalLights: number

Defines how much the AO map is occluding the analytical lights (point spot...). 1 means it completely occludes it 0 mean it has no impact

ambientTextureStrengthSearch playground for ambientTextureStrength

ambientTextureStrength: number

AKA Occlusion Texture Intensity in other nomenclature.

animationsSearch playground for animations

animations: Nullable<Array<Animation>>

Stores the animations for the material

Readonly anisotropySearch playground for anisotropy

Defines the anisotropic parameters for the material.

Readonly brdfSearch playground for brdf

Defines the BRDF parameters for the material.

bumpTextureSearch playground for bumpTexture

bumpTexture: Nullable<BaseTexture>

Stores surface normal data used to displace a mesh in a texture.

checkReadyOnEveryCallSearch playground for checkReadyOnEveryCall

checkReadyOnEveryCall: boolean

Specifies if the ready state should be checked on each call

checkReadyOnlyOnceSearch playground for checkReadyOnlyOnce

checkReadyOnlyOnce: boolean

Specifies if the ready state should be checked once

Readonly clearCoatSearch playground for clearCoat

Defines the clear coat layer parameters for the material.

customShaderNameResolveSearch playground for customShaderNameResolve

customShaderNameResolve: (shaderName: string, uniforms: string[], uniformBuffers: string[], samplers: string[], defines: MaterialDefines | string[], attributes?: string[], options?: ICustomShaderNameResolveOptions) => string

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

Type declaration

depthFunctionSearch playground for depthFunction

depthFunction: number

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

Readonly detailMapSearch playground for detailMap

Defines the detail map parameters for the material.

directIntensitySearch playground for directIntensity

directIntensity: number

Intensity of the direct lights e.g. the four lights available in your scene. This impacts both the direct diffuse and specular highlights.

disableBumpMapSearch playground for disableBumpMap

disableBumpMap: boolean

Debug Control allowing disabling the bump map on this material.

disableColorWriteSearch playground for disableColorWrite

disableColorWrite: boolean

Specifies if color writing should be disabled

disableDepthWriteSearch playground for disableDepthWrite

disableDepthWrite: boolean

Specifies if depth writing should be disabled

disableLightingSearch playground for disableLighting

disableLighting: boolean

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

doNotSerializeSearch playground for doNotSerialize

doNotSerialize: boolean

Specifies if the material should be serialized

emissiveColorSearch playground for emissiveColor

emissiveColor: Color3

The color emitted from the material.

emissiveIntensitySearch playground for emissiveIntensity

emissiveIntensity: number

Intensity of the emissive part of the material. This helps controlling the emissive effect without modifying the emissive color.

emissiveTextureSearch playground for emissiveTexture

emissiveTexture: Nullable<BaseTexture>

Stores the emissive values in a texture.

enableSpecularAntiAliasingSearch playground for enableSpecularAntiAliasing

enableSpecularAntiAliasing: boolean

Enables specular anti aliasing in the PBR shader. It will both interacts on the Geometry for analytical and IBL lighting. It also prefilter the roughness map based on the bump values.

environmentBRDFTextureSearch playground for environmentBRDFTexture

environmentBRDFTexture: Nullable<BaseTexture>

Let user defines the brdf lookup texture used for IBL. A default 8bit version is embedded but you could point at :

environmentIntensitySearch playground for environmentIntensity

environmentIntensity: number

Intensity of the environment e.g. how much the environment will light the object either through harmonics for rough material or through the reflection for shiny ones.

forceAlphaTestSearch playground for forceAlphaTest

forceAlphaTest: boolean

Enforces alpha test in opaque or blend mode in order to improve the performances of some situations.

forceDepthWriteSearch playground for forceDepthWrite

forceDepthWrite: boolean

Specifies if depth writing should be forced

forceIrradianceInFragmentSearch playground for forceIrradianceInFragment

forceIrradianceInFragment: boolean

Force the shader to compute irradiance in the fragment shader in order to take bump in account.

forceNormalForwardSearch playground for forceNormalForward

forceNormalForward: boolean

Force normal to face away from face.

getRenderTargetTexturesSearch playground for getRenderTargetTextures

getRenderTargetTextures: Nullable<() => SmartArray<RenderTargetTexture>>

Callback triggered to get the render target textures

idSearch playground for id

id: string

The ID of the material

inspectableCustomPropertiesSearch playground for inspectableCustomProperties

inspectableCustomProperties: IInspectable[]

List of inspectable custom properties (used by the Inspector)

see

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

invertNormalMapXSearch playground for invertNormalMapX

invertNormalMapX: boolean

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

invertNormalMapYSearch playground for invertNormalMapY

invertNormalMapY: boolean

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

Readonly iridescenceSearch playground for iridescence

Defines the iridescence layer parameters for the material.

lightmapTextureSearch playground for lightmapTexture

lightmapTexture: Nullable<BaseTexture>

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

maxSimultaneousLightsSearch playground for maxSimultaneousLights

maxSimultaneousLights: number

Number of Simultaneous lights allowed on the material.

metadataSearch playground for metadata

metadata: any

Gets or sets user defined metadata

metallicSearch playground for metallic

metallic: Nullable<number>

Specifies the metallic scalar of the metallic/roughness workflow. Can also be used to scale the metalness values of the metallic texture.

metallicF0FactorSearch playground for metallicF0Factor

metallicF0Factor: number

In metallic workflow, specifies an F0 factor to help configuring the material F0. By default the indexOfrefraction is used to compute F0;

This is used as a factor against the default reflectance at normal incidence to tweak it.

F0 = defaultF0 * metallicF0Factor * metallicReflectanceColor; F90 = metallicReflectanceColor;

metallicReflectanceColorSearch playground for metallicReflectanceColor

metallicReflectanceColor: Color3

In metallic workflow, specifies an F90 color to help configuring the material F90. By default the F90 is always 1;

Please note that this factor is also used as a factor against the default reflectance at normal incidence.

F0 = defaultF0 * metallicF0Factor * metallicReflectanceColor F90 = metallicReflectanceColor;

metallicReflectanceTextureSearch playground for metallicReflectanceTexture

metallicReflectanceTexture: Nullable<BaseTexture>

Defines to store metallicReflectanceColor in RGB and metallicF0Factor in A This is multiplied against the scalar values defined in the material. If useOnlyMetallicFromMetallicReflectanceTexture is true, don't use the RGB channels, only A

metallicTextureSearch playground for metallicTexture

metallicTexture: Nullable<BaseTexture>

Used to switch from specular/glossiness to metallic/roughness workflow.

microSurfaceSearch playground for microSurface

microSurface: number

AKA Glossiness in other nomenclature.

microSurfaceTextureSearch playground for microSurfaceTexture

microSurfaceTexture: Nullable<BaseTexture>

Used to enable roughness/glossiness fetch from a separate channel depending on the current mode. Gray Scale represents roughness in metallic mode and glossiness in specular mode.

nameSearch playground for name

name: string

The name of the material

onCompiledSearch playground for onCompiled

onCompiled: Nullable<(effect: Effect) => void>

Callback triggered when the material is compiled

onDisposeObservableSearch playground for onDisposeObservable

onDisposeObservable: Observable<Material>

An event triggered when the material is disposed

onErrorSearch playground for onError

onError: Nullable<(effect: Effect, errors: string) => void>

Callback triggered when an error occurs

opacityTextureSearch playground for opacityTexture

opacityTexture: Nullable<BaseTexture>

Stores the alpha values in a texture. Use luminance if texture.getAlphaFromRGB is true.

parallaxScaleBiasSearch playground for parallaxScaleBias

parallaxScaleBias: number

Controls the scale bias of the parallax mode.

pointSizeSearch playground for pointSize

pointSize: number

Stores the size of points

Readonly prePassConfigurationSearch playground for prePassConfiguration

prePassConfiguration: PrePassConfiguration

Defines additional PrePass parameters for the material.

reflectanceTextureSearch playground for reflectanceTexture

reflectanceTexture: Nullable<BaseTexture>

Defines to store reflectanceColor in RGB This is multiplied against the scalar values defined in the material. If both reflectanceTexture and metallicReflectanceTexture textures are provided and useOnlyMetallicFromMetallicReflectanceTexture is false, metallicReflectanceTexture takes priority and reflectanceTexture is not used

reflectionColorSearch playground for reflectionColor

reflectionColor: Color3

The color reflected from the material.

reflectionTextureSearch playground for reflectionTexture

reflectionTexture: Nullable<BaseTexture>

Stores the reflection values in a texture.

reflectivityColorSearch playground for reflectivityColor

reflectivityColor: Color3

AKA Specular Color in other nomenclature.

reflectivityTextureSearch playground for reflectivityTexture

reflectivityTexture: Nullable<BaseTexture>

AKA Specular texture in other nomenclature.

reservedDataStoreSearch playground for reservedDataStore

reservedDataStore: any

For internal use only. Please do not use.

roughnessSearch playground for roughness

roughness: Nullable<number>

Specifies the roughness scalar of the metallic/roughness workflow. Can also be used to scale the roughness values of the metallic texture.

separateCullingPassSearch playground for separateCullingPass

separateCullingPass: boolean

Specifies if there should be a separate pass for culling

shadowDepthWrapperSearch playground for shadowDepthWrapper

shadowDepthWrapper: Nullable<ShadowDepthWrapper>

Custom shadow depth material to use for shadow rendering instead of the in-built one

Readonly sheenSearch playground for sheen

Defines the Sheen parameters for the material.

sideOrientationSearch playground for sideOrientation

sideOrientation: number

Stores the value for side orientation

specularIntensitySearch playground for specularIntensity

specularIntensity: number

This is a special control allowing the reduction of the specular highlights coming from the four lights of the scene. Those highlights may not be needed in full environment lighting.

stateSearch playground for state

state: string

The state of the material

Readonly stencilSearch playground for stencil

Gives access to the stencil properties of the material

Readonly subSurfaceSearch playground for subSurface

Defines the SubSurface parameters for the material.

twoSidedLightingSearch playground for twoSidedLighting

twoSidedLighting: boolean

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

uniqueIdSearch playground for uniqueId

uniqueId: number

Gets or sets the unique id of the material

unlitSearch playground for unlit

unlit: boolean

If set to true, no lighting calculations will be applied.

useAlphaFresnelSearch playground for useAlphaFresnel

useAlphaFresnel: boolean

A fresnel is applied to the alpha of the model to ensure grazing angles edges are not alpha tested. And/Or occlude the blended part. (alpha is converted to gamma to compute the fresnel)

useAlphaFromAlbedoTextureSearch playground for useAlphaFromAlbedoTexture

useAlphaFromAlbedoTexture: boolean

Specifies that the alpha is coming form the albedo channel alpha channel for alpha blending.

useAmbientInGrayScaleSearch playground for useAmbientInGrayScale

useAmbientInGrayScale: boolean

Specifies if the ambient texture contains the ambient occlusion information in its red channel only.

useAmbientOcclusionFromMetallicTextureRedSearch playground for useAmbientOcclusionFromMetallicTextureRed

useAmbientOcclusionFromMetallicTextureRed: boolean

Specifies if the metallic texture contains the ambient occlusion information in its red channel.

useAutoMicroSurfaceFromReflectivityMapSearch playground for useAutoMicroSurfaceFromReflectivityMap

useAutoMicroSurfaceFromReflectivityMap: boolean

In case the reflectivity map does not contain the microsurface information in its alpha channel, The material will try to infer what glossiness each pixel should be.

useHorizonOcclusionSearch playground for useHorizonOcclusion

useHorizonOcclusion: boolean

This parameters will enable/disable Horizon occlusion to prevent normal maps to look shiny when the normal makes the reflect vector face the model (under horizon).

useLightmapAsShadowmapSearch playground for useLightmapAsShadowmap

useLightmapAsShadowmap: boolean

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

useLinearAlphaFresnelSearch playground for useLinearAlphaFresnel

useLinearAlphaFresnel: boolean

A fresnel is applied to the alpha of the model to ensure grazing angles edges are not alpha tested. And/Or occlude the blended part. (alpha stays linear to compute the fresnel)

useMetallnessFromMetallicTextureBlueSearch playground for useMetallnessFromMetallicTextureBlue

useMetallnessFromMetallicTextureBlue: boolean

Specifies if the metallic texture contains the metallness information in its blue channel.

useMicroSurfaceFromReflectivityMapAlphaSearch playground for useMicroSurfaceFromReflectivityMapAlpha

useMicroSurfaceFromReflectivityMapAlpha: boolean

Specifies if the reflectivity texture contains the glossiness information in its alpha channel.

useObjectSpaceNormalMapSearch playground for useObjectSpaceNormalMap

useObjectSpaceNormalMap: boolean

Allows using an object space normal map (instead of tangent space).

useOnlyMetallicFromMetallicReflectanceTextureSearch playground for useOnlyMetallicFromMetallicReflectanceTexture

useOnlyMetallicFromMetallicReflectanceTexture: boolean

Specifies that only the A channel from metallicReflectanceTexture should be used. If false, both RGB and A channels will be used

useParallaxSearch playground for useParallax

useParallax: boolean

Allows using the bump map in parallax mode.

useParallaxOcclusionSearch playground for useParallaxOcclusion

useParallaxOcclusion: boolean

Allows using the bump map in parallax occlusion mode.

useRadianceOcclusionSearch playground for useRadianceOcclusion

useRadianceOcclusion: boolean

This parameters will enable/disable radiance occlusion by preventing the radiance to lit too much the area relying on ambient texture to define their ambient occlusion.

useRadianceOverAlphaSearch playground for useRadianceOverAlpha

useRadianceOverAlpha: boolean

Specifies that the material will keeps the reflection highlights over a transparent surface (only the most luminous ones). A car glass is a good example of that. When the street lights reflects on it you can not see what is behind.

useRoughnessFromMetallicTextureAlphaSearch playground for useRoughnessFromMetallicTextureAlpha

useRoughnessFromMetallicTextureAlpha: boolean

Specifies if the metallic texture contains the roughness information in its alpha channel.

useRoughnessFromMetallicTextureGreenSearch playground for useRoughnessFromMetallicTextureGreen

useRoughnessFromMetallicTextureGreen: boolean

Specifies if the metallic texture contains the roughness information in its green channel.

useSpecularOverAlphaSearch playground for useSpecularOverAlpha

useSpecularOverAlpha: boolean

Specifies that the material will keep the specular highlights over a transparent surface (only the most luminous ones). A car glass is a good example of that. When sun reflects on it you can not see what is behind.

zOffsetSearch playground for zOffset

zOffset: number

Stores the z offset Factor value

zOffsetUnitsSearch playground for zOffsetUnits

zOffsetUnits: number

Stores the z offset Units value

Static Readonly AllDirtyFlagSearch playground for AllDirtyFlag

AllDirtyFlag: 63 = 63

The all dirty flag value

Static Readonly AttributesDirtyFlagSearch playground for AttributesDirtyFlag

AttributesDirtyFlag: 8 = 8

The dirty attribute flag value

Static Readonly ClockWiseSideOrientationSearch playground for ClockWiseSideOrientation

ClockWiseSideOrientation: 0 = 0

Stores the clock-wise side orientation

Static Readonly CounterClockWiseSideOrientationSearch playground for CounterClockWiseSideOrientation

CounterClockWiseSideOrientation: 1 = 1

Stores the counter clock-wise side orientation

Static DEFAULT_AO_ON_ANALYTICAL_LIGHTSSearch playground for DEFAULT_AO_ON_ANALYTICAL_LIGHTS

DEFAULT_AO_ON_ANALYTICAL_LIGHTS: number

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

Static Readonly FresnelDirtyFlagSearch playground for FresnelDirtyFlag

FresnelDirtyFlag: 4 = 4

The dirty fresnel flag value

Static Readonly LIGHTFALLOFF_GLTFSearch playground for LIGHTFALLOFF_GLTF

LIGHTFALLOFF_GLTF: 1 = 1

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

Static Readonly LIGHTFALLOFF_PHYSICALSearch playground for LIGHTFALLOFF_PHYSICAL

LIGHTFALLOFF_PHYSICAL: 0 = 0

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

Static Readonly LIGHTFALLOFF_STANDARDSearch playground for LIGHTFALLOFF_STANDARD

LIGHTFALLOFF_STANDARD: 2 = 2

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

Static Readonly LightDirtyFlagSearch playground for LightDirtyFlag

LightDirtyFlag: 2 = 2

The dirty light flag value

Static Readonly LineListDrawModeSearch playground for LineListDrawMode

LineListDrawMode: 4 = 4

Returns the line list draw mode

Static Readonly LineLoopDrawModeSearch playground for LineLoopDrawMode

LineLoopDrawMode: 5 = 5

Returns the line loop draw mode

Static Readonly LineStripDrawModeSearch playground for LineStripDrawMode

LineStripDrawMode: 6 = 6

Returns the line strip draw mode

Static Readonly MATERIAL_ALPHABLENDSearch playground for MATERIAL_ALPHABLEND

MATERIAL_ALPHABLEND: 2 = 2

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

Static Readonly MATERIAL_ALPHATESTSearch playground for MATERIAL_ALPHATEST

MATERIAL_ALPHATEST: 1 = 1

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

Static Readonly MATERIAL_ALPHATESTANDBLENDSearch playground for MATERIAL_ALPHATESTANDBLEND

MATERIAL_ALPHATESTANDBLEND: 3 = 3

MaterialTransparencyMode: 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 Readonly MATERIAL_NORMALBLENDMETHOD_RNMSearch playground for MATERIAL_NORMALBLENDMETHOD_RNM

MATERIAL_NORMALBLENDMETHOD_RNM: 1 = 1

The Reoriented Normal Mapping method is used to blend normals. Details of the algorithm can be found here: https://blog.selfshadow.com/publications/blending-in-detail/

Static Readonly MATERIAL_NORMALBLENDMETHOD_WHITEOUTSearch playground for MATERIAL_NORMALBLENDMETHOD_WHITEOUT

MATERIAL_NORMALBLENDMETHOD_WHITEOUT: 0 = 0

The Whiteout method is used to blend normals. Details of the algorithm can be found here: https://blog.selfshadow.com/publications/blending-in-detail/

Static Readonly MATERIAL_OPAQUESearch playground for MATERIAL_OPAQUE

MATERIAL_OPAQUE: 0 = 0

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

Static Readonly MiscDirtyFlagSearch playground for MiscDirtyFlag

MiscDirtyFlag: 16 = 16

The dirty misc flag value

Static OnEventObservableSearch playground for OnEventObservable

OnEventObservable: Observable<Material>

Event observable which raises global events common to all materials (like MaterialPluginEvent.Created)

Static Readonly PBRMATERIAL_ALPHABLENDSearch playground for PBRMATERIAL_ALPHABLEND

PBRMATERIAL_ALPHABLEND: 2 = 2

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

Static Readonly PBRMATERIAL_ALPHATESTSearch playground for PBRMATERIAL_ALPHATEST

PBRMATERIAL_ALPHATEST: 1 = 1

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

Static Readonly PBRMATERIAL_ALPHATESTANDBLENDSearch playground for PBRMATERIAL_ALPHATESTANDBLEND

PBRMATERIAL_ALPHATESTANDBLEND: 3 = 3

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 Readonly PBRMATERIAL_OPAQUESearch playground for PBRMATERIAL_OPAQUE

PBRMATERIAL_OPAQUE: 0 = 0

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

Static Readonly PointFillModeSearch playground for PointFillMode

PointFillMode: 2 = 2

Returns the point fill mode

Static Readonly PointListDrawModeSearch playground for PointListDrawMode

PointListDrawMode: 3 = 3

Returns the point list draw mode

Static Readonly PrePassDirtyFlagSearch playground for PrePassDirtyFlag

PrePassDirtyFlag: 32 = 32

The dirty prepass flag value

Static ShaderIndexerSearch playground for ShaderIndexer

ShaderIndexer: number

Static Readonly TextureDirtyFlagSearch playground for TextureDirtyFlag

TextureDirtyFlag: 1 = 1

The dirty texture flag value

Static Readonly TriangleFanDrawModeSearch playground for TriangleFanDrawMode

TriangleFanDrawMode: 8 = 8

Returns the triangle fan draw mode

Static Readonly TriangleFillModeSearch playground for TriangleFillMode

TriangleFillMode: 0 = 0

Returns the triangle fill mode

Static Readonly TriangleStripDrawModeSearch playground for TriangleStripDrawMode

TriangleStripDrawMode: 7 = 7

Returns the triangle strip draw mode

Static Readonly WireFrameFillModeSearch playground for WireFrameFillMode

WireFrameFillMode: 1 = 1

Returns the wireframe mode

Accessors

alpha

  • get alpha(): number
  • set alpha(value: number): any
  • Gets the alpha value of the material

    Returns number

  • Sets the alpha value of the material

    Parameters

    • value: number

    Returns any

alphaMode

  • get alphaMode(): number
  • set alphaMode(value: number): any
  • Gets the value of the alpha mode

    ValueTypeDescription
    0ALPHA_DISABLE
    1ALPHA_ADD
    2ALPHA_COMBINE
    3ALPHA_SUBTRACT
    4ALPHA_MULTIPLY
    5ALPHA_MAXIMIZED
    6ALPHA_ONEONE
    7ALPHA_PREMULTIPLIED
    8ALPHA_PREMULTIPLIED_PORTERDUFF
    9ALPHA_INTERPOLATE
    10ALPHA_SCREENMODE

    Returns number

  • Sets the value of the alpha mode.

    ValueTypeDescription
    0ALPHA_DISABLE
    1ALPHA_ADD
    2ALPHA_COMBINE
    3ALPHA_SUBTRACT
    4ALPHA_MULTIPLY
    5ALPHA_MAXIMIZED
    6ALPHA_ONEONE
    7ALPHA_PREMULTIPLIED
    8ALPHA_PREMULTIPLIED_PORTERDUFF
    9ALPHA_INTERPOLATE
    10ALPHA_SCREENMODE

    Parameters

    • value: number

    Returns any

backFaceCulling

  • get backFaceCulling(): boolean
  • set backFaceCulling(value: boolean): any
  • Gets the culling state

    Returns boolean

  • Sets the culling state (true to enable culling, false to disable)

    Parameters

    • value: boolean

    Returns any

cameraColorCurves

  • The color grading curves provide additional color adjustment that is applied after any color grading transform (3D LUT). They allow basic adjustment of saturation and small exposure adjustments, along with color filter tinting to provide white balance adjustment or more stylistic effects. These are similar to controls found in many professional imaging or colorist software. The global controls are applied to the entire image. For advanced tuning, extra controls are provided to adjust the shadow, midtone and highlight areas of the image; corresponding to low luminance, medium luminance, and high luminance areas respectively.

    Returns Nullable<ColorCurves>

  • The color grading curves provide additional color adjustment that is applied after any color grading transform (3D LUT). They allow basic adjustment of saturation and small exposure adjustments, along with color filter tinting to provide white balance adjustment or more stylistic effects. These are similar to controls found in many professional imaging or colorist software. The global controls are applied to the entire image. For advanced tuning, extra controls are provided to adjust the shadow, midtone and highlight areas of the image; corresponding to low luminance, medium luminance, and high luminance areas respectively.

    Parameters

    Returns any

cameraColorCurvesEnabled

  • get cameraColorCurvesEnabled(): boolean
  • set cameraColorCurvesEnabled(value: boolean): any

cameraColorGradingEnabled

  • get cameraColorGradingEnabled(): boolean
  • set cameraColorGradingEnabled(value: boolean): any

cameraColorGradingTexture

cameraContrast

  • get cameraContrast(): number
  • set cameraContrast(value: number): any
  • Gets The camera contrast used on this material.

    Returns number

  • Sets The camera contrast used on this material.

    Parameters

    • value: number

    Returns any

cameraExposure

  • get cameraExposure(): number
  • set cameraExposure(value: number): any
  • The camera exposure used on this material. This property is here and not in the camera to allow controlling exposure without full screen post process. This corresponds to a photographic exposure.

    Returns number

  • The camera exposure used on this material. This property is here and not in the camera to allow controlling exposure without full screen post process. This corresponds to a photographic exposure.

    Parameters

    • value: number

    Returns any

cameraToneMappingEnabled

  • get cameraToneMappingEnabled(): boolean
  • set cameraToneMappingEnabled(value: boolean): any

canRenderToMRT

  • get canRenderToMRT(): boolean

cullBackFaces

  • get cullBackFaces(): boolean
  • set cullBackFaces(value: boolean): any
  • Gets the type of faces that should be culled

    Returns boolean

  • Sets the type of faces that should be culled (true for back faces, false for front faces)

    Parameters

    • value: boolean

    Returns any

fillMode

  • get fillMode(): number
  • set fillMode(value: number): any
  • Gets the material fill mode

    Returns number

  • Sets the material fill mode

    Parameters

    • value: number

    Returns any

fogEnabled

  • get fogEnabled(): boolean
  • set fogEnabled(value: boolean): any
  • Gets the value of the fog enabled state

    Returns boolean

  • Sets the state for enabling fog

    Parameters

    • value: boolean

    Returns any

hasRenderTargetTextures

  • get hasRenderTargetTextures(): boolean

imageProcessingConfiguration

indexOfRefraction

  • get indexOfRefraction(): number
  • set indexOfRefraction(value: number): any

invertRefractionY

  • get invertRefractionY(): boolean
  • set invertRefractionY(value: boolean): any
  • Controls if refraction needs to be inverted on Y. This could be useful for procedural texture.

    Returns boolean

  • Controls if refraction needs to be inverted on Y. This could be useful for procedural texture.

    Parameters

    • value: boolean

    Returns any

isFrozen

  • get isFrozen(): boolean
  • Specifies if updates for the material been locked

    Returns boolean

isPrePassCapable

  • get isPrePassCapable(): boolean

linkRefractionWithTransparency

  • get linkRefractionWithTransparency(): boolean
  • set linkRefractionWithTransparency(value: boolean): any
  • This parameters will make the material used its opacity to control how much it is refracting against not. Materials half opaque for instance using refraction could benefit from this control.

    Returns boolean

  • This parameters will make the material used its opacity to control how much it is refracting against not. Materials half opaque for instance using refraction could benefit from this control.

    Parameters

    • value: boolean

    Returns any

needDepthPrePass

  • get needDepthPrePass(): boolean
  • set needDepthPrePass(value: boolean): any

onBind

onBindObservable

onDispose

  • set onDispose(callback: () => void): any
  • Called during a dispose event

    Parameters

    • callback: () => void
        • (): void
        • Returns void

    Returns any

onEffectCreatedObservable

onUnBindObservable

pointsCloud

  • get pointsCloud(): boolean
  • set pointsCloud(value: boolean): any
  • Gets the value specifying if point clouds are enabled

    Returns boolean

  • Sets the state of point cloud mode

    Parameters

    • value: boolean

    Returns any

realTimeFiltering

  • get realTimeFiltering(): boolean
  • set realTimeFiltering(b: boolean): any
  • Enables realtime filtering on the texture.

    Returns boolean

  • Enables realtime filtering on the texture.

    Parameters

    • b: boolean

    Returns any

realTimeFilteringQuality

  • get realTimeFilteringQuality(): number
  • set realTimeFilteringQuality(n: number): any

refractionTexture

transparencyMode

  • get transparencyMode(): Nullable<number>
  • set transparencyMode(value: Nullable<number>): any
  • Gets the current transparency mode.

    ValueTypeDescription
    0OPAQUE
    1ALPHATEST
    2ALPHABLEND
    3ALPHATESTANDBLEND

    Returns Nullable<number>

  • Sets the transparency mode of the material.

    ValueTypeDescription
    0OPAQUE
    1ALPHATEST
    2ALPHABLEND
    3ALPHATESTANDBLEND

    Parameters

    Returns any

useGLTFLightFalloff

  • get useGLTFLightFalloff(): boolean
  • set useGLTFLightFalloff(value: boolean): any
  • In order to support the falloff compatibility with gltf, a special mode has been added to reproduce the gltf light falloff.

    Returns boolean

  • In order to support the falloff compatibility with gltf, a special mode has been added to reproduce the gltf light falloff.

    Parameters

    • value: boolean

    Returns any

useLogarithmicDepth

  • get useLogarithmicDepth(): boolean
  • set useLogarithmicDepth(value: boolean): any
  • Enabled the use of logarithmic depth buffers, which is good for wide depth buffers.

    Returns boolean

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

    Parameters

    • value: boolean

    Returns any

usePhysicalLightFalloff

  • get usePhysicalLightFalloff(): boolean
  • set usePhysicalLightFalloff(value: boolean): any
  • BJS is using an hardcoded light falloff based on a manually sets up range. In PBR, one way to represents the falloff is to use the inverse squared root algorithm. This parameter can help you switch back to the BJS mode in order to create scenes using both materials.

    Returns boolean

  • BJS is using an hardcoded light falloff based on a manually sets up range. In PBR, one way to represents the falloff is to use the inverse squared root algorithm. This parameter can help you switch back to the BJS mode in order to create scenes using both materials.

    Parameters

    • value: boolean

    Returns any

wireframe

  • get wireframe(): boolean
  • set wireframe(value: boolean): any
  • Sets the state of wireframe mode

    Returns boolean

  • Sets the state of wireframe mode

    Parameters

    • value: boolean

    Returns any

Methods

AddAttributeSearch playground for AddAttribute

  • Parameters

    • name: string

    Returns PBRCustomMaterial

AddUniformSearch playground for AddUniform

  • Parameters

    • name: string
    • kind: string
    • param: any

    Returns PBRCustomMaterial

AttachAfterBindSearch playground for AttachAfterBind

  • AttachAfterBind(mesh: Mesh | undefined, effect: Effect): void
  • Parameters

    Returns void

BuilderSearch playground for Builder

  • Parameters

    Returns string

Fragment_Before_FinalColorCompositionSearch playground for Fragment_Before_FinalColorComposition

  • Parameters

    • shaderPart: string

    Returns PBRCustomMaterial

Fragment_Before_FogSearch playground for Fragment_Before_Fog

  • Parameters

    • shaderPart: string

    Returns PBRCustomMaterial

Fragment_Before_FragColorSearch playground for Fragment_Before_FragColor

  • Parameters

    • shaderPart: string

    Returns PBRCustomMaterial

Fragment_Before_LightsSearch playground for Fragment_Before_Lights

  • Parameters

    • shaderPart: string

    Returns PBRCustomMaterial

Fragment_BeginSearch playground for Fragment_Begin

  • Parameters

    • shaderPart: string

    Returns PBRCustomMaterial

Fragment_Custom_AlbedoSearch playground for Fragment_Custom_Albedo

  • Parameters

    • shaderPart: string

    Returns PBRCustomMaterial

Fragment_Custom_AlphaSearch playground for Fragment_Custom_Alpha

  • Parameters

    • shaderPart: string

    Returns PBRCustomMaterial

Fragment_Custom_MetallicRoughnessSearch playground for Fragment_Custom_MetallicRoughness

  • Parameters

    • shaderPart: string

    Returns PBRCustomMaterial

Fragment_Custom_MicroSurfaceSearch playground for Fragment_Custom_MicroSurface

  • Parameters

    • shaderPart: string

    Returns PBRCustomMaterial

Fragment_DefinitionsSearch playground for Fragment_Definitions

  • Parameters

    • shaderPart: string

    Returns PBRCustomMaterial

Fragment_MainBeginSearch playground for Fragment_MainBegin

  • Parameters

    • shaderPart: string

    Returns PBRCustomMaterial

Fragment_MainEndSearch playground for Fragment_MainEnd

  • Parameters

    • shaderPart: string

    Returns PBRCustomMaterial

ReviewUniformSearch playground for ReviewUniform

  • ReviewUniform(name: string, arr: string[]): string[]
  • Parameters

    • name: string
    • arr: string[]

    Returns string[]

Vertex_After_WorldPosComputedSearch playground for Vertex_After_WorldPosComputed

  • Parameters

    • shaderPart: string

    Returns PBRCustomMaterial

Vertex_Before_NormalUpdatedSearch playground for Vertex_Before_NormalUpdated

  • Parameters

    • shaderPart: string

    Returns PBRCustomMaterial

Vertex_Before_PositionUpdatedSearch playground for Vertex_Before_PositionUpdated

  • Parameters

    • shaderPart: string

    Returns PBRCustomMaterial

Vertex_BeginSearch playground for Vertex_Begin

  • Parameters

    • shaderPart: string

    Returns PBRCustomMaterial

Vertex_DefinitionsSearch playground for Vertex_Definitions

  • Parameters

    • shaderPart: string

    Returns PBRCustomMaterial

Vertex_MainBeginSearch playground for Vertex_MainBegin

  • Parameters

    • shaderPart: string

    Returns PBRCustomMaterial

Vertex_MainEndSearch playground for Vertex_MainEnd

  • Parameters

    • shaderPart: string

    Returns PBRCustomMaterial

bindSearch playground for bind

bindEyePositionSearch playground for bindEyePosition

  • bindEyePosition(effect: Effect, variableName?: string): void
  • Binds the view matrix to the effect

    Parameters

    • effect: Effect

      defines the effect to bind the view matrix to

    • Optional variableName: string

      name of the shader variable that will hold the eye position

    Returns void

bindForSubMeshSearch playground for bindForSubMesh

bindOnlyNormalMatrixSearch playground for bindOnlyNormalMatrix

  • bindOnlyNormalMatrix(normalMatrix: Matrix): void

bindOnlyWorldMatrixSearch playground for bindOnlyWorldMatrix

  • bindOnlyWorldMatrix(world: Matrix): void

bindViewSearch playground for bindView

  • 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

bindViewProjectionSearch playground for bindViewProjection

  • bindViewProjection(effect: Effect): void
  • Binds the view projection and projection matrices to the effect

    Parameters

    • effect: Effect

      defines the effect to bind the view projection and projection matrices to

    Returns void

buildUniformLayoutSearch playground for buildUniformLayout

  • buildUniformLayout(): void

cloneSearch playground for clone

  • Makes a duplicate of the current material.

    Parameters

    • name: string

      name to use for the new material.

    Returns PBRMaterial

disposeSearch playground for dispose

  • 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

forceCompilationSearch playground for forceCompilation

forceCompilationAsyncSearch playground for forceCompilationAsync

freezeSearch playground for freeze

  • freeze(): void
  • Locks updates for the material

    Returns void

getActiveTexturesSearch playground for getActiveTextures

getAlphaTestTextureSearch playground for getAlphaTestTexture

getAnimatablesSearch playground for getAnimatables

getBindedMeshesSearch playground for getBindedMeshes

getClassNameSearch playground for getClassName

  • getClassName(): string

getEffectSearch playground for getEffect

getSceneSearch playground for getScene

hasTextureSearch playground for hasTexture

  • Checks to see if a texture is used in the material.

    Parameters

    Returns boolean

    • Boolean specifying if a texture is used in the material.

isMetallicWorkflowSearch playground for isMetallicWorkflow

  • isMetallicWorkflow(): boolean
  • Specifies if the material uses metallic roughness workflow.

    Returns boolean

    boolean specifying if the material uses metallic roughness workflow.

isReadySearch playground for isReady

  • isReady(mesh?: AbstractMesh, useInstances?: boolean): boolean

isReadyForSubMeshSearch playground for isReadyForSubMesh

  • 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.

markAsDirtySearch playground for markAsDirty

  • 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

markDirtySearch playground for markDirty

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

    Returns void

needAlphaBlendingSearch playground for needAlphaBlending

  • needAlphaBlending(): boolean

needAlphaBlendingForMeshSearch playground for needAlphaBlendingForMesh

  • Specifies if the mesh will require alpha blending

    Parameters

    Returns boolean

    a boolean specifying if alpha blending is needed for the mesh

needAlphaTestingSearch playground for needAlphaTesting

  • needAlphaTesting(): boolean

resetDrawCacheSearch playground for resetDrawCache

  • resetDrawCache(): void
  • Resets the draw wrappers cache for all submeshes that are using this material

    Returns void

serializeSearch playground for serialize

  • serialize(): any
  • Serializes this PBR Material.

    Returns any

    • An object with the serialized material.

setPrePassRendererSearch playground for setPrePassRenderer

  • setPrePassRenderer(): boolean

toStringSearch playground for toString

  • 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

unbindSearch playground for unbind

  • unbind(): void
  • Unbinds the material from the mesh

    Returns void

unfreezeSearch playground for unfreeze

  • unfreeze(): void
  • Unlocks updates for the material

    Returns void

Static ParseSearch playground for Parse

  • Parses a PBR Material from a serialized object.

    Parameters

    • source: any

      Serialized object.

    • scene: Scene

      BJS scene instance.

    • rootUrl: string

      url for the scene object

    Returns PBRMaterial

    • PBRMaterial

Legend

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