Source render target. Typed as the base RenderTarget so a cube target from
either backend (WebGLCubeRenderTarget, or three/webgpu's CubeRenderTarget,
which is NOT a WebGLRenderTarget) is accepted; see faceIndex.
Pixel-format discriminator. Determines the returned typed-array kind.
OptionalfaceCube face to read when target is a cube render target (0..5 in three's
px, nx, py, ny, pz, nz order). Threaded into WebGL's activeCubeFaceIndex
argument and WebGPU's faceIndex argument — the two signatures put it in
different slots (after the destination buffer vs after textureIndex).
Ignored for a 2D target.
OptionalxX offset in pixels (top-down convention). Defaults to 0. Full-target reads (the common case) leave this at 0; sub-region readers (e.g. the picking 5×5 voter) supply canvas-space top-down coords and the primitive converts to the backend's framebuffer convention internally.
OptionalyY offset in pixels (canonical top-down, row 0 = top of source). The primitive converts this to bottom-up coordinates for WebGL readback, including WebGPURenderer's WebGL2 fallback. Defaults to 0.
OptionalwidthRegion width in pixels. Defaults to target.width.
OptionalheightRegion height in pixels. Defaults to target.height.
OptionalflipDefault false. The primitive's canonical return convention is
rows in top-down order (row 0 = top of the source target).
Pass true to receive bottom-up rows instead — used by callers
whose downstream consumers expect scene-space row order (e.g. EXR
export).
OptionaloutOptional pre-allocated destination buffer for the raw readback. Must
be exactly width * height * 4 elements of the right typed-array
kind for kind. When provided, no fresh allocation is made for the
raw readback; ideal for hot paths (e.g. picking) that fire at
mouse-event rates.
OptionalflipOptional pre-allocated destination buffer for the row-flipped
output (consulted when a row flip is needed). Must
be the same size and kind as the readback, and a different buffer than
out if one is supplied (the row-flip interleaves reads/writes across rows and
cannot operate in place). When provided, the row-flip writes into
this buffer instead of allocating one. The returned pixels is
this buffer (not the raw out).
Arguments to readPixelsCompactAsync.