Build the shared fullscreen-triangle geometry. Called once per
post-processing pass (FxaaPass, BloomChain, the mega-shader's
megaMesh, the FullscreenPass class). Caller owns disposal.
The UV attribute is chosen to match caps.framebufferYDown:
framebufferYDown = true — any WebGPURenderer (real WebGPU OR
WebGPURenderer running on its WebGL2 compat backend, including
?webgpuForceWebgl). Three.js's WebGPURenderer normalises Y
internally so it presents a top-down framebuffer on both
backends. Vertex (-1,-1) sits at screen-bottom-left and needs
uv.y = 1 to sample the bottom row of the source target.
Per-corner UVs {(0,1), (2,1), (0,-1)} (V-inverted relative to
the WebGL case).
framebufferYDown = false — the THREE.WebGLRenderer GLSL path
only. Row 0 of the source target is at the bottom of
the viewport. Vertex (-1,-1) needs uv.y = 0 to sample the
bottom row. Per-corner UVs {(0,0), (2,0), (0,2)}.
Either way, the per-fragment interpolated vUv resolves to the
canvas-relative UV (a fragment at the screen centre lands at uv
(0.5, 0.5)).
Build the shared fullscreen-triangle geometry. Called once per post-processing pass (FxaaPass, BloomChain, the mega-shader's megaMesh, the FullscreenPass class). Caller owns disposal.
The UV attribute is chosen to match
caps.framebufferYDown:framebufferYDown = true— anyWebGPURenderer(real WebGPU OR WebGPURenderer running on its WebGL2 compat backend, including?webgpuForceWebgl). Three.js's WebGPURenderer normalises Y internally so it presents a top-down framebuffer on both backends. Vertex (-1,-1) sits at screen-bottom-left and needsuv.y = 1to sample the bottom row of the source target. Per-corner UVs{(0,1), (2,1), (0,-1)}(V-inverted relative to the WebGL case).framebufferYDown = false— theTHREE.WebGLRendererGLSL path only. Row 0 of the source target is at the bottom of the viewport. Vertex (-1,-1) needsuv.y = 0to sample the bottom row. Per-corner UVs{(0,0), (2,0), (0,2)}.Either way, the per-fragment interpolated
vUvresolves to the canvas-relative UV (a fragment at the screen centre lands at uv(0.5, 0.5)).