Class ReflectionBlock
Hierarchy
-
ReflectionTextureBaseBlock
- ReflectionBlock
Index
Constructors
Properties
Accessors
Methods
- _deserialize
- auto
Configure - bind
- build
- clone
- connect
To - dispose
- get
Class Name - get
Code - get
First Available Input - get
First Available Output - get
Input ByName - get
Output ByName - get
Sibling Output - handle
Fragment Side Code Reflection Color - handle
Fragment Side Code Reflection Coords - handle
Fragment Side Inits - handle
Vertex Side - initialize
- initialize
Defines - is
Ready - prepare
Defines - provide
Fallbacks - register
Input - register
Output - replace
Repeatable Content - serialize
- update
Uniforms And Samples - validate
Block Name - write
Outputs
Constructors
constructor
-
Create a new ReflectionBlock
Parameters
-
name: string
defines the block name
Returns ReflectionBlock
-
Properties
commentsSearch playground for comments
Gets or sets the comments associated with this block
force Irradiance InFragmentSearch playground for forceIrradianceInFragment
Force the shader to compute irradiance in the fragment shader in order to take bump in account.
inputs Are ExclusiveSearch playground for inputsAreExclusive
Gets or sets a boolean indicating that only one input can be connected at a time
textureSearch playground for texture
Gets or sets the texture associated with the node
unique IdSearch playground for uniqueId
Gets or sets the unique id of the node
use Spherical HarmonicsSearch playground for useSphericalHarmonics
Defines if the material uses spherical harmonics vs spherical polynomials for the diffuse part of the IBL.
visible InInspectorSearch playground for visibleInInspector
Gets or sets a boolean indicating that this input can be edited in the Inspector (false by default)
visible OnFrameSearch 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 any
-
camera Position
-
Gets the camera (or eye) position component
Returns NodeMaterialConnectionPoint
color
-
Gets the color input component
Returns NodeMaterialConnectionPoint
has Texture
-
Returns true if the block has a texture (either its own texture or the environment texture from the scene, if set)
Returns boolean
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 any
-
outputs
-
Gets the list of output points
Returns NodeMaterialConnectionPoint[]
position
-
Gets the position input component
Returns NodeMaterialConnectionPoint
reflection
-
Gets the reflection object output component
Returns NodeMaterialConnectionPoint
reflection Color
-
Gets the reflection color (either the name of the variable if the color input is connected, else a default value)
Returns string
target
-
Gets or sets the target of the block
Returns NodeMaterialBlockTargets
-
Gets or sets the target of the block
Parameters
-
value: NodeMaterialBlockTargets
Returns any
-
view
-
Gets the view input component
Returns NodeMaterialConnectionPoint
world
-
Gets the world input component
Returns NodeMaterialConnectionPoint
world Normal
-
Gets the world normal input component
Returns NodeMaterialConnectionPoint
world Position
-
Gets the world position input component
Returns NodeMaterialConnectionPoint
Methods
_deserializeSearch playground for _deserialize
-
Parameters
-
serializationObject: any
-
scene: Scene
-
rootUrl: string
Returns void
-
auto ConfigureSearch playground for autoConfigure
-
Parameters
-
material: NodeMaterial
Returns void
-
bindSearch playground for bind
-
Parameters
-
effect: Effect
-
nodeMaterial: NodeMaterial
-
Optional mesh: Mesh
-
Optional subMesh: SubMesh
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 Nullable<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 this | undefined
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 CodeSearch playground for getCode
-
Gets the main code of the block (fragment side)
Parameters
-
state: NodeMaterialBuildState
current state of the node material building
-
normalVarName: string
name of the existing variable corresponding to the normal
Returns string
the shader code
-
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 Nullable<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 Nullable<NodeMaterialConnectionPoint>
the first available input or null
-
get Input ByNameSearch playground for getInputByName
-
Find an input by its name
Parameters
-
name: string
defines the name of the input to look for
Returns Nullable<NodeMaterialConnectionPoint>
the input or null if not found
-
get Output ByNameSearch playground for getOutputByName
-
Find an output by its name
Parameters
-
name: string
defines the name of the outputto look for
Returns Nullable<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 Nullable<NodeMaterialConnectionPoint>
the next output in the list or null
-
handle Fragment Side Code Reflection ColorSearch playground for handleFragmentSideCodeReflectionColor
-
Generates the reflection color code for the fragment code path
Parameters
-
Optional lodVarName: string
name of the lod variable
-
Optional swizzleLookupTexture: string
swizzle to use for the final color variable
Returns string
the shader code
-
handle Fragment Side Code Reflection CoordsSearch playground for handleFragmentSideCodeReflectionCoords
-
Generates the reflection coords code for the fragment code path
Parameters
-
worldNormalVarName: string
name of the world normal variable
-
Optional worldPos: string
name of the world position variable. If not provided, will use the world position connected to this block
-
Optional onlyReflectionVector: boolean
if true, generates code only for the reflection vector computation, not for the reflection coordinates
Returns string
the shader code
-
handle Fragment Side InitsSearch playground for handleFragmentSideInits
-
Handles the inits for the fragment code path
Parameters
-
state: NodeMaterialBuildState
node material build state
Returns void
-
handle Vertex SideSearch playground for handleVertexSide
-
Gets the code to inject in the vertex shader
Parameters
-
state: NodeMaterialBuildState
current state of the node material building
Returns string
the shader code
-
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 ReadySearch playground for isReady
-
Returns boolean
prepare DefinesSearch playground for prepareDefines
-
Parameters
-
mesh: AbstractMesh
-
nodeMaterial: NodeMaterial
-
defines: NodeMaterialDefines
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 this
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 this
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
-
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.
-
write OutputsSearch playground for writeOutputs
-
Generates the code corresponding to the connected output points
Parameters
-
state: NodeMaterialBuildState
node material build state
-
varName: string
name of the variable to output
Returns string
the shader code
-
Block used to implement the reflection module of the PBR material