glslang icon indicating copy to clipboard operation
glslang copied to clipboard

How to use glslang in the browser?

Open racz16 opened this issue 1 year ago • 0 comments

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.

racz16 avatar Jul 02 '24 19:07 racz16