Як змусити Direct3D працювати в браузері?


9

Я натрапив на ігри 3D, які можна відтворити у браузері. Для роботи вони потребують встановлення плагіна. Я думаю, що плагін створює вікно D3D всередині браузера.

Як би я міг реалізувати щось подібне?


цікаве запитання
Нотабене

Відповіді:


8

Веб-програвач Unity (для Windows) може використовувати DirectX і OpenGL у вікні (однак він абстрагує ваш доступ до цих API).

Іншим підходом буде реалізація плагіна DirectX за допомогою ActiveX (для Internet Explorer) або NPAPI (для інших браузерів).

Якщо ви використовуєте NPAPI, коли ваш плагін запуститься, ви отримаєте ручку вікна, де ви можете намалювати все, що завгодно (включаючи вікно D3D). Якщо ви йдете цим маршрутом, ви по суті працюєте з кодом клієнтів на машинах клієнтів.


Зауважте, що NPAPI на шляху до знецінення, тому рекомендується, щоб нові веб-ігри використовували інші технології, такі як WebGL (яка стає все більш підтримуваною і не потребує додаткових плагінів)
DMGregory

5

Гра, в яку ви граєте, може використовувати WebGL http://en.wikipedia.org/wiki/WebGL або щось більш екзотичне, як плагін Firefox, але я не думаю, що ви можете вставляти машинний код у плагін Firefox (я не впевнений, це був би невеликий недолік безпеки).

Unity реалізує версію свого модуля для веб-плагінів, і, здається, це роблять з ActiveX. Я не знаю, чи реалізовано це на Mac ...

Найкращий спосіб дізнатися, як ця гра, в яку ви граєте, використовує 3D API або будь-який інший матеріал плагінів - це переглянути джерело HTML сторінки, а також шукати об’єкт або activex або інше.


Чому голосування "за"?
CiscoIPPhone

4
Для смішної пропозиції ви не можете "вставляти машинний код у плагін Firefox". Вся суть плагінів полягає в тому, щоб доповнити веб-вміст деяким набором "рідного" коду.

добре, ми все ще можемо обговорити словникові записи для аддону, розширення, плагіна, мода тощо ... Ще краще бути точним щодо того, що робити ...
jokoon

4
І саме "плагін" - саме те, що має, оскільки Netscape Navigator 2 посилається на виконання неізольованого (рідного чи іншого) коду на клієнтській машині.

3
netscape navigator 2, ти говориш про автомобіль, якийсь позашляховик? Я не бачу жодного зв’язку з цим питанням ...
jokoon

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.