Skip to content

RenderPipeline

Defined in: render/renderPipeline.ts:66

new RenderPipeline(): RenderPipeline

RenderPipeline

get frameElapsed(): number

Defined in: render/renderPipeline.ts:68

number


get renderingEnabled(): boolean

Defined in: render/renderPipeline.ts:81

boolean

addPreFlushCallback(cb): void

Defined in: render/renderPipeline.ts:105

The optional projection is the current pass; legacy manual hosts may omit it.

(registry, viewProjection?) => void

void


addScreenOverlayCallback(cb): void

Defined in: render/renderPipeline.ts:115

Register geometry a plugin draws into the SCREEN overlay rather than into a camera — the sibling of addPreFlushCallback, separate for the same reason the two collects are: a callback that ran in both would put the same glyph in each list. Runs between the overlay’s collect and its pass.

(registry, viewProjection?) => void

void


beginFrame(elapsedSec?): void

Defined in: render/renderPipeline.ts:130

number = 0

void


beginScreenCapture(): void

Defined in: render/renderPipeline.ts:173

void


endFrame(): void

Defined in: render/renderPipeline.ts:145

Closes the frame. The pair of beginFrame, and the last thing a frame does: a backend that borrows the swapchain image for a frame gives it back here, so everything drawn after the first camera — a second camera, the screen post stack, the overlay — still has somewhere to land.

void


endScreenCapture(): void

Defined in: render/renderPipeline.ts:184

void


render(params): void

Defined in: render/renderPipeline.ts:210

RenderParams

void


renderCamera(params): void

Defined in: render/renderPipeline.ts:229

CameraRenderParams

void


renderScreenOverlay(registry, overlay, target?): void

Defined in: render/renderPipeline.ts:155

The frame’s screen-space overlay: one pass, after every camera and after post. It takes a projection and a rect and no camera, which is what makes a HUD hold still while the view moves. Silent when the core has no overlay pass, which has not partitioned the domains either.

CppRegistry

ScreenOverlayData

number = 0

void


runPreFlushCallbacks(registry, viewProjection?): void

Defined in: render/renderPipeline.ts:126

Run what plugins registered to draw just before the frame flushes (glyph quads, today). submitScene calls this in the middle of its own sequence; a host that owns its render loop in C++ — the native one — calls it directly at the same point, between collecting the scene and flushing, so text lands in the same frame either way.

CppRegistry

Float32Array<ArrayBufferLike>

void


setActiveScenes(scenes): void

Defined in: render/renderPipeline.ts:91

Set<string> | null

void


setPostProcess(pp): void

Defined in: render/renderPipeline.ts:100

Inject this App’s post-process API (by PostProcessPlugin). When null, the pipeline does no post-processing — it has no hard dependency on the post-process subsystem.

PostProcessAPI | null

void


setQuality(quality, apply?): void

Defined in: render/renderPipeline.ts:86

QualityController

() => void

void


setRenderingEnabled(enabled): void

Defined in: render/renderPipeline.ts:84

boolean

void


submitScene(registry, viewProjection, viewport, _elapsed): void

Defined in: render/renderPipeline.ts:192

CppRegistry

Float32Array

Viewport

number

void