Skip to content

@orillusion/core


Class: RenderContext

Defined in: src/gfx/renderJob/passRenderer/RenderContext.ts:16

Drives one RTFrame's render through the GPU: opens command encoders and render-pass encoders, and builds the RendererPassState sequence (opaque / transparent / continuation passes) for the frame. Wraps GPUContextInstance so passes work against a single frame's attachments without touching the device API.

Constructors

Constructor

new RenderContext(ctx, rtFrame): RenderContext

Defined in: src/gfx/renderJob/passRenderer/RenderContext.ts:27

Parameters

ctx

Context3D

rtFrame

RTFrame

Returns

RenderContext

Properties

command

command: GPUCommandEncoder

Defined in: src/gfx/renderJob/passRenderer/RenderContext.ts:18

The command encoder currently open for this frame.


encoder

encoder: GPURenderPassEncoder

Defined in: src/gfx/renderJob/passRenderer/RenderContext.ts:20

The render-pass encoder currently open for this frame.


gpu

gpu: GPUContextInstance

Defined in: src/gfx/renderJob/passRenderer/RenderContext.ts:22

The per-context GPU helper this render context issues through.

Accessors

rendererPassState

Get Signature

get rendererPassState(): RendererPassState

Defined in: src/gfx/renderJob/passRenderer/RenderContext.ts:67

The most recently pushed renderer pass state (the active one).

Returns

RendererPassState

Methods

clean()

clean(): void

Defined in: src/gfx/renderJob/passRenderer/RenderContext.ts:34

Reset the accumulated pass states and the GPU bind cache for a new frame.

Returns

void


beginContinueRendererPassState()

beginContinueRendererPassState(color_loadOp?, depth_loadOp?): RendererPassState

Defined in: src/gfx/renderJob/passRenderer/RenderContext.ts:45

Push a renderer pass state for the current frame and return it. When earlier states already exist this is a continuation pass that loads (rather than clears) prior attachment contents; otherwise it applies the given color/depth load ops to the frame's first pass.

Parameters

color_loadOp?

GPULoadOp = 'load'

depth_loadOp?

GPULoadOp = 'load'

Returns

RendererPassState


beginOpaqueRenderPass()

beginOpaqueRenderPass(): void

Defined in: src/gfx/renderJob/passRenderer/RenderContext.ts:72

Begin the opaque pass: clear color + depth, then open a fresh command and encoder.

Returns

void


beginTransparentRenderPass()

beginTransparentRenderPass(): void

Defined in: src/gfx/renderJob/passRenderer/RenderContext.ts:79

Begin a transparent pass: load color + depth (continuation), then open a fresh command and encoder.

Returns

void


specialtRenderPass()

specialtRenderPass(): void

Defined in: src/gfx/renderJob/passRenderer/RenderContext.ts:86

Begin a special-purpose continuation pass: load color + depth, then open a fresh command and encoder.

Returns

void


endRenderPass()

endRenderPass(): void

Defined in: src/gfx/renderJob/passRenderer/RenderContext.ts:93

End the current render pass: close the encoder then submit the command.

Returns

void


begineNewCommand()

begineNewCommand(): GPUCommandEncoder

Defined in: src/gfx/renderJob/passRenderer/RenderContext.ts:99

Open a new command encoder for this frame.

Returns

GPUCommandEncoder


endCommand()

endCommand(): void

Defined in: src/gfx/renderJob/passRenderer/RenderContext.ts:105

Submit and clear the current command encoder.

Returns

void


beginNewEncoder()

beginNewEncoder(): GPURenderPassEncoder

Defined in: src/gfx/renderJob/passRenderer/RenderContext.ts:111

Begin a render-pass encoder for the active pass state on the open command.

Returns

GPURenderPassEncoder


endEncoder()

endEncoder(): void

Defined in: src/gfx/renderJob/passRenderer/RenderContext.ts:117

End and clear the current render-pass encoder.

Returns

void