Я сталкивался с 3D-играми, в которые можно играть в браузере. Они требуют, чтобы плагин был установлен для работы. Я предполагаю, что плагин создает окно D3D внутри браузера.
Как бы я реализовал нечто подобное?
Я сталкивался с 3D-играми, в которые можно играть в браузере. Они требуют, чтобы плагин был установлен для работы. Я предполагаю, что плагин создает окно D3D внутри браузера.
Как бы я реализовал нечто подобное?
Ответы:
Веб-плеер Unity (для окон) может использовать в окне как DirectX, так и OpenGL (однако он ограничивает ваш доступ к этим API).
Другой подход заключается в реализации плагина DirectX с использованием ActiveX (для Internet Explorer) или NPAPI (для других браузеров).
Если вы используете NPAPI, при запуске вашего плагина вы получите дескриптор окна, где вы можете рисовать все, что захотите (включая окно D3D). Если вы идете по этому пути, вы по сути запускаете нативный код на клиентских машинах.
Игра, в которую вы играете, может использовать WebGL http://en.wikipedia.org/wiki/WebGL или что-то более экзотическое, такое как плагин Firefox, но я не думаю, что вы можете встроить машинный код в плагин Firefox (я не уверен, что это будет небольшой недостаток безопасности).
Unity реализует версию своего движка для веб-плагинов, и, похоже, они делают это с ActiveX. Я не знаю, реализует ли это на Mac ..., мне интересно, хотя.
Лучший способ узнать, как в этой игре вы используете 3D API или любой другой вид плагинов, - это посмотреть на HTML-источник страницы и найти объект или activex или что-то еще.
Проверьте Firebreath для поддержки Cross-broswer.