"매 GPU compute shader 의 millions-of-particles 의 60fps". Three.js r170+ 의 WebGPURenderer 의 TSL (Three Shader Language) 의 compute node 의 particle position/velocity 의 GPU buffer 의 simulate. 매 2026 standard: WebGPU 의 baseline browser support (Chrome/Edge/Safari 17.4+/Firefox 127+) 의 production 의 reach.
매 핵심
매 architecture
Storage buffer: 매 particle position/velocity 의 GPU memory 의 persist — 매 CPU readback 의 X.
Compute pass: 매 frame 의 start 의 simulation step 의 dispatch.
Render pass: 매 same buffer 의 vertex attribute 의 read — instanced point / mesh.
TSL: 매 JS-authored shader graph 의 WGSL 의 compile — 매 backend portability (WebGPU + WebGL fallback).
constrenderer=WebGPU.isAvailable()?newTHREE.WebGPURenderer():newTHREE.WebGLRenderer();// 매 TSL 의 same code 의 WebGL backend 의 transpile (compute X 의 limit 의 case 의 GPGPUComputationRenderer 의 fallback)
매 결정 기준
상황
Approach
<10k particle, simple motion
CPU 의 BufferGeometry update
10k–100k, WebGL2 only
GPGPUComputationRenderer (ping-pong texture)
100k–10M, modern browser
WebGPURenderer + TSL compute
Physics-accurate fluid
WebGPU compute + custom WGSL
Cross-browser 의 require, IE/legacy
Canvas2D 또는 WebGL1 fallback
기본값: 매 2026 의 new project 의 WebGPURenderer + TSL — 매 WebGL fallback 의 automatic.