webassembly - что же это такое?
пытаюсь составить самое общее представление о webassembly.
Я так понимаю - webassembly - это очень грубо код, который понимают браузеры.
Код этот можно писать напрямую, но видимо большинство так никто не делает, аналогично тому, что писать код на просто ассемблере.
- Код написанный на С/С++ можно перевести в webassembly-код с помощью Emscripten.
- Код написанный на Rust можно перевести в webassembly-код с помощью каких внутренних стандартный команд.
Но, "автоматический" перевод кода из С/С++ в webassembly - возможен только потому, что кто то решил создать такой инструмент Emscripten, если бы его не было, то и возможности переводить С/С++ в webassembly - тоже не было бы, разве, что вручную ? Правильно ?
И такой вопрос: Emscripten переводит в OpenGl в WebGl, который понимают браузеры, но получается, что:
-Во первых: Код OpenGl будет ограничен только возможностями браузерного WebGl ?
-Во вторых: Emscripten переводит код только OpenGl, ни Vulkan, ни Metal - в webassembly преобразован не будет, только С++ и только OpenGl и то только ограниченное кол-во команд OpenGl, при этому еще и надо знать, какие именно команды OpenGl нельзя использовать, то есть нужно знать хотя бы в общих чертах возможности WebGl. Правильно понимаю ?
PS: Прошу прощения за сумбурные вопросы - я только пытаюсь разобраться в общих чертах.