Ответ 1
В соответствии с документацией Emscripten вы можете использовать SDL с С++ для получения на холсте при создании Javascript. Преобразование SDL реализовано в собственных вызовах холста.
Есть ли способ доступа к контексту canvas 2D под С++ при использовании emscripten?
Я хотел бы иметь возможность рисовать простые фигуры/пути, используя функции cani api, такие как lineTo
, fillRect
1d done и т.д. (Поэтому в основном используйте любую из перечисленных функций .
Я хочу указать, что я бы предпочел не полагаться на SDL, но если это единственный надежный подход, то есть способ заставить его скомпилировать JavaScript, чтобы результат не использовал WebGL, а базовый холст api
Или я должен сделать простое сопоставление функций api, следуя этому предложению: Вызов JavaScript из C/С++?
До тех пор, пока кто-нибудь не предложит лучшее решение, я скорее всего сделаю сопоставление и поделись им здесь, как только я покончу с этим.
В соответствии с документацией Emscripten вы можете использовать SDL с С++ для получения на холсте при создании Javascript. Преобразование SDL реализовано в собственных вызовах холста.
С моей точки зрения, SDL, инициализированный с помощью SDL_SWSURFACE
, создаст контекст "2d", а не "webgl" / "experimental-webgl". Функциональность можно увидеть в тесте sdl_rotozoom или в GitHub: https://github.com/kripken/emscripten/blob/master/tests/sdl_rotozoom.c