Three.js Blocks Smoke Post-Processing
Screen-space fluid postprocessing warps the final image with a 2D smoke sim. A spinning cube cluster is rendered to a pass, the smoke node evolves on top using pointer input for splats, and post uniforms control distortion, blend, and tint.