Skip to content

Documentation / scene / ViewProjMatrixNode

Class: ViewProjMatrixNode ​

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

View-projection matrix input node

Remarks ​

Provides the combined view-projection matrix (world space to clip space transformation). This is the product of the view matrix and projection matrix, commonly used for transforming vertices from world space directly to clip space in one step.

Equivalent to: projectionMatrix * viewMatrix

Used for:

  • Vertex position transformation (most common use)
  • Custom vertex shaders
  • Screen-space position calculations
  • Shadow mapping

Output:

  • Output 1: 4x4 view-projection matrix (mat4)

Example ​

typescript
const viewProjMatrix = new ViewProjMatrixNode();
const worldPos = new VertexPositionNode();

// Transform directly to clip space
const transform = new TransformNode();
transform.connectInput(1, worldPos, 1);
transform.connectInput(2, viewProjMatrix, 1);

Extends ​

Constructors ​

Constructor ​

new ViewProjMatrixNode(): ViewProjMatrixNode

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

Creates a new view-projection matrix node

Returns ​

ViewProjMatrixNode

Remarks ​

Initializes with one output slot for the mat4 matrix.

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:1108

Generates a string representation of this node

Returns ​

string

'WorldToClipMatrix'

Overrides ​

BaseGraphNode.toString


getSerializationCls() ​

static getSerializationCls(): object

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

Gets the serialization descriptor for this node type

Returns ​

object

Serialization class descriptor

ctor ​

ctor: typeof ViewProjMatrixNode = ViewProjMatrixNode

name ​

name: string = 'ViewProjMatrixNode'

getProps() ​

getProps(): any[]

Returns ​

any[]


validate() ​

protected validate(): string

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

Validates the node state

Returns ​

string

Empty string (always valid)

Remarks ​

Matrix nodes are always valid as they have no inputs.

Overrides ​

BaseGraphNode.validate


getType() ​

protected getType(): string

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

Gets the output type

Returns ​

string

'mat4'

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.