Подтвердить что ты не робот

Emscripten - С++ с чистой поддержкой холста html5 (не WebGL)

Есть ли способ доступа к контексту canvas 2D под С++ при использовании emscripten?
Я хотел бы иметь возможность рисовать простые фигуры/пути, используя функции cani api, такие как lineTo, fillRect 1d done и т.д. (Поэтому в основном используйте любую из перечисленных функций .

Я хочу указать, что я бы предпочел не полагаться на SDL, но если это единственный надежный подход, то есть способ заставить его скомпилировать JavaScript, чтобы результат не использовал WebGL, а базовый холст api

Или я должен сделать простое сопоставление функций api, следуя этому предложению: Вызов JavaScript из C/С++?

До тех пор, пока кто-нибудь не предложит лучшее решение, я скорее всего сделаю сопоставление и поделись им здесь, как только я покончу с этим.

4b9b3361

Ответ 1

В соответствии с документацией Emscripten вы можете использовать SDL с С++ для получения на холсте при создании Javascript. Преобразование SDL реализовано в собственных вызовах холста.

Ответ 2

С моей точки зрения, SDL, инициализированный с помощью SDL_SWSURFACE, создаст контекст "2d", а не "webgl" / "experimental-webgl". Функциональность можно увидеть в тесте sdl_rotozoom или в GitHub: https://github.com/kripken/emscripten/blob/master/tests/sdl_rotozoom.c