THREE.JS / FOUNDATIONS 123

Resolve the image, read the result.

One multisampled render target writes beauty and normal attachments. The resolved color textures feed the preview and async readback; depth has its own resolve policy.

Initializing -

Creating the multisampled attachment matrix.

backend
-
target samples
-
draw calls
-
view
-
Resolve matrixtarget rebuild
Target ownershipwaiting
size
-
active samples
-
color count
-
depth resolve
-

The target owns two color attachments and one depth texture.

Beautytexture 0 / output

-

readbacks
0
pixel
-
Normaltexture 1

-

readbacks
0
pixel
-
Depthdepth texture

-

preview
linear
color API
not read
Timing and readbackwaiting
CPU frames
-
CPU avg
-
CPU p95
-
readbacks
0
last read
-
bytes/pixel
-

Color readback addresses a resolved attachment by texture index: 0 for beauty, 1 for normal.

Scene -> MSAA { beauty, normal } + depth -> resolve -> preview / readback

With 4 samples, the color textures remain the post-resolve outputs. Turning depth resolve off is intentionally a different contract: WebGL leaves the depth texture untouched; WebGPU samples multisampled depth directly in this pinned version.

Compare layered readback next →

LAB 123 / MSAA ATTACHMENT RESOLVE