Skip to content

decode.webgpu.Class.RenderTargetNode

github-actions[bot] edited this page Oct 19, 2026 · 1 revision

@monogrid/gainmap-js / decode/webgpu / RenderTargetNode

Abstract Class: RenderTargetNode

Defined in: src/core/webgpu/RenderTargetNode.ts:29

Base class for TSL texture nodes whose texture is a render target, filled by rendering a full screen quad.

The quad is rendered only when something changed since the last render: subclasses list what the result depends on in RenderTargetNode._getState and the other render target nodes they read from in RenderTargetNode._getDependencies. Sampling the node costs a single texture read, like any other texture.

The node renders itself before rendering whenever it is part of a rendered node graph (material, scene.backgroundNode, ...). When only its texture is used (node.value) call RenderTargetNode.render yourself.

Extends

  • TextureNode

Extended by

Constructors

Constructor

new RenderTargetNode(material, renderTargetOptions): RenderTargetNode

Defined in: src/core/webgpu/RenderTargetNode.ts:52

Parameters

material

NodeMaterial

the material rendered on the full screen quad

renderTargetOptions

RenderTargetOptions

options of the render target, it is created with a 1x1 size and resized to RenderTargetNode.width x RenderTargetNode.height before rendering

Returns

RenderTargetNode

Overrides

TextureNode.constructor

Properties

_material

protected _material: NodeMaterial

Defined in: src/core/webgpu/RenderTargetNode.ts:42


_quadMesh

protected _quadMesh: QuadMesh

Defined in: src/core/webgpu/RenderTargetNode.ts:41


renderTarget

readonly renderTarget: RenderTarget

Defined in: src/core/webgpu/RenderTargetNode.ts:33

The render target holding the result


revision

revision: number = 0

Defined in: src/core/webgpu/RenderTargetNode.ts:39

Incremented every time the render target is rendered, nodes depending on this one use it to know when to render again

Accessors

height

Get Signature

get abstract height(): number

Defined in: src/core/webgpu/RenderTargetNode.ts:66

Height of the result, the node doesn't render while it's 0

Returns

number


value

Get Signature

get value(): Texture

Defined in: src/core/webgpu/RenderTargetNode.ts:139

Returns

Texture

Set Signature

set value(value): void

Defined in: src/core/webgpu/RenderTargetNode.ts:133

Parameters
value

Texture

Returns

void

Overrides

TextureNode.value


width

Get Signature

get abstract width(): number

Defined in: src/core/webgpu/RenderTargetNode.ts:64

Width of the result, the node doesn't render while it's 0

Returns

number

Methods

_getDependencies()

protected _getDependencies(): RenderTargetNode[]

Defined in: src/core/webgpu/RenderTargetNode.ts:76

Render target nodes read by this node, rendered (if needed) before this one

Returns

RenderTargetNode[]


_getState()

abstract protected _getState(): unknown[]

Defined in: src/core/webgpu/RenderTargetNode.ts:71

Values the result depends on, compared with === to the ones of the last render

Returns

unknown[]


_onRender()

protected _onRender(): void

Defined in: src/core/webgpu/RenderTargetNode.ts:81

Called after the render target has been rendered

Returns

void


clone()

clone(): RenderTargetNode

Defined in: src/core/webgpu/RenderTargetNode.ts:147

Clones created by sample() & co. are plain TextureNodes reading this node's texture, they keep it updated before rendering as well

Returns

RenderTargetNode

Overrides

TextureNode.clone


dispose()

dispose(): void

Defined in: src/core/webgpu/RenderTargetNode.ts:158

Disposes the render target and the material

Returns

void

Overrides

TextureNode.dispose


invalidate()

invalidate(): RenderTargetNode

Defined in: src/core/webgpu/RenderTargetNode.ts:87

Forces a render the next time RenderTargetNode.render is called, use it when something the node can't track changed (e.g. a custom input node)

Returns

RenderTargetNode


render()

render(renderer): boolean

Defined in: src/core/webgpu/RenderTargetNode.ts:100

Renders into RenderTargetNode.renderTarget, only if something changed since the last render.

Called automatically when the node is part of a rendered node graph.

Parameters

renderer

WebGPURenderer

Returns

boolean

true if the render target was rendered

Clone this wiki locally