Class ShaderMaterial
Hierarchy
-
Material
- ShaderMaterial
Implements
Index
Constructors
Properties
- allow
Shader Hot Swapping - animations
- check
Ready OnEvery Call - check
Ready Only Once - custom
Shader Name Resolve - depth
Function - disable
Color Write - disable
Depth Write - do
Not Serialize - force
Depth Write - get
Render Target Textures - id
- inspectable
Custom Properties - metadata
- name
- on
Compiled - on
Dispose Observable - on
Error - point
Size - reserved
Data Store - separate
Culling Pass - shadow
Depth Wrapper - side
Orientation - snippet
Id - state
- unique
Id - z
Offset - All
Dirty Flag - Attributes
Dirty Flag - Clock
Wise Side Orientation - Counter
Clock Wise Side Orientation - Fresnel
Dirty Flag - 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 - 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
Methods
- bind
- bind
Eye Position - bind
For Sub Mesh - bind
Only World Matrix - bind
Scene Uniform Buffer - bind
View - bind
View Projection - clone
- dispose
- finalize
Scene Ubo - force
Compilation - force
Compilation Async - freeze
- get
Active Textures - get
Alpha Test Texture - get
Binded Meshes - get
Class Name - get
Effect - get
Scene - has
Texture - is
Ready - is
Ready For Sub Mesh - mark
AsDirty - mark
Dirty - need
Alpha Blending - need
Alpha Blending For Mesh - need
Alpha Testing - serialize
- set
Array2 - set
Array3 - set
Array4 - set
Color3 - set
Color3 Array - set
Color4 - set
Color4 Array - set
Float - set
Floats - set
Int - set
Matrices - set
Matrix - set
Matrix2x2 - set
Matrix3x3 - set
Pre Pass Renderer - set
Texture - set
Texture Array - set
Vector2 - set
Vector3 - set
Vector4 - to
String - unbind
- unfreeze
- Create
From Snippet Async - Parse
- Parse
From File Async
Constructors
constructor
-
Instantiate a new shader material. The ShaderMaterial object has the necessary methods to pass data from your scene to the Vertex and Fragment Shaders and returns a material that can be applied to any mesh. This returned material effects how the mesh will look based on the code in the shaders.
Parameters
-
name: string
Define the name of the material in the scene
-
scene: Scene
Define the scene the material belongs to
-
shaderPath: any
Defines the route to the shader code in one of three ways:
- object: { vertex: "custom", fragment: "custom" }, used with Effect.ShadersStore["customVertexShader"] and Effect.ShadersStore["customFragmentShader"]
- object: { vertexElement: "vertexShaderCode", fragmentElement: "fragmentShaderCode" }, used with shader code in script tags
- object: { vertexSource: "vertex shader code string", fragmentSource: "fragment shader code string" } using with strings containing the shaders code
- string: "./COMMON_NAME", used with external files COMMON_NAME.vertex.fx and COMMON_NAME.fragment.fx in index.html folder.
-
Optional options: Partial<IShaderMaterialOptions>
Define the options used to create the shader
Returns ShaderMaterial
-
Properties
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
check Ready OnEvery 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
custom Shader Name ResolveSearch playground for customShaderNameResolve
Custom callback helping to override the default shader used in the material.
Type declaration
-
-
Parameters
-
shaderName: string
-
uniforms: string[]
-
uniformBuffers: string[]
-
samplers: string[]
-
defines: MaterialDefines | string[]
-
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
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
inspectable Custom PropertiesSearch playground for inspectableCustomProperties
List of inspectable custom properties (used by the Inspector)
metadataSearch playground for metadata
Gets or sets user defined metadata
nameSearch playground for name
The name of the material
on CompiledSearch playground for onCompiled
Callback triggered when the material is compiled
on Dispose ObservableSearch playground for onDisposeObservable
An event triggered when the material is disposed
on ErrorSearch playground for onError
Callback triggered when an error occurs
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
unique IdSearch playground for uniqueId
Gets or sets the unique id of the material
z OffsetSearch playground for zOffset
Stores the z offset 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 Readonly Fresnel Dirty FlagSearch playground for FresnelDirtyFlag
The dirty fresnel flag value
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 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 any
-
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 any
-
back Face Culling
-
Gets the back-face culling state
Returns boolean
-
Sets the back-face culling state
Parameters
-
value: boolean
Returns any
-
can Render ToMRT
-
If the material can be rendered to several textures with MRT extension
Returns boolean
fill Mode
-
Gets the material fill mode
Returns number
-
Sets the material fill mode
Parameters
-
value: number
Returns any
-
fog Enabled
-
Gets the value of the fog enabled state
Returns boolean
-
Sets the state for enabling fog
Parameters
-
value: boolean
Returns any
-
has Render Target Textures
-
Gets a boolean indicating that current material needs to register RTT
Returns boolean
is Frozen
-
Specifies if updates for the material been locked
Returns boolean
need Depth Pre Pass
-
Gets the depth pre-pass value
Returns boolean
-
Sets the need depth pre-pass value
Parameters
-
value: boolean
Returns any
-
on Bind
-
Called during a bind event
Parameters
-
callback: (Mesh: AbstractMesh) => void
-
-
Parameters
-
Mesh: AbstractMesh
Returns void
-
-
-
Returns any
-
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 any
-
on Effect Created Observable
-
An event triggered when the effect is (re)created
Returns Observable<{ effect: Effect; subMesh: Nullable<SubMesh> }>
on UnBind Observable
-
An event triggered when the material is unbound
Returns Observable<Material>
options
-
Gets the options used to compile the shader. They can be modified to trigger a new compilation
Returns IShaderMaterialOptions
points Cloud
-
Gets the value specifying if point clouds are enabled
Returns boolean
-
Sets the state of point cloud mode
Parameters
-
value: boolean
Returns any
-
shader Path
-
Gets the shader path used to define the shader code It can be modified to trigger a new compilation
Returns any
-
Sets the shader path used to define the shader code It can be modified to trigger a new compilation
Parameters
-
shaderPath: any
Returns any
-
transparency Mode
-
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
-
value: Nullable<number>
Returns any
-
wireframe
-
Sets the state of wireframe mode
Returns boolean
-
Sets the state of wireframe mode
Parameters
-
value: boolean
Returns any
-
Methods
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 World MatrixSearch playground for bindOnlyWorldMatrix
bind Scene Uniform BufferSearch playground for bindSceneUniformBuffer
-
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
-
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
-
cloneSearch playground for clone
-
Makes a duplicate of the material, and gives it a new name
Parameters
-
name: string
defines the new name for the duplicated material
Returns ShaderMaterial
the cloned 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
-
finalize Scene UboSearch playground for finalizeSceneUbo
-
Update the scene ubo before it can be used in rendering processing
Parameters
-
scene: Scene
the scene to retrieve the ubo from
Returns UniformBuffer
the scene UniformBuffer
-
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
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 Binded MeshesSearch playground for getBindedMeshes
-
Gets the meshes bound to the material
Returns AbstractMesh[]
an array of meshes bound to the material
get Class NameSearch playground for getClassName
-
Gets the current class name of the material e.g. "ShaderMaterial" Mainly use in serialization.
Returns string
the class name
get EffectSearch playground for getEffect
get SceneSearch playground for getScene
-
Returns the current scene
Returns Scene
a Scene
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
-
Checks if the material is ready to render the requested mesh
Parameters
-
Optional mesh: AbstractMesh
Define the mesh to render
-
Optional useInstances: boolean
Define whether or not the material is used with instances
Returns boolean
true if ready, otherwise false
-
is Ready For Sub MeshSearch playground for isReadyForSubMesh
-
Specifies that the submesh is ready to be used
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
-
mark AsDirtySearch 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.
serializeSearch playground for serialize
-
Serializes this material in a JSON representation
Returns any
the serialized material object
set Array2Search playground for setArray2
-
Set a vec2 array in the shader from a number array.
Parameters
-
name: string
Define the name of the uniform as defined in the shader
-
value: number[]
Define the value to give to the uniform
Returns ShaderMaterial
the material itself allowing "fluent" like uniform updates
-
set Array3Search playground for setArray3
-
Set a vec3 array in the shader from a number array.
Parameters
-
name: string
Define the name of the uniform as defined in the shader
-
value: number[]
Define the value to give to the uniform
Returns ShaderMaterial
the material itself allowing "fluent" like uniform updates
-
set Array4Search playground for setArray4
-
Set a vec4 array in the shader from a number array.
Parameters
-
name: string
Define the name of the uniform as defined in the shader
-
value: number[]
Define the value to give to the uniform
Returns ShaderMaterial
the material itself allowing "fluent" like uniform updates
-
set Color3Search playground for setColor3
-
Set a vec3 in the shader from a Color3.
Parameters
-
name: string
Define the name of the uniform as defined in the shader
-
value: Color3
Define the value to give to the uniform
Returns ShaderMaterial
the material itself allowing "fluent" like uniform updates
-
set Color3 ArraySearch playground for setColor3Array
-
Set a vec3 array in the shader from a Color3 array.
Parameters
-
name: string
Define the name of the uniform as defined in the shader
-
value: Color3[]
Define the value to give to the uniform
Returns ShaderMaterial
the material itself allowing "fluent" like uniform updates
-
set Color4Search playground for setColor4
-
Set a vec4 in the shader from a Color4.
Parameters
-
name: string
Define the name of the uniform as defined in the shader
-
value: Color4
Define the value to give to the uniform
Returns ShaderMaterial
the material itself allowing "fluent" like uniform updates
-
set Color4 ArraySearch playground for setColor4Array
-
Set a vec4 array in the shader from a Color4 array.
Parameters
-
name: string
Define the name of the uniform as defined in the shader
-
value: Color4[]
Define the value to give to the uniform
Returns ShaderMaterial
the material itself allowing "fluent" like uniform updates
-
set FloatSearch playground for setFloat
-
Set a float in the shader.
Parameters
-
name: string
Define the name of the uniform as defined in the shader
-
value: number
Define the value to give to the uniform
Returns ShaderMaterial
the material itself allowing "fluent" like uniform updates
-
set FloatsSearch playground for setFloats
-
Set an array of floats in the shader.
Parameters
-
name: string
Define the name of the uniform as defined in the shader
-
value: number[]
Define the value to give to the uniform
Returns ShaderMaterial
the material itself allowing "fluent" like uniform updates
-
set IntSearch playground for setInt
-
Set a int in the shader.
Parameters
-
name: string
Define the name of the uniform as defined in the shader
-
value: number
Define the value to give to the uniform
Returns ShaderMaterial
the material itself allowing "fluent" like uniform updates
-
set MatricesSearch playground for setMatrices
-
Set a float32Array in the shader from a matrix array.
Parameters
-
name: string
Define the name of the uniform as defined in the shader
-
value: Matrix[]
Define the value to give to the uniform
Returns ShaderMaterial
the material itself allowing "fluent" like uniform updates
-
set MatrixSearch playground for setMatrix
-
Set a mat4 in the shader from a Matrix.
Parameters
-
name: string
Define the name of the uniform as defined in the shader
-
value: Matrix
Define the value to give to the uniform
Returns ShaderMaterial
the material itself allowing "fluent" like uniform updates
-
set Matrix2x2Search playground for setMatrix2x2
-
Set a mat2 in the shader from a Float32Array.
Parameters
-
name: string
Define the name of the uniform as defined in the shader
-
value: Float32Array | Array<number>
Define the value to give to the uniform
Returns ShaderMaterial
the material itself allowing "fluent" like uniform updates
-
set Matrix3x3Search playground for setMatrix3x3
-
Set a mat3 in the shader from a Float32Array.
Parameters
-
name: string
Define the name of the uniform as defined in the shader
-
value: Float32Array | Array<number>
Define the value to give to the uniform
Returns ShaderMaterial
the material itself allowing "fluent" like uniform updates
-
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 TextureSearch playground for setTexture
-
Set a texture in the shader.
Parameters
-
name: string
Define the name of the uniform samplers as defined in the shader
-
texture: BaseTexture
Define the texture to bind to this sampler
Returns ShaderMaterial
the material itself allowing "fluent" like uniform updates
-
set Texture ArraySearch playground for setTextureArray
-
Set a texture array in the shader.
Parameters
-
name: string
Define the name of the uniform sampler array as defined in the shader
-
textures: BaseTexture[]
Define the list of textures to bind to this sampler
Returns ShaderMaterial
the material itself allowing "fluent" like uniform updates
-
set Vector2Search playground for setVector2
-
Set a vec2 in the shader from a Vector2.
Parameters
-
name: string
Define the name of the uniform as defined in the shader
-
value: Vector2
Define the value to give to the uniform
Returns ShaderMaterial
the material itself allowing "fluent" like uniform updates
-
set Vector3Search playground for setVector3
-
Set a vec3 in the shader from a Vector3.
Parameters
-
name: string
Define the name of the uniform as defined in the shader
-
value: Vector3
Define the value to give to the uniform
Returns ShaderMaterial
the material itself allowing "fluent" like uniform updates
-
set Vector4Search playground for setVector4
-
Set a vec4 in the shader from a Vector4.
Parameters
-
name: string
Define the name of the uniform as defined in the shader
-
value: Vector4
Define the value to give to the uniform
Returns ShaderMaterial
the material itself allowing "fluent" like uniform updates
-
to StringSearch playground for toString
-
Returns a string representation of the current material
Parameters
-
Optional fullDetails: boolean
defines a boolean indicating which levels of logging is desired
Returns string
a string with material information
-
unbindSearch playground for unbind
-
Unbinds the material from the mesh
Returns void
unfreezeSearch playground for unfreeze
-
Unlocks updates for the material
Returns void
Static Create From Snippet AsyncSearch playground for CreateFromSnippetAsync
-
Creates a ShaderMaterial from a snippet saved by the Inspector
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
Returns Promise<ShaderMaterial>
a promise that will resolve to the new ShaderMaterial
-
Static ParseSearch playground for Parse
-
Creates a shader material from parsed shader 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 ShaderMaterial
a new material
-
Static Parse From File AsyncSearch playground for ParseFromFileAsync
-
Creates a new ShaderMaterial from a snippet saved in a remote file
Parameters
-
name: Nullable<string>
defines the name of the ShaderMaterial to create (can be null or empty to use the one from the json data)
-
url: string
defines the url to load from
-
scene: Scene
defines the hosting scene
-
Optional rootUrl: string
defines the root URL to use to load textures and relative dependencies
Returns Promise<ShaderMaterial>
a promise that will resolve to the new ShaderMaterial
-
The ShaderMaterial object has the necessary methods to pass data from your scene to the Vertex and Fragment Shaders and returns a material that can be applied to any mesh.
This returned material effects how the mesh will look based on the code in the shaders.
https://doc.babylonjs.com/how_to/shader_material