Class PBRMaterial
Hierarchy
- PBRBaseMaterial
- PBRMaterial
Index
Constructors
Properties
- albedo
Color - albedo
Texture - allow
Shader Hot Swapping - alpha
Cut Off - ambient
Color - ambient
Texture - ambient
Texture Impact On Analytical Lights - ambient
Texture Strength - animations
- anisotropy
- brdf
- bump
Texture - check
Ready On Every Call - check
Ready Only Once - clear
Coat - clip
Plane - clip
Plane2 - clip
Plane3 - clip
Plane4 - clip
Plane5 - clip
Plane6 - custom
Shader Name Resolve - decal
Map - depth
Function - detail
Map - direct
Intensity - disable
Bump Map - disable
Color Write - disable
Depth Write - disable
Lighting - do
Not Serialize - emissive
Color - emissive
Intensity - emissive
Texture - enable
Specular Anti Aliasing - environmentBRDFTexture
- environment
Intensity - force
Alpha Test - force
Depth Write - force
Irradiance In Fragment - force
Normal Forward - get
Render Target Textures - id
- inspectable
Custom Properties - invert
Normal MapX - invert
Normal MapY - iridescence
- lightmap
Texture - max
Simultaneous Lights - metadata
- metallic
- metallic
F0 Factor - metallic
Reflectance Color - metallic
Reflectance Texture - metallic
Texture - micro
Surface - micro
Surface Texture - name
- on
Compiled - on
Dispose Observable - on
Error - opacity
Texture - parallax
Scale Bias - plugin
Manager - point
Size - pre
Pass Configuration - reflectance
Texture - reflection
Color - reflection
Texture - reflectivity
Color - reflectivity
Texture - reserved
Data Store - roughness
- separate
Culling Pass - shadow
Depth Wrapper - sheen
- side
Orientation - specular
Intensity - state
- stencil
- sub
Surface - two
Sided Lighting - unique
Id - unlit
- use
Alpha Fresnel - use
Alpha From Albedo Texture - use
Ambient In Gray Scale - use
Ambient Occlusion From Metallic Texture Red - use
Auto Micro Surface From Reflectivity Map - use
Horizon Occlusion - use
Lightmap As Shadowmap - use
Linear Alpha Fresnel - use
Metallness From Metallic Texture Blue - use
Micro Surface From Reflectivity Map Alpha - use
Object Space Normal Map - use
Only Metallic From Metallic Reflectance Texture - use
Parallax - use
Parallax Occlusion - use
Radiance Occlusion - use
Radiance Over Alpha - use
Roughness From Metallic Texture Alpha - use
Roughness From Metallic Texture Green - use
Specular Over Alpha - z
Offset - z
Offset Units - All
Dirty Flag - Attributes
Dirty Flag - Clock
Wise Side Orientation - Counter
Clock Wise Side Orientation - DEFAULT_
AO_ ON_ ANALYTICAL_ LIGHTS - Fresnel
Dirty Flag - LIGHTFALLOFF_
GLTF - LIGHTFALLOFF_
PHYSICAL - LIGHTFALLOFF_
STANDARD - Light
Dirty Flag - Line
List Draw Mode - Line
Loop Draw Mode - Line
Strip Draw Mode - MATERIAL_
ALPHABLEND - MATERIAL_
ALPHATEST - MATERIAL_
ALPHATESTANDBLEND - MATERIAL_
NORMALBLENDMETHOD_ RNM - MATERIAL_
NORMALBLENDMETHOD_ WHITEOUT - MATERIAL_
OPAQUE - Misc
Dirty Flag - On
Event Observable - PBRMATERIAL_
ALPHABLEND - PBRMATERIAL_
ALPHATEST - PBRMATERIAL_
ALPHATESTANDBLEND - PBRMATERIAL_
OPAQUE - Point
Fill Mode - Point
List Draw Mode - Pre
Pass Dirty Flag - Texture
Dirty Flag - Triangle
Fan Draw Mode - Triangle
Fill Mode - Triangle
Strip Draw Mode - Wire
Frame Fill Mode
Accessors
- alpha
- alpha
Mode - back
Face Culling - block
Dirty Mechanism - camera
Color Curves - camera
Color Curves Enabled - camera
Color Grading Enabled - camera
Color Grading Texture - camera
Contrast - camera
Exposure - camera
Tone Mapping Enabled - can
Render ToMRT - cull
Back Faces - fill
Mode - fog
Enabled - has
Render Target Textures - image
Processing Configuration - index
Of Refraction - invert
RefractionY - is
Frozen - is
Pre Pass Capable - link
Refraction With Transparency - need
Depth Pre Pass - on
Bind - on
Bind Observable - on
Dispose - on
Effect Created Observable - on
Un Bind Observable - points
Cloud - real
Time Filtering - real
Time Filtering Quality - refraction
Texture - transparency
Mode - useGLTFLight
Falloff - use
Logarithmic Depth - use
Physical Light Falloff - wireframe
Methods
- atomic
Materials Update - bind
- bind
Eye Position - bind
For Sub Mesh - bind
Only Normal Matrix - bind
Only World Matrix - bind
View - bind
View Projection - build
Uniform Layout - clone
- dispose
- force
Compilation - force
Compilation Async - freeze
- get
Active Textures - get
Alpha Test Texture - get
Animatables - get
Binded Meshes - get
Class Name - get
Effect - get
Scene - has
Texture - is
Metallic Workflow - is
Ready - is
Ready For Sub Mesh - mark
As Dirty - mark
Dirty - need
Alpha Blending - need
Alpha Blending For Mesh - need
Alpha Testing - reset
Draw Cache - serialize
- set
Pre Pass Renderer - to
String - unbind
- unfreeze
- Parse
Constructors
constructor
Instantiates a new PBRMaterial instance.
Parameters
name: string
The material name
Optional scene: Scene
The scene the material will be use in.
Returns PBRMaterial
Properties
albedo ColorSearch playground for albedoColor
AKA Diffuse Color in other nomenclature.
albedo TextureSearch playground for albedoTexture
AKA Diffuse Texture in standard nomenclature.
allow Shader Hot SwappingSearch playground for allowShaderHotSwapping
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)
alpha Cut OffSearch playground for alphaCutOff
Defines the alpha limits in alpha test mode.
ambient ColorSearch playground for ambientColor
The color of a material in ambient lighting.
ambient TextureSearch playground for ambientTexture
AKA Occlusion Texture in other nomenclature.
ambient Texture Impact On Analytical LightsSearch playground for ambientTextureImpactOnAnalyticalLights
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
ambient Texture StrengthSearch playground for ambientTextureStrength
AKA Occlusion Texture Intensity in other nomenclature.
animationsSearch playground for animations
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.
bump TextureSearch playground for bumpTexture
Stores surface normal data used to displace a mesh in a texture.
check Ready On Every CallSearch playground for checkReadyOnEveryCall
Specifies if the ready state should be checked on each call
check Ready Only OnceSearch playground for checkReadyOnlyOnce
Specifies if the ready state should be checked once
Readonly clear CoatSearch playground for clearCoat
Defines the clear coat layer parameters for the material.
clip PlaneSearch playground for clipPlane
Gets or sets the active clipplane 1
clip Plane2Search playground for clipPlane2
Gets or sets the active clipplane 2
clip Plane3Search playground for clipPlane3
Gets or sets the active clipplane 3
clip Plane4Search playground for clipPlane4
Gets or sets the active clipplane 4
clip Plane5Search playground for clipPlane5
Gets or sets the active clipplane 5
clip Plane6Search playground for clipPlane6
Gets or sets the active clipplane 6
custom Shader Name ResolveSearch playground for customShaderNameResolve
Type declaration
Custom callback helping to override the default shader used in the material.
Parameters
shaderName: string
uniforms: string[]
uniformBuffers: string[]
samplers: string[]
defines: string[] | MaterialDefines
Optional attributes: string[]
Optional options: ICustomShaderNameResolveOptions
Returns string
decal MapSearch playground for decalMap
Defines the decal map parameters for the material.
depth FunctionSearch playground for depthFunction
Specifies the depth function that should be used. 0 means the default engine function
Readonly detail MapSearch playground for detailMap
Defines the detail map parameters for the material.
direct IntensitySearch playground for directIntensity
Intensity of the direct lights e.g. the four lights available in your scene. This impacts both the direct diffuse and specular highlights.
disable Bump MapSearch playground for disableBumpMap
Debug Control allowing disabling the bump map on this material.
disable Color WriteSearch playground for disableColorWrite
Specifies if color writing should be disabled
disable Depth WriteSearch playground for disableDepthWrite
Specifies if depth writing should be disabled
disable LightingSearch playground for disableLighting
If sets to true, disables all the lights affecting the material.
do Not SerializeSearch playground for doNotSerialize
Specifies if the material should be serialized
emissive ColorSearch playground for emissiveColor
The color emitted from the material.
emissive IntensitySearch playground for emissiveIntensity
Intensity of the emissive part of the material. This helps controlling the emissive effect without modifying the emissive color.
emissive TextureSearch playground for emissiveTexture
Stores the emissive values in a texture.
enable Specular Anti AliasingSearch playground for enableSpecularAntiAliasing
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
Let user defines the brdf lookup texture used for IBL. A default 8bit version is embedded but you could point at :
- Default texture: https://assets.babylonjs.com/environments/correlatedMSBRDF_RGBD.png
- Default 16bit pixel depth texture: https://assets.babylonjs.com/environments/correlatedMSBRDF.dds
- LEGACY Default None correlated https://assets.babylonjs.com/environments/uncorrelatedBRDF_RGBD.png
- LEGACY Default None correlated 16bit pixel depth https://assets.babylonjs.com/environments/uncorrelatedBRDF.dds
environment IntensitySearch playground for environmentIntensity
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.
force Alpha TestSearch playground for forceAlphaTest
Enforces alpha test in opaque or blend mode in order to improve the performances of some situations.
force Depth WriteSearch playground for forceDepthWrite
Specifies if depth writing should be forced
force Irradiance In FragmentSearch playground for forceIrradianceInFragment
Force the shader to compute irradiance in the fragment shader in order to take bump in account.
force Normal ForwardSearch playground for forceNormalForward
Force normal to face away from face.
get Render Target TexturesSearch playground for getRenderTargetTextures
Callback triggered to get the render target textures
idSearch playground for id
The ID of the material
inspectable Custom PropertiesSearch playground for inspectableCustomProperties
List of inspectable custom properties (used by the Inspector)
invert Normal MapXSearch playground for invertNormalMapX
If sets to true, x component of normal map value will invert (x = 1.0 - x).
invert Normal MapYSearch playground for invertNormalMapY
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.
lightmap TextureSearch playground for lightmapTexture
Stores the pre-calculated light information of a mesh in a texture.
max Simultaneous LightsSearch playground for maxSimultaneousLights
Number of Simultaneous lights allowed on the material.
metadataSearch playground for metadata
Gets or sets user defined metadata
metallicSearch playground for metallic
Specifies the metallic scalar of the metallic/roughness workflow. Can also be used to scale the metalness values of the metallic texture.
metallic F0 FactorSearch playground for metallicF0Factor
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;
metallic Reflectance ColorSearch playground for metallicReflectanceColor
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;
metallic Reflectance TextureSearch playground for metallicReflectanceTexture
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
metallic TextureSearch playground for metallicTexture
Used to switch from specular/glossiness to metallic/roughness workflow.
micro SurfaceSearch playground for microSurface
AKA Glossiness in other nomenclature.
micro Surface TextureSearch playground for microSurfaceTexture
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
The name of the material
on CompiledSearch playground for onCompiled
Callback triggered when the material is compiled
on Dispose ObservableSearch playground for onDisposeObservable
An event triggered when the material is disposed
on ErrorSearch playground for onError
Callback triggered when an error occurs
opacity TextureSearch playground for opacityTexture
Stores the alpha values in a texture. Use luminance if texture.getAlphaFromRGB is true.
parallax Scale BiasSearch playground for parallaxScaleBias
Controls the scale bias of the parallax mode.
Optional plugin ManagerSearch playground for pluginManager
Plugin manager for this material
point SizeSearch playground for pointSize
Stores the size of points
Readonly pre Pass ConfigurationSearch playground for prePassConfiguration
Defines additional PrePass parameters for the material.
reflectance TextureSearch playground for reflectanceTexture
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
reflection ColorSearch playground for reflectionColor
The color reflected from the material.
reflection TextureSearch playground for reflectionTexture
Stores the reflection values in a texture.
reflectivity ColorSearch playground for reflectivityColor
AKA Specular Color in other nomenclature.
reflectivity TextureSearch playground for reflectivityTexture
AKA Specular texture in other nomenclature.
reserved Data StoreSearch playground for reservedDataStore
For internal use only. Please do not use.
roughnessSearch playground for roughness
Specifies the roughness scalar of the metallic/roughness workflow. Can also be used to scale the roughness values of the metallic texture.
separate Culling PassSearch playground for separateCullingPass
Specifies if there should be a separate pass for culling
shadow Depth WrapperSearch playground for 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.
side OrientationSearch playground for sideOrientation
Stores the value for side orientation
specular IntensitySearch playground for specularIntensity
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
The state of the material
Readonly stencilSearch playground for stencil
Gives access to the stencil properties of the material
Readonly sub SurfaceSearch playground for subSurface
Defines the SubSurface parameters for the material.
two Sided LightingSearch playground for twoSidedLighting
If sets to true and backfaceCulling is false, normals will be flipped on the backside.
unique IdSearch playground for uniqueId
Gets or sets the unique id of the material
unlitSearch playground for unlit
If set to true, no lighting calculations will be applied.
use Alpha FresnelSearch playground for useAlphaFresnel
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)
use Alpha From Albedo TextureSearch playground for useAlphaFromAlbedoTexture
Specifies that the alpha is coming form the albedo channel alpha channel for alpha blending.
use Ambient In Gray ScaleSearch playground for useAmbientInGrayScale
Specifies if the ambient texture contains the ambient occlusion information in its red channel only.
use Ambient Occlusion From Metallic Texture RedSearch playground for useAmbientOcclusionFromMetallicTextureRed
Specifies if the metallic texture contains the ambient occlusion information in its red channel.
use Auto Micro Surface From Reflectivity MapSearch playground for useAutoMicroSurfaceFromReflectivityMap
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.
use Horizon OcclusionSearch playground for useHorizonOcclusion
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).
use Lightmap As ShadowmapSearch playground for useLightmapAsShadowmap
If true, the light map contains occlusion information instead of lighting info.
use Linear Alpha FresnelSearch playground for useLinearAlphaFresnel
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)
use Metallness From Metallic Texture BlueSearch playground for useMetallnessFromMetallicTextureBlue
Specifies if the metallic texture contains the metallness information in its blue channel.
use Micro Surface From Reflectivity Map AlphaSearch playground for useMicroSurfaceFromReflectivityMapAlpha
Specifies if the reflectivity texture contains the glossiness information in its alpha channel.
use Object Space Normal MapSearch playground for useObjectSpaceNormalMap
Allows using an object space normal map (instead of tangent space).
use Only Metallic From Metallic Reflectance TextureSearch playground for useOnlyMetallicFromMetallicReflectanceTexture
Specifies that only the A channel from metallicReflectanceTexture should be used. If false, both RGB and A channels will be used
use ParallaxSearch playground for useParallax
Allows using the bump map in parallax mode.
use Parallax OcclusionSearch playground for useParallaxOcclusion
Allows using the bump map in parallax occlusion mode.
use Radiance OcclusionSearch playground for useRadianceOcclusion
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.
use Radiance Over AlphaSearch playground for useRadianceOverAlpha
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.
use Roughness From Metallic Texture AlphaSearch playground for useRoughnessFromMetallicTextureAlpha
Specifies if the metallic texture contains the roughness information in its alpha channel.
use Roughness From Metallic Texture GreenSearch playground for useRoughnessFromMetallicTextureGreen
Specifies if the metallic texture contains the roughness information in its green channel.
use Specular Over AlphaSearch playground for useSpecularOverAlpha
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.
z OffsetSearch playground for zOffset
Stores the z offset Factor value
z Offset UnitsSearch playground for zOffsetUnits
Stores the z offset Units value
Static Readonly All Dirty FlagSearch playground for AllDirtyFlag
The all dirty flag value
Static Readonly Attributes Dirty FlagSearch playground for AttributesDirtyFlag
The dirty attribute flag value
Static Readonly Clock Wise Side OrientationSearch playground for ClockWiseSideOrientation
Stores the clock-wise side orientation
Static Readonly Counter Clock Wise Side OrientationSearch playground for CounterClockWiseSideOrientation
Stores the counter clock-wise side orientation
Static DEFAULT_ AO_ ON_ ANALYTICAL_ LIGHTSSearch playground for DEFAULT_AO_ON_ANALYTICAL_LIGHTS
Defines the default value of how much AO map is occluding the analytical lights (point spot...).
Static Readonly Fresnel Dirty FlagSearch playground for FresnelDirtyFlag
The dirty fresnel flag value
Static Readonly LIGHTFALLOFF_ GLTFSearch playground for LIGHTFALLOFF_GLTF
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
PBRMaterialLightFalloff Physical: light is falling off following the inverse squared distance law.
Static Readonly LIGHTFALLOFF_ STANDARDSearch playground for LIGHTFALLOFF_STANDARD
PBRMaterialLightFalloff Standard: light is falling off like in the standard material to enhance interoperability with other materials.
Static Readonly Light Dirty FlagSearch playground for LightDirtyFlag
The dirty light flag value
Static Readonly Line List Draw ModeSearch playground for LineListDrawMode
Returns the line list draw mode
Static Readonly Line Loop Draw ModeSearch playground for LineLoopDrawMode
Returns the line loop draw mode
Static Readonly Line Strip Draw ModeSearch playground for LineStripDrawMode
Returns the line strip draw mode
Static Readonly MATERIAL_ ALPHABLENDSearch playground for MATERIAL_ALPHABLEND
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
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
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
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
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
MaterialTransparencyMode: No transparency mode, Alpha channel is not use.
Static Readonly Misc Dirty FlagSearch playground for MiscDirtyFlag
The dirty misc flag value
Static On Event ObservableSearch playground for OnEventObservable
Event observable which raises global events common to all materials (like MaterialPluginEvent.Created)
Static Readonly PBRMATERIAL_ ALPHABLENDSearch playground for PBRMATERIAL_ALPHABLEND
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
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
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
PBRMaterialTransparencyMode: No transparency mode, Alpha channel is not use.
Static Readonly Point Fill ModeSearch playground for PointFillMode
Returns the point fill mode
Static Readonly Point List Draw ModeSearch playground for PointListDrawMode
Returns the point list draw mode
Static Readonly Pre Pass Dirty FlagSearch playground for PrePassDirtyFlag
The dirty prepass flag value
Static Readonly Texture Dirty FlagSearch playground for TextureDirtyFlag
The dirty texture flag value
Static Readonly Triangle Fan Draw ModeSearch playground for TriangleFanDrawMode
Returns the triangle fan draw mode
Static Readonly Triangle Fill ModeSearch playground for TriangleFillMode
Returns the triangle fill mode
Static Readonly Triangle Strip Draw ModeSearch playground for TriangleStripDrawMode
Returns the triangle strip draw mode
Static Readonly Wire Frame Fill ModeSearch playground for WireFrameFillMode
Returns the wireframe mode
Accessors
alpha
Gets the alpha value of the material
Returns number
Sets the alpha value of the material
Parameters
value: number
Returns void
alpha Mode
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 void
back Face Culling
Gets the culling state
Returns boolean
Sets the culling state (true to enable culling, false to disable)
Parameters
value: boolean
Returns void
block Dirty Mechanism
Block the dirty-mechanism for this specific material When set to false after being true the material will be marked as dirty.
Returns boolean
Block the dirty-mechanism for this specific material When set to false after being true the material will be marked as dirty.
Parameters
value: boolean
Returns void
camera Color Curves
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
value: Nullable<ColorCurves>
Returns void
camera Color Curves Enabled
Gets whether the color curves effect is enabled.
Returns boolean
Sets whether the color curves effect is enabled.
Parameters
value: boolean
Returns void
camera Color Grading Enabled
Gets whether the color grading effect is enabled.
Returns boolean
Gets whether the color grading effect is enabled.
Parameters
value: boolean
Returns void
camera Color Grading Texture
Gets the Color Grading 2D Lookup Texture.
Returns Nullable<BaseTexture>
Sets the Color Grading 2D Lookup Texture.
Parameters
value: Nullable<BaseTexture>
Returns void
camera Contrast
Gets The camera contrast used on this material.
Returns number
Sets The camera contrast used on this material.
Parameters
value: number
Returns void
camera Exposure
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 void
camera Tone Mapping Enabled
Gets whether tonemapping is enabled or not.
Returns boolean
Sets whether tonemapping is enabled or not
Parameters
value: boolean
Returns void
can Render ToMRT
Can this material render to several textures at once
Returns boolean
cull Back Faces
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 void
fill Mode
Gets the material fill mode
Returns number
Sets the material fill mode
Parameters
value: number
Returns void
fog Enabled
Gets the value of the fog enabled state
Returns boolean
Sets the state for enabling fog
Parameters
value: boolean
Returns void
has Render Target Textures
Gets a boolean indicating that current material needs to register RTT
Returns boolean
image Processing Configuration
Gets the image processing configuration used either in this material.
Returns ImageProcessingConfiguration
Sets the Default image processing configuration used either in the this material.
If sets to null, the scene one is in use.
Parameters
value: ImageProcessingConfiguration
Returns void
index Of Refraction
Index of refraction of the material base layer. https://en.wikipedia.org/wiki/List_of_refractive_indices
This does not only impact refraction but also the Base F0 of Dielectric Materials.
From dielectric fresnel rules: F0 = square((iorT - iorI) / (iorT + iorI))
Returns number
Index of refraction of the material base layer. https://en.wikipedia.org/wiki/List_of_refractive_indices
This does not only impact refraction but also the Base F0 of Dielectric Materials.
From dielectric fresnel rules: F0 = square((iorT - iorI) / (iorT + iorI))
Parameters
value: number
Returns void
invert RefractionY
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 void
is Frozen
Specifies if updates for the material been locked
Returns boolean
is Pre Pass Capable
Can this material render to prepass
Returns boolean
link Refraction With Transparency
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 void
need Depth Pre Pass
Gets the depth pre-pass value
Returns boolean
Sets the need depth pre-pass value
Parameters
value: boolean
Returns void
on Bind
Called during a bind event
Parameters
callback: ((Mesh: AbstractMesh) => void)
Parameters
Mesh: AbstractMesh
Returns void
Returns void
on Bind Observable
An event triggered when the material is bound
Returns Observable<AbstractMesh>
on Dispose
Called during a dispose event
Parameters
callback: (() => void)
Returns void
Returns void
on Effect Created Observable
An event triggered when the effect is (re)created
Returns Observable<{ effect: Effect; subMesh: Nullable<SubMesh> }>
on Un Bind Observable
An event triggered when the material is unbound
Returns Observable<Material>
points Cloud
Gets the value specifying if point clouds are enabled
Returns boolean
Sets the state of point cloud mode
Parameters
value: boolean
Returns void
real Time Filtering
Enables realtime filtering on the texture.
Returns boolean
Enables realtime filtering on the texture.
Parameters
b: boolean
Returns void
real Time Filtering Quality
Quality switch for realtime filtering
Returns number
Quality switch for realtime filtering
Parameters
n: number
Returns void
refraction Texture
Stores the refracted light information in a texture.
Returns Nullable<BaseTexture>
Stores the refracted light information in a texture.
Parameters
value: Nullable<BaseTexture>
Returns void
transparency Mode
useGLTFLight Falloff
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 void
use Logarithmic Depth
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 void
use Physical Light Falloff
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 void
wireframe
Returns boolean
Sets the state of wireframe mode
Parameters
value: boolean
Returns void
Methods
atomic Materials UpdateSearch playground for atomicMaterialsUpdate
This allows you to modify the material without marking it as dirty after every change. This function should be used if you need to make more than one dirty-enabling change to the material - adding a texture, setting a new fill mode and so on. The callback will pass the material as an argument, so you can make your changes to it.
Parameters
callback: ((material: PBRMaterial) => void)
the callback to be executed that will update the material
Parameters
material: PBRMaterial
Returns void
Returns void
bindSearch playground for bind
bind Eye PositionSearch playground for bindEyePosition
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
bind For Sub MeshSearch playground for bindForSubMesh
bind Only Normal MatrixSearch playground for bindOnlyNormalMatrix
Binds the given normal matrix to the active effect
Parameters
normalMatrix: Matrix
the matrix to bind
Returns void
bind Only World MatrixSearch playground for bindOnlyWorldMatrix
Binds the given world matrix to the active effect
Parameters
world: Matrix
the matrix to bind
Returns void
bind ViewSearch playground for bindView
Binds the view matrix to the effect
Parameters
effect: Effect
defines the effect to bind the view matrix to
Returns void
bind View ProjectionSearch playground for bindViewProjection
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
build Uniform LayoutSearch playground for buildUniformLayout
Initializes the uniform buffer layout for the shader.
Returns 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
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
force CompilationSearch playground for forceCompilation
Force shader compilation
Parameters
mesh: AbstractMesh
Optional onCompiled: ((material: Material) => void)
Parameters
material: Material
Returns void
Optional options: Partial<IMaterialCompilationOptions>
Returns void
force Compilation AsyncSearch playground for forceCompilationAsync
Force shader compilation
Parameters
mesh: AbstractMesh
defines the mesh that will use this material
Optional options: Partial<IMaterialCompilationOptions>
defines additional options for compiling the shaders
Returns Promise<void>
a promise that resolves when the compilation completes
freezeSearch playground for freeze
Locks updates for the material
Returns void
get Active TexturesSearch playground for getActiveTextures
Returns an array of the actively used textures.
Returns BaseTexture[]
- Array of BaseTextures
get Alpha Test TextureSearch playground for getAlphaTestTexture
Gets the texture used for the alpha test.
Returns Nullable<BaseTexture>
get AnimatablesSearch playground for getAnimatables
Returns the animatable textures. If material have animatable metallic texture, then reflectivity texture will not be returned, even if it has animations.
Returns IAnimatable[]
- Array of animatable textures.
get Binded MeshesSearch playground for getBindedMeshes
Gets the meshes bound to the material
Returns AbstractMesh[]
an array of meshes bound to the material
get Class NameSearch playground for getClassName
Returns the name of this material class.
Returns string
get EffectSearch playground for getEffect
Returns Effect
get SceneSearch playground for getScene
Returns the current scene
Returns Scene
a Scene
has TextureSearch playground for hasTexture
Checks to see if a texture is used in the material.
Parameters
texture: BaseTexture
Base texture to use.
Returns boolean
- Boolean specifying if a texture is used in the material.
is Metallic WorkflowSearch playground for isMetallicWorkflow
Specifies if the material uses metallic roughness workflow.
Returns boolean
boolean specifying if the material uses metallic roughness workflow.
is ReadySearch playground for isReady
Parameters
Optional mesh: AbstractMesh
Optional useInstances: boolean
Returns boolean
is Ready For Sub MeshSearch 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.
mark As DirtySearch playground for markAsDirty
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
mark DirtySearch playground for markDirty
Marks the material to indicate that it needs to be re-calculated
Parameters
Optional forceMaterialDirty: boolean
Forces the material to be marked as dirty for all components (same as this.markAsDirty(Material.AllDirtyFlag)). You should use this flag if the material is frozen and you want to force a recompilation.
Returns void
need Alpha BlendingSearch playground for needAlphaBlending
Specifies whether or not this material should be rendered in alpha blend mode.
Returns boolean
need Alpha Blending For MeshSearch playground for needAlphaBlendingForMesh
Specifies if the mesh will require alpha blending
Parameters
mesh: AbstractMesh
defines the mesh to check
Returns boolean
a boolean specifying if alpha blending is needed for the mesh
need Alpha TestingSearch playground for needAlphaTesting
Specifies whether or not this material should be rendered in alpha test mode.
Returns boolean
reset Draw CacheSearch playground for resetDrawCache
Resets the draw wrappers cache for all submeshes that are using this material
Returns void
serializeSearch playground for serialize
Serializes this PBR Material.
Returns any
- An object with the serialized material.
set Pre Pass RendererSearch playground for setPrePassRenderer
Sets the required values to the prepass renderer. It can't be sets when subsurface scattering of this material is disabled. When scene have ability to enable subsurface prepass effect, it will enable.
Returns boolean
to StringSearch playground for toString
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
Unbinds the material from the mesh
Returns void
unfreezeSearch playground for unfreeze
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
The Physically based material of BJS.
This offers the main features of a standard PBR material. For more information, please refer to the documentation : https://doc.babylonjs.com/features/featuresDeepDive/materials/using/introToPBR