Skip to main content

Class: ShaderPassRenderer

Defined in: modules/engine/src/passes/shader-pass-renderer.ts:89

Runs one or more shader passes against a source texture.

The renderer owns:

  • a shared ping-pong pair for the logical previous chain
  • any named render targets declared by CompositeShaderPass
  • a fullscreen model used both to seed the chain and to present to the screen

Per-draw uniforms and bindings passed to renderToTexture() or renderToScreen() are merged on top of the renderer's shaderInputs, which lets callers reuse one renderer instance while varying pass inputs frame to frame.

Constructors​

Constructor​

new ShaderPassRenderer(device, props): ShaderPassRenderer

Defined in: modules/engine/src/passes/shader-pass-renderer.ts:96

Parameters​

device​

Device

props​

ShaderPassRendererProps

Returns​

ShaderPassRenderer

Properties​

device​

device: Device

Defined in: modules/engine/src/passes/shader-pass-renderer.ts:90


passRenderers​

passRenderers: PassRenderer[]

Defined in: modules/engine/src/passes/shader-pass-renderer.ts:92


shaderInputs​

shaderInputs: ShaderInputs

Defined in: modules/engine/src/passes/shader-pass-renderer.ts:91


swapFramebuffers​

swapFramebuffers: SwapFramebuffers

Defined in: modules/engine/src/passes/shader-pass-renderer.ts:93


textureModel​

textureModel: BackgroundTextureModel

Defined in: modules/engine/src/passes/shader-pass-renderer.ts:94

Methods​

destroy()​

destroy(): void

Defined in: modules/engine/src/passes/shader-pass-renderer.ts:127

Destroys resources created by this ShaderPassRenderer

Returns​

void


encodeToScreen()​

encodeToScreen(commandEncoder, options): boolean

Defined in: modules/engine/src/passes/shader-pass-renderer.ts:159

Records the shader-pass chain and presentation into a caller-owned command encoder. The encoder must belong to this renderer's device and have no active pass. This method does not finish or submit the encoder.

Parameters​

commandEncoder​

CommandEncoder

options​

ShaderPassRendererRenderOptions

Returns​

boolean


encodeToTexture()​

encodeToTexture(commandEncoder, options): Texture | null

Defined in: modules/engine/src/passes/shader-pass-renderer.ts:197

Records the shader-pass chain into a caller-owned command encoder. The encoder must belong to this renderer's device and have no active pass. This method does not finish or submit the encoder.

Parameters​

commandEncoder​

CommandEncoder

options​

ShaderPassRendererRenderOptions

Returns​

Texture | null


renderToScreen()​

renderToScreen(options): boolean

Defined in: modules/engine/src/passes/shader-pass-renderer.ts:150

Parameters​

options​

ShaderPassRendererRenderOptions

Returns​

boolean


renderToTexture()​

renderToTexture(options): Texture | null

Defined in: modules/engine/src/passes/shader-pass-renderer.ts:188

Runs the shaderPasses in sequence on the sourceTexture and returns a texture with the results.

Parameters​

options​

ShaderPassRendererRenderOptions

Returns​

Texture | null

null if the the sourceTexture has not yet been loaded


resetHistory()​

resetHistory(): void

Defined in: modules/engine/src/passes/shader-pass-renderer.ts:144

Invalidates persistent composite-pass targets without destroying their allocations.

Returns​

void


resize()​

resize(size?): void

Defined in: modules/engine/src/passes/shader-pass-renderer.ts:135

Parameters​

size?​

[number, number]

Returns​

void