Я хочу иметь возможность брать двоичные визуальные данные и отправлять их в свою программу игрового движка из электрона. В настоящее время я использую Chromium Embedded с Java и JMonkeyEngine 3, данные изображения из Chromium embedded передаются в текстуру изображения JMonkeyEngine 3 и отображаются на экране. Затем я могу выполнять многие преобразования, такие как изменение изображения, отправляя его данные через OpenCV для обработки изображения или помещая данные изображения во вращающийся куб и так далее.
Я хочу иметь возможность делать то же самое с данными изображений из Electron по той причине, что Electron легко управлять из Javascript, и Electron также является разумной платформой для кодирования внутри.
Можно ли это сделать? Насколько сложно это сделать? Есть ли несколько способов добиться этого?
Я также хотел бы иметь возможность встроить Atom.io в свое приложение с помощью этого метода.
Я готов заплатить за это, если кто-то заинтересован в написании кода за деньги, но я хотел бы знать, сколько усилий это примерно или возможно ли это, прежде чем предлагать сумму, и я не уверен, что кому-то интересно Деньги.
Ссылаться на
https://github.com/atom/electron/issues/228
@PhilAndrew Я не занимаюсь электронным сопровождением и не
Это, вероятно, выполнимо, и вы, вероятно, сможете сделать это за солидную награду. Большая проблема, которую я вижу в этом, заключается в том, как приложения Electron структурированы / введены, и это центральная точка входа в JS.
Electron - это скорее «оболочка», которая может управлять всеми API-интерфейсами рабочего стола, а не просто средство веб-рендеринга.
Следовательно, это потребует нового режима / парадигмы.
Я бы посоветовал поискать что-то более конкретное для этой цели - см. Coherent GT и Coherent UI - оба коммерческие, я тоже не связан с ними напрямую, но я знаю, что они очень хороши по производительности. Возможные недостатки - несовместимость / отсутствие API-интерфейсов для WebKit и отсутствие интеграции Node.js, такой как Electron. Но они созданы специально для игр, особенно с учетом производительности, особенно для рендеринга в текстуре.
Для этого можно использовать webContents.beginFrameSubscription
API:
http://electron.atom.io/docs/v0.37.2/api/web-contents/#webcontentsbeginframesubscriptioncallback
Он предоставлен @brenca , и я думаю, что он предназначен именно для такого случая, как ваш.
Да, я добавил это для очень похожего сценария использования, вы сможете использовать его для рендеринга на 3D-текстуру. В будущем производительность может быть улучшена, но для этого потребуется гораздо больше работы, и сейчас это работает довольно хорошо, я думаю. :)
Самый полезный комментарий
Для этого можно использовать
webContents.beginFrameSubscription
API:http://electron.atom.io/docs/v0.37.2/api/web-contents/#webcontentsbeginframesubscriptioncallback
Он предоставлен @brenca , и я думаю, что он предназначен именно для такого случая, как ваш.