git clone https://github.com/seyhajin/webgpu-wasm-zig.gitAlternatively, download zip from Github repository and extract wherever you want.
Build the example with zig build command, which will generate 3 new files (.html, .js, .wasm).
zig build --sysroot [path/to/emsdk]/upstream/emscripten/cache/sysroot
Example with Emscripten installed with Homebrew (brew install emscripten, v4.0.22) on macOS :
zig build --sysroot /usr/local/opt/emscripten/libexec/cache/sysroot
Or automatically search with brew for the active cellar version :
zig build --sysroot `readlink -f $(brew --prefix emscripten)`/libexec/cache/sysroot
Note
build.zig is preconfigured to build to wasm32-emscripten target only.
Caution
Must provide Emscripten sysroot via --sysroot argument.
Launch a web server to run example before open it to WebGPU compatible web browser (Chrome Canary, Brave Nightly, etc.).
e.g. : launch python3 -m http.server and open web browser to localhost:8000.
Tip
Use Live Server extension in Visual Studio Code to open the HTML file. This extension will update automatically page in real-time when you rebuild the example.
- zig, works with Zig 0.15.0+ version
- emscripten, version 4.0+
- git (optional)
- python3 (optional)
