Blur the framebuffer on purpose.
A viewport texture copies the pixels that already exist in the current framebuffer. Turn on mip generation, then pin the exact level sampled by a transparent surface.
Preparing the framebuffer copy and the transparent inspection surface…
- backend
- —
- source
- —
- explicit level
- —
- mip chain
- —
- render order
- —
- frame ms
- —
The viewport graph will be compiled after the renderer selects its backend.
viewportMipTexture()
copy before draw
TextureNode.level(0)
viewportSafeUV()
opaque pixels only
renderOrder 10
The world renders first. The window then samples the framebuffer state at render order 10, so its pixels are not part of the source it reads.
WebGPU executes the viewport texture node. The forced WebGL2 route is an explicit translucent reference because it cannot execute the node graph.
Derived from the official ViewportTextureNode, ViewportSharedTextureNode, and TSL docs. Use ?forceWebGL=1 to inspect the labeled fallback.
The renderer could not create the study.