Options
All
  • Public
  • Public/Protected
  • All
Menu

Class NodeMaterial

Class used to create a node based material built by assembling shader blocks

Hierarchy

  • PushMaterial
    • NodeMaterial

Implements

Index

Constructors

Properties

Accessors

Methods

Constructors

constructor

  • Create a new node based material

    Parameters

    • name: string

      defines the material name

    • Optional scene: Scene

      defines the hosting scene

    • Optional options: Partial<INodeMaterialOptions>

      defines creation option

    Returns NodeMaterial

Properties

_fragmentOutputNodesSearch playground for _fragmentOutputNodes

_fragmentOutputNodes: NodeMaterialBlock[]

Gets or sets the root nodes of the material fragment (pixel) shader

_vertexOutputNodesSearch playground for _vertexOutputNodes

_vertexOutputNodes: NodeMaterialBlock[]

Gets or sets the root nodes of the material vertex shader

allowShaderHotSwappingSearch playground for allowShaderHotSwapping

allowShaderHotSwapping: boolean

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

animationsSearch playground for animations

animations: Nullable<Array<Animation>>

Stores the animations for the material

attachedBlocksSearch playground for attachedBlocks

attachedBlocks: NodeMaterialBlock[]

Gets an array of blocks that needs to be serialized even if they are not yet connected

checkReadyOnEveryCallSearch playground for checkReadyOnEveryCall

checkReadyOnEveryCall: boolean

Specifies if the ready state should be checked on each call

checkReadyOnlyOnceSearch playground for checkReadyOnlyOnce

checkReadyOnlyOnce: boolean

Specifies if the ready state should be checked once

commentSearch playground for comment

comment: string

A free comment about the material

customShaderNameResolveSearch playground for customShaderNameResolve

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

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

Type declaration

depthFunctionSearch playground for depthFunction

depthFunction: number

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

disableColorWriteSearch playground for disableColorWrite

disableColorWrite: boolean

Specifies if color writing should be disabled

disableDepthWriteSearch playground for disableDepthWrite

disableDepthWrite: boolean

Specifies if depth writing should be disabled

doNotSerializeSearch playground for doNotSerialize

doNotSerialize: boolean

Specifies if the material should be serialized

editorDataSearch playground for editorData

editorData: any

Gets or sets data used by visual editor

see

https://nme.babylonjs.com

forceDepthWriteSearch playground for forceDepthWrite

forceDepthWrite: boolean

Specifies if depth writing should be forced

getRenderTargetTexturesSearch playground for getRenderTargetTextures

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

Callback triggered to get the render target textures

idSearch playground for id

id: string

The ID of the material

ignoreAlphaSearch playground for ignoreAlpha

ignoreAlpha: boolean

Gets or sets a boolean indicating that alpha value must be ignored (This will turn alpha blending off even if an alpha value is produced by the material)

inspectableCustomPropertiesSearch playground for inspectableCustomProperties

inspectableCustomProperties: IInspectable[]

List of inspectable custom properties (used by the Inspector)

see

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

maxSimultaneousLightsSearch playground for maxSimultaneousLights

maxSimultaneousLights: number

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

metadataSearch playground for metadata

metadata: any

Gets or sets user defined metadata

nameSearch playground for name

name: string

The name of the material

onBuildObservableSearch playground for onBuildObservable

onBuildObservable: Observable<NodeMaterial>

Observable raised when the material is built

onCompiledSearch playground for onCompiled

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

Callback triggered when the material is compiled

onDisposeObservableSearch playground for onDisposeObservable

onDisposeObservable: Observable<Material>

An event triggered when the material is disposed

onErrorSearch playground for onError

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

Callback triggered when an error occurs

pointSizeSearch playground for pointSize

pointSize: number

Stores the size of points

reservedDataStoreSearch playground for reservedDataStore

reservedDataStore: any

For internal use only. Please do not use.

separateCullingPassSearch playground for separateCullingPass

separateCullingPass: boolean

Specifies if there should be a separate pass for culling

shadowDepthWrapperSearch playground for shadowDepthWrapper

shadowDepthWrapper: Nullable<ShadowDepthWrapper>

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

sideOrientationSearch playground for sideOrientation

sideOrientation: number

Stores the value for side orientation

snippetIdSearch playground for snippetId

snippetId: string

Snippet ID if the material was created from the snippet server

stateSearch playground for state

state: string

The state of the material

Readonly stencilSearch playground for stencil

Gives access to the stencil properties of the material

uniqueIdSearch playground for uniqueId

uniqueId: number

Gets or sets the unique id of the material

zOffsetSearch playground for zOffset

zOffset: number

Stores the z offset value

Static Readonly AllDirtyFlagSearch playground for AllDirtyFlag

AllDirtyFlag: number

The all dirty flag value

Static Readonly AttributesDirtyFlagSearch playground for AttributesDirtyFlag

AttributesDirtyFlag: number

The dirty attribute flag value

Static Readonly ClockWiseSideOrientationSearch playground for ClockWiseSideOrientation

ClockWiseSideOrientation: number

Stores the clock-wise side orientation

Static Readonly CounterClockWiseSideOrientationSearch playground for CounterClockWiseSideOrientation

CounterClockWiseSideOrientation: number

Stores the counter clock-wise side orientation

Static EditorURLSearch playground for EditorURL

EditorURL: string

Define the Url to load node editor script

Static Readonly FresnelDirtyFlagSearch playground for FresnelDirtyFlag

FresnelDirtyFlag: number

The dirty fresnel flag value

Static IgnoreTexturesAtLoadTimeSearch playground for IgnoreTexturesAtLoadTime

IgnoreTexturesAtLoadTime: boolean

Gets or sets a boolean indicating that node materials should not deserialize textures from json / snippet content

Static Readonly LightDirtyFlagSearch playground for LightDirtyFlag

LightDirtyFlag: number

The dirty light flag value

Static Readonly LineListDrawModeSearch playground for LineListDrawMode

LineListDrawMode: number

Returns the line list draw mode

Static Readonly LineLoopDrawModeSearch playground for LineLoopDrawMode

LineLoopDrawMode: number

Returns the line loop draw mode

Static Readonly LineStripDrawModeSearch playground for LineStripDrawMode

LineStripDrawMode: number

Returns the line strip draw mode

Static Readonly MATERIAL_ALPHABLENDSearch playground for MATERIAL_ALPHABLEND

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_ALPHATESTSearch playground for MATERIAL_ALPHATEST

MATERIAL_ALPHATEST: number

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

Static Readonly MATERIAL_ALPHATESTANDBLENDSearch playground for MATERIAL_ALPHATESTANDBLEND

MATERIAL_ALPHATESTANDBLEND: 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_RNMSearch playground for MATERIAL_NORMALBLENDMETHOD_RNM

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_WHITEOUTSearch playground for MATERIAL_NORMALBLENDMETHOD_WHITEOUT

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_OPAQUESearch playground for MATERIAL_OPAQUE

MATERIAL_OPAQUE: number

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

Static Readonly MiscDirtyFlagSearch playground for MiscDirtyFlag

MiscDirtyFlag: number

The dirty misc flag value

Static Readonly PointFillModeSearch playground for PointFillMode

PointFillMode: number

Returns the point fill mode

Static Readonly PointListDrawModeSearch playground for PointListDrawMode

PointListDrawMode: number

Returns the point list draw mode

Static Readonly PrePassDirtyFlagSearch playground for PrePassDirtyFlag

PrePassDirtyFlag: number

The dirty prepass flag value

Static SnippetUrlSearch playground for SnippetUrl

SnippetUrl: string

Define the Url to load snippets

Static Readonly TextureDirtyFlagSearch playground for TextureDirtyFlag

TextureDirtyFlag: number

The dirty texture flag value

Static Readonly TriangleFanDrawModeSearch playground for TriangleFanDrawMode

TriangleFanDrawMode: number

Returns the triangle fan draw mode

Static Readonly TriangleFillModeSearch playground for TriangleFillMode

TriangleFillMode: number

Returns the triangle fill mode

Static Readonly TriangleStripDrawModeSearch playground for TriangleStripDrawMode

TriangleStripDrawMode: number

Returns the triangle strip draw mode

Static Readonly WireFrameFillModeSearch playground for WireFrameFillMode

WireFrameFillMode: number

Returns the wireframe mode

Accessors

alpha

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

    Returns number

  • Sets the alpha value of the material

    Parameters

    • value: number

    Returns any

alphaMode

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

    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

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

    Returns boolean

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

    Parameters

    • value: boolean

    Returns any

buildId

  • get buildId(): number
  • set buildId(value: number): any
  • Gets or sets the unique identifier used to identified the effect associated with the material

    Returns number

  • Gets or sets the unique identifier used to identified the effect associated with the material

    Parameters

    • value: number

    Returns any

canRenderToMRT

  • get canRenderToMRT(): boolean
  • If the material can be rendered to several textures with MRT extension

    Returns boolean

compiledShaders

  • get compiledShaders(): string
  • Get a string representing the shaders built by the current node graph

    Returns string

cullBackFaces

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

    Returns boolean

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

    Parameters

    • value: boolean

    Returns any

fillMode

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

    Returns number

  • Sets the material fill mode

    Parameters

    • value: number

    Returns any

fogEnabled

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

    Returns boolean

  • Sets the state for enabling fog

    Parameters

    • value: boolean

    Returns any

hasRenderTargetTextures

  • get hasRenderTargetTextures(): boolean
  • Gets a boolean indicating that current material needs to register RTT

    Returns boolean

imageProcessingConfiguration

  • Gets the image processing configuration used either in this material.

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

    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

    Returns any

isFrozen

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

    Returns boolean

isPrePassCapable

  • get isPrePassCapable(): boolean
  • Can this material render to prepass

    Returns boolean

mode

  • Gets or sets the mode property

    Returns NodeMaterialModes

  • Gets or sets the mode property

    Parameters

    Returns any

needDepthPrePass

  • get needDepthPrePass(): boolean
  • set needDepthPrePass(value: boolean): any
  • Gets the depth pre-pass value

    Returns boolean

  • Sets the need depth pre-pass value

    Parameters

    • value: boolean

    Returns any

onBind

  • Called during a bind event

    Parameters

    Returns any

onBindObservable

  • An event triggered when the material is bound

    Returns Observable<AbstractMesh>

onDispose

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

    Parameters

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

    Returns any

onEffectCreatedObservable

  • An event triggered when the effect is (re)created

    Returns Observable<{ effect: Effect; subMesh: Nullable<SubMesh> }>

onUnBindObservable

  • An event triggered when the material is unbound

    Returns Observable<Material>

options

  • Gets or sets options to control the node material overall behavior

    Returns INodeMaterialOptions

  • Gets or sets options to control the node material overall behavior

    Parameters

    Returns any

pointsCloud

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

    Returns boolean

  • Sets the state of point cloud mode

    Parameters

    • value: boolean

    Returns any

transparencyMode

  • 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

wireframe

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

    Returns boolean

  • Sets the state of wireframe mode

    Parameters

    • value: boolean

    Returns any

Methods

addOutputNodeSearch playground for addOutputNode

  • Add a new block to the list of output nodes

    Parameters

    Returns this

    the current material

bindSearch playground for bind

  • Parameters

    Returns void

bindEyePositionSearch playground for bindEyePosition

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

    Parameters

    • effect: Effect

      defines the effect to bind the view matrix to

    • Optional variableName: string

      name of the shader variable that will hold the eye position

    Returns void

bindForSubMeshSearch playground for bindForSubMesh

  • 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

bindOnlyNormalMatrixSearch playground for bindOnlyNormalMatrix

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

    Parameters

    • normalMatrix: Matrix

      the matrix to bind

    Returns void

bindOnlyWorldMatrixSearch playground for bindOnlyWorldMatrix

  • bindOnlyWorldMatrix(world: Matrix): void
  • Binds the world matrix to the material

    Parameters

    • world: Matrix

      defines the world transformation matrix

    Returns void

bindViewSearch playground for bindView

  • bindView(effect: Effect): void
  • Binds the view matrix to the effect

    Parameters

    • effect: Effect

      defines the effect to bind the view matrix to

    Returns void

bindViewProjectionSearch playground for bindViewProjection

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

    Parameters

    • effect: Effect

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

    Returns void

buildSearch playground for build

  • build(verbose?: boolean, updateBuildId?: boolean): void
  • Build the material and generates the inner effect

    Parameters

    • Optional verbose: boolean

      defines if the build should log activity

    • Optional updateBuildId: boolean

      defines if the internal build Id should be updated (default is true)

    Returns void

clearSearch playground for clear

  • clear(): void
  • Clear the current material

    Returns void

cloneSearch playground for clone

  • Makes a duplicate of the current material.

    Parameters

    • name: string

      defines the name to use for the new material

    • Optional shareEffect: boolean

      defines if the clone material should share the same effect (default is false)

    Returns NodeMaterial

createEffectForParticlesSearch playground for createEffectForParticles

  • createEffectForParticles(particleSystem: IParticleSystem, onCompiled?: (effect: Effect) => void, onError?: (effect: Effect, errors: string) => void): void
  • Create the effect to be used as the custom effect for a particle system

    Parameters

    • particleSystem: IParticleSystem

      Particle system to create the effect for

    • Optional onCompiled: (effect: Effect) => void

      defines a function to call when the effect creation is successful

        • Parameters

          Returns void

    • Optional onError: (effect: Effect, errors: string) => void

      defines a function to call when the effect creation has failed

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

          • effect: Effect
          • errors: string

          Returns void

    Returns void

createEffectForPostProcessSearch playground for createEffectForPostProcess

  • createEffectForPostProcess(postProcess: PostProcess): void
  • Create the post process effect from the material

    Parameters

    • postProcess: PostProcess

      The post process to create the effect for

    Returns void

createPostProcessSearch playground for createPostProcess

  • Create a post process from the material

    Parameters

    • camera: Nullable<Camera>

      The camera to apply the render pass to.

    • Optional options: number | PostProcessOptions

      The required width/height ratio to downsize to before computing the render pass. (Use 1.0 for full size)

    • Optional samplingMode: number

      The sampling mode to be used when computing the pass. (default: 0)

    • Optional engine: Engine

      The engine which the post process will be applied. (default: current engine)

    • Optional reusable: boolean

      If the post process can be reused on the same frame. (default: false)

    • Optional textureType: number

      Type of textures used when performing the post process. (default: 0)

    • Optional textureFormat: number

      Format of textures used when performing the post process. (default: TEXTUREFORMAT_RGBA)

    Returns Nullable<PostProcess>

    the post process created

createProceduralTextureSearch playground for createProceduralTexture

  • Create a new procedural texture based on this node material

    Parameters

    • size: number | { height: number; layers?: number; width: number }

      defines the size of the texture

    • scene: Scene

      defines the hosting scene

    Returns Nullable<ProceduralTexture>

    the new procedural texture attached to this node material

disposeSearch playground for dispose

  • dispose(forceDisposeEffect?: boolean, forceDisposeTextures?: boolean, notBoundToMesh?: 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

    • Optional notBoundToMesh: boolean

      specifies if the material that is being disposed is known to be not bound to any mesh

    Returns void

editSearch playground for edit

  • Launch the node material editor

    Parameters

    Returns Promise<void>

    a promise fulfilled when the node editor is visible

forceCompilationSearch playground for forceCompilation

  • Force shader compilation

    Parameters

    • mesh: AbstractMesh

      defines the mesh associated with this material

    • Optional onCompiled: (material: Material) => void

      defines a function to execute once the material is compiled

    • Optional options: Partial<IMaterialCompilationOptions>

      defines the options to configure the compilation

    • Optional onError: (reason: string) => void

      defines a function to execute if the material fails compiling

        • (reason: string): void
        • Parameters

          • reason: string

          Returns void

    Returns void

forceCompilationAsyncSearch playground for forceCompilationAsync

  • Force shader compilation

    Parameters

    Returns Promise<void>

    a promise that resolves when the compilation completes

freezeSearch playground for freeze

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

    Returns void

generateCodeSearch playground for generateCode

  • generateCode(): string
  • Generate a string containing the code declaration required to create an equivalent of this material

    Returns string

    a string

getActiveTexturesSearch playground for getActiveTextures

  • Gets the active textures from the material

    Returns BaseTexture[]

    an array of textures

getAlphaTestTextureSearch playground for getAlphaTestTexture

  • Gets the texture used for the alpha test

    Returns Nullable<BaseTexture>

    the texture to use for alpha testing

getBindedMeshesSearch playground for getBindedMeshes

  • Gets the meshes bound to the material

    Returns AbstractMesh[]

    an array of meshes bound to the material

getBlockByNameSearch playground for getBlockByName

  • Get a block by its name

    Parameters

    • name: string

      defines the name of the block to retrieve

    Returns NodeMaterialBlock | null

    the required block or null if not found

getBlockByPredicateSearch playground for getBlockByPredicate

  • Get a block by its name

    Parameters

    Returns NodeMaterialBlock | null

    the required block or null if not found

getClassNameSearch playground for getClassName

  • getClassName(): string
  • Gets the current class name of the material e.g. "NodeMaterial"

    Returns string

    the class name

getEffectSearch playground for getEffect

getInputBlockByPredicateSearch playground for getInputBlockByPredicate

  • Get an input block by its name

    Parameters

    • predicate: (block: InputBlock) => boolean

      defines the predicate used to find the good candidate

    Returns Nullable<InputBlock>

    the required input block or null if not found

getInputBlocksSearch playground for getInputBlocks

  • Gets the list of input blocks attached to this material

    Returns InputBlock[]

    an array of InputBlocks

getSceneSearch playground for getScene

  • Returns the current scene

    Returns Scene

    a Scene

getTextureBlocksSearch playground for getTextureBlocks

hasTextureSearch playground for hasTexture

  • 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

isReadySearch playground for isReady

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

    • Optional mesh: AbstractMesh
    • Optional useInstances: boolean

    Returns boolean

isReadyForSubMeshSearch playground for isReadyForSubMesh

  • 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

loadAsyncSearch playground for loadAsync

  • loadAsync(url: string): Promise<void>
  • Loads the current Node Material from a url pointing to a file save by the Node Material Editor

    Parameters

    • url: string

      defines the url to load from

    Returns Promise<void>

    a promise that will fulfil when the material is fully loaded

loadFromSerializationSearch playground for loadFromSerialization

  • loadFromSerialization(source: any, rootUrl?: string, merge?: boolean): void
  • Clear the current graph and load a new one from a serialization object

    Parameters

    • source: any

      defines the JSON representation of the material

    • Optional rootUrl: string

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

    • Optional merge: boolean

      defines whether or not the source must be merged or replace the current content

    Returns void

markAsDirtySearch playground for markAsDirty

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

    Parameters

    • flag: number

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

    Returns void

markDirtySearch playground for markDirty

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

    Returns void

needAlphaBlendingSearch playground for needAlphaBlending

  • needAlphaBlending(): boolean
  • Specifies if the material will require alpha blending

    Returns boolean

    a boolean specifying if alpha blending is needed

needAlphaBlendingForMeshSearch playground for needAlphaBlendingForMesh

  • Specifies if the mesh will require alpha blending

    Parameters

    Returns boolean

    a boolean specifying if alpha blending is needed for the mesh

needAlphaTestingSearch playground for needAlphaTesting

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

    Returns boolean

    a boolean specifying if an alpha test is needed.

optimizeSearch playground for optimize

  • optimize(): void
  • Runs an otpimization phase to try to improve the shader code

    Returns void

registerOptimizerSearch playground for registerOptimizer

  • Adds a new optimizer to the list of optimizers

    Parameters

    Returns this | undefined

    the current material

removeBlockSearch playground for removeBlock

  • Remove a block from the current node material

    Parameters

    Returns void

removeOutputNodeSearch playground for removeOutputNode

  • Remove a block from the list of root nodes

    Parameters

    Returns this

    the current material

serializeSearch playground for serialize

  • Serializes this material in a JSON representation

    Parameters

    Returns any

    the serialized material object

setPrePassRendererSearch playground for setPrePassRenderer

  • Sets the required values to the prepass renderer.

    Parameters

    Returns boolean

    true if the pre pass is needed.

setToDefaultSearch playground for setToDefault

  • setToDefault(): void
  • Clear the current material and set it to a default state

    Returns void

setToDefaultParticleSearch playground for setToDefaultParticle

  • setToDefaultParticle(): void
  • Clear the current material and set it to a default state for particle

    Returns void

setToDefaultPostProcessSearch playground for setToDefaultPostProcess

  • setToDefaultPostProcess(): void
  • Clear the current material and set it to a default state for post process

    Returns void

setToDefaultProceduralTextureSearch playground for setToDefaultProceduralTexture

  • setToDefaultProceduralTexture(): void
  • Clear the current material and set it to a default state for procedural texture

    Returns void

toStringSearch playground for toString

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

    Parameters

    • Optional fullDetails: boolean

      defines a boolean indicating which levels of logging is desired

    Returns string

    a string with material information

unbindSearch playground for unbind

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

    Returns void

unfreezeSearch playground for unfreeze

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

    Returns void

unregisterOptimizerSearch playground for unregisterOptimizer

  • Remove an optimizer from the list of optimizers

    Parameters

    Returns this | undefined

    the current material

Static CreateDefaultSearch playground for CreateDefault

  • Creates a new node material set to default basic configuration

    Parameters

    • name: string

      defines the name of the material

    • Optional scene: Scene

      defines the hosting scene

    Returns NodeMaterial

    a new NodeMaterial

Static ParseSearch playground for Parse

  • Creates a node material from parsed material data

    Parameters

    • source: any

      defines the JSON representation of the material

    • scene: Scene

      defines the hosting scene

    • Optional rootUrl: string

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

    Returns NodeMaterial

    a new node material

Static ParseFromFileAsyncSearch playground for ParseFromFileAsync

  • Creates a node material from a snippet saved in a remote file

    Parameters

    • name: string

      defines the name of the material to create

    • url: string

      defines the url to load from

    • scene: Scene

      defines the hosting scene

    Returns Promise<NodeMaterial>

    a promise that will resolve to the new node material

Static ParseFromSnippetAsyncSearch playground for ParseFromSnippetAsync

  • Creates a node material from a snippet saved by the node material editor

    Parameters

    • snippetId: string

      defines the snippet to load

    • scene: Scene

      defines the hosting scene

    • Optional rootUrl: string

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

    • Optional nodeMaterial: NodeMaterial

      defines a node material to update (instead of creating a new one)

    Returns Promise<NodeMaterial>

    a promise that will resolve to the new node material

Legend

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