Перенос приложения C++ для работы в браузере

есть ли простой способ перенести приложение c++ OpenGL в браузер? Он уже портирован на ПК, Mac и iOS. Если есть какой-то относительно простой способ, что бы портативный компьютер между браузерами? Конечно, мне придется использовать разные двоичные файлы для разных платформ. Я помню, что слышал что-то о какой-то изолированной среде для Chrome некоторое время назад, но это исключило бы другие браузеры. Как они (id?) сделать с Quake в браузере?

4 ответов


попробуйте Google Native Client или NaCl, если вы хотите ленивый порт.

а если вы хотите сделать реальные port-обратитесь к этим двум примерам:

  • блоге о переносе существующей игры на C++ на html5 (спонсируется Opera)
  • статейку о переносе существующей игры Objective-C на html5 (спонсируется Microsoft).
  • печальный пример портирования популярных защищенная авторским правом игра от C до JavaScript (спонсор Mozilla, С дополнительной помощью Zenimax)

Если вы спрашивали о QuakeLive - это пользовательский плагин, сделанный программным обеспечением Id. Аналогичная функциональность может быть достигнута с помощью плагинов Flash или Unity.


Если вы уже нацелены на ES 2.0 для iOS, ваши шейдеры должны работать как есть с в последнее время. В JavaScript Ахой!

id Software использует гигантская плагин для Quake Live.


можно использовать Mandreel Если вы хотите наименьший объем работы. Другой вариант:Emscripten но это только преобразует ваш C++, он не предоставляет все API, как это делает Mandreel.


есть ли простой способ перенести приложение c++ OpenGL в браузер? Он уже портирован на ПК, Mac и iOS. Если есть какой-то относительно простой способ, что бы портативный компьютер браузеры?

вы можете попытаться перекомпилировать его в JavaScript, вот что выполняют браузеры. Если вы не ожидаете, что пользователь установит какой-то плагин для браузера, вы не можете дать им собственный код. Конечно, когда в среде JavaScript многие из вещей, которые вы привыкли от native исполняемые файлы не работают. Например, вы больше не можете получить доступ к файловой системе. Вы должны использовать либо хранилище DOM, куки, загружать / загружать ресурсы с сервера.