Skip to content

Documentation / scene / VertexPositionNode

Class: VertexPositionNode ​

Defined in: libs/scene/src/utility/blueprint/material/inputs.ts:399

Vertex world position input node

Remarks ​

Provides access to the vertex position in world space coordinates. World position is the absolute 3D location of the vertex in the scene, after applying all model transformations but before view/projection.

Used for:

  • Distance-based effects (fog, fade)
  • World-space texturing (triplanar mapping)
  • Position-based color gradients
  • Vertex animation based on world location
  • Custom lighting calculations

Outputs:

  • Output 1: Full position (vec3)
  • Output 2: X coordinate (float)
  • Output 3: Y coordinate (float)
  • Output 4: Z coordinate (float)

Example ​

typescript
const worldPos = new VertexPositionNode();

// Calculate distance from origin
const origin = new ConstantVec3Node();
const distance = new DistanceNode();
distance.connectInput(1, worldPos, 1);
distance.connectInput(2, origin, 1);

// Height-based color gradient
colorMix.connectInput(3, worldPos, 3); // Use Y (height)

Extends ​

Constructors ​

Constructor ​

new VertexPositionNode(): VertexPositionNode

Defined in: libs/scene/src/utility/blueprint/material/inputs.ts:406

Creates a new vertex position node

Returns ​

VertexPositionNode

Remarks ​

Initializes with 4 output slots: full position and individual X, Y, Z components.

Overrides ​

BaseGraphNode.constructor

Properties ​

_inputs ​

protected _inputs: GraphNodeInput[]

Defined in: libs/scene/src/utility/blueprint/node.ts:336

Internal storage for input slot definitions

Inherited from ​

BaseGraphNode._inputs


_outputs ​

protected _outputs: GraphNodeOutput[]

Defined in: libs/scene/src/utility/blueprint/node.ts:338

Internal storage for output slot definitions

Inherited from ​

BaseGraphNode._outputs


_error ​

protected _error: string

Defined in: libs/scene/src/utility/blueprint/node.ts:340

Internal storage for error message

Inherited from ​

BaseGraphNode._error

Accessors ​

isUniform ​

Get Signature ​

get isUniform(): boolean

Defined in: libs/scene/src/utility/blueprint/node.ts:357

Whether this node contains uniform value/texture

Returns ​

boolean

Whether this node has uniform value

Inherited from ​

BaseGraphNode.isUniform


paramName ​

Get Signature ​

get paramName(): string

Defined in: libs/scene/src/utility/blueprint/node.ts:363

Uniform parameter name

Returns ​

string

Uniform parameter name

Inherited from ​

BaseGraphNode.paramName


inputs ​

Get Signature ​

get inputs(): GraphNodeInput[]

Defined in: libs/scene/src/utility/blueprint/node.ts:380

Gets the input slot definitions array

Returns ​

GraphNodeInput[]

Array of input slot definitions

Inherited from ​

BaseGraphNode.inputs


outputs ​

Get Signature ​

get outputs(): GraphNodeOutput[]

Defined in: libs/scene/src/utility/blueprint/node.ts:384

Gets the output slot definitions array

Returns ​

GraphNodeOutput[]

Array of output slot definitions

Inherited from ​

BaseGraphNode.outputs


error ​

Get Signature ​

get error(): string

Defined in: libs/scene/src/utility/blueprint/node.ts:388

Gets the current error message

Returns ​

string

Set Signature ​

set error(str): void

Defined in: libs/scene/src/utility/blueprint/node.ts:391

Current error message, empty string if no error

Parameters ​
str ​

string

Returns ​

void

Current error message, empty string if no error

Inherited from ​

BaseGraphNode.error

Methods ​

on() ​

on<K>(type, listener, context?): void

Defined in: libs/base/dist/index.d.ts:630

IEventTarget.on

Type Parameters ​

K ​

K extends "changed"

Parameters ​

type ​

K

listener ​

EventListener<{ changed: []; }, K>

context? ​

unknown

Returns ​

void

Inherited from ​

BaseGraphNode.on


once() ​

once<K>(type, listener, context?): void

Defined in: libs/base/dist/index.d.ts:634

IEventTarget.once

Type Parameters ​

K ​

K extends "changed"

Parameters ​

type ​

K

listener ​

EventListener<{ changed: []; }, K>

context? ​

unknown

Returns ​

void

Inherited from ​

BaseGraphNode.once


off() ​

off<K>(type, listener?, context?): void

Defined in: libs/base/dist/index.d.ts:638

IEventTarget.off

Type Parameters ​

K ​

K extends "changed"

Parameters ​

type ​

K

listener? ​

EventListener<{ changed: []; }>

context? ​

unknown

Returns ​

void

Inherited from ​

BaseGraphNode.off


dispatchEvent() ​

dispatchEvent<K>(type, ...args): void

Defined in: libs/base/dist/index.d.ts:642

IEventTarget.dispatchEvent

Type Parameters ​

K ​

K extends "changed"

Parameters ​

type ​

K

args ​

...object[K]

Returns ​

void

Inherited from ​

BaseGraphNode.dispatchEvent


toString() ​

toString(): string

Defined in: libs/scene/src/utility/blueprint/material/inputs.ts:420

Generates a string representation of this node

Returns ​

string

'world position'

Overrides ​

BaseGraphNode.toString


getSerializationCls() ​

static getSerializationCls(): object

Defined in: libs/scene/src/utility/blueprint/material/inputs.ts:428

Gets the serialization descriptor for this node type

Returns ​

object

Serialization class descriptor

ctor ​

ctor: typeof VertexPositionNode = VertexPositionNode

name ​

name: string = 'VertexPositionNode'

getProps() ​

getProps(): any[]

Returns ​

any[]


validate() ​

protected validate(): string

Defined in: libs/scene/src/utility/blueprint/material/inputs.ts:445

Validates the node state

Returns ​

string

Empty string (always valid)

Remarks ​

Vertex position nodes are always valid as they have no inputs.

Overrides ​

BaseGraphNode.validate


getType() ​

protected getType(id): "vec3" | "float"

Defined in: libs/scene/src/utility/blueprint/material/inputs.ts:454

Gets the output type for a specific output slot

Parameters ​

id ​

number

The output slot ID

Returns ​

"vec3" | "float"

'float' for individual component outputs (id > 1), 'vec3' for full position

Overrides ​

BaseGraphNode.getType


getOutputType() ​

getOutputType(id): string

Defined in: libs/scene/src/utility/blueprint/node.ts:376

Gets the output type for a specific output slot

Parameters ​

id ​

number

The output slot ID

Returns ​

string

The type name of the output

Remarks ​

Default implementation delegates to the abstract getType() method. Can be overridden for more complex type logic.

Inherited from ​

BaseGraphNode.getOutputType


check() ​

check(): void

Defined in: libs/scene/src/utility/blueprint/node.ts:413

Validates the node and updates error state

Returns ​

void

Remarks ​

Calls the validate() method and stores the result in _error. Emits a 'changed' event if the error state changes.

Inherited from ​

BaseGraphNode.check


reset() ​

reset(): void

Defined in: libs/scene/src/utility/blueprint/node.ts:422

Clears the error state

Returns ​

void

Remarks ​

Sets _error to an empty string.

Inherited from ​

BaseGraphNode.reset


setInput() ​

setInput(id, node, inputId): void

Defined in: libs/scene/src/utility/blueprint/node.ts:443

Connects an input slot to another node's output

Parameters ​

id ​

number

The input slot ID to connect

node ​

BaseGraphNode

The source node to connect from

inputId ​

number

The output slot ID of the source node

Returns ​

void

Throws ​

Error if the input slot with the given ID doesn't exist

Example ​

typescript
const addNode = new AddNode();
const constantNode = new ConstantNode(5.0);

// Connect constantNode's output 0 to addNode's input 0
addNode.setInput(0, constantNode, 0);

Inherited from ​

BaseGraphNode.setInput

Released under the MIT License.