- Zig 86.7%
- HTML 13.3%
|
|
||
|---|---|---|
| .gitignore | using WGPU_DEPTH_SLICE_UNDEFINED, fixing build issues, ignoring zig-cache | |
| build.zig | Update to Emscripten 4.0.22 and Zig 0.15.2 | |
| LICENSE | Add LICENSE | |
| main.zig | Update to Emscripten 4.0.22 and Zig 0.15.2 | |
| readme.md | Update readme.md | |
| screen.png | Initial commit | |
| shell.html | Attempt to fix issue | |
Getting started
Clone
git clone https://github.com/seyhajin/webgpu-wasm-zig.git
Alternatively, download zip from Github repository and extract wherever you want.
Build
Build the example with zig build command, which will generate 3 new files (.html, .js, .wasm).
Command
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.zigis preconfigured to build towasm32-emscriptentarget only.
Caution
Must provide Emscripten sysroot via
--sysrootargument.
Run
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.
Prerequisites
- zig, works with Zig 0.15.0+ version
- emscripten, version 4.0+
- git (optional)
- python3 (optional)