PBRCustomMaterial

Hierarchy

Implements

Index

Constructors

Properties

Accessors

Methods

Constructors

constructor

Find examples in Playground

Properties

CustomParts

Find examples in Playground
CustomParts: ShaderAlebdoParts

FragmentShader

Find examples in Playground
FragmentShader: string

VertexShader

Find examples in Playground
VertexShader: string

_createdShaderName

Find examples in Playground
_createdShaderName: string

_customAttributes

Find examples in Playground
_customAttributes: string[]

_customUniform

Find examples in Playground
_customUniform: string[]

_isCreatedShader

Find examples in Playground
_isCreatedShader: boolean

_newSamplerInstances

Find examples in Playground
_newSamplerInstances: object

Type declaration

_newUniformInstances

Find examples in Playground
_newUniformInstances: object

Type declaration

  • [name: string]: any

_newUniforms

Find examples in Playground
_newUniforms: string[]

albedoColor

Find examples in Playground
albedoColor: Color3

AKA Diffuse Color in other nomenclature.

albedoTexture

Find examples in Playground
albedoTexture: BaseTexture

AKA Diffuse Texture in standard nomenclature.

allowShaderHotSwapping

Find examples in Playground
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)

alphaCutOff

Find examples in Playground
alphaCutOff: number

Defines the alpha limits in alpha test mode.

ambientColor

Find examples in Playground
ambientColor: Color3

The color of a material in ambient lighting.

ambientTexture

Find examples in Playground
ambientTexture: BaseTexture

AKA Occlusion Texture in other nomenclature.

ambientTextureImpactOnAnalyticalLights

Find examples in Playground
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

ambientTextureStrength

Find examples in Playground
ambientTextureStrength: number

AKA Occlusion Texture Intensity in other nomenclature.

animations

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

Stores the animations for the material

Readonly anisotropy

Find examples in Playground

Defines the anisotropic parameters for the material.

Readonly brdf

Find examples in Playground

Defines the BRDF parameters for the material.

bumpTexture

Find examples in Playground
bumpTexture: BaseTexture

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

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

Readonly 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

depthFunction

Find examples in Playground
depthFunction: number

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

Readonly detailMap

Find examples in Playground

Defines the detail map parameters for the material.

directIntensity

Find examples in Playground
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.

disableBumpMap

Find examples in Playground
disableBumpMap: boolean

Debug Control allowing disabling the bump map on this material.

disableColorWrite

Find examples in Playground
disableColorWrite: boolean

Specifies if color writing should be disabled

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

emissiveColor

Find examples in Playground
emissiveColor: Color3

The color emitted from the material.

emissiveIntensity

Find examples in Playground
emissiveIntensity: number

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

emissiveTexture

Find examples in Playground
emissiveTexture: BaseTexture

Stores the emissive values in a texture.

enableSpecularAntiAliasing

Find examples in Playground
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.

environmentBRDFTexture

Find examples in Playground
environmentBRDFTexture: Nullable<BaseTexture>

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

environmentIntensity

Find examples in Playground
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 refelction for shiny ones.

forceAlphaTest

Find examples in Playground
forceAlphaTest: boolean

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

forceDepthWrite

Find examples in Playground
forceDepthWrite: boolean

Specifies if depth writing should be forced

forceIrradianceInFragment

Find examples in Playground
forceIrradianceInFragment: boolean

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

forceNormalForward

Find examples in Playground
forceNormalForward: boolean

Force normal to face away from face.

getRenderTargetTextures

Find examples in Playground
getRenderTargetTextures: Nullable<function>

Callback triggered to get the render target textures

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

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: Nullable<number>

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

metallicF0Factor

Find examples in Playground
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;

metallicReflectanceColor

Find examples in Playground
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;

metallicReflectanceTexture

Find examples in Playground
metallicReflectanceTexture: Nullable<BaseTexture>

Defines to store metallicReflectanceColor in RGB and metallicF0Factor in A This is multiply against the scalar values defined in the material.

metallicTexture

Find examples in Playground
metallicTexture: BaseTexture

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

microSurface

Find examples in Playground
microSurface: number

AKA Glossiness in other nomenclature.

microSurfaceTexture

Find examples in Playground
microSurfaceTexture: 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.

name

Find examples in Playground
name: string

The name of the material

onCompiled

Find examples in Playground
onCompiled: Nullable<function>

Callback triggered when the material is compiled

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

opacityTexture

Find examples in Playground
opacityTexture: BaseTexture

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

parallaxScaleBias

Find examples in Playground
parallaxScaleBias: number

Controls the scale bias of the parallax mode.

pointSize

Find examples in Playground
pointSize: number

Stores the size of points

reflectionColor

Find examples in Playground
reflectionColor: Color3

The color reflected from the material.

reflectionTexture

Find examples in Playground
reflectionTexture: Nullable<BaseTexture>

Stores the reflection values in a texture.

reflectivityColor

Find examples in Playground
reflectivityColor: Color3

AKA Specular Color in other nomenclature.

reflectivityTexture

Find examples in Playground
reflectivityTexture: BaseTexture

AKA Specular texture in other nomenclature.

reservedDataStore

Find examples in Playground
reservedDataStore: any

For internal use only. Please do not use.

roughness

Find examples in Playground
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.

separateCullingPass

Find examples in Playground
separateCullingPass: boolean

Specifies if there should be a separate pass for culling

shadowDepthWrapper

Find examples in Playground
shadowDepthWrapper: Nullable<ShadowDepthWrapper>

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

Readonly 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

specularIntensity

Find examples in Playground
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.

state

Find examples in Playground
state: string

The state of the material

Readonly subSurface

Find examples in Playground

Defines the SubSurface parameters for the material.

twoSidedLighting

Find examples in Playground
twoSidedLighting: boolean

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

uniqueId

Find examples in Playground
uniqueId: number

Gets or sets the unique id of the material

unlit

Find examples in Playground
unlit: boolean

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

useAlphaFresnel

Find examples in Playground
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)

useAlphaFromAlbedoTexture

Find examples in Playground
useAlphaFromAlbedoTexture: boolean

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

useAmbientInGrayScale

Find examples in Playground
useAmbientInGrayScale: boolean

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

useAmbientOcclusionFromMetallicTextureRed

Find examples in Playground
useAmbientOcclusionFromMetallicTextureRed: boolean

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

useAutoMicroSurfaceFromReflectivityMap

Find examples in Playground
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.

useHorizonOcclusion

Find examples in Playground
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).

useLightmapAsShadowmap

Find examples in Playground
useLightmapAsShadowmap: boolean

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

useLinearAlphaFresnel

Find examples in Playground
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)

useMetallnessFromMetallicTextureBlue

Find examples in Playground
useMetallnessFromMetallicTextureBlue: boolean

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

useMicroSurfaceFromReflectivityMapAlpha

Find examples in Playground
useMicroSurfaceFromReflectivityMapAlpha: boolean

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

useObjectSpaceNormalMap

Find examples in Playground
useObjectSpaceNormalMap: boolean

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

useParallax

Find examples in Playground
useParallax: boolean

Allows using the bump map in parallax mode.

useParallaxOcclusion

Find examples in Playground
useParallaxOcclusion: boolean

Allows using the bump map in parallax occlusion mode.

useRadianceOcclusion

Find examples in Playground
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.

useRadianceOverAlpha

Find examples in Playground
useRadianceOverAlpha: boolean

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

useRoughnessFromMetallicTextureAlpha

Find examples in Playground
useRoughnessFromMetallicTextureAlpha: boolean

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

useRoughnessFromMetallicTextureGreen

Find examples in Playground
useRoughnessFromMetallicTextureGreen: boolean

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

useSpecularOverAlpha

Find examples in Playground
useSpecularOverAlpha: boolean

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

zOffset

Find examples in Playground
zOffset: number

Stores the z offset value

Static Readonly AllDirtyFlag

Find examples in Playground
AllDirtyFlag: number

The all dirty flag value

Static Readonly AttributesDirtyFlag

Find examples in Playground
AttributesDirtyFlag: number

The dirty attribute flag value

Static Readonly ClockWiseSideOrientation

Find examples in Playground
ClockWiseSideOrientation: number

Stores the clock-wise side orientation

Static Readonly 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 Readonly FresnelDirtyFlag

Find examples in Playground
FresnelDirtyFlag: number

The dirty fresnel flag value

Static Readonly 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 Readonly LIGHTFALLOFF_PHYSICAL

Find examples in Playground
LIGHTFALLOFF_PHYSICAL: number

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

Static Readonly 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 Readonly LightDirtyFlag

Find examples in Playground
LightDirtyFlag: number

The dirty light flag value

Static Readonly LineListDrawMode

Find examples in Playground
LineListDrawMode: number

Returns the line list draw mode

Static Readonly LineLoopDrawMode

Find examples in Playground
LineLoopDrawMode: number

Returns the line loop draw mode

Static Readonly LineStripDrawMode

Find examples in Playground
LineStripDrawMode: number

Returns the line strip draw mode

Static Readonly MATERIAL_ALPHABLEND

Find examples in Playground
MATERIAL_ALPHABLEND: number

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

Static Readonly MATERIAL_ALPHATEST

Find examples in Playground
MATERIAL_ALPHATEST: number

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

Static Readonly MATERIAL_ALPHATESTANDBLEND

Find examples in Playground
MATERIAL_ALPHATESTANDBLEND: number

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_RNM

Find examples in Playground
MATERIAL_NORMALBLENDMETHOD_RNM: number

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_WHITEOUT

Find examples in Playground
MATERIAL_NORMALBLENDMETHOD_WHITEOUT: number

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_OPAQUE

Find examples in Playground
MATERIAL_OPAQUE: number

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

Static Readonly MiscDirtyFlag

Find examples in Playground
MiscDirtyFlag: number

The dirty misc flag value

Static Readonly 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 Readonly 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 Readonly 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 Readonly PBRMATERIAL_OPAQUE

Find examples in Playground
PBRMATERIAL_OPAQUE: number

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

Static Readonly PointFillMode

Find examples in Playground
PointFillMode: number

Returns the point fill mode

Static Readonly PointListDrawMode

Find examples in Playground
PointListDrawMode: number

Returns the point list draw mode

Static ShaderIndexer

Find examples in Playground
ShaderIndexer: number

Static Readonly TextureDirtyFlag

Find examples in Playground
TextureDirtyFlag: number

The dirty texture flag value

Static Readonly TriangleFanDrawMode

Find examples in Playground
TriangleFanDrawMode: number

Returns the triangle fan draw mode

Static Readonly TriangleFillMode

Find examples in Playground
TriangleFillMode: number

Returns the triangle fill mode

Static Readonly TriangleStripDrawMode

Find examples in Playground
TriangleStripDrawMode: number

Returns the triangle strip draw mode

Static Readonly WireFrameFillMode

Find examples in Playground
WireFrameFillMode: number

Returns the wireframe mode

Accessors

alpha

Find examples in Playground
  • 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

Find examples in Playground
  • get alphaMode(): number
  • set alphaMode(value: number): any
  • Gets the value of the alpha mode

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

    Returns number

  • Sets the value of the alpha mode.

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

    Parameters

    • value: number

    Returns any

backFaceCulling

Find examples in Playground
  • get backFaceCulling(): boolean
  • set backFaceCulling(value: boolean): any

cameraColorCurves

Find examples in Playground
  • The color grading curves provide additional color adjustmnent 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 adjustmnent 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

Find examples in Playground
  • get cameraColorCurvesEnabled(): boolean
  • set cameraColorCurvesEnabled(value: boolean): any

cameraColorGradingEnabled

Find examples in Playground
  • get cameraColorGradingEnabled(): boolean
  • set cameraColorGradingEnabled(value: boolean): any

cameraColorGradingTexture

Find examples in Playground

cameraContrast

Find examples in Playground
  • get cameraContrast(): number
  • set cameraContrast(value: number): any

cameraExposure

Find examples in Playground
  • 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

Find examples in Playground
  • get cameraToneMappingEnabled(): boolean
  • set cameraToneMappingEnabled(value: boolean): any

canRenderToMRT

Find examples in Playground
  • get canRenderToMRT(): boolean

fillMode

Find examples in Playground
  • get fillMode(): number
  • set fillMode(value: number): any

fogEnabled

Find examples in Playground
  • get fogEnabled(): boolean
  • set fogEnabled(value: boolean): any

hasRenderTargetTextures

Find examples in Playground
  • get hasRenderTargetTextures(): boolean

imageProcessingConfiguration

Find examples in Playground

indexOfRefraction

Find examples in Playground
  • get indexOfRefraction(): number
  • set indexOfRefraction(value: number): any

invertRefractionY

Find examples in Playground
  • 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

Find examples in Playground
  • get isFrozen(): boolean

linkRefractionWithTransparency

Find examples in Playground
  • get linkRefractionWithTransparency(): boolean
  • set linkRefractionWithTransparency(value: boolean): any
  • This parameters will make the material used its opacity to control how much it is refracting aginst 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 aginst not. Materials half opaque for instance using refraction could benefit from this control.

    Parameters

    • value: boolean

    Returns any

needDepthPrePass

Find examples in Playground
  • get needDepthPrePass(): boolean
  • set needDepthPrePass(value: boolean): any

onBind

Find examples in Playground
  • set onBind(callback: function): any

onBindObservable

Find examples in Playground

onDispose

Find examples in Playground
  • set onDispose(callback: function): any
  • Called during a dispose event

    Parameters

    • callback: function
        • (): void
        • Returns void

    Returns any

onEffectCreatedObservable

Find examples in Playground
  • get onEffectCreatedObservable(): Observable<object>

onUnBindObservable

Find examples in Playground

pointsCloud

Find examples in Playground
  • get pointsCloud(): boolean
  • set pointsCloud(value: boolean): any

realTimeFiltering

Find examples in Playground
  • get realTimeFiltering(): boolean
  • set realTimeFiltering(b: boolean): any

realTimeFilteringQuality

Find examples in Playground
  • get realTimeFilteringQuality(): number
  • set realTimeFilteringQuality(n: number): any

refractionTexture

Find examples in Playground

transparencyMode

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

    Value Type Description
    0 OPAQUE
    1 ALPHATEST
    2 ALPHABLEND
    3 ALPHATESTANDBLEND

    Returns Nullable<number>

  • Sets the transparency mode of the material.

    Value Type Description
    0 OPAQUE
    1 ALPHATEST
    2 ALPHABLEND
    3 ALPHATESTANDBLEND

    Parameters

    Returns any

useGLTFLightFalloff

Find examples in Playground
  • 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

Find examples in Playground
  • get useLogarithmicDepth(): boolean
  • set useLogarithmicDepth(value: boolean): any

usePhysicalLightFalloff

Find examples in Playground
  • get usePhysicalLightFalloff(): boolean
  • set usePhysicalLightFalloff(value: boolean): any
  • BJS is using an harcoded light falloff based on a manually sets up range. In PBR, one way to represents the fallof is to use the inverse squared root algorythm. 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 harcoded light falloff based on a manually sets up range. In PBR, one way to represents the fallof is to use the inverse squared root algorythm. 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

Find examples in Playground
  • get wireframe(): boolean
  • set wireframe(value: boolean): any

Methods

AddAttribute

Find examples in Playground

AddUniform

Find examples in Playground

AttachAfterBind

Find examples in Playground
  • AttachAfterBind(mesh: Mesh, effect: Effect): void
  • Parameters

    Returns void

Builder

Find examples in Playground
  • Builder(shaderName: string, uniforms: string[], uniformBuffers: string[], samplers: string[], defines: MaterialDefines | string[], attributes?: string[]): string
  • Parameters

    • shaderName: string
    • uniforms: string[]
    • uniformBuffers: string[]
    • samplers: string[]
    • defines: MaterialDefines | string[]
    • Optional attributes: string[]

    Returns string

Fragment_Before_Fog

Find examples in Playground

Fragment_Before_FragColor

Find examples in Playground

Fragment_Before_Lights

Find examples in Playground

Fragment_Begin

Find examples in Playground

Fragment_Custom_Albedo

Find examples in Playground

Fragment_Custom_Alpha

Find examples in Playground

Fragment_Custom_MetallicRoughness

Find examples in Playground

Fragment_Custom_MicroSurface

Find examples in Playground

Fragment_Definitions

Find examples in Playground

Fragment_MainBegin

Find examples in Playground

ReviewUniform

Find examples in Playground
  • ReviewUniform(name: string, arr: string[]): string[]
  • Parameters

    • name: string
    • arr: string[]

    Returns string[]

Vertex_After_WorldPosComputed

Find examples in Playground

Vertex_Before_NormalUpdated

Find examples in Playground

Vertex_Before_PositionUpdated

Find examples in Playground

Vertex_Begin

Find examples in Playground

Vertex_Definitions

Find examples in Playground

Vertex_MainBegin

Find examples in Playground

Vertex_MainEnd

Find examples in Playground

bind

Find examples in Playground
  • Parameters

    Returns void

bindForSubMesh

Find examples in Playground
  • Binds the submesh data.

    Parameters

    • world: Matrix

      The world matrix.

    • mesh: Mesh

      The BJS mesh.

    • subMesh: SubMesh

      A submesh of the BJS mesh.

    Returns void

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

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
  • Makes a duplicate of the current material.

    Parameters

    • name: string

      name to use for the new material.

    Returns PBRMaterial

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

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
  • Checks to see if a texture is used in the material.

    Parameters

    Returns boolean

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

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
  • Specifies whether or not this material should be rendered in alpha blend mode.

    Returns boolean

needAlphaBlendingForMesh

Find examples in Playground

needAlphaTesting

Find examples in Playground
  • needAlphaTesting(): boolean
  • Specifies whether or not this material should be rendered in alpha test mode.

    Returns boolean

serialize

Find examples in Playground
  • serialize(): any
  • Serializes this PBR Material.

    Returns any

    • An object with the serialized material.

setPrePassRenderer

Find examples in Playground

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

Static Parse

Find examples in Playground
  • 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

Generated using TypeDoc