Skip to content

Documentation / scene / BaseTextureNode

Abstract Class: BaseTextureNode

Defined in: libs/scene/src/utility/blueprint/material/texture.ts:278

Abstract base class for texture nodes

Remarks

Provides common functionality for all texture types in the material node graph. Texture nodes represent shader texture uniforms and their sampling parameters.

Common properties:

  • paramName: The shader uniform name for this texture
  • addressU/V: Texture coordinate wrapping modes (clamp, repeat, mirrored-repeat)
  • filterMin: Minification filter (nearest, linear)
  • filterMag: Magnification filter (nearest, linear)
  • filterMip: Mipmap filter (nearest, linear, none)
  • texture: Reference to the actual GPU texture resource
  • textureId: Asset ID for serialization/loading

Texture addressing modes:

  • clamp: Coordinates outside [0,1] are clamped to edge colors
  • repeat: Texture tiles infinitely (wraps around)
  • mirrored-repeat: Texture tiles with alternating mirroring

Filtering modes:

  • nearest: Point sampling (sharp, pixelated)
  • linear: Bilinear interpolation (smooth)
  • none: No mipmap filtering (mip filter only)

Type Param

T

The specific texture type (Texture2D, TextureCube, etc.)

Extends

Extended by

Constructors

Constructor

new BaseTextureNode(): BaseTextureNode

Defined in: libs/scene/src/utility/blueprint/material/texture.ts:306

Creates a new texture node

Returns

BaseTextureNode

Remarks

Initializes with default sampling parameters:

  • Auto-generated unique parameter name
  • Clamp addressing mode
  • Nearest filtering (point sampling)
  • No mipmap filtering
  • Empty texture ID

Overrides

BaseGraphNode.constructor

Properties

sRGB

sRGB: boolean

Defined in: libs/scene/src/utility/blueprint/material/texture.ts:282

Whether this texture should be loaded in sRGB color space


addressU

addressU: TextureAddressMode

Defined in: libs/scene/src/utility/blueprint/material/texture.ts:284

Horizontal texture coordinate wrapping mode


addressV

addressV: TextureAddressMode

Defined in: libs/scene/src/utility/blueprint/material/texture.ts:286

Vertical texture coordinate wrapping mode


filterMin

filterMin: TextureFilterMode

Defined in: libs/scene/src/utility/blueprint/material/texture.ts:288

Minification filter mode


filterMag

filterMag: TextureFilterMode

Defined in: libs/scene/src/utility/blueprint/material/texture.ts:290

Magnification filter mode


filterMip

filterMip: TextureFilterMode

Defined in: libs/scene/src/utility/blueprint/material/texture.ts:292

Mipmap filter mode


textureId

textureId: string

Defined in: libs/scene/src/utility/blueprint/material/texture.ts:294

Asset ID for the texture (for serialization)


_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

paramName

Get Signature

get paramName(): string

Defined in: libs/scene/src/utility/blueprint/material/texture.ts:322

Gets the shader parameter name

Returns

string

The uniform name used in generated shader code

Set Signature

set paramName(val): void

Defined in: libs/scene/src/utility/blueprint/material/texture.ts:325

Uniform parameter name

Parameters
val

string

Returns

void

Uniform parameter name

Overrides

BaseGraphNode.paramName


isUniform

Get Signature

get isUniform(): boolean

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

Indicates this node represents a shader uniform

Remarks

Texture nodes create uniform declarations in the generated shader code.

Returns

boolean

Always true for texture nodes

Whether this node has uniform value

Overrides

BaseGraphNode.isUniform


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

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

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

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

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/texture.ts:348

Generates a string representation of this node

Returns

string

The parameter name

Overrides

BaseGraphNode.toString


validate()

protected validate(): string

Defined in: libs/scene/src/utility/blueprint/material/texture.ts:360

Validates the node state

Returns

string

Empty string (always valid)

Remarks

Texture nodes are always valid as they have no required inputs and always have a valid texture (default if none assigned).

Overrides

BaseGraphNode.validate


getType()

protected getType(): string

Defined in: libs/scene/src/utility/blueprint/material/texture.ts:371

Gets the output type

Returns

string

Empty string (overridden by subclasses)

Remarks

Subclasses return texture type identifiers like 'tex2D', 'texCube', etc.

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.