LINUX.ORG.RU
ФорумGames

Webassembly,emscripten или что-то еще?

 , , ,


0

1

Есть небольшой проект на C++ и SDL2 чуть больше 1000 строк. Ну там opengl еще в проекте,пробовал ковырять WebGL, CORS не даёт включать текстуры. Видел всякие думы и квейки в брау3ере и меня это впечатлило. Нашел на форуме ответ что нужно emscripten решает проблемку, 3абил в ютубе емскриптен мне выдало видео с webassembly. Что будет лучше именно для sdl2, а не просто с++ код, то есть библиотеки дополнительные, подскажите?

Ты хочешь свою программу которая чисто на SDL2 написана запустить в браузере да?

Ну качай emsdk https://emscripten.org/docs/tools_reference/emsdk.html Инициализируй всё по докам, затем вместо gcc указывай emcc для сборки и вместо подключения SDL библиотеки используй порт SDL2 уже собранный под wasm. https://emscripten.org/docs/compiling/Building-Projects.html?highlight=sdl2#emscripten-ports

https://lyceum-allotments.github.io/2016/06/emscripten-and-sdl-2-tutorial-part-1/

LINUX-ORG-RU ★★★★★
()

Проект пятнадцатилетней давности, использующий SDL + glSDL, портированный в лоб под web с помощью emscripten: https://wildspike.itch.io/arkanoid-space-ball

Такое портирование имеет свои ограничения - эмуляция фс и загрузка ресурсов. Зато сам процесс портирования достаточно прост.

Ну а CORS тут вообще не при делах.

andreyu ★★★★★
()
Ответ на: комментарий от biglpfan

а будет ли работать они? Я просто изучаю только

bad_master
() автор топика
Ответ на: комментарий от bad_master

15 летней давности?

Да, игра старая, была написана для Linux, macOS, Windows.

Во дела, а годной статьи на русском я3ыке по портированию до сих пор нет

В данном случае портирование в лоб. Там никаких статей не нужно, все необходимое есть на официальном сайте проекта emscripten.

Правильное портирование требует существенно больших усилий. Например, Worms Zone написан на плюсовом движке, который поддерживает разные платформы, в том числе и web. Движок весь на абстракциях, что позволяет относительно просто добавлять поддержку других платформ. Никакого SDL или подобных фреймворков. Своя файловая система с асинхронной загрузкой ресурсов. Свое хранилище данных (с вебом тут все плохо из-за новых политик Safari).

andreyu ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.