◀ VibeCruiser

webgpu water playcanvas

A free simulation β€” play it in your browser, no install. Evan Wallace's WebGL Water demo ported to the PlayCanvas Engine, running on WebGPU (native WGSL) and WebGL 2.

by @willeastcott · willeastcott/webgpu-water-playcanvas on GitHubLANG JavaScript★ 20HOSTED ON WILLEASTCOTT.GITHUB.IOUPDATED 26 Jun 2026

Vote and save it β€” continue with GitHub or sign in free

Made this, @willeastcott? See how many people played it → or use email

Best with a keyboard. Controls: Draw on the water to make ripples Β· Drag the background to rotate the camera

▶ Play full screen ▲ Vote with GitHub ▲ Vote with email

GitHub asks to share your profile and email with us. We never post anything.

Open the live demo Source on GitHub

From the README

Then open the printed local URL.

The shaders are ported almost verbatim (see src/shaders/). The only changes are renaming engine-reserved identifiers and using PlayCanvas's built-in attribute/uniform names (aPosition, matrix_viewProjection). Both cameras run with GAMMA_NONE / TONEMAP_NONE so colors match the original's raw output.

GLSL) for every texture fetch the ray tracer makes from non-uniform control flow β€” WGSL forbids implicit-derivative sampling there. The pool tiles therefore sample at LOD 0 (no mip filtering).

Read the full README on GitHub →

Built something like this? Submit your vibe — free account, takes a minute. How listing works.

More like this

Made this?

Claim it: create a free account, then press CLAIM THIS in the cruiser. Put the badge below in your README or on your demo page first; that link is how we know it's yours.

Your project is on the cruise, loaded live from your own site. Put the badge in your README or on the demo page: it shows your live play count, it links back to this page, and everyone who lands here is one click from running the real thing.

On VibeCruiser

How listing, the badge and claiming work →