Написание плагина для 3D-рендеринга в браузере - PullRequest
2 голосов
/ 15 января 2011

Я понимаю, что можно написать плагин для браузера, который позволяет рендерить в окно браузера, чтобы вы могли эффективно запустить обычное приложение в браузере. НЕ с использованием технологии JS или клиента, но плагин, который в основном оборачивает ваше приложение - в нашем случае C ++, который выполняет 3D-рендеринг с использованием DirectX или OpenGL.

Я знаю, что у нас должны быть версии как для IE, так и для других браузеров, но как это работает - в Windows-говорить мы получаем HWND через архитектуру плагина или это более сложный?

Нужно ли вам писать версию плагина, скомпилированного для каждой платформы - Win / Mac / Linux, поскольку плагин является двоичным, я предполагаю, что это так, поэтому у вас есть одна версия для IE и затем несколько версий для FF , Chrome, Safari (которые используют один и тот же плагин настройки IIRC)

С FF - это пример плагина или расширения специально?

Примером того, что я имею в виду, является QuakeLive - правильный 3D-рендеринг в браузере. На самом деле мы используем Ogre (кроссплатформенный C ++), но он использует Direct3D / OpenGL, так что это то же самое.

Ответы [ 4 ]

2 голосов
/ 14 сентября 2011

FireBreath - это отличная кроссплатформенная кросс-браузерная библиотека для разработки плагинов для C ++ для браузера.

2 голосов
/ 15 января 2011

Такие вещи, как QuakeLive, можно сделать довольно просто с помощью Google NativeClient SDK.Он абстрагирует всю архитектуру плагинов, чтобы вы могли сосредоточиться на написании своего программного обеспечения, и обеспечивает поддержку практически всех браузеров с поддержкой плагинов в Windows, Mac OS X и Linux, в частности.Пользователь устанавливает плагин NaCl (который входит в некоторые версии Chrome и Chromium), и ваше программное обеспечение работает внутри NaCl, без проблем на всех поддерживаемых платформах, из одного двоичного файла .

Примечаниечто вы можете использовать OpenGL переносимо из NaCl, но не DirectX.Будущие версии также будут поддерживать ARM и x86_64 с технологией из проекта LLVM.

0 голосов
/ 13 сентября 2011

Flash Player 11 обеспечивает настоящую поддержку 3D через API Stage через DirectX, OpenGL или все, что доступно на устройстве: http://techzoom.org/adobe-flash-player-11-air-3-beta-stage3d-and-64bit-support-on-linux-mac-and-windows/ Сейчас он в бета-версии, поэтому пользователь должен установить его вручную, но когда Adobe выпустит его, большинствобраузеров обеспечит истинную поддержку 3D мгновенно.Последняя бета-версия Away3D уже поддерживает Stage API.

0 голосов
/ 19 января 2011

Мне нужно сделать это в ближайшее время, поэтому, если кто-то здесь является экспертом в этом, пожалуйста, найдите меня.

Стив Белл Студия трехмерной анимации Archiform

...