Skip to content

How to use glslang in the browser? #3643

@racz16

Description

@racz16

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions