Class NodeMaterial
Hierarchy
- PushMaterial
- NodeMaterial
Index
Constructors
Properties
- _fragment
Output Nodes - _vertex
Output Nodes - allow
Shader Hot Swapping - animations
- attached
Blocks - check
Ready On Every Call - check
Ready Only Once - comment
- custom
Shader Name Resolve - depth
Function - disable
Color Write - disable
Depth Write - do
Not Serialize - editor
Data - force
Alpha Blending - force
Depth Write - get
Render Target Textures - id
- ignore
Alpha - inspectable
Custom Properties - max
Simultaneous Lights - metadata
- name
- on
Build Observable - on
Compiled - on
Dispose Observable - on
Error - plugin
Manager - point
Size - reserved
Data Store - separate
Culling Pass - shadow
Depth Wrapper - side
Orientation - snippet
Id - state
- stencil
- unique
Id - z
Offset - z
Offset Units - All
Dirty Flag - Attributes
Dirty Flag - Clock
Wise Side Orientation - Counter
Clock Wise Side Orientation - EditorURL
- Fresnel
Dirty Flag - Ignore
Textures At Load Time - 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 - Point
Fill Mode - Point
List Draw Mode - Pre
Pass Dirty Flag - Snippet
Url - 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 - build
Id - can
Render ToMRT - compiled
Shaders - cull
Back Faces - fill
Mode - fog
Enabled - has
Render Target Textures - image
Processing Configuration - is
Frozen - is
Pre Pass Capable - mode
- need
Depth Pre Pass - on
Bind - on
Bind Observable - on
Dispose - on
Effect Created Observable - on
Un Bind Observable - options
- points
Cloud - transparency
Mode - wireframe
Methods
- add
Output Node - 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
- build
Uniform Layout - clear
- clone
- create
As Shadow Depth Wrapper - create
Effect For Particles - create
Effect For Post Process - create
Post Process - create
Procedural Texture - dispose
- edit
- force
Compilation - force
Compilation Async - freeze
- generate
Code - get
Active Textures - get
Alpha Test Texture - get
Animatables - get
Binded Meshes - get
Block By Name - get
Block By Predicate - get
Class Name - get
Effect - get
Input Block By Predicate - get
Input Blocks - get
Scene - get
Texture Blocks - has
Texture - is
Ready - is
Ready For Sub Mesh - load
Async - load
From Serialization - mark
As Dirty - mark
Dirty - need
Alpha Blending - need
Alpha Blending For Mesh - need
Alpha Testing - optimize
- parse
Serialized Object - register
Optimizer - remove
Block - remove
Output Node - reset
Draw Cache - serialize
- set
Pre Pass Renderer - set
To Default - set
To Default Particle - set
To Default Post Process - set
To Default Procedural Texture - to
String - unbind
- unfreeze
- unregister
Optimizer - Create
Default - Parse
- Parse
From File Async - Parse
From Snippet Async
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
_fragment Output NodesSearch playground for _fragmentOutputNodes
Gets or sets the root nodes of the material fragment (pixel) shader
_vertex Output NodesSearch playground for _vertexOutputNodes
Gets or sets the root nodes of the material vertex shader
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)
animationsSearch playground for animations
Stores the animations for the material
attached BlocksSearch playground for attachedBlocks
Gets an array of blocks that needs to be serialized even if they are not yet connected
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
commentSearch playground for comment
A free comment about the material
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
depth FunctionSearch playground for depthFunction
Specifies the depth function that should be used. 0 means the default engine function
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
do Not SerializeSearch playground for doNotSerialize
Specifies if the material should be serialized
editor DataSearch playground for editorData
Gets or sets data used by visual editor
force Alpha BlendingSearch playground for forceAlphaBlending
Gets or sets a boolean indicating that alpha blending must be enabled no matter what alpha value or alpha channel of the FragmentBlock are
force Depth WriteSearch playground for forceDepthWrite
Specifies if depth writing should be forced
get Render Target TexturesSearch playground for getRenderTargetTextures
Callback triggered to get the render target textures
idSearch playground for id
The ID of the material
ignore AlphaSearch playground for ignoreAlpha
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)
inspectable Custom PropertiesSearch playground for inspectableCustomProperties
List of inspectable custom properties (used by the Inspector)
max Simultaneous LightsSearch playground for maxSimultaneousLights
Defines the maximum number of lights that can be used in the material
metadataSearch playground for metadata
Gets or sets user defined metadata
nameSearch playground for name
The name of the material
on Build ObservableSearch playground for onBuildObservable
Observable raised when the material is built
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
Optional plugin ManagerSearch playground for pluginManager
Plugin manager for this material
point SizeSearch playground for pointSize
Stores the size of points
reserved Data StoreSearch playground for reservedDataStore
For internal use only. Please do not use.
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
side OrientationSearch playground for sideOrientation
Stores the value for side orientation
snippet IdSearch playground for snippetId
Snippet ID if the material was created from the snippet server
stateSearch playground for state
The state of the material
Readonly stencilSearch playground for stencil
Gives access to the stencil properties of the material
unique IdSearch playground for uniqueId
Gets or sets the unique id of the material
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 EditorURLSearch playground for EditorURL
Define the Url to load node editor script
Static Readonly Fresnel Dirty FlagSearch playground for FresnelDirtyFlag
The dirty fresnel flag value
Static Ignore Textures At Load TimeSearch playground for IgnoreTexturesAtLoadTime
Gets or sets a boolean indicating that node materials should not deserialize textures from json / snippet content
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 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 Snippet UrlSearch playground for SnippetUrl
Define the Url to load snippets
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
build Id
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 void
can Render ToMRT
If the material can be rendered to several textures with MRT extension
Returns boolean
compiled Shaders
Get a string representing the shaders built by the current node graph
Returns string
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
is Frozen
Specifies if updates for the material been locked
Returns boolean
is Pre Pass Capable
Can this material render to prepass
Returns boolean
mode
Gets or sets the mode property
Returns NodeMaterialModes
Gets or sets the mode property
Parameters
value: NodeMaterialModes
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>
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
options: INodeMaterialOptions
Returns void
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
transparency Mode
wireframe
Returns boolean
Sets the state of wireframe mode
Parameters
value: boolean
Returns void
Methods
add Output NodeSearch playground for addOutputNode
Add a new block to the list of output nodes
Parameters
node: NodeMaterialBlock
defines the node to add
Returns NodeMaterial
the current material
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: NodeMaterial) => void)
the callback to be executed that will update the material
Parameters
material: NodeMaterial
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 world matrix to the material
Parameters
world: Matrix
defines the world transformation matrix
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
buildSearch playground for build
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)
Optional autoConfigure: boolean
defines if the autoConfigure method should be called when initializing blocks (default is true)
Returns void
build Uniform LayoutSearch playground for buildUniformLayout
Initializes the uniform buffer layout for the shader.
Returns void
clearSearch playground for clear
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
create As Shadow Depth WrapperSearch playground for createAsShadowDepthWrapper
Use this material as the shadow depth wrapper of a target material
Parameters
targetMaterial: Material
defines the target material
Returns void
create Effect For ParticlesSearch playground for createEffectForParticles
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
effect: Effect
Returns void
Optional onError: ((effect: Effect, errors: string) => void)
defines a function to call when the effect creation has failed
Parameters
effect: Effect
errors: string
Returns void
Returns void
create Effect For Post ProcessSearch playground for createEffectForPostProcess
Create the post process effect from the material
Parameters
postProcess: PostProcess
The post process to create the effect for
Returns void
create Post ProcessSearch 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
create Procedural TextureSearch 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
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
Optional config: INodeMaterialEditorOptions
Define the configuration of the editor
Returns Promise<void>
a promise fulfilled when the node editor is visible
force CompilationSearch 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
Parameters
material: Material
Returns void
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
Parameters
reason: string
Returns void
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
generate CodeSearch playground for generateCode
Generate a string containing the code declaration required to create an equivalent of this material
Returns string
a string
get Active TexturesSearch playground for getActiveTextures
Gets the active textures from the material
Returns BaseTexture[]
an array of textures
get Alpha Test TextureSearch playground for getAlphaTestTexture
Gets the texture used for the alpha test
Returns Nullable<BaseTexture>
the texture to use for alpha testing
get AnimatablesSearch playground for getAnimatables
Returns the animatable textures.
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 Block By NameSearch playground for getBlockByName
Get a block by its name
Parameters
name: string
defines the name of the block to retrieve
Returns null | NodeMaterialBlock
the required block or null if not found
get Block By PredicateSearch playground for getBlockByPredicate
Get a block by its name
Parameters
predicate: ((block: NodeMaterialBlock) => boolean)
defines the predicate used to find the good candidate
Parameters
block: NodeMaterialBlock
Returns boolean
Returns null | NodeMaterialBlock
the required block or null if not found
get Class NameSearch playground for getClassName
Gets the current class name of the material e.g. "NodeMaterial"
Returns string
the class name
get EffectSearch playground for getEffect
Returns Effect
get Input Block By PredicateSearch playground for getInputBlockByPredicate
Get an input block by its name
Parameters
predicate: ((block: InputBlock) => boolean)
defines the predicate used to find the good candidate
Parameters
block: InputBlock
Returns boolean
Returns Nullable<InputBlock>
the required input block or null if not found
get Input BlocksSearch playground for getInputBlocks
Gets the list of input blocks attached to this material
Returns InputBlock[]
an array of InputBlocks
get SceneSearch playground for getScene
Returns the current scene
Returns Scene
a Scene
get Texture BlocksSearch playground for getTextureBlocks
Gets the list of texture blocks
Returns (CurrentScreenBlock | ImageSourceBlock | ReflectionTextureBaseBlock | TextureBlock | ParticleTextureBlock | RefractionBlock)[]
an array of texture blocks
has TextureSearch 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
is ReadySearch playground for isReady
Parameters
Optional mesh: AbstractMesh
Optional useInstances: boolean
Returns boolean
is Ready For Sub MeshSearch 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
load AsyncSearch playground for loadAsync
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
Optional rootUrl: string
defines the root URL for nested url in the node material
Returns Promise<NodeMaterial>
a promise that will fulfil when the material is fully loaded
load From SerializationSearch playground for loadFromSerialization
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
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
Returns void
need Alpha BlendingSearch playground for needAlphaBlending
Specifies if the material will require alpha blending
Returns boolean
a boolean specifying if alpha blending is needed
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 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
Runs an otpimization phase to try to improve the shader code
Returns void
parse Serialized ObjectSearch playground for parseSerializedObject
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
register OptimizerSearch playground for registerOptimizer
Adds a new optimizer to the list of optimizers
Parameters
optimizer: NodeMaterialOptimizer
defines the optimizers to add
Returns undefined | NodeMaterial
the current material
remove BlockSearch playground for removeBlock
Remove a block from the current node material
Parameters
block: NodeMaterialBlock
defines the block to remove
Returns void
remove Output NodeSearch playground for removeOutputNode
Remove a block from the list of root nodes
Parameters
node: NodeMaterialBlock
defines the node to remove
Returns NodeMaterial
the current material
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 material in a JSON representation
Parameters
Optional selectedBlocks: NodeMaterialBlock[]
Returns any
the serialized material object
set Pre Pass RendererSearch playground for setPrePassRenderer
Sets the required values to the prepass renderer.
Parameters
prePassRenderer: PrePassRenderer
defines the prepass renderer to setup.
Returns boolean
true if the pre pass is needed.
set To DefaultSearch playground for setToDefault
Clear the current material and set it to a default state
Returns void
set To Default ParticleSearch playground for setToDefaultParticle
Clear the current material and set it to a default state for particle
Returns void
set To Default Post ProcessSearch playground for setToDefaultPostProcess
Clear the current material and set it to a default state for post process
Returns void
set To Default Procedural TextureSearch playground for setToDefaultProceduralTexture
Clear the current material and set it to a default state for procedural texture
Returns void
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
unregister OptimizerSearch playground for unregisterOptimizer
Remove an optimizer from the list of optimizers
Parameters
optimizer: NodeMaterialOptimizer
defines the optimizers to remove
Returns undefined | NodeMaterial
the current material
Static Create DefaultSearch 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 Parse From File AsyncSearch 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
Optional rootUrl: string
defines the root URL for nested url in the node material
Optional skipBuild: boolean
defines whether to build the node material
Optional targetMaterial: NodeMaterial
defines a material to use instead of creating a new one
Returns Promise<NodeMaterial>
a promise that will resolve to the new node material
Static Parse From Snippet AsyncSearch playground for ParseFromSnippetAsync
Creates a node material from a snippet saved by the node material editor
Parameters
snippetId: string
defines the snippet to load
Optional 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)
Optional skipBuild: boolean
defines whether to build the node material
Returns Promise<NodeMaterial>
a promise that will resolve to the new node material
Class used to create a node based material built by assembling shader blocks