Options
All
  • Public
  • Public/Protected
  • All
Menu

Class RefractionBlock

Block used to implement the refraction part of the sub surface module of the PBR material

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

invertRefractionYSearch playground for invertRefractionY

invertRefractionY: boolean

Controls if refraction needs to be inverted on Y. This could be useful for procedural texture.

linkRefractionWithTransparencySearch playground for linkRefractionWithTransparency

linkRefractionWithTransparency: boolean

This parameters will make the material used its opacity to control how much it is refracting aginst not. Materials half opaque for instance using refraction could benefit from this control.

textureSearch playground for texture

Gets or sets the texture associated with the node

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

hasTexture

  • get hasTexture(): boolean
  • Returns true if the block has a texture

    Returns boolean

inputs

intensity

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

refraction

target

tintAtDistance

view

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

    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
  • Gets the current class name

    Returns string

    the class name

getCodeSearch playground for getCode

  • Gets the main code of the block (fragment side)

    Parameters

    Returns string

    the shader code

getFirstAvailableInputSearch playground for getFirstAvailableInput

getFirstAvailableOutputSearch playground for getFirstAvailableOutput

getInputByNameSearch playground for getInputByName

getOutputByNameSearch playground for getOutputByName

getSiblingOutputSearch playground for getSiblingOutput

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

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.

Legend

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