#shader #language #wasm-module #wasm-interface #gpu

bin+lib wasl

The WebAssembly shader language

1 unstable release

0.0.0 Aug 6, 2021

#72 in #wasm-interface

Custom license

8KB

WASL

The WebAssembly Shader Language

Crates.io Docs.rs Build Status lines of code Katharos License

WASL is a library and standard for a way to translate WebAssembly modules to shaders that can be executed on the GPU.

WASL works by having a standardized WASM interface for interacting with the GPU as a shader, and by parsing WASM modules into the Naga intermediate representation ( naga::Module ) so that it can be translated to shader code for the target platform: SPIR-V, GLSL, HLSL, Metal, etc.

WASL also comes with tools to make it easier to compile WASL modules using the Rust language, allowing you to write Rust code that targets the GPU.

Dependencies

~4.5MB
~91K SLoC