Class MeshAttributeExistsBlock
Hierarchy
- NodeMaterialBlock
- MeshAttributeExistsBlock
Index
Constructors
Properties
Accessors
Methods
- _deserialize
- auto
Configure - bind
- build
- clone
- connect
To - dispose
- get
Class Name - get
First Available Input - get
First Available Output - get
Input By Name - get
Output By Name - get
Sibling Output - initialize
- initialize
Defines - is
An Ancestor Of - is
Ready - prepare
Defines - provide
Fallbacks - register
Input - register
Output - replace
Repeatable Content - serialize
- update
Uniforms And Samples - validate
Block Name
Constructors
constructor
Creates a new MeshAttributeExistsBlock
Parameters
name: string
defines the block name
Returns MeshAttributeExistsBlock
Properties
attribute TypeSearch playground for attributeType
Defines which mesh attribute to use
commentsSearch playground for comments
Gets or sets the comments associated with this block
inputs Are ExclusiveSearch playground for inputsAreExclusive
Gets or sets a boolean indicating that only one input can be connected at a time
unique IdSearch playground for uniqueId
Gets or sets the unique id of the node
visible In InspectorSearch playground for visibleInInspector
Gets or sets a boolean indicating that this input can be edited in the Inspector (false by default)
visible On FrameSearch playground for visibleOnFrame
Gets or sets a boolean indicating that this input can be edited from a collapsed frame
Accessors
build Id
Gets or sets the build Id
Returns number
Gets or sets the build Id
Parameters
value: number
Returns void
fallback
Gets the fallback component when speciefied attribute doesn't exist
Returns NodeMaterialConnectionPoint
input
Gets the input component
Returns NodeMaterialConnectionPoint
inputs
Gets the list of input points
Returns NodeMaterialConnectionPoint[]
is Final Merger
Gets a boolean indicating that this block is an end block (e.g. it is generating a system value)
Returns boolean
is Input
Gets a boolean indicating that this block is an input (e.g. it sends data to the shader)
Returns boolean
is Unique
Gets a boolean indicating that this block can only be used once per NodeMaterial
Returns boolean
name
Gets the name of the block
Returns string
Sets the name of the block. Will check if the name is valid.
Parameters
newName: string
Returns void
output
Gets the output component
Returns NodeMaterialConnectionPoint
outputs
Gets the list of output points
Returns NodeMaterialConnectionPoint[]
target
Gets or sets the target of the block
Returns NodeMaterialBlockTargets
Gets or sets the target of the block
Parameters
value: NodeMaterialBlockTargets
Returns void
will Be Generated Into Vertex Shader From Fragment Shader
Gets a boolean indicating that the code of this block will be promoted to vertex shader even if connected to fragment output
Returns boolean
Methods
_deserializeSearch playground for _deserialize
Parameters
serializationObject: any
scene: Scene
rootUrl: string
Returns void
auto ConfigureSearch playground for autoConfigure
Lets the block try to connect some inputs automatically
Parameters
material: NodeMaterial
defines the hosting NodeMaterial
Returns void
bindSearch playground for bind
Bind data to effect. Will only be called for blocks with isBindable === true
Parameters
effect: Effect
defines the effect to bind data to
nodeMaterial: NodeMaterial
defines the hosting NodeMaterial
Optional mesh: Mesh
defines the mesh that will be rendered
Optional subMesh: SubMesh
defines the submesh that will be rendered
Returns void
buildSearch playground for build
Compile the current node and generate the shader code
Parameters
state: NodeMaterialBuildState
defines the current compilation state (uniforms, samplers, current string)
activeBlocks: NodeMaterialBlock[]
defines the list of active blocks (i.e. blocks to compile)
Returns boolean
true if already built
cloneSearch playground for clone
Clone the current block to a new identical block
Parameters
scene: Scene
defines the hosting scene
Optional rootUrl: string
defines the root URL to use to load textures and relative dependencies
Returns null | NodeMaterialBlock
a copy of the current block
connect ToSearch playground for connectTo
Connect current block with another block
Parameters
other: NodeMaterialBlock
defines the block to connect with
Optional options: { input?: string; output?: string; outputSwizzle?: string }
define the various options to help pick the right connections
Optional input?: string
Optional output?: string
Optional output
Swizzle?: string
Returns undefined | MeshAttributeExistsBlock
the current block
disposeSearch playground for dispose
Release resources
Returns void
get Class NameSearch playground for getClassName
Gets the current class name
Returns string
the class name
get First Available InputSearch playground for getFirstAvailableInput
Will return the first available input e.g. the first one which is not an uniform or an attribute
Parameters
Optional forOutput: Nullable<NodeMaterialConnectionPoint>
defines an optional connection point to check compatibility with
Returns null | NodeMaterialConnectionPoint
the first available input or null
get First Available OutputSearch playground for getFirstAvailableOutput
Will return the first available output e.g. the first one which is not yet connected and not a varying
Parameters
Optional forBlock: Nullable<NodeMaterialBlock>
defines an optional block to check compatibility with
Returns null | NodeMaterialConnectionPoint
the first available input or null
get Input By NameSearch playground for getInputByName
Find an input by its name
Parameters
name: string
defines the name of the input to look for
Returns null | NodeMaterialConnectionPoint
the input or null if not found
get Output By NameSearch playground for getOutputByName
Find an output by its name
Parameters
name: string
defines the name of the output to look for
Returns null | NodeMaterialConnectionPoint
the output or null if not found
get Sibling OutputSearch playground for getSiblingOutput
Gets the sibling of the given output
Parameters
current: NodeMaterialConnectionPoint
defines the current output
Returns null | NodeMaterialConnectionPoint
the next output in the list or null
initializeSearch playground for initialize
Initialize the block and prepare the context for build
Parameters
state: NodeMaterialBuildState
defines the state that will be used for the build
Returns void
initialize DefinesSearch playground for initializeDefines
Initialize defines for shader compilation
Parameters
mesh: AbstractMesh
defines the mesh to be rendered
nodeMaterial: NodeMaterial
defines the node material requesting the update
defines: NodeMaterialDefines
defines the material defines to update
Optional useInstances: boolean
specifies that instances should be used
Returns void
is An Ancestor OfSearch playground for isAnAncestorOf
Checks if the current block is an ancestor of a given block
Parameters
block: NodeMaterialBlock
defines the potential descendant block to check
Returns boolean
true if block is a descendant
is ReadySearch playground for isReady
Checks if the block is ready
Parameters
mesh: AbstractMesh
defines the mesh to be rendered
nodeMaterial: NodeMaterial
defines the node material requesting the update
defines: NodeMaterialDefines
defines the material defines to update
Optional useInstances: boolean
specifies that instances should be used
Returns boolean
true if the block is ready
prepare DefinesSearch playground for prepareDefines
Update defines for shader compilation
Parameters
mesh: AbstractMesh
defines the mesh to be rendered
nodeMaterial: NodeMaterial
defines the node material requesting the update
defines: NodeMaterialDefines
defines the material defines to update
Optional useInstances: boolean
specifies that instances should be used
Optional subMesh: SubMesh
defines which submesh to render
Returns void
provide FallbacksSearch playground for provideFallbacks
Add potential fallbacks if shader compilation fails
Parameters
mesh: AbstractMesh
defines the mesh to be rendered
fallbacks: EffectFallbacks
defines the current prioritized list of fallbacks
Returns void
register InputSearch playground for registerInput
Register a new input. Must be called inside a block constructor
Parameters
name: string
defines the connection point name
type: NodeMaterialBlockConnectionPointTypes
defines the connection point type
Optional isOptional: boolean
defines a boolean indicating that this input can be omitted
Optional target: NodeMaterialBlockTargets
defines the target to use to limit the connection point (will be VertexAndFragment by default)
Optional point: NodeMaterialConnectionPoint
an already created connection point. If not provided, create a new one
Returns MeshAttributeExistsBlock
the current block
register OutputSearch playground for registerOutput
Register a new output. Must be called inside a block constructor
Parameters
name: string
defines the connection point name
type: NodeMaterialBlockConnectionPointTypes
defines the connection point type
Optional target: NodeMaterialBlockTargets
defines the target to use to limit the connection point (will be VertexAndFragment by default)
Optional point: NodeMaterialConnectionPoint
an already created connection point. If not provided, create a new one
Returns MeshAttributeExistsBlock
the current block
replace Repeatable ContentSearch playground for replaceRepeatableContent
Function called when a block is declared as repeatable content generator
Parameters
vertexShaderState: NodeMaterialBuildState
defines the current compilation state for the vertex shader
fragmentShaderState: NodeMaterialBuildState
defines the current compilation state for the fragment shader
mesh: AbstractMesh
defines the mesh to be rendered
defines: NodeMaterialDefines
defines the material defines to update
Returns void
serializeSearch playground for serialize
Serializes this block in a JSON representation
Returns any
update Uniforms And SamplesSearch playground for updateUniformsAndSamples
Add uniforms, samplers and uniform buffers at compilation time
Parameters
state: NodeMaterialBuildState
defines the state to update
nodeMaterial: NodeMaterial
defines the node material requesting the update
defines: NodeMaterialDefines
defines the material defines to update
uniformBuffers: string[]
defines the list of uniform buffer names
Returns void
validate Block NameSearch playground for validateBlockName
Validates the new name for the block node.
Parameters
newName: string
the new name to be given to the node.
Returns boolean
false if the name is a reserve word, else true.
Block used to check if Mesh attribute of specified type exists and provide an alternative fallback input for to use in such case