web-naga
v1.0.1
Published
Provides mutual conversion between different Shader language syntaxes, implemented using naga and wasm
Readme
WebNaga
Provides mutual conversion between different Shader language syntaxes, implemented using naga and wasm
Installation
npm i web-nagaFrontend and Backend
Frontend
- GLSL
- WGSL
Backend
- WGSL
- GLSL
Usage
GLSL -> WGSL
const front = GlslFrontend.new();
const module = front.parse(code, ShaderStage.Vertex);
const result = module.to_wgsl()WGSL -> GLSL
const front = WgslFrontend.new();
const module = front.parse(code);
const options = GlslBackendOptions.new();
// options.stage = ShaderStage.Vertex;
// options.version = GlslVersion.embedded(330)
// options.flags = GlslWriterFlags.None
const result = module.to_glsl("main", options)Contributing
Setup wasm-pack
rustup target add wasm32-unknown-unknown
cargo install wasm-packBuild
wasm-pack build --target web