StandardMaterial

This is the default material used in Babylon. It is the best trade off between quality and performances.

see

http://doc.babylonjs.com/babylon101/materials

Hierarchy

  • PushMaterial
    • StandardMaterial

Implements

Index

Constructors

Properties

Methods

Constructors

constructor

Find examples in Playground
  • Instantiates a new standard material. This is the default material used in Babylon. It is the best trade off between quality and performances.

    see

    http://doc.babylonjs.com/babylon101/materials

    Parameters

    • name: string

      Define the name of the material in the scene

    • scene: Scene

      Define the scene the material belong to

    Returns StandardMaterial

Properties

allowShaderHotSwapping

Find examples in Playground
allowShaderHotSwapping: boolean

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

alpha

Find examples in Playground
alpha: number

Gets the alpha value of the material

alphaCutOff

Find examples in Playground
alphaCutOff: number

Defines the alpha limits in alpha test mode.

alphaMode

Find examples in Playground
alphaMode: number

Gets the value of the alpha mode

ambientColor

Find examples in Playground
ambientColor: Color3

The color of the material lit by the environmental background lighting.

see

http://doc.babylonjs.com/babylon101/materials#ambient-color-example

ambientTexture

Find examples in Playground
ambientTexture: Nullable<BaseTexture>

AKA Occlusion Texture in other nomenclature, it helps adding baked shadows into your material.

animations

Find examples in Playground
animations: Array<Animation>

Stores the animations for the material

backFaceCulling

Find examples in Playground
backFaceCulling: boolean

Gets the back-face culling state

bumpTexture

Find examples in Playground
bumpTexture: Nullable<BaseTexture>

Bump mapping is a technique to simulate bump and dents on a rendered surface. These are made by creating a normal map from an image. The means to do this can be found on the web, a search for 'normal map generator' will bring up free and paid for methods of doing this.

see

http://doc.babylonjs.com/how_to/more_materials#bump-map

cameraColorCurves

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

cameraColorCurvesEnabled

Find examples in Playground
cameraColorCurvesEnabled: boolean

Sets wether the color curves effect is enabled.

cameraColorGradingEnabled

Find examples in Playground
cameraColorGradingEnabled: boolean

Gets wether the color grading effect is enabled.

cameraColorGradingTexture

Find examples in Playground
cameraColorGradingTexture: Nullable<BaseTexture>

Sets the Color Grading 2D Lookup Texture.

cameraContrast

Find examples in Playground
cameraContrast: number

Sets The camera contrast used on this material.

cameraExposure

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

cameraToneMappingEnabled

Find examples in Playground
cameraToneMappingEnabled: boolean

Sets wether tonemapping is enabled or not

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

customShaderNameResolve

Find examples in Playground
customShaderNameResolve: function

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

Type declaration

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

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

      Returns string

diffuseColor

Find examples in Playground
diffuseColor: Color3

The basic color of the material as viewed under a light.

diffuseFresnelParameters

Find examples in Playground
diffuseFresnelParameters: FresnelParameters

Define the diffuse fresnel parameters of the material.

see

http://doc.babylonjs.com/how_to/how_to_use_fresnelparameters

diffuseTexture

Find examples in Playground
diffuseTexture: Nullable<BaseTexture>

The basic texture of the material as viewed under a light.

disableDepthWrite

Find examples in Playground
disableDepthWrite: boolean

Specifies if depth writing should be disabled

disableLighting

Find examples in Playground
disableLighting: boolean

Does lights from the scene impacts this material. It can be a nice trick for performance to disable lighting on a fully emissive material.

doNotSerialize

Find examples in Playground
doNotSerialize: boolean

Specifies if the material should be serialized

emissiveColor

Find examples in Playground
emissiveColor: Color3

Define the color of the material as if self lit. This will be mixed in the final result even in the absence of light.

emissiveFresnelParameters

Find examples in Playground
emissiveFresnelParameters: FresnelParameters

Define the emissive fresnel parameters of the material.

see

http://doc.babylonjs.com/how_to/how_to_use_fresnelparameters

emissiveTexture

Find examples in Playground
emissiveTexture: Nullable<BaseTexture>

Define texture of the material as if self lit. This will be mixed in the final result even in the absence of light.

fillMode

Find examples in Playground
fillMode: number

Sets the material fill mode

fogEnabled

Find examples in Playground
fogEnabled: boolean

Gets the value of the fog enabled state

forceDepthWrite

Find examples in Playground
forceDepthWrite: boolean

Specifies if depth writing should be forced

getRenderTargetTextures

Find examples in Playground
getRenderTargetTextures: function

Callback triggered to get the render target textures

hasRenderTargetTextures

Find examples in Playground
hasRenderTargetTextures: boolean

Gets a boolean indicating that current material needs to register RTT

id

Find examples in Playground
id: string

The ID of the material

imageProcessingConfiguration

Find examples in Playground
imageProcessingConfiguration: ImageProcessingConfiguration

Sets the Default image processing configuration used either in the this material.

If sets to null, the scene one is in use.

indexOfRefraction

Find examples in Playground
indexOfRefraction: number

In case of refraction, define the value of the indice of refraction.

see

http://doc.babylonjs.com/how_to/reflect#how-to-obtain-reflections-and-refractions

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

invertRefractionY

Find examples in Playground
invertRefractionY: boolean

Invert the refraction texture alongside the y axis. It can be useful with procedural textures or probe for instance.

see

http://doc.babylonjs.com/how_to/reflect#how-to-obtain-reflections-and-refractions

isFrozen

Find examples in Playground
isFrozen: boolean

Specifies if updates for the material been locked

lightmapTexture

Find examples in Playground
lightmapTexture: Nullable<BaseTexture>

Complex lighting can be computationally expensive to compute at runtime. To save on computation, lightmaps may be used to store calculated lighting in a texture which will be applied to a given mesh.

see

http://doc.babylonjs.com/babylon101/lights#lightmaps

linkEmissiveWithDiffuse

Find examples in Playground
linkEmissiveWithDiffuse: boolean

If true, some kind of energy conservation will prevent the end result to be more than 1 by reducing the emissive level when the final color is close to one.

maxSimultaneousLights

Find examples in Playground
maxSimultaneousLights: number

Defines the maximum number of lights that can be used in the material

metadata

Find examples in Playground
metadata: any

Gets or sets user defined metadata

name

Find examples in Playground
name: string

The name of the material

needDepthPrePass

Find examples in Playground
needDepthPrePass: boolean

Gets the depth pre-pass value

onBind

Find examples in Playground
onBind: function

Called during a bind event

Type declaration

onBindObservable

Find examples in Playground
onBindObservable: Observable<AbstractMesh>

An event triggered when the material is bound

onCompiled

Find examples in Playground
onCompiled: function

Callback triggered when the material is compiled

Type declaration

    • Parameters

      Returns void

onDispose

Find examples in Playground
onDispose: function

Called during a dispose event

Type declaration

    • (): void
    • Returns void

onDisposeObservable

Find examples in Playground
onDisposeObservable: Observable<Material>

An event triggered when the material is disposed

onError

Find examples in Playground
onError: function

Callback triggered when an error occurs

Type declaration

    • (effect: Effect, errors: string): void
    • Parameters

      • effect: Effect
      • errors: string

      Returns void

onUnBindObservable

Find examples in Playground
onUnBindObservable: Observable<Material>

An event triggered when the material is unbound

opacityFresnelParameters

Find examples in Playground
opacityFresnelParameters: FresnelParameters

Define the opacity fresnel parameters of the material.

see

http://doc.babylonjs.com/how_to/how_to_use_fresnelparameters

opacityTexture

Find examples in Playground
opacityTexture: Nullable<BaseTexture>

Define the transparency of the material from a texture. The final alpha value can be read either from the red channel (if texture.getAlphaFromRGB is false) or from the luminance or the current texel (if texture.getAlphaFromRGB is true)

parallaxScaleBias

Find examples in Playground
parallaxScaleBias: number

Apply a scaling factor that determine which "depth" the height map should reprensent. A value between 0.05 and 0.1 is reasonnable in Parallax, you can reach 0.2 using Parallax Occlusion.

pointSize

Find examples in Playground
pointSize: number

Stores the size of points

pointsCloud

Find examples in Playground
pointsCloud: boolean

Sets the state of point cloud mode

reflectionFresnelParameters

Find examples in Playground
reflectionFresnelParameters: FresnelParameters

Define the reflection fresnel parameters of the material.

see

http://doc.babylonjs.com/how_to/how_to_use_fresnelparameters

reflectionTexture

Find examples in Playground
reflectionTexture: Nullable<BaseTexture>

Define the texture used to display the reflection.

see

http://doc.babylonjs.com/how_to/reflect#how-to-obtain-reflections-and-refractions

refractionFresnelParameters

Find examples in Playground
refractionFresnelParameters: FresnelParameters

Define the refraction fresnel parameters of the material.

see

http://doc.babylonjs.com/how_to/how_to_use_fresnelparameters

refractionTexture

Find examples in Playground
refractionTexture: Nullable<BaseTexture>

Define the texture used to display the refraction.

see

http://doc.babylonjs.com/how_to/reflect#how-to-obtain-reflections-and-refractions

reservedDataStore

Find examples in Playground
reservedDataStore: any

For internal use only. Please do not use.

roughness

Find examples in Playground
roughness: number

Helps to define how blurry the reflections should appears in the material.

separateCullingPass

Find examples in Playground
separateCullingPass: boolean

Specifies if there should be a separate pass for culling

sideOrientation

Find examples in Playground
sideOrientation: number

Stores the value for side orientation

specularColor

Find examples in Playground
specularColor: Color3

Define how the color and intensity of the highlight given by the light in the material.

specularPower

Find examples in Playground
specularPower: number

Defines how sharp are the highlights in the material. The bigger the value the sharper giving a more glossy feeling to the result. Reversely, the smaller the value the blurrier giving a more rough feeling to the result.

specularTexture

Find examples in Playground
specularTexture: Nullable<BaseTexture>

Define how the color and intensity of the highlight given by the light in the material.

state

Find examples in Playground
state: string

The state of 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

useAlphaFromDiffuseTexture

Find examples in Playground
useAlphaFromDiffuseTexture: boolean

Does the transparency come from the diffuse texture alpha channel.

useEmissiveAsIllumination

Find examples in Playground
useEmissiveAsIllumination: boolean

If true, the emissive value is added into the end result, otherwise it is multiplied in.

useGlossinessFromSpecularMapAlpha

Find examples in Playground
useGlossinessFromSpecularMapAlpha: boolean

Defines if the glossiness/roughness of the material should be read from the specular map alpha channel

useLightmapAsShadowmap

Find examples in Playground
useLightmapAsShadowmap: boolean

In case of light mapping, define whether the map contains light or shadow informations.

useLogarithmicDepth

Find examples in Playground
useLogarithmicDepth: boolean

In case the depth buffer does not allow enough depth precision for your scene (might be the case in large scenes) You can try switching to logarithmic depth.

see

http://doc.babylonjs.com/how_to/using_logarithmic_depth_buffer

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

useParallaxOcclusion

Find examples in Playground
useParallaxOcclusion: boolean

Is parallax occlusion enabled or not. If true, the outcome is way more realistic than traditional Parallax but you can expect a performance hit that worthes consideration.

see

http://doc.babylonjs.com/how_to/using_parallax_mapping

useReflectionFresnelFromSpecular

Find examples in Playground
useReflectionFresnelFromSpecular: boolean

If true automatically deducts the fresnels values from the material specularity.

see

http://doc.babylonjs.com/how_to/how_to_use_fresnelparameters

useReflectionOverAlpha

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

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.

wireframe

Find examples in Playground
wireframe: boolean

Sets the state of wireframe mode

zOffset

Find examples in Playground
zOffset: number

Stores the z offset value

Static AllDirtyFlag

Find examples in Playground
AllDirtyFlag: number

The all dirty flag value

Static AmbientTextureEnabled

Find examples in Playground
AmbientTextureEnabled: boolean

Are ambient textures enabled in the application.

Static AttributesDirtyFlag

Find examples in Playground
AttributesDirtyFlag: number

The dirty attribute flag value

Static BumpTextureEnabled

Find examples in Playground
BumpTextureEnabled: boolean

Are bump textures enabled in the application.

Static ClockWiseSideOrientation

Find examples in Playground
ClockWiseSideOrientation: number

Returns the clock-wise side orientation

Static ColorGradingTextureEnabled

Find examples in Playground
ColorGradingTextureEnabled: boolean

Are color grading textures enabled in the application.

Static CounterClockWiseSideOrientation

Find examples in Playground
CounterClockWiseSideOrientation: number

Returns the counter clock-wise side orientation

Static DiffuseTextureEnabled

Find examples in Playground
DiffuseTextureEnabled: boolean

Are diffuse textures enabled in the application.

Static EmissiveTextureEnabled

Find examples in Playground
EmissiveTextureEnabled: boolean

Are emissive textures enabled in the application.

Static FresnelDirtyFlag

Find examples in Playground
FresnelDirtyFlag: number

The dirty fresnel flag value

Static FresnelEnabled

Find examples in Playground
FresnelEnabled: boolean

Are fresnels enabled in the application.

Static LightDirtyFlag

Find examples in Playground
LightDirtyFlag: number

The dirty light flag value

Static LightmapTextureEnabled

Find examples in Playground
LightmapTextureEnabled: boolean

Are lightmap textures enabled in the application.

Static LineListDrawMode

Find examples in Playground
LineListDrawMode: number

Returns the line list draw mode

Static LineLoopDrawMode

Find examples in Playground
LineLoopDrawMode: number

Returns the line loop draw mode

Static LineStripDrawMode

Find examples in Playground
LineStripDrawMode: number

Returns the line strip draw mode

Static MiscDirtyFlag

Find examples in Playground
MiscDirtyFlag: number

The dirty misc flag value

Static OpacityTextureEnabled

Find examples in Playground
OpacityTextureEnabled: boolean

Are opacity textures enabled in the application.

Static PointFillMode

Find examples in Playground
PointFillMode: number

Returns the point fill mode

Static PointListDrawMode

Find examples in Playground
PointListDrawMode: number

Returns the point list draw mode

Static ReflectionTextureEnabled

Find examples in Playground
ReflectionTextureEnabled: boolean

Are reflection textures enabled in the application.

Static RefractionTextureEnabled

Find examples in Playground
RefractionTextureEnabled: boolean

Are refraction textures enabled in the application.

Static SpecularTextureEnabled

Find examples in Playground
SpecularTextureEnabled: boolean

Are specular textures enabled in the application.

Static TextureDirtyFlag

Find examples in Playground
TextureDirtyFlag: number

The dirty texture flag value

Static TriangleFanDrawMode

Find examples in Playground
TriangleFanDrawMode: number

Returns the triangle fan draw mode

Static TriangleFillMode

Find examples in Playground
TriangleFillMode: number

Returns the triangle fill mode

Static TriangleStripDrawMode

Find examples in Playground
TriangleStripDrawMode: number

Returns the triangle strip draw mode

Static WireFrameFillMode

Find examples in Playground
WireFrameFillMode: number

Returns the wireframe mode

Methods

bind

Find examples in Playground
  • Parameters

    Returns void

bindForSubMesh

Find examples in Playground
  • Binds the submesh to this material by preparing the effect and shader to draw

    Parameters

    • world: Matrix

      defines the world transformation matrix

    • mesh: Mesh

      defines the mesh containing the submesh

    • subMesh: SubMesh

      defines the submesh to bind the material to

    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
  • Binds the scene's uniform buffer to the effect.

    Parameters

    • effect: Effect

      defines the effect to bind to the scene uniform buffer

    • sceneUbo: UniformBuffer

      defines the uniform buffer storing scene data

    Returns void

bindView

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

    Parameters

    • effect: Effect

      defines the effect to bind the view matrix to

    Returns void

bindViewProjection

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

    Parameters

    • effect: Effect

      defines the effect to bind the view projection matrix to

    Returns void

buildUniformLayout

Find examples in Playground
  • buildUniformLayout(): void
  • Builds the material UBO layouts. Used internally during the effect preparation.

    Returns void

clone

Find examples in Playground
  • Makes a duplicate of the material, and gives it a new name

    Parameters

    • name: string

      defines the new name for the duplicated material

    Returns StandardMaterial

    the cloned material

dispose

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

    Parameters

    • Optional forceDisposeEffect: boolean

      specifies if effects should be forcefully disposed

    • Optional forceDisposeTextures: boolean

      specifies if textures should be forcefully disposed

    Returns void

forceCompilation

Find examples in Playground
  • forceCompilation(mesh: AbstractMesh, onCompiled?: function, options?: Partial<object>): void
  • Force shader compilation

    Parameters

    • mesh: AbstractMesh

      defines the mesh associated with this material

    • Optional onCompiled: function

      defines a function to execute once the material is compiled

    • Optional options: Partial<object>

      defines the options to configure the compilation

    Returns void

forceCompilationAsync

Find examples in Playground
  • forceCompilationAsync(mesh: AbstractMesh, options?: Partial<object>): Promise<void>
  • Force shader compilation

    Parameters

    • mesh: AbstractMesh

      defines the mesh that will use this material

    • Optional options: Partial<object>

      defines additional options for compiling the shaders

    Returns Promise<void>

    a promise that resolves when the compilation completes

freeze

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

    Returns void

getActiveTextures

Find examples in Playground

getAlphaTestTexture

Find examples in Playground

getAnimatables

Find examples in Playground
  • Get the list of animatables in the material.

    Returns IAnimatable[]

    the list of animatables object used in the material

getBindedMeshes

Find examples in Playground

getClassName

Find examples in Playground
  • getClassName(): string
  • Gets the current class name of the material e.g. "StandardMaterial" Mainly use in serialization.

    Returns string

    the class name

getEffect

Find examples in Playground

getScene

Find examples in Playground

hasTexture

Find examples in Playground
  • Specifies if the material uses a texture

    Parameters

    • texture: BaseTexture

      defines the texture to check against the material

    Returns boolean

    a boolean specifying if the material uses the texture

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
  • Get if the submesh is ready to be used and all its information available. Child classes can use it to update shaders

    Parameters

    • mesh: AbstractMesh

      defines the mesh to check

    • subMesh: SubMesh

      defines which submesh to check

    • Optional useInstances: boolean

      specifies that instances should be used

    Returns boolean

    a 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 if the material will require alpha blending

    Returns boolean

    a boolean specifying if alpha blending is needed

needAlphaBlendingForMesh

Find examples in Playground
  • Specifies if the mesh will require alpha blending

    Parameters

    Returns boolean

    a boolean specifying if alpha blending is needed for the mesh

needAlphaTesting

Find examples in Playground
  • needAlphaTesting(): boolean
  • Specifies if this material should be rendered in alpha test mode

    Returns boolean

    a boolean specifying if an alpha test is needed.

serialize

Find examples in Playground
  • serialize(): any
  • Serializes this material in a JSON representation

    Returns any

    the serialized material object

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
  • Unbinds the material from the mesh

    Returns void

unfreeze

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

    Returns void

Static Parse

Find examples in Playground
  • Creates a standard material from parsed material data

    Parameters

    • source: any

      defines the JSON represnetation of the material

    • scene: Scene

      defines the hosting scene

    • rootUrl: string

      defines the root URL to use to load textures and relative dependencies

    Returns StandardMaterial

    a new material

Static ParseMultiMaterial

Find examples in Playground
  • Creates a MultiMaterial from parsed MultiMaterial data.

    Parameters

    • parsedMultiMaterial: any

      defines parsed MultiMaterial data.

    • scene: Scene

      defines the hosting scene

    Returns MultiMaterial

    a new MultiMaterial

Generated using TypeDoc