glslang
glslang copied to clipboard
How to use glslang in the browser?
I built glslang with Emscripten and included the JavaScript file into an HTML file. It runs and prints the help message to the console. My question is how can I pass arguments to it and how can I validate GLSL. I tried to set Module.arguments and call Module._main with arguments, but it still only prints the help message to the console. My code is something like this:
<script src="glslang.js"></script>
<script>
var Module = {
onRuntimeInitialized: async () => {
setTimeout(() => {
Module.arguments = ['--stdin -C -l -S vert'];
Module.stdin = () => 'void main(){a}';
Module._main(['--stdin -C -l -S vert']);
}, 5000);
},
};
</script>
I use an additional setTimeout because initially, the browser says that _main is not a function. I'm not sure why because I'm inside onRuntimeInitialized.