Я натрапив на ігри 3D, які можна відтворити у браузері. Для роботи вони потребують встановлення плагіна. Я думаю, що плагін створює вікно D3D всередині браузера.
Як би я міг реалізувати щось подібне?
Я натрапив на ігри 3D, які можна відтворити у браузері. Для роботи вони потребують встановлення плагіна. Я думаю, що плагін створює вікно D3D всередині браузера.
Як би я міг реалізувати щось подібне?
Відповіді:
Веб-програвач Unity (для Windows) може використовувати 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 для підтримки крос-браузера.