Desejo poder pegar os dados visuais binários e enviá-los para o meu programa de motor de jogo a partir do elétron. Atualmente eu uso o Chromium Embedded com Java e JMonkeyEngine 3, os dados da imagem do Chromium embutido vão para uma textura de imagem JMonkeyEngine 3 e renderiza na tela. Posso então fazer muitas transformações, como alterar a imagem enviando seus dados por meio do OpenCV para processamento de imagem ou colocando os dados da imagem em um cubo giratório e assim por diante.
Eu quero ser capaz de fazer o mesmo com dados de imagem do Electron porque é fácil controlar o Electron a partir de Javascript e o Electron também é uma plataforma razoável para codificar.
Isso pode ser feito? Quão difícil é fazer? Existe mais de uma maneira de conseguir isso?
Também gostaria de poder incorporar Atom.io em meu aplicativo por meio desse método.
Estou disposto a pagar por isso se alguém estiver interessado em escrever código por dinheiro, mas gostaria de saber quanto esforço é aproximadamente ou se é viável antes de oferecer uma quantia e não tenho certeza se alguém está interessado em por por dinheiro.
referir-se
https://github.com/atom/electron/issues/228
@PhilAndrew Não sou um mantenedor de elétrons, nem oficialmente afiliado a esse projeto. No entanto, como você me contatou diretamente e como estou interessado no assunto, darei meus 2 centavos
Isso provavelmente é factível e você provavelmente conseguirá fazê-lo com uma recompensa sólida. O grande problema que vejo com isso é a maneira como os aplicativos Electron são estruturados / inseridos, e esse é um ponto de entrada central do JS.
Electron é mais um "shell" que pode controlar todas as APIs de desktop, ao invés de um renderizador da web puro.
Portanto, isso exigiria um novo modo / paradigma.
Eu sugeriria procurar algo mais específico para o propósito - veja Coherent GT e Coherent UI - ambos comerciais, também não sou afiliado diretamente a eles, mas sei que eles são muito bons em desempenho. As possíveis desvantagens são incompatibilidades / falta de APIs para WebKit e falta de integração com Node.js como Electron. Mas eles são construídos _especificamente para jogos, especificamente com desempenho em mente, especificamente para renderizar em textura_.
Você pode usar a API webContents.beginFrameSubscription
para esta finalidade:
http://electron.atom.io/docs/v0.37.2/api/web-contents/#webcontentsbeginframesubscriptioncallback
É uma contribuição de @brenca , e acho que é exatamente para um caso de uso como o seu.
Sim, eu contribuí com isso para um caso de uso muito semelhante, você deve ser capaz de usá-lo para renderizar em uma textura 3D. O desempenho poderia ser melhorado ainda mais no futuro, mas isso exigiria muito mais trabalho e, por enquanto, funciona muito bem agora. :)
Comentários muito úteis
Você pode usar a API
webContents.beginFrameSubscription
para esta finalidade:http://electron.atom.io/docs/v0.37.2/api/web-contents/#webcontentsbeginframesubscriptioncallback
É uma contribuição de @brenca , e acho que é exatamente para um caso de uso como o seu.