4import glslangModule from
"@webgpu/glslang";
5import { compile } from
"twgsl";
9 const glslang = await glslangModule();
18 if (!stageMap[shaderStage]) {
19 throw new Error(`Invalid shader stage: ${shaderStage}`);
23 const spirv =
glslang.compileGLSL(glslCode, stageMap[shaderStage]);
26 const wgsl = compile(spirv);
33layout(location = 0) in vec3 position;
35 gl_Position = vec4(position, 1.0);
39layout(location = 0) out vec4 outColor;
41 outColor = vec4(1.0, 0.0, 0.0, 1.0);
48 console.log(
"=== Vertex Shader WGSL ===");
49 console.log(vertexWGSL);
51 console.log(
"\n=== Fragment Shader WGSL ===");
52 console.log(fragmentWGSL);
function async convertGLSLtoWGSL(glslCode, shaderStage="vertex")
import glslangModule from webgpu glslang