Options
All
  • Public
  • Public/Protected
  • All
Menu

Class ReflectionTextureBaseBlock

Base block used to read a reflection texture from a sampler

Hierarchy

Index

Constructors

constructor

Properties

commentsSearch playground for comments

comments: string

Gets or sets the comments associated with this block

inputsAreExclusiveSearch playground for inputsAreExclusive

inputsAreExclusive: boolean

Gets or sets a boolean indicating that only one input can be connected at a time

uniqueIdSearch playground for uniqueId

uniqueId: number

Gets or sets the unique id of the node

visibleInInspectorSearch playground for visibleInInspector

visibleInInspector: boolean

Gets or sets a boolean indicating that this input can be edited in the Inspector (false by default)

visibleOnFrameSearch playground for visibleOnFrame

visibleOnFrame: boolean

Gets or sets a boolean indicating that this input can be edited from a collapsed frame

Accessors

buildId

  • get buildId(): number
  • set buildId(value: number): any
  • Gets or sets the build Id

    Returns number

  • Gets or sets the build Id

    Parameters

    • value: number

    Returns any

cameraPosition

inputs

isFinalMerger

  • get isFinalMerger(): boolean
  • Gets a boolean indicating that this block is an end block (e.g. it is generating a system value)

    Returns boolean

isInput

  • get isInput(): boolean
  • Gets a boolean indicating that this block is an input (e.g. it sends data to the shader)

    Returns boolean

isUnique

  • get isUnique(): boolean
  • Gets a boolean indicating that this block can only be used once per NodeMaterial

    Returns boolean

name

  • get name(): string
  • set name(newName: string): any
  • 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

position

target

texture

  • Gets or sets the texture associated with the node

    Returns Nullable<BaseTexture>

  • Gets or sets the texture associated with the node

    Parameters

    Returns any

view

world

worldNormal

worldPosition

Methods

_deserializeSearch playground for _deserialize

  • _deserialize(serializationObject: any, scene: Scene, rootUrl: string): void
  • Parameters

    • serializationObject: any
    • scene: Scene
    • rootUrl: string

    Returns void

autoConfigureSearch playground for autoConfigure

bindSearch playground for bind

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 NodeMaterialBlock | null

    a copy of the current block

connectToSearch playground for connectTo

  • connectTo(other: NodeMaterialBlock, options?: { input?: string; output?: string; outputSwizzle?: string }): this | undefined
  • 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 outputSwizzle?: string

    Returns this | undefined

    the current block

disposeSearch playground for dispose

  • dispose(): void
  • Release resources

    Returns void

getClassNameSearch playground for getClassName

  • getClassName(): string

getFirstAvailableInputSearch playground for getFirstAvailableInput

getFirstAvailableOutputSearch playground for getFirstAvailableOutput

getInputByNameSearch playground for getInputByName

getOutputByNameSearch playground for getOutputByName

getSiblingOutputSearch playground for getSiblingOutput

handleFragmentSideCodeReflectionColorSearch playground for handleFragmentSideCodeReflectionColor

  • handleFragmentSideCodeReflectionColor(lodVarName?: string, swizzleLookupTexture?: string): string
  • 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

handleFragmentSideCodeReflectionCoordsSearch playground for handleFragmentSideCodeReflectionCoords

  • handleFragmentSideCodeReflectionCoords(worldNormalVarName: string, worldPos?: string, onlyReflectionVector?: boolean): string
  • 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

handleFragmentSideInitsSearch playground for handleFragmentSideInits

  • Handles the inits for the fragment code path

    Parameters

    Returns void

handleVertexSideSearch playground for handleVertexSide

  • Gets the code to inject in the vertex shader

    Parameters

    Returns string

    the shader code

initializeSearch playground for initialize

  • Initialize the block and prepare the context for build

    Parameters

    Returns void

initializeDefinesSearch playground for initializeDefines

  • initializeDefines(mesh: AbstractMesh, nodeMaterial: NodeMaterial, defines: NodeMaterialDefines, useInstances?: boolean): void
  • 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

isAnAncestorOfSearch playground for isAnAncestorOf

  • Checks if the current block is an ancestor of a given block

    Parameters

    Returns boolean

    true if block is a descendant

isReadySearch playground for isReady

  • isReady(): boolean
  • Returns boolean

prepareDefinesSearch playground for prepareDefines

provideFallbacksSearch playground for provideFallbacks

  • Add potential fallbacks if shader compilation fails

    Parameters

    Returns void

registerInputSearch 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

registerOutputSearch playground for registerOutput

  • Register a new output. Must be called inside a block constructor

    Parameters

    Returns this

    the current block

replaceRepeatableContentSearch 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

  • serialize(): any

updateUniformsAndSamplesSearch 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

validateBlockNameSearch playground for validateBlockName

  • validateBlockName(newName: string): boolean
  • 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.

writeOutputsSearch playground for writeOutputs

  • Generates the code corresponding to the connected output points

    Parameters

    Returns string

    the shader code

Legend

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